From c1be2953358e0d0248245447d8bb1237eabc734d Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 29 Jan 2021 17:57:40 -0500 Subject: [PATCH] fix trace:follow where offset produces > 1 polygon --- src/mode/cam/ops.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/mode/cam/ops.js b/src/mode/cam/ops.js index a302f048..a8e82d1a 100644 --- a/src/mode/cam/ops.js +++ b/src/mode/cam/ops.js @@ -771,19 +771,22 @@ case "inside": offdist = -toolDiam / 2; break; } if (offdist) { - let pnew = POLY.offset([poly], offdist)[0]; + let pnew = POLY.offset([poly], offdist); if (pnew) { - poly = pnew.setZ(poly.getZ()); + poly = POLY.setZ(pnew, poly.getZ()); } else { continue; } + } else { + poly = [ poly ]; } + for (let pi of poly) if (down) { - for (let z of BASE.util.lerp(zMax, poly.getZ(), down)) { - followZ(poly.clone().setZ(z)); + for (let z of BASE.util.lerp(zMax, pi.getZ(), down)) { + followZ(pi.clone().setZ(z)); } } else { - followZ(poly); + followZ(pi); } } break;