diff --git a/src/sliceActions/addBrim.js b/src/sliceActions/addBrim.js index f3e7627..6307e9b 100644 --- a/src/sliceActions/addBrim.js +++ b/src/sliceActions/addBrim.js @@ -27,10 +27,9 @@ export default function addBrim(slices, settings) { })) ), new Shape([], true)).simplify('pftNonZero'); - firstLayer.brim = new Shape([], true); - + firstLayer.brim = []; for (let offset = 0; offset < brimSize; offset += nozzleDiameter) { const brimPart = brim.offset(offset, offsetOptions); - firstLayer.brim = firstLayer.brim.join(brimPart); + firstLayer.brim.unshift(brimPart); } } diff --git a/src/sliceActions/optimizePaths.js b/src/sliceActions/optimizePaths.js index 661e7e0..7def91d 100644 --- a/src/sliceActions/optimizePaths.js +++ b/src/sliceActions/optimizePaths.js @@ -7,9 +7,13 @@ export default function optimizePaths(slices, settings) { for (let layer = 0; layer < slices.length; layer ++) { const slice = slices[layer]; - if (typeof slice.brim !== 'undefined' && slice.brim.paths.length > 0) { - slice.brim = optimizeShape(slice.brim, start); - start.copy(slice.brim.lastPoint(true)); + if (typeof slice.brim !== 'undefined') { + for (let i = 0; i < slice.brim.length; i ++) { + if (slice.brim[i].paths.length > 0) { + slice.brim[i] = optimizeShape(slice.brim[i], start); + start.copy(slice.brim[i].lastPoint(true)); + } + } } const parts = []; diff --git a/src/sliceActions/removePrecision.js b/src/sliceActions/removePrecision.js index 2ecd8df..a237a06 100644 --- a/src/sliceActions/removePrecision.js +++ b/src/sliceActions/removePrecision.js @@ -25,7 +25,9 @@ export default function removePrecision(slices) { slice.support.scaleDown(inversePrecision); } if (typeof slice.brim !== 'undefined') { - slice.brim.scaleDown(inversePrecision); + for (let i = 0; i < slice.brim.length; i ++) { + slice.brim[i].scaleDown(inversePrecision); + } } } } diff --git a/src/sliceActions/slicesToGCode.js b/src/sliceActions/slicesToGCode.js index cbc38a2..049bab5 100644 --- a/src/sliceActions/slicesToGCode.js +++ b/src/sliceActions/slicesToGCode.js @@ -48,7 +48,9 @@ export default function slicesToGCode(slices, settings) { }, {}); if (typeof slice.brim !== 'undefined') { - pathToGCode(null, false, gcode, slice.brim, true, true, z, profiles.brim); + for (let i = 0; i < slice.brim.length; i ++) { + pathToGCode(null, false, gcode, slice.brim[i], false, false, z, profiles.brim); + } } for (let i = 0; i < slice.parts.length; i ++) {