add tabs to travel boundaries, ensure ease-down does not go thru tab

This commit is contained in:
Stewart Allen 2025-12-11 21:14:45 -05:00
commit dd88f38e39
2 changed files with 11 additions and 1 deletions

View file

@ -180,6 +180,11 @@ class OpArea extends CamOp {
} else if (op.omitinner) {
outs = omitInner(outs);
}
// add tabs to travel boundaries
if (tabs) {
let tab_shadows = tabs.filter(t => t.top >= z).map(t => t.poly);
if (tab_shadows) tool_shadow.push(...tab_shadows);
}
// store travel boundary that triggers up and over moves
slice.tool_shadow = [ area, ...shadow, ...tool_shadow ];
slice.camLines = outs;
@ -254,6 +259,11 @@ class OpArea extends CamOp {
...POLY.offset(shadow, [ ts_off ], { count: 1, z }),
...POLY.offset(shadow, [ -ts_off ], { count: 1, z }),
];
// add tabs to travel boundaries
if (tabs) {
let tab_shadows = tabs.filter(t => t.top >= z).map(t => t.poly);
if (tab_shadows) slice.tool_shadow.push(...tab_shadows);
}
zroc += zinc;
progress(proc + (pinc * zroc), 'trace');
layers

View file

@ -730,7 +730,7 @@ export async function prepare_one(widget, settings, print, firstPoint, update) {
let dd = lp.distTo2D(pt);
zat = Math.max(pt.z, zat - (dd * easeDzPerMm));
}
lp = pt.clone().setZ(zat);
lp = pt.clone().setZ(Math.max(pt.z, zat));
camOut(lp, 1, { feed: easeFeed });
}
}