prevent re-emitting tops during recursion. only wide expand outer polys
This commit is contained in:
parent
e013645fd3
commit
0027a919a3
2 changed files with 5 additions and 2 deletions
|
|
@ -439,7 +439,8 @@
|
|||
}
|
||||
let ltops = tops[depth];
|
||||
let fitted = fit ? ltops.filter(poly => poly.isInside(fit)) : ltops;
|
||||
fitted.forEach(top => {
|
||||
fitted.filter(top => !top.level_emit).forEach(top => {
|
||||
top.level_emit = true;
|
||||
let inside = level.filter(poly => poly.isInside(top));
|
||||
start = poly2polyEmit(inside, start, emitter);
|
||||
start = polyLevelEmitter(start, depth + 1, levels, tops, emitter, top);
|
||||
|
|
|
|||
|
|
@ -264,7 +264,9 @@
|
|||
} else {
|
||||
if (procOutlineWide) {
|
||||
offset.slice().forEach(op => {
|
||||
POLY.expand([op], outlineToolDiam * 0.5, slice.z, offset, 1);
|
||||
// clone removes inners but the real solution is
|
||||
// to limit expanded shells to through holes
|
||||
POLY.expand([op.clone()], outlineToolDiam * 0.5, slice.z, offset, 1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue