From 4c367d18b620f57fb705b6fa56f7faca29071a0c Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Sun, 26 Nov 2023 17:05:04 -0500 Subject: [PATCH] fix offsetting when clear selected for traces --- src/kiri-mode/cam/ops.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/kiri-mode/cam/ops.js b/src/kiri-mode/cam/ops.js index 47c1aba9..8e0bb3a9 100644 --- a/src/kiri-mode/cam/ops.js +++ b/src/kiri-mode/cam/ops.js @@ -1146,7 +1146,17 @@ class OpTrace extends CamOp { if (op.bottom && camZBottom) { z = Math.max(z, camZBottom) - zbo; } - (zmap[z] = zmap[z] || []).push(poly); + if (offover) { + let pnew = POLY.offset([poly], -offover, { minArea: 0, open: true }); + if (pnew) { + poly = POLY.setZ(pnew, poly.getZ()); + } else { + continue; + } + } else { + poly = [ poly ]; + } + (zmap[z] = zmap[z] || []).appendAll(poly); } for (let [zv, polys] of Object.entries(zmap)) { clearZ(polys, parseFloat(zv), down);