diff --git a/package-lock.json b/package-lock.json index be224ad..2095700 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,21 @@ { "name": "@doodle3d/doodle3d-slicer", - "version": "0.0.4", + "version": "0.0.12", "lockfileVersion": 1, "requires": true, "dependencies": { "@doodle3d/clipper-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@doodle3d/clipper-js/-/clipper-js-1.0.3.tgz", - "integrity": "sha512-CM0g8ALJJoTaYh6WWwQVt1ak85vvDd1YvmAFzJ1Qe8l5q84+Bbq2XYUNVCnJ5D3FJgyKDx7TOmOTe4XySClycg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@doodle3d/clipper-js/-/clipper-js-1.0.7.tgz", + "integrity": "sha512-8Ji8rrFWZ7LAEpIp1SQZJgewxt0FUBFeDku+ZRIR5PS0Jc6Abbq5KykQLVh1zOh3oqX2Cgl+myhqMhFeZXqutA==", "requires": { - "@doodle3d/clipper-lib": "6.2.2" + "@doodle3d/clipper-lib": "6.4.2-b" } }, "@doodle3d/clipper-lib": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@doodle3d/clipper-lib/-/clipper-lib-6.2.2.tgz", - "integrity": "sha512-RLwCRi98bX4P3QcbznEFL9tLAXX32ychi+JIeS6S0BmPMvI0uSEw+IpbmihR44bqY+SxkQigs9Gcz7hMiZS2zA==" + "version": "6.4.2-b", + "resolved": "https://registry.npmjs.org/@doodle3d/clipper-lib/-/clipper-lib-6.4.2-b.tgz", + "integrity": "sha512-glELSijsD9b+/0d9iOdasBwqH3s+xPxD59tJ7aXkBx7klugygGOMXn7PB05AdhVyA1OYMj7GUCegaQa7nvLtmQ==" }, "ansi-regex": { "version": "2.1.1", diff --git a/package.json b/package.json index f58fe60..f24a937 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@doodle3d/doodle3d-slicer", - "version": "0.0.4", + "version": "0.0.12", "description": "JavaScript gcode slicer, Intended to use with the Doodle3D WiFi-Box # Usage", "main": "lib/index.js", "module": "module/index.js", @@ -14,7 +14,7 @@ "build:module:settings": "cp -r src/settings module" }, "dependencies": { - "@doodle3d/clipper-js": "^1.0.3", + "@doodle3d/clipper-js": "^1.0.7", "three": "^0.83.0" }, "devDependencies": { diff --git a/src/sliceActions/shapesToSlices.js b/src/sliceActions/shapesToSlices.js index 2d0fe94..9553c67 100644 --- a/src/sliceActions/shapesToSlices.js +++ b/src/sliceActions/shapesToSlices.js @@ -20,11 +20,8 @@ export default function shapesToSlices(shapes, settings) { lineShapesClosed = new Shape(lineShapesClosed, true, true, true, true) .clean(cleanDelta); - lineShapesOpen = new Shape(lineShapesOpen, false, true, true, true); - // .clean(cleanDelta); - // TODO - // Cleaning is actually wanted here but there is a bug in the clean function - // https://sourceforge.net/p/jsclipper/tickets/16/ + lineShapesOpen = new Shape(lineShapesOpen, false, true, true, true) + .clean(cleanDelta); const slice = new Slice(); diff --git a/src/sliceActions/slicesToGCode.js b/src/sliceActions/slicesToGCode.js index 96e1db3..a3dda02 100644 --- a/src/sliceActions/slicesToGCode.js +++ b/src/sliceActions/slicesToGCode.js @@ -50,9 +50,10 @@ export default function slicesToGCode(slices, settings) { for (let i = 0; i < slice.parts.length; i ++) { const part = slice.parts[i]; - const outline = part.shell[0]; if (part.closed) { + const outline = part.shell[0]; + for (let i = 0; i < part.shell.length; i ++) { const shell = part.shell[i]; const isOuterShell = i === 0; diff --git a/src/slicer.worker.js b/src/slicer.worker.js index 7c0bc37..59bb2ce 100644 --- a/src/slicer.worker.js +++ b/src/slicer.worker.js @@ -1,3 +1,4 @@ +import 'core-js'; // polyfills import slice from './sliceActions/slice.js'; import * as THREE from 'three';