add stock clipping to trace follow op
This commit is contained in:
parent
f86b82ee1b
commit
979cac6b9f
1 changed files with 9 additions and 4 deletions
|
|
@ -685,8 +685,8 @@
|
||||||
let { op, state } = this;
|
let { op, state } = this;
|
||||||
let { tool, rate, down, plunge, offset } = op;
|
let { tool, rate, down, plunge, offset } = op;
|
||||||
let { settings, widget, sliceAll, zMax, tabs } = state;
|
let { settings, widget, sliceAll, zMax, tabs } = state;
|
||||||
let { updateToolDiams, cutTabs } = state;
|
let { updateToolDiams, cutTabs, cutPolys } = state;
|
||||||
let { process } = settings;
|
let { process, stock } = settings;
|
||||||
// generate tracing offsets from chosen features
|
// generate tracing offsets from chosen features
|
||||||
let sliceOut = this.sliceOut = [];
|
let sliceOut = this.sliceOut = [];
|
||||||
let areas = op.areas[widget.id] || [];
|
let areas = op.areas[widget.id] || [];
|
||||||
|
|
@ -694,6 +694,7 @@
|
||||||
let toolOver = toolDiam * op.step;
|
let toolOver = toolDiam * op.step;
|
||||||
let cutdir = process.camConventional;
|
let cutdir = process.camConventional;
|
||||||
let polys = [];
|
let polys = [];
|
||||||
|
let stockRect = newPolygon().centerRectangle(stock.center, stock.x, stock.y);
|
||||||
updateToolDiams(toolDiam);
|
updateToolDiams(toolDiam);
|
||||||
if (tabs) {
|
if (tabs) {
|
||||||
tabs.forEach(tab => {
|
tabs.forEach(tab => {
|
||||||
|
|
@ -712,13 +713,17 @@
|
||||||
return slice;
|
return slice;
|
||||||
}
|
}
|
||||||
function followZ(poly) {
|
function followZ(poly) {
|
||||||
let slice = newSliceOut(poly.getZ());
|
let z = poly.getZ();
|
||||||
|
let slice = newSliceOut(z);
|
||||||
slice.camTrace = { tool, rate, plunge };
|
slice.camTrace = { tool, rate, plunge };
|
||||||
if (tabs) {
|
if (tabs) {
|
||||||
slice.camLines = cutTabs(tabs, [poly], poly.getZ());
|
slice.camLines = cutTabs(tabs, [poly], z);
|
||||||
} else {
|
} else {
|
||||||
slice.camLines = [ poly ];
|
slice.camLines = [ poly ];
|
||||||
}
|
}
|
||||||
|
if (process.camStockClipTo) {
|
||||||
|
slice.camLines = cutPolys([stockRect], slice.camLines, z, true);
|
||||||
|
}
|
||||||
slice.output()
|
slice.output()
|
||||||
.setLayer("follow", {line: 0xaa00aa}, false)
|
.setLayer("follow", {line: 0xaa00aa}, false)
|
||||||
.addPolys(slice.camLines)
|
.addPolys(slice.camLines)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue