importScripts("../library/three.js"); importScripts("../library/clipper.js"); importScripts("../src/utils.js"); importScripts("../src/printer.js"); importScripts("../src/paths.js"); importScripts("../src/slicer.js"); var printer = new D3D.Printer(); var slicer = new D3D.Slicer(); self.addEventListener('message', function (event) { "use strict"; switch (event.data["cmd"]) { case "SET_MESH": var loader = new THREE.BufferGeometryLoader(); var geometry = loader.parse(event.data["geometry"]); var matrix = new THREE.Matrix4().fromArray(event.data["matrix"]); slicer.setMesh(geometry, matrix); break; case "SET_SETTINGS": printer.updateConfig(event.data["USER_SETTINGS"]); printer.updateConfig(event.data["PRINTER_SETTINGS"]); console.log(printer); break; case "SLICE": var gcode = slicer.getGcode(printer); self.postMessage('gcode generated'); break; case "CLOSE": self.close(); break; } });