doodle3d-client/www/printmanager/js/main.js

199 lines
20 KiB
JavaScript

'use strict'
/*
* This file is part of the Doodle3D project (http://doodle3d.com).
*
* Copyright (c) 2014, Doodle3D
* This software is licensed under the terms of the GNU GPL v2 or later.
* See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details.
*/
var app = function() {
var ids;
var colors = ["black","red","green","blue","cyan","yellow","magenta","orange"];
var printerAPI = new PrinterAPI();
var configAPI = new ConfigAPI();
var infoAPI = new InfoAPI();
var sketchAPI = new SketchAPI();
var d2g = new Doodle2gcode();
var viewer = new Viewer($("#svgContainer"));
var doodles = [];
init();
function init() {
$("#logo").click(onLogoClick);
$("#btnRefresh").click(refresh);
$("#btnPrint").click(onBtnPrint);
$("#btnStop").click(onBtnStop);
$("#btnPrepare").click(onBtnPrepare);
if (getURLParameter("ids") != "null") {
ids = getURLParameter("ids").split(",");
}
updateStatus();
// var statusInterval = setInterval(updateStatus,1000);
// if (ids) {
// loadSketch(ids, function() {
// console.log('done');
// updateStatusMessage('');
// updateButtonStates();
// // makeItemsDraggable();
// // onBtnPrepare(); //tmp
// });
// } else {
doodles.push(new Doodle('M337.59375,418.125 l-5,8 -6,1 -5,-2 -6,-5 -6,-4 -7,-3 -3,-5 -4,-5 -4,-4 -4,-4 -4,-4 -6,-7 -4,-5 -3,-5 -4,-5 -4,-5 -5,-6 -4,-6 -6,-7 -3,-5 -4,-5 -3,-6 -4,-7 -4,-6 -4,-6 -3,-9 -4,-7 -1,-7 -3,-8 -1,-7 -1,-5 0,-9 -1,-7 0,-8 0,-6 1,-8 1,-6 2,-6 3,-6 5,-3 4,-4 4,-4 7,-3 6,-5 5,-2 7,-2 5,-1 6,0 9,0 5,2 6,2 5,3 5,3 5,3 6,4 5,5 4,5 5,6 4,8 4,5 3,5 3,5 4,5 4,4 -1,-7 -3,-5 0,-6 -1,-5 0,-7 -1,-5 0,-8 0,-7 2,-7 3,-5 4,-6 4,-5 4,-5 4,-4 5,-2 5,-3 5,-2 5,-2 5,-1 6,0 7,0 6,0 7,2 5,3 6,5 5,5 4,5 3,5 3,5 2,7 0,6 0,9 0,11 -1,11 0,12 -1,6 -3,9 -1,6 -1,5 -3,9 -2,7 -4,8 -2,6 -4,9 -3,6 -2,5 -3,9 -5,8 -2,5 -4,8 -5,7 -2,5 -5,7 -2,5 -5,7 -4,6 -5,4 -4,5 -5,6 -4,4 -3,5 -3,5 -5,2 -5,2 -5,1 -5,3 -5,2 m11,-9 l-1,-6 0,-7 -2,-7 -3,-6 -2,-6 -2,-6 -2,-7 -5,-3 -5,-4 -5,-4 -5,-7 -4,-4 -4,-5 -5,-6 -4,-5 -3,-5 -3,-6 -4,-5 -3,-5 -4,-7 -3,-6 -2,-6 -2,-6 -2,-6 -2,-5 -2,-6 -1,-5 -1,-6 0,-6 1,-5 4,-5 5,-3 6,-1 6,0 7,0 5,1 6,4 5,4 6,3 5,4 4,4 5,5 4,4 4,5 4,4 5,4 5,5 6,4 6,0 4,-4 3,-6 3,-5 2,-6 2,-5 2,-6 2,-5 2,-6 1,-6 2,-5 3,-6 3,-5 3,-5 4,-5 4,-4 5,-2 5,-1 6,0 3,6 2,5 0,6 -1,6 -2,6 -2,7 -2,5 -2,5 -3,6 -3,7 -2,5 -4,7 -3,8 -3,6 -2,6 -2,7 -3,5 -2,6 -1,5 -3,5 -1,7 -3,6 -2,5 -3,5 -2,6 -2,5 -3,5 -1,5 -3,6 -1,6 -3,6 -1,5 -2,5 -3,5 m0,7 1,-11 l0,5 0,7 0,6 m-62,-142 l2,6 0,6 4,4 5,6 3,5 4,6 4,4 5,6 5,5 5,4 4,4 3,5 5,5 5,4 6,2 6,-1 3,-5 3,-6 3,-5 3,-6 2,-6 3,-6 2,-7 3,-5 3,-5 4,-7 3,-5 m-35,58 l0,2 0,7 0,8 0,7 0,9 -1,6 -1,5 0,8 0,6 0,6 2,5 m38,-129 l3,-1 1,-5 2,-6 1,-6 0,-6 1,-5 0,-6 m-53,-11 l-5,-7 -1,-7 -3,-6 -3,-5 -3,-5 -3,-5 -4,-4 -6,-3 -5,-3 -6,-3 -6,-1 -5,-1 -7,-1 -6,-2 -5,-2 -5,-4 -5,-4 -2,-5 -1,-6 -1,-5 0,-8 1,-7 3,-7 5,-6 4,-4 4,-4 5,-3 6,-3 5,-2 5,-2 5,-2 6,-1 6,0 4,4 3,5 3,5 4,-6 2,-7 2,-5 2,-5 4,-5 5,-2 5,-1 7,0 6,1 4,4 1,7 0,7 0,6 -3,7 -3,6 -5,6 -2,5 -3,5 -3,6 -2,5 -2,5 -2,6 -1,7 -1,5 -1,6 0,6 -1,6 -1,5 0,6 m92,56 l4,-1 2,-5 3,-5 2,-5 4,-5 5,-3 4,-4 5,-4 6,-3 5,-4 6,-4 6,-3 5,-2 6,-1 5,-1 7,0 7,1 6,3 4,4 4,5 2,6 2,6 0,7 0,7 -1,5 -3,5 -4,4 -6,5 -7,3 -6,4 -7,3 -7,2 -8,3 -7,3 -7,3 -7,2 -5,3 -6,1 -6,1 -7,3 -5,2 -6,2 -5,3 m-208,-37 l-5,-4 -2,-5 -3,-5 -5,-5 -5,-3 -5,-3 -5,-3 -6,-2 -5,-2 -5,-1 -6,0 -7,0 -8,0 -6,3 -5,4 -4,6 -3,6 -2,6 -1,7 0,7 0,7 3,6 3,6 5,5 4,4 4,5 6,4 6,4 8,3 8,4 5,1 8,1 8,1 5,1 7,0 7,1 7,0 7,0 6,-1 5,-1 1,-7 0,-6 m-28,-50 l3,2 6,0 m216,2 l3,-3 6,-5 6,-4 6,-2 5,-3 6,-2 7,-3 6,-1 6,0 4,5 -4,4 -4,4 -6,5 -6,4 -5,4 -5,2 -8,3 -6,4 -8,1 m-6,4 l2,1 5,-1 m-4,-1 l7,-4 6,-4 m-227,16 l-3,-5 -6,-1 -5,-3 -6,-6 -6,-7 -3,-5 -4,-4 -5,-4 -5,-2 -5,-1 -7,0 -6,0 -5,2 -6,3 -5,4 -3,5 0,7 2,5 3,5 5,5 5,3 7,5 6,2 7,2 7,0 7,1 6,0 7,1 6,1 8,0 5,2 5,1 m256,207 l-1,-1 m-261,-203 -43,-32 l1,-1 0,-6 m286,-15 -5,-1 l2,0 -5,1',{height:10,twist:.2}));
// doodles.push(new Doodle('M205,246 l0,-5 -5,2 -7,0 -5,1 -5,3 -5,4 -5,1 -6,4 -3,6 -1,5 -4,7 -3,5 -4,5 -1,5 0,7 -1,5 0,6 0,7 1,6 3,5 3,5 4,5 4,5 4,4 4,5 4,5 6,4 5,4 5,3 5,3 5,1 5,3 6,3 7,2 5,1 6,1 7,0 6,0 6,-1 6,-1 5,-3 5,-2 5,-4 5,-4 6,-5 4,-5 4,-5 4,-6 3,-5 5,-5 3,-5 4,-4 0,-6 1,-6 0,-7 0,-6 0,-6 -1,-6 -3,-5 -2,-5 -5,-4 -5,-3 -5,-3 -5,-3 -5,-3 -4,-4 -5,-4 -5,-5 -5,-5 -5,-2 -5,-3 -5,-1 -6,-2 -6,-2 -6,-1 -5,-1 -5,-1 -6,0 -7,0 -5,2 -6,2 -7,6 -5,4 m49,-24 l-5,6 0,-6 0,-8 1,-5 1,-6 3,-7 2,-6 1,-7 1,-6 2,-5 4,-6 3,-6 5,-3 6,-1 5,2 1,6 0,6 2,-5 6,-4 5,-1 5,5 0,6 -2,5 -5,2 5,2 5,1 2,5 0,6 -4,5 -5,3 -5,1 -7,0 -6,3 -2,5 -2,5 -2,5 0,6 -2,5 -1,5 -1,5 m-27,-15 l2,2 5,1 5,2 6,4 7,1 m-24,-5 l9,-1 5,1 7,0 6,0 m-21,-3 l3,1 7,3 6,3 m-19,-22 l6,3 5,1 7,3 8,2 m-23,-8 l4,3 5,3 6,2 8,2 m-20,-4 l2,1 6,0 8,3 5,2 m-24,-29 l3,2 7,1 5,2 5,1 6,2 m-21,-4 l4,1 5,3 5,3 5,3 m-26,-7 l7,2 5,2 6,2 m-14,-6 l3,2 6,0 8,2 5,1 m-20,-8 l10,3 m39,64 l-1,-2 0,-9 1,-7 2,-7 2,-5 3,-7 3,-7 3,-7 2,-5 0,-6 0,-7 -1,-6 0,-6 0,-7 0,-6 0,-6 0,-6 0,-6 0,-6 -4,-5 -3,-7 -3,-5 -1,-5 -2,-5 -3,-6 -2,-6 -2,-7 -1,-5 -2,-5 0,-7 -1,-5 -1,-6 0,-6 0,-6 3,-6 4,-5 3,-5 4,-4 5,-2 7,0 6,1 6,3 3,5 3,5 2,5 4,6 2,6 1,5 1,5 0,7 1,5 0,6 0,6 0,6 1,6 0,6 0,6 0,6 0,6 0,8 -1,6 0,7 0,7 -1,5 -1,6 -2,5 0,6 -1,5 -1,6 -1,5 -1,5 0,6 0,7 -2,6 0,6 -2,5 -2,6 -1,7 -2,5 -2,6 -5,3 -4,4 m-21,-28 l3,2 6,4 5,2 6,1 7,1 m-17,-12 l8,7 6,3 m-16,-5 l4,7 8,6 6,4 6,1 m-21,-11 l12,5 m-15,-31 l3,4 5,2 6,3 8,2 m-14,-5 l4,3 8,5 7,4 m-17,-8 l6,3 7,1 6,0 m-26,-10 l8,3 6,2 7,3 8,2 m-30,-9 l3,4 10,5 6,0 m-22,9 l6,1 7,5 8,3 7,3 m-24,-16 l9,8 10,2 5,2 m-24,-18 8,-17 l1,0 8,0 7,0 m-22,-6 l1,0 6,0 9,0 6,-1 6,-1 m-20,-2 l4,1 8,0 6,0 9,0 6,0 m-36,-2 l4,4 8,1 5,1 7,1 7,0 m-34,5 l11,-2 10,0 7,0 m-23,-6 l2,0 6,0 7,0 m-12,3 l3,-2 6,0 6,0 m-13,3 13,-35 l-3,3 -5,1 5,1 7,0 m-21,8 l2,0 6,0 7,0 5,-1 m-15,1 -1,-5 l4,-2 6,0 9,0 9,0 m-33,-1 l4,3 6,0 7,0 7,1 m-24,1 l7,0 8,0 7,0 m-17,6 l3,-1 7,0 m-12,-5 l3,2 9,0 m-16,-8 l3,0 9,0 m-6,-21 l3,0 7,0 m-9,2 l3,1 6,0 m-12,2 -5,5 l3,-2 6,0 5,-2 m23,-8 -6,8 l-2,-2 1,-6 1,7 -1,5 m-15,-8 l2,3 6,0 m-23,-3 l2,2 9,0 10,0 7,-2 m-31,4 l3,0 7,0 9,0 m-16,4 l2,0 9,0 6,-1 9,-2 m-19,-7 l2,0 8,0 m-5,0 l11,-1 7,0 m-20,6 l2,-3 9,0 m-10,0 l1,-1 10,0 m-20,-20 l4,0 6,0 6,0 m-16,3 l3,3 8,0 9,0 6,-2 m-26,11 l2,-3 5,-2 6,0 9,-2 m-20,-4 l8,-1 8,0 8,0 7,0 m-31,-3 l4,0 7,0 8,0 8,0 m-26,1 l5,1 11,0 m-22,8 l7,-1 6,0 5,-1 8,-1 m-15,-1 l20,-2 m-32,-18 l4,0 8,0 6,-1 7,0 m-28,-1 l14,-3 11,-1 7,-2 6,-2 m-29,2 l4,-2 8,0 10,0 8,0 m-36,7 l7,1 7,0 5,-1 5,-1 5,-1 6,0 m-30,2 l9,0 9,0 9,0 m-15,1 -32,-4 l4,1 10,0 10,0 5,-1 5,-1 m-16,-1 l7,-2 7,0 6,0 m-27,6 l5,-1 9,0 6,0 m-17,-3 l3,-2 7,-1 5,-1 7,-2 m-20,2 l1,2 7,0 6,0 11,0 m-32,-1 l4,1 7,0 9,0 m-16,1 l4,1 7,1 5,1 7,0 m-10,-12 l1,3 7,0 9,0 m-14,7 l2,2 7,0 m-37,-22 l5,2 10,-1 6,-1 6,-2 5,-3 5,-2 m-35,5 l3,1 11,0 6,0 6,0 9,0 m-33,8 l4,-2 11,0 7,0 7,0 m-25,3 l5,-2 6,0 6,-1 7,0 13,0 7,-1 m-30,0 l12,-4 m-21,-10 l2,5 8,1 9,0 6,2 m-5,0 l11,-1 m-15,6 l2,0 7,-1 5,-2 m-15,-1 -27,-1 l2,5 11,0 9,0 7,0 m-22,1 l5,-1 8,0 8,-3 m-29,-14 l3,2 5,3 5,1 4,-5 5,4 5,2 3,-5 1,-5 5,1 5,5 4,-5 2,-5 m-54,2 l3,1 7,1 m-23,68 2,-10 6,7 -4,5 l-2,-4 m1,-7 l3,0 5,-3 -2,6 0,7 m15,3 l-6,1 5,-3 m-19,-7 l0,1 m0,1 l2,-6 m18,7 -1,9 l0,-1 5,-5 m-7,0 l2,-4 m-6,-2 4,0 l7,4 m0,24 0,1 l-3,-1 m5,8 l-1,-4 5,-1 5,-1 m-16,12 l3,-2 6,-3 m-6,8 l1,-3 6,-3 4,-4 m11,155 l0,1 5,1 5,3 4,5 5,4 5,2 6,2 5,2 6,1 m-1,10 l3,-5 0,-6 0,-8 1,-5 3,-6 1,-5 2,-5 1,-5 0,-6 -1,-6 -6,-3 -6,1 -4,7 -1,5 -1,5 m-1,-2 l-5,-5 -7,-1 -7,-2 -7,-3 -5,-1 -5,-2 m-5,27 l2,0 8,2 6,3 m-50,27 l-2,2 0,6 0,6 1,5 1,5 4,6 4,6 4,4 -1,6 -1,5 0,7 5,3 6,-2 2,-8 1,-5 0,-6 0,-6 0,-6 m8,-3 l-4,-2 -7,-1 -6,-5 -5,-5 -2,-5 -3,-5 0,-6 m26,21 l-3,5 0,10 0,6 -1,7 m-17,-48 l-3,0 -6,0 -1,-5 -5,-4 -5,-2 -5,-3 -3,-5 0,-6 0,-7 1,-5 5,-5 5,-3 5,-1 6,0 6,2 5,3 5,3 6,3 m-11,-8 l2,3 6,6 6,5 m-121,10 l3,0 -5,4 5,-4 5,-2 4,-4 5,-3 5,-3 5,-3 m-13,6 l4,-1 5,-2 6,-4 5,-3 4,-5 5,-3 5,-4 5,-3 4,-5 4,-5 5,-4 5,-4 5,-4 3,-6 1,-6 2,-5 4,-5 m-7,13 l3,4 5,1 5,2 4,4 5,4 m-36,1 l-1,0 m312,268 l1,0 m2,0 -317,-260 6,-5 l2,-4 6,0 6,0 5,2 m287,265 l-1,0 m3,-1 -303,-252 -3,-9 l3,-3 6,0 6,0 6,1 5,2 5,1 m-4,-7 l4,13 m-75,14 l4,2 1,5 4,4 5,5 4,4 m-9,-20 l4,4 3,6 6,7 m-10,5 l2,-2 5,1 7,1 m-8,-12 l3,3 m-19,-117 l2,4 0,7 -1,5 -1,5 -2,5 -3,5 -3,5 -2,5 -4,4 -2,5 -2,5 -3,5 -2,5 -3,5 -4,5 -4,4 -7,3 -6,1 m28,-18 6,-39 3,12 l7,-5 6,-2 6,-1 5,1 5,1 0,6 -2,6 -5,4 -5,2 -6,2 -7,0 -4,-4 -2,-6 m-7,12 l3,-4 5,1 5,4 m-4,2 l8,-6 5,-1 6,0 -7,1 -6,-1 5,-4 -5,-1 6,0 -5,-3 m-19,12 l3,-2 9,0 8,0 6,1 m-17,2 l-3,-3 9,-2 10,-1 m10,14 l-5,-5 -5,-3 -4,-5 -5,-2 -6,-3 -7,0 m6,5 l4,-2 3,-5 5,-1 0,6 m-20,-1 l4,3 6,0 m-3,-3 l8,-1 5,1 m-11,0 l2,-2 6,0 m5,5 -40,29 l-1,1 0,6 0,6 2,5 5,2 5,2 5,2 6,0 5,-3 5,-6 4,-6 1,-5 -1,-6 -5,-5 -5,-3 -5,-4 -5,-1 m13,12 l-4,3 0,7 -4,-5 m7,-1 l0,2 6,-1 2,-5 -7,-2 -5,2 -2,6 5,3 6,1 2,-7 -1,-5 -5,-4 -5,5 0,6 2,5 4,-6 m-7,4 l0,2 6,0 5,-4 -3,-5 -4,4 m-2,-17 l-3,2 -3,8 -2,6 0,6 1,8 7,2 6,3 m-3,-59 l5,-3 6,0 6,0 5,2 2,7 1,5 m-28,14 l0,2 -2,6 -3,7 0,8 0,8 m3,-36 l-3,7 0,8 5,7 5,3 5,2 m-19,-14 l-3,4 2,7 4,5 5,5 6,2 m-19,-29 l1,7 4,6 4,4 m7,-22 l-4,3 -1,5 -1,9 -1,8 0,6 3,8 m10,-72 l1,1 5,1 7,2 5,5 2,7 m-22,-5 l3,1 6,0 9,0 8,0 2,7 m-21,-15 l0,1 8,0 4,6 1,5 m-11,-12 l2,0 9,3 m-61,19 l3,-4 7,-4 6,-5 5,-6 1,-5 0,-7 -6,2 -5,4 -5,6 -3,7 -1,7 1,5 8,-5 6,-9 4,-5 5,-7 2,-5 -4,7 -3,5 -4,5 -4,4 -5,5 5,-2 4,-6 4,-6 4,-5 1,-5 4,-5 -7,7 -5,6 -5,6 -6,6 4,-5 7,-8 5,-5 7,-6 5,-5 -8,3 -8,6 -4,4 -4,4 7,-4 7,-9 -5,3 -8,7 -6,5 -5,5 8,-2 6,-4 5,-4 5,-5 7,-4 -3,7 -5,5 -5,6 -7,5 3,-10 m7,-6 l-1,-3 7,-6 m110,18 l-3,3 0,7 0,7 m-3,6 l0,2 5,-3 5,-4 5,-3 3,-5 m-18,5 l-1,-3 6,-5 7,0 -2,6 1,-5 -3,5 m293,292 l0,-1 m-280,-289 l0,-2 -5,4 -3,5 -3,5 m6,-26 -11,16 -4,3 l1,-5 -4,6 0,-6 5,-4 m-3,-4 l8,3 -1,7 -5,5 3,-5 5,-5 5,-3 -5,3 m19,17 l-4,-1 -7,0 -6,1 -5,2 3,-7 4,-5 2,-5 m3,3 l4,5 -5,4 -7,1 m4,-9 l1,-1 7,-3 5,-2 -5,1 m4,26 l-3,-2 -7,1 -6,1 -5,1 5,2 6,1 m-2,3 l10,3 5,-4 6,-3 m-16,-7 l1,-3 -7,0 m-2,10 l8,-1 7,-1 m-24,18 l4,0 8,0 5,-4 3,-5 -5,-1 3,-7 4,-4 m-13,4 l6,-1 4,-4 m-7,0 -92,80 l2,-4 3,-6 1,-5 3,-6 m9,24 l0,-5 -1,-6 -5,-5 -5,-4 m2,12 l3,0 4,4 -3,-5 -4,-5 4,4 2,-5 0,9 m11,9 l-3,-3 1,-5 4,-6 2,-5 m9,17 l0,-4 -5,-6 -4,-5 -1,-6 m-2,17 l2,-1 1,-5 m13,11 l-4,-6 0,-6 0,-6 m18,16 l-3,-4 -5,-5 -5,-4 -5,-5 m3,9 l-1,0 3,5 2,-5 m-6,-11 l0,2 m1,8 l3,2 6,1 m-70,-212 l-6,5 -3,5 0,6 0,6 0,6 0,7 1,8 1,5 1,6 1,7 5,7 m-7,-63 l2,-4 8,0 6,2 2,5 3,5 1,5 2,6 1,6 1,6 0,8 1,6 1,6 3,5 2,6 m-38,-2 l3,2 4,5 5,5 m-19,-49 l7,-2 7,0 7,-1 6,-4 4,-4 m-10,-6 l-2,3 4,-6 4,-6 3,-5 -6,7 -6,8 -4,6 3,-8 2,-5 5,-3 -1,10 -4,8 7,-5 6,-7 -2,5 -3,5 -3,6 m-10,-9 l2,2 5,5 m2,-1 2,-4 l-1,11 0,8 2,8 1,5 3,7 4,4 m-49,72 l-2,-4 -4,-6 -5,-1 -5,-1 -8,0 -5,1 -5,1 -5,5 -5,3 -4,5 -3,5 -1,5 0,6 3,5 5,1 6,0 6,-2 6,-3 6,-1 6,-2 8,-3 6,0 7,1 m-41,-22 l-2,0 -3,6 4,8 1,8 -2,5 -6,-6 -2,-7 -1,-5 0,9 1,5 1,8 0,-8 -3,-6 2,7 6,8 7,5 m323,246 l-1,-1 m-337,-251 -13,-8 5,3 l2,-1 6,1 3,-5 -5,-2 -5,7 -1,6 m-9,-11 15,0 3,-1 l-1,3 5,-1 -7,-2 m6,6 l1,-2 -3,6 3,-5 -5,1 m-23,0 l9,0 5,-2 14,-6 10,-4 m-14,2 l0,2 6,0 5,-4 5,-2 5,-1 6,0 7,-1 m-9,7 l4,-5 6,0 6,0 7,0 m2,35 l0,2 0,6 -1,5 -4,5 -1,5 0,6 -2,6 -2,5 0,6 0,6 0,7 0,8 0,6 2,5 1,6 1,5 2,6 5,3 5,3 5,-2 2,-8 1,-9 1,-6 m-3,0 l2,5 0,6 1,6 3,5 4,4 5,-3 1,-5 0,-7 0,-6 1,-5 2,5 2,6 5,4 6,1 5,-4 0,-7 -5,-3 -4,-4 -5,-4 -1,-5 -5,-6 -2,-7 -2,-5 -1,-5 -2,-5 -2,-6 0,-6 0,-6 m-33,-5 l8,-1 8,1 7,0 m-17,4 l3,-1 6,0 7,0 6,0 7,-2 m-19,0 l4,-4 7,-1 6,-2 m-15,3 l6,-1 7,0 7,-1 m-29,21 l5,0 9,-1 9,-2 6,-4 m-36,10 l6,-1 6,0 7,0 8,-5 m-16,5 l5,-4 7,-1 8,-2 m-20,1 l9,-3 6,0 m-22,24 l2,0 9,0 7,-2 9,-3 4,-4 m-34,9 l10,-7 5,-1 8,-1 5,-1 8,0 6,-2 m-41,20 l4,-4 9,0 8,0 8,-1 m-28,-3 l3,-1 5,-2 10,-4 6,-3 5,-1 m-19,11 l5,-4 8,-2 6,-3 5,-1 m-21,5 -10,59 l10,4 m5,-14 l-1,4 0,6 0,6 m-14,-15 l4,4 2,5 5,2 m17,-6 l-8,4 5,2 4,4 m5,-19 l-4,10 0,7 4,5 m15,-14 l1,0 4,5 m-10,-11 l7,4 5,1 3,-5 0,-7 -2,-5 m-8,-1 l5,9 2,5 m60,-285'));
// doodles.push(new Doodle('M262.59375,97.125 l0,1 -2,6 -2,5 -4,5 -2,5 -2,5 -2,5 0,6 0,6 0,6 0,6 0,6 0,6 3,5 3,5 2,5 4,4 5,3 5,2 5,2 m-17,-89 -1,0 l0,0 5,-1 5,-1 5,-1 5,-1 5,-1 m3,-2 l2,-1 m-25,0 l1,0 m2,-2 3,-2 l0,0 m0,-1 l5,-1 m8,101 l-4,0 -6,0 -5,1 -4,5 -2,5 -2,5 m-1,3 l-1,2 0,6 0,6 0,6 1,5 4,4 5,2 5,1 5,1 m241,-16 -231,-137 l1,3 0,6 0,6 0,6 -1,5 0,6 -2,6 0,8 0,6 -1,5 0,7 0,6 0,6 -1,5 -1,5 -1,5 -1,5 -1,6 m7,-1 l1,5 0,6 -1,5 -2,5 -2,5 0,6 -1,5 -2,5 -1,5 m8,-13 l-2,3 -1,5 -1,5 -1,5 -2,5 -1,5 m9,-156 l3,-2 5,1 5,1 6,0 6,0 4,4 0,6 0,6 -2,5 -2,5 0,6 -1,5 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 -1,6 0,6 0,6 -2,5 -1,5 -1,6 -1,5 -2,5 -1,5 -1,6 -1,5 m17,-150 l0,-1 4,-4 5,-1 6,0 6,0 6,0 6,-1 5,-1 4,4 0,6 0,6 0,6 0,6 -1,5 -5,1 -6,0 -6,0 -6,0 -6,0 -6,4 -6,0 m20,-11 l-4,0 -2,6 -5,-2 m33,1 l-7,5 -5,1 -6,0 -6,0 -7,0 -5,1 -5,2 -6,0 m35,-27 l-1,0 -6,0 -5,1 -6,0 m-1,0 l-4,1 m25,2 l-4,1 -6,0 -6,0 m-1,0 l-5,0 -6,0 5,-1 6,0 6,0 6,0 6,0 6,0 5,1 m67,363 -262,-340 l-3,1 -6,0 -4,4 -4,4 -6,0 -3,6 -1,5 0,6 0,6 0,6 1,5 1,5 0,6 0,6 2,5 4,4 4,4 3,5 m1,-14 l1,6 0,6 0,6 m-3,-20 l0,1 -2,5 0,6 1,5 -1,5 -5,4 -2,5 -1,5 0,6 0,6 0,6 3,5 5,4 m229,-25 -211,-99 l-1,3 0,6 0,6 -1,6 0,6 -2,5 -1,5 0,6 -1,5 0,6 0,6 0,6 0,6 -1,6 -3,5 -3,6 -1,5 -1,5 -2,5 -1,5 0,6 0,6 0,6 -1,5 m26,-137 l3,4 5,1 5,3 m-15,-8 l1,2 5,2 5,1 m4,-1 l1,2 -1,8 0,6 -1,7 -2,5 -1,5 -1,6 -1,5 -2,6 0,6 0,7 -1,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 0,6 2,5 1,5 -1,5 -6,0 -5,1 -5,1 m-77,4 -17,5 l3,3 6,0 6,-1 5,-2 6,0 6,0 7,1 5,2 6,0 6,0 6,0 6,0 6,0 4,-4 6,0 5,-1 5,-1 6,0 6,0 6,0 6,-1 6,0 5,-2 7,0 5,-2 5,-1 5,-1 6,0 5,-1 6,0 6,0 5,-2 5,-1 6,0 5,-2 5,-1 6,0 6,0 6,0 6,0 6,0 6,0 6,0 6,0 5,1 6,0 6,0 6,0 6,0 5,1 6,0 6,0 6,0 5,1 7,0 6,0 6,0 6,0 6,0 6,0 6,0 7,0 6,0 6,0 7,0 5,-1 6,0 7,0 6,0 5,-1 6,0 6,0 6,0 8,0 6,0 5,-3 7,0 5,-2 6,-3 5,-1 7,-1 5,-1 6,-1 5,-2 6,0 m-34,48 l1,0 m-104,-139 l-2,3 -2,5 -4,5 -4,4 -4,5 -4,5 -5,3 -5,4 -4,4 -4,4 -4,4 -2,5 -4,4 -4,4 -4,4 -4,5 -4,5 -3,5 -5,4 -4,6 -3,5 -4,5 m83,-100 l2,3 2,5 0,6 0,6 0,6 -1,6 -1,6 0,6 -1,5 0,6 -2,5 -2,5 -1,5 -1,5 -1,5 -1,5 0,6 -1,5 m46,-63 l1,3 -1,5 -1,6 0,6 0,6 -1,5 -1,5 4,4 6,0 6,0 5,-1 5,-2 5,-2 3,-5 0,-7 0,-6 -1,-5 -1,-5 -5,-3 -5,-1 -6,0 m12,-8 l-1,2 -5,1 -6,0 -5,1 m8,3 l1,0 0,6 0,6 0,6 0,6 -1,5 m-9,-18 l-2,3 5,2 5,2 6,0 6,0 6,0 6,-1 m-277,-18 1,0 l0,0 m1,5 l0,0 m4,0 l1,-1 m0,-5 l-1,0 -5,-3 -1,-5 -4,-4 -5,2 -4,4 -2,5 -5,2 -5,1 0,6 5,3 6,0 5,2 6,0 6,0 m4,-10 l2,-1 6,-1 6,0 -2,5 -5,3 -6,0 m199,68 l-1,0 m-215,-69 l-5,2 -3,5 0,6 5,3 6,0 5,-3 3,-5 m0,-1 l0,-5 -4,-4 m11,-5 l-4,0 m-1,0 l-5,0 -5,3 m-7,25 l4,2 -5,3 -1,5 0,6 4,5 6,-1 3,-5 4,-5 0,-6 m235,46 -278,-43 l4,4 6,0 5,-1 6,0 6,0 m21,-10 l2,1 6,1 6,-2 5,-2 m-14,-26 0,0 -3,34 l-2,0 -5,3 -2,7 -2,5 5,2 5,4 4,4 3,5 4,4 m-31,-12 l0,3 -2,5 -5,4 -4,4 1,-6 2,-5 4,-4 4,-5 5,-4 m224,-119 l1,3 -3,5 -4,4 -4,4 -1,5 0,7 0,6 0,6 m5,-29 l0,-3 5,1 6,0 5,-1 2,5 0,6 0,6 -1,5 -1,6 m14,-33 0,0 l0,0 m-1,-1 l-4,0 -3,5 -2,5 5,2 6,0 3,-5 m229,82 -229,-85 l0,2 1,5 5,4 m1,-21 l1,2 5,3 7,0 m115,99 1,1 -131,-105 l-3,0 6,-2 m-3,21 l5,-2 m275,316 -290,-317 l1,5 2,5 -1,6 m-5,-31 l-1,1 -4,-4 -4,-4 m32,1 l-2,3 -4,4 -5,3 m4,-6 l-1,1 -4,4 -5,1 m-22,35 l-3,1 m-13,6 l2,2 5,1 6,0 6,0 6,0 6,0 5,1 6,0 6,0 5,2 5,2 5,1 5,1 5,1 5,1 5,1 5,1 6,0 6,0 6,0 5,-1 0,-7 0,-6 0,-6 m4,5 l-2,-4 0,-6 -3,-5 -4,-4 -6,0 -6,0 0,-6 -1,-5 -6,0 -5,1 -5,3 -5,2 -5,3 -5,1 -2,6 -1,6 0,6 0,6 m53,11 l-2,0 1,5 0,6 0,6 0,6 0,6 0,6 0,6 2,6 0,6 0,7 0,6 -1,5 -5,2 m-50,-84 l-3,3 0,6 0,6 m7,-15 l0,-4 1,5 0,6 0,7 -1,6 -3,-5 -1,-5 m53,64 3,-5 l1,1 -1,7 0,7 m8,9 l0,2 -1,6 -1,5 -2,6 -2,5 -3,5 -4,5 -2,6 -3,5 -3,5 -1,6 -1,7 -1,6 -2,5 -2,5 -4,6 -2,5 -3,6 -2,5 -3,6 -3,5 -5,5 -3,5 -4,5 -2,5 -4,4 -3,5 -3,5 -3,5 -5,3 -5,3 -6,2 -5,1 -6,0 -6,0 -5,1 -7,0 -6,0 -6,1 -5,2 -5,2 -5,1 -5,1 -5,1 -6,1 -6,0 -7,0 -6,0 -6,1 -6,0 -7,0 -6,0 -6,0 -7,0 -6,0 -7,0 -7,0 -6,0 m-7,0 l0,0 -7,0 -7,0 -8,-1 -6,-1 -5,-2 -5,-2 -6,-3 -6,-2 -5,-3 -5,-4 m-2,-1 l-4,-2 -4,-4 -4,-4 -5,-3 -5,-5 -5,-4 -5,-7 -6,-6 -3,-5 -3,-5 -3,-5 -4,-6 -3,-5 -3,-6 -4,-4 -3,-5 -1,-5 -4,-6 -4,-6 -2,-5 -2,-5 -2,-5 -2,-5 -3,-5 -2,-5 -4,-4 m-5,-19 0,0 0,-1 l0,0 5,-5 1,5 1,5 0,6 m20,-11 l0,5 m11,-10 l-1,1 -4,5 -1,5 -1,5 -1,5 -4,4 m125,-40 l-2,-1 2,5 m3,2 3,-5 l0,4 0,6 0,6 m46,-11 l-1,3 -2,5 m81,-16 l0,3 0,6 0,7 0,6 m-18,-19 l3,0 7,0 5,1 0,6 -1,5 -1,6 -1,5 m-70,-24 l1,1 2,5 0,6 -5,4 -3,5'));
doodles.push(new Doodle('M317,155.5 l-69.28203230275511,119.99999999999994 138.56406460551017,1.1368683772161603e-13 -69.28203230275506,-120.00000000000006',{height:100,twist:5}));
doodles.push(new Doodle('M317,155.5 l-47.02282018339781,15.278640450004218 -29.06170112021448,39.99999999999997 0,49.44271909999159 29.061701120214423,40 47.02282018339787,15.278640450004218 47.02282018339781,-15.278640450004218 29.06170112021448,-39.99999999999994 0,-49.44271909999162 -29.061701120214423,-40 -47.02282018339787,-15.278640450004218',{height:50,twist:5}));
viewer.setDoodles(doodles);
// }
}
function updateStatus() {
infoAPI.status(function(data) {
// console.log(data,printerAPI.totalLinesAtStart);
var buffer_progress = Math.round(data["buffered_lines"] / printerAPI.totalLinesAtStart * 100 * 100) / 100;
var print_progress = Math.round(data["current_line"] / data["total_lines"] * 100 * 100) / 100;
$("#lblPrintProgress").text("print: " + print_progress + "%");
$("#lblBufferProgress").text("buffer: " + buffer_progress + "%");
$("#lblState").text("state: "+data.state);
$("#lblNozzle").html("nozzle: "+data["hotend"]+"/"+data["hotend_target"] + "°C");
$("#lblBed").html("bed: "+data["bed"]+"/"+data["bed_target"] + "°C");
setTimeout(updateStatus,1000);
},function() {
setTimeout(updateStatus,5000);
});
}
function onBtnStop() {
configAPI.getSetting('printer.endcode',function(endcode) {
printerAPI.stop(endcode,function(data) {
console.log('stop success',data);
})
});
}
function onBtnPrepare() {
console.log('onBtnPrepare');
var gcode = d2g.generate(doodles);
configAPI.getStartCode(function(startcode) {
configAPI.getEndCode(function(endcode) {
var combined = startcode + "\n" + gcode + "\n" + endcode;
$('<a target="_blank" href="data:text/plain,'+encodeURIComponent(combined)+'" download="test.gcode">')[0].click();
})
});
// // printerAPI.print(combined,true,true,function() {
// // console.log('done');
// // });
// });
// });
}
function onBtnPrint() {
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
reader.onloadend = function() {
var gcode = reader.result;
printerAPI.print(gcode,true,true,function() {
console.log('done');
});
}
if (file) {
reader.readAsText(file);
}
}
function onLogoClick() {
location.href='/'+location.search;
}
function loadSketch(list,cb) {
var id = list.pop();
sketchAPI.load(id,function(data) {
addItem(id,data.data);
updateStatusMessage('loading '+list.length+' sketches...');
if (list.length>0) {
loadSketch(list,function() {
cb();
})
} else {
cb();
}
})
}
function addItem(id,svgData) {
// var itemIndex = $('.item').size();
// var svg = new Svg();
// svg.load(svgData);
// var item = $('<div class="item" data="'+id+'" title="'+id+'">');
// item.svg = svg;
// item.append(svg.getElement());
// item.mousedown(function(e) {
// $('.item').removeClass('selected');
// $(this).addClass('selected');
// });
// item.click(function(e) {
// console.log('click',this);
// // $('.item').removeClass('selected');
// // $(this).addClass('selected');
// // var offset = $(this).offset();
// // console.log(e.pageX - offset.left);
// // console.log(e.pageY - offset.top);
// // var svg = $(this).find('svg');
// // console.log(this.svg);
// })
// $('#svgContainer').append(item);
// item.hide().fadeIn();
// updateButtonStates();
}
function updateButtonStates() {
}
function updateStatusMessage(msg) {
$("#txtInfo").text(msg);
}
function refresh() {
location.reload();
}
function getURLParameter(name) {
return decodeURI((new RegExp('[&?]'+name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]);
}
}();