restore trace selection of z lines which are not co-incident with z planar faces

This commit is contained in:
Stewart Allen 2023-03-02 20:37:42 -05:00
commit 466086978e
2 changed files with 4 additions and 2 deletions

View file

@ -1047,7 +1047,7 @@ CAM.init = function(kiri, api) {
let { selected } = object; let { selected } = object;
let { widget, poly } = object.trace; let { widget, poly } = object.trace;
for (let add of widget.adds) { for (let add of widget.adds) {
if (add.selected !== selected && add.trace.poly.getZ() === poly.getZ()) { if (add.trace && add.selected !== selected && add.trace.poly.getZ() === poly.getZ()) {
func.traceToggle(add); func.traceToggle(add);
} }
} }
@ -1055,6 +1055,7 @@ CAM.init = function(kiri, api) {
}; };
func.traceToggle = function(obj, skip) { func.traceToggle = function(obj, skip) {
let material = obj.material[0]; let material = obj.material[0];
if (!material) return;
let { color, colorSave } = material; let { color, colorSave } = material;
let { widget, poly } = obj.trace; let { widget, poly } = obj.trace;
let areas = poppedRec.areas; let areas = poppedRec.areas;

View file

@ -334,7 +334,8 @@ CAM.traces = async function(settings, widget, single) {
return false; return false;
} }
let slicer = new kiri.cam_slicer(widget); let slicer = new kiri.cam_slicer(widget);
let indices = [...new Set(Object.keys(slicer.zFlat) let zees = Object.assign({}, slicer.zFlat, slicer.zLine);
let indices = [...new Set(Object.keys(zees)
.map(kv => parseFloat(kv).round(5)) .map(kv => parseFloat(kv).round(5))
.appendAll(Object.entries(single ? slicer.zLine : {}).map(ze => { .appendAll(Object.entries(single ? slicer.zLine : {}).map(ze => {
let [ zk, zv ] = ze; let [ zk, zv ] = ze;