From beeea2387c5738f6ce50da6b561334b0360adb75 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 9 Feb 2021 19:08:28 -0500 Subject: [PATCH] drop wipe endpoints outside centering poly. drop fill attempt for anchor lines --- src/kiri/print.js | 5 ++++- src/kiri/worker.js | 3 ++- src/mode/fdm/prepare.js | 5 ++++- src/mode/fdm/slice.js | 5 ++++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/kiri/print.js b/src/kiri/print.js index 38ec0d61..60e17c5f 100644 --- a/src/kiri/print.js +++ b/src/kiri/print.js @@ -544,7 +544,10 @@ let last = array.last(); last.retract = true; if (wipeDist && lastPoly && last.point) { - addOutput(array, last.point.followTo(lastPoly.center(true), wipeDist)); + let endpoint = last.point.followTo(lastPoly.center(true), wipeDist); + if (endpoint.inPolygon(lastPoly)) { + addOutput(array, endpoint); + } } } else if (opt.pretract) { opt.pretract(wipeDist); diff --git a/src/kiri/worker.js b/src/kiri/worker.js index 40148221..4d2e1780 100644 --- a/src/kiri/worker.js +++ b/src/kiri/worker.js @@ -608,7 +608,8 @@ self.onmessage = function(e) { data: output }); } catch (wrkerr) { - console.log({wrkerr}); + // console.log(wrkerr); + console.trace(wrkerr.stack); send.done({error: wrkerr.toString()}); } } else { diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index 9a368da6..b5d2ee5b 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -409,7 +409,10 @@ let lastOut = lastLayer.last(); lastOut.retract = true; if (wipeDist && lastPoly && lastOut.point) { - print.addOutput(lastLayer, lastOut.point.followTo(lastPoly.center(true).add(offset), wipeDist)); + let endpoint = lastOut.point.followTo(lastPoly.center(true).add(offset), wipeDist); + if (endpoint.inPolygon(lastPoly)) { + print.addOutput(lastLayer, endpoint); + } } } } diff --git a/src/mode/fdm/slice.js b/src/mode/fdm/slice.js index 77b623a0..6eaf1a44 100644 --- a/src/mode/fdm/slice.js +++ b/src/mode/fdm/slice.js @@ -943,6 +943,10 @@ // create empty filled line array for each top tops.forEach(function(top) { + // synth belt anchor tops don't want fill + if (!top.fill_lines) { + return; + } const tofill = []; const angfill = []; const newfill = []; @@ -968,7 +972,6 @@ top.fill_lines_ang.poly.push(af.clone()); }); } - top.fill_lines.appendAll(newfill); });