handle depth ordering for traces
This commit is contained in:
parent
44c1c850e9
commit
4a84732797
2 changed files with 24 additions and 13 deletions
|
|
@ -327,8 +327,9 @@
|
||||||
outlineDiam: 0,
|
outlineDiam: 0,
|
||||||
contourx: [],
|
contourx: [],
|
||||||
contoury: [],
|
contoury: [],
|
||||||
|
trace: [],
|
||||||
|
drill: [],
|
||||||
layer: 0,
|
layer: 0,
|
||||||
drill: []
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// todo first move into positon
|
// todo first move into positon
|
||||||
|
|
@ -435,17 +436,12 @@
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PRO.TRACE:
|
case PRO.TRACE:
|
||||||
console.log({prep_trace: slice});
|
if (depthFirst) {
|
||||||
let { tool, speed, plunge, path } = slice.camTrace;
|
depthData.trace.push(slice);
|
||||||
setTool(tool, speed, plunge);
|
break;
|
||||||
let traceTool = new CAM.Tool(settings, tool);
|
} else {
|
||||||
let traceToolDiam = traceTool.fluteDiameter();
|
emitTrace(slice);
|
||||||
slice.camLines.forEach(poly => {
|
}
|
||||||
poly.forEachPoint(function(point, pidx) {
|
|
||||||
camOut(point.clone(), pidx > 0);
|
|
||||||
}, !poly.open);
|
|
||||||
});
|
|
||||||
newLayer();
|
|
||||||
break;
|
break;
|
||||||
case PRO.DRILL:
|
case PRO.DRILL:
|
||||||
setTool(process.camDrillTool, process.camDrillDownSpeed, process.camDrillDownSpeed);
|
setTool(process.camDrillTool, process.camDrillDownSpeed, process.camDrillDownSpeed);
|
||||||
|
|
@ -455,6 +451,19 @@
|
||||||
update(sliceIndex / slices.length);
|
update(sliceIndex / slices.length);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function emitTrace(slice) {
|
||||||
|
let { tool, speed, plunge, path } = slice.camTrace;
|
||||||
|
setTool(tool, speed, plunge);
|
||||||
|
let traceTool = new CAM.Tool(settings, tool);
|
||||||
|
let traceToolDiam = traceTool.fluteDiameter();
|
||||||
|
slice.camLines.forEach(poly => {
|
||||||
|
poly.forEachPoint(function(point, pidx) {
|
||||||
|
camOut(point.clone(), pidx > 0);
|
||||||
|
}, !poly.open);
|
||||||
|
});
|
||||||
|
newLayer();
|
||||||
|
}
|
||||||
|
|
||||||
function polyEmit(poly, index, count, fromPoint) {
|
function polyEmit(poly, index, count, fromPoint) {
|
||||||
let last = null;
|
let last = null;
|
||||||
if (easeDown && poly.isClosed()) {
|
if (easeDown && poly.isClosed()) {
|
||||||
|
|
@ -602,6 +611,9 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
depthData.trace.forEach(slice => {
|
||||||
|
emitTrace(slice);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// drilling is always depth first, and always output last (change?)
|
// drilling is always depth first, and always output last (change?)
|
||||||
|
|
|
||||||
|
|
@ -488,7 +488,6 @@
|
||||||
let proc = settings.process;
|
let proc = settings.process;
|
||||||
let traces = (settings.widget[widget.id] || {}).trace || [];
|
let traces = (settings.widget[widget.id] || {}).trace || [];
|
||||||
traces.forEach(trace => {
|
traces.forEach(trace => {
|
||||||
console.log({trace});
|
|
||||||
let { tool, path } = trace;
|
let { tool, path } = trace;
|
||||||
let traceTool = new CAM.Tool(settings, tool);
|
let traceTool = new CAM.Tool(settings, tool);
|
||||||
let traceToolDiam = traceTool.fluteDiameter();
|
let traceToolDiam = traceTool.fluteDiameter();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue