honor z bottom in pocket operations

This commit is contained in:
Stewart Allen 2023-01-31 17:42:32 -05:00
commit e22dc83596

View file

@ -1116,7 +1116,7 @@ class OpPocket extends CamOp {
const debug = false; const debug = false;
let { op, state } = this; let { op, state } = this;
let { tool, rate, down, plunge, expand, contour, smooth, tolerance } = op; let { tool, rate, down, plunge, expand, contour, smooth, tolerance } = op;
let { settings, widget, addSlices, zMax, zTop, zThru, tabs, color } = state; let { settings, widget, addSlices, zTop, zBottom, zThru, tabs, color } = state;
let { updateToolDiams, cutTabs, cutPolys, healPolys, shadowAt } = state; let { updateToolDiams, cutTabs, cutPolys, healPolys, shadowAt } = state;
let { process, stock } = settings; let { process, stock } = settings;
// generate tracing offsets from chosen features // generate tracing offsets from chosen features
@ -1244,6 +1244,7 @@ class OpPocket extends CamOp {
.add(vert[i++], vert[i++], zmin = Math.min(zmin, vert[i++])) .add(vert[i++], vert[i++], zmin = Math.min(zmin, vert[i++]))
); );
} }
zmin = Math.max(zBottom, zmin);
outline = POLY.union(outline, 0.0001, true); outline = POLY.union(outline, 0.0001, true);
outline = POLY.setWinding(outline, cutdir, false); outline = POLY.setWinding(outline, cutdir, false);
outline = healPolys(outline); outline = healPolys(outline);