alternate / simpler approach to clear voids
This commit is contained in:
parent
7e3c950944
commit
d473c35834
1 changed files with 20 additions and 17 deletions
|
|
@ -98,7 +98,7 @@ class OpLevel extends CamOp {
|
||||||
slice(progress) {
|
slice(progress) {
|
||||||
let { op, state } = this;
|
let { op, state } = this;
|
||||||
let { settings, widget, addSlices } = state;
|
let { settings, widget, addSlices } = state;
|
||||||
let { updateToolDiams, thruHoles, tabs, cutTabs } = state;
|
let { updateToolDiams, tabs, cutTabs } = state;
|
||||||
let { bounds, zMax, ztOff, color, tshadow } = state;
|
let { bounds, zMax, ztOff, color, tshadow } = state;
|
||||||
let { stock } = settings;
|
let { stock } = settings;
|
||||||
|
|
||||||
|
|
@ -266,22 +266,25 @@ class OpRough extends CamOp {
|
||||||
}
|
}
|
||||||
|
|
||||||
// inset or eliminate thru holes from shadow
|
// inset or eliminate thru holes from shadow
|
||||||
shadow = POLY.flatten(shadow.clone(true), [], true);
|
// shadow = POLY.flatten(shadow.clone(true), [], true);
|
||||||
thruHoles.forEach(hole => {
|
// thruHoles.forEach(hole => {
|
||||||
shadow = shadow.map(p => {
|
// shadow = shadow.map(p => {
|
||||||
if (p.isEquivalent(hole)) {
|
// if (p.isEquivalent(hole)) {
|
||||||
// eliminate thru holes when roughing voids enabled
|
// // eliminate thru holes when roughing voids enabled
|
||||||
if (op.voids) {
|
// if (op.voids) {
|
||||||
return undefined;
|
// return undefined;
|
||||||
}
|
// }
|
||||||
let po = POLY.offset([p], -(toolDiam / 2 + roughLeave + 0.01));
|
// let po = POLY.offset([p], -(toolDiam / 2 + roughLeave + 0.01));
|
||||||
return po ? po[0] : undefined;
|
// return po ? po[0] : undefined;
|
||||||
} else {
|
// } else {
|
||||||
return p;
|
// return p;
|
||||||
}
|
// }
|
||||||
}).filter(p => p);
|
// }).filter(p => p);
|
||||||
});
|
// });
|
||||||
shadow = POLY.nest(shadow);
|
// shadow = POLY.nest(shadow);
|
||||||
|
if (op.voids) {
|
||||||
|
for (let s of shadow) s.inner = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
// shell = shadow expanded by half tool diameter + leave stock
|
// shell = shadow expanded by half tool diameter + leave stock
|
||||||
const sadd = roughIn ? toolDiam / 2 : toolDiam / 2;
|
const sadd = roughIn ? toolDiam / 2 : toolDiam / 2;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue