diff --git a/app/index.html b/app/index.html index a997b08..cc9d14b 100644 --- a/app/index.html +++ b/app/index.html @@ -9,7 +9,7 @@ - + diff --git a/app/js/main.js b/app/js/main.js index 0971663..669fe0f 100644 --- a/app/js/main.js +++ b/app/js/main.js @@ -17,13 +17,7 @@ $(document).ready(function() { editor.session.setValue('; No GCODE yet - please Load a GCODE file from the Open GCODE button'); // from samplefile.js editor.setShowPrintMargin(false); editor.getSession().on('change', function() { - if (scene.getObjectByName('gcodeobject')) { - // console.log("Existing GCODE object: Cleaning up first") - scene.remove(scene.getObjectByName('gcodeobject')) - object = false; - } - resetView(); - parseGcodeInWebWorker(editor.getValue()) + // parseGcodeInWebWorker(editor.getValue()) }); } @@ -68,6 +62,7 @@ $(document).ready(function() { console.log(data.length) if (data.length > 2) { editor.session.setValue(data); + parseGcodeInWebWorker(data) $('#controlTab').click() if (webgl) { $('#gcodeviewertab').click(); @@ -108,6 +103,7 @@ function loadFile(f) { // cleanupThree(); // gcode = this.result; editor.session.setValue(this.result); + parseGcodeInWebWorker(this.result) printLog('GCODE Opened: '); }; // } diff --git a/app/js/viewer.js b/app/js/viewer.js index c2c5c89..7f85674 100644 --- a/app/js/viewer.js +++ b/app/js/viewer.js @@ -150,7 +150,7 @@ function drawWorkspace(xmin, xmax, ymin, ymax) { } function redrawGrid(xmin, xmax, ymin, ymax) { - gridsystem.children.length = 0 + sizexmax = xmax; sizeymax = ymax; @@ -241,9 +241,12 @@ function redrawGrid(xmin, xmax, ymin, ymax) { helper.name = "GridHelper50mm" grid.add(helper); grid.name = "Grid" - gridsystem.add(grid); - gridsystem.add(drawRuler(xmin, xmax, ymin, ymax)); + gridsystem.children.length = 0 + var ruler = drawRuler(xmin, xmax, ymin, ymax) + gridsystem.add(grid); + gridsystem.add(ruler); + } function setBullseyePosition(x, y, z) { @@ -345,15 +348,15 @@ function animate() { scene.remove(scene.children[1]) } - var documents = new THREE.Group(); - documents.name = "Documents"; - for (i = 0; i < objectsInScene.length; i++) { - documents.add(objectsInScene[i]) - } - scene.add(documents) - - var toolpaths = new THREE.Group(); - toolpaths.name = "Toolpaths"; + // var documents = new THREE.Group(); + // documents.name = "Documents"; + // for (i = 0; i < objectsInScene.length; i++) { + // documents.add(objectsInScene[i]) + // } + // scene.add(documents) + // + // var toolpaths = new THREE.Group(); + // toolpaths.name = "Toolpaths"; // for (i = 0; i < toolpathsInScene.length; i++) { // // if (toolpathsInScene[i].userData.visible) { @@ -397,7 +400,7 @@ function animate() { function viewExtents(objecttosee) { - // console.log("viewExtents. object:", this.object); + // console.log("viewExtents. object:", objecttosee); // console.log("controls:", controls); //wakeAnimate(); @@ -441,7 +444,7 @@ function viewExtents(objecttosee) { var fov = 2.2 * Math.atan(maxlen / (2 * dist)) * (180 / Math.PI); // console.log("new fov:", fov, " old fov:", controls.object.fov); if (isNaN(fov)) { - console.log("giving up on viewing extents because fov could not be calculated"); + // console.log("giving up on viewing extents because fov could not be calculated"); return; } else { // console.log("fov: ", fov); @@ -559,6 +562,7 @@ $(window).on('resize', function() { }); function resetView(object) { + // console.log(resetView.caller); if (!object) { if (objectsInScene.length > 0) { var insceneGrp = new THREE.Group() diff --git a/app/js/websocket.js b/app/js/websocket.js index 9ee0688..ff6df6d 100644 --- a/app/js/websocket.js +++ b/app/js/websocket.js @@ -98,13 +98,8 @@ function initSocket() { socket.on('gcodeupload', function(data) { printLog("Received new GCODE from API") - if (scene.getObjectByName('gcodeobject')) { - // console.log("Existing GCODE object: Cleaning up first") - scene.remove(scene.getObjectByName('gcodeobject')) - object = false; - } - resetView(); editor.session.setValue(data); + parseGcodeInWebWorker(data) $('#controlTab').click() if (webgl) { $('#gcodeviewertab').click(); diff --git a/app/lib/3dview/3dview.js b/app/lib/3dview/3dview.js index 819da68..1cb1463 100644 --- a/app/lib/3dview/3dview.js +++ b/app/lib/3dview/3dview.js @@ -6,15 +6,22 @@ var loader = new THREE.ObjectLoader(); var worker = new Worker('lib/3dview/workers/gcodeparser.js'); worker.addEventListener('message', function(e) { + // console.log('webworker message') + if (scene.getObjectByName('gcodeobject')) { + scene.remove(scene.getObjectByName('gcodeobject')) + object = false; + } object = loader.parse(JSON.parse(e.data)); - scene.add(object); - redrawGrid(parseInt(object.userData.bbbox2.min.x), parseInt(object.userData.bbbox2.max.x), parseInt(object.userData.bbbox2.min.y), parseInt(object.userData.bbbox2.max.y)) - // animate(); - setTimeout(function() { - console.log("Reset Camera"); - viewExtents(object); + if (object) { + scene.add(object); + redrawGrid(parseInt(object.userData.bbbox2.min.x), parseInt(object.userData.bbbox2.max.x), parseInt(object.userData.bbbox2.min.y), parseInt(object.userData.bbbox2.max.y)) // animate(); - }, 200); + setTimeout(function() { + clearSceneFlag = true; + resetView(); + // animate(); + }, 200); + } }, false); function parseGcodeInWebWorker(gcode) { diff --git a/app/lib/3dview/workers/gcodeparser.js b/app/lib/3dview/workers/gcodeparser.js index a5dbd2a..358972c 100644 --- a/app/lib/3dview/workers/gcodeparser.js +++ b/app/lib/3dview/workers/gcodeparser.js @@ -1,4 +1,5 @@ self.addEventListener('message', function(e) { + console.log("New message received by worker", e.data.data.length) importScripts("/lib/threejs/three.min.js"); var data = e.data; var result = openGCodeFromText(e.data.data) @@ -102,7 +103,7 @@ function openGCodeFromText(gcode) { extruding: false }; createObjectFromGCode(gcode, object2) - console.log(object2) + // console.log(object2) return object2; } diff --git a/package.json b/package.json index 58ab1b9..6c394c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "OpenBuildsMachineDriver", - "version": "1.0.88", + "version": "1.0.89", "license": "AGPL-3.0", "description": "Machine Interface Driver for OpenBuilds", "author": "github.com/openbuilds ",