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 { widget, poly } = object.trace;
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);
}
}
@ -1055,6 +1055,7 @@ CAM.init = function(kiri, api) {
};
func.traceToggle = function(obj, skip) {
let material = obj.material[0];
if (!material) return;
let { color, colorSave } = material;
let { widget, poly } = obj.trace;
let areas = poppedRec.areas;

View file

@ -334,7 +334,8 @@ CAM.traces = async function(settings, widget, single) {
return false;
}
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))
.appendAll(Object.entries(single ? slicer.zLine : {}).map(ze => {
let [ zk, zv ] = ze;