From b566a387c6784c929ec535848304a0feba5d1d7c Mon Sep 17 00:00:00 2001 From: casperlamboo Date: Tue, 1 Aug 2017 13:58:29 +0200 Subject: [PATCH] remove parts that don't contain shells --- src/sliceActions/generateInnerLines.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/sliceActions/generateInnerLines.js b/src/sliceActions/generateInnerLines.js index 0c97a5d..22809e1 100644 --- a/src/sliceActions/generateInnerLines.js +++ b/src/sliceActions/generateInnerLines.js @@ -31,22 +31,24 @@ export default function generateInnerLines(slices, settings) { const outerLine = part.shape.offset(-nozzleRadius, offsetOptions); - if (outerLine.paths.length > 0) { - part.shell.push(outerLine); + if (outerLine.paths.length === 0) continue; - // start with 1 because outerLine is the 1st (0) shell - for (let inset = 1; inset < numShells; inset += 1) { - const offset = inset * nozzleDiameter; + part.shell.push(outerLine); - const shell = outerLine.offset(-offset, offsetOptions); + // start with 1 because outerLine is the 1st (0) shell + for (let inset = 1; inset < numShells; inset += 1) { + const offset = inset * nozzleDiameter; - if (shell.paths.length > 0) { - part.shell.push(shell); - } else { - break; - } + const shell = outerLine.offset(-offset, offsetOptions); + + if (shell.paths.length === 0) { + break; + } else { + part.shell.push(shell); } } } + + slice.parts.filter(part => !part.closed || part.shell.length !== 0); } }