de-rez complex slices for support interference detection where it's less important
This commit is contained in:
parent
14ee94311d
commit
a73faf8d05
2 changed files with 22 additions and 13 deletions
|
|
@ -451,6 +451,7 @@
|
|||
projectFlats(slice, solidLayers);
|
||||
projectBridges(slice, solidLayers);
|
||||
}, "layer deltas");
|
||||
// console.log('start'); await BASE.util.ptimer(1000);
|
||||
let promises = doConcurrent ? [] : undefined;
|
||||
forSlices(0.35, promises ? 0.4 : 0.5, slice => {
|
||||
let params = slice.params || spro;
|
||||
|
|
@ -466,6 +467,7 @@
|
|||
trackupdate(i / t, 0.4, 0.5);
|
||||
});
|
||||
}
|
||||
// console.log('stop'); await BASE.util.ptimer(1000);
|
||||
}
|
||||
|
||||
// sparse layers only present when non-vase mose and sparse % > 0
|
||||
|
|
@ -1164,7 +1166,6 @@
|
|||
gap = proc.sliceSupportGap,
|
||||
min = minArea || 0.01,
|
||||
size = (pillarSize || 1),
|
||||
mergeDist = size * 3, // pillar merge dist
|
||||
tops = slice.topPolys(),
|
||||
trimTo = tops;
|
||||
|
||||
|
|
@ -1181,6 +1182,15 @@
|
|||
down_tops = down ? down.topPolys() : null,
|
||||
down_traces = down ? POLY.flatten(down.topShells().clone(true)) : null;
|
||||
|
||||
if (down_tops) {
|
||||
// de-rez complex polys because it's not that important for supports
|
||||
let points = down_tops.map(p => p.deepLength).reduce((a,v)=>a+v);
|
||||
if (points > 200) {
|
||||
down_tops = down_tops.map(p => p.clean(true, undefined, CONF.clipper / 10));
|
||||
down_traces = down_traces.map(p => p.clean(true, undefined, CONF.clipper / 10));
|
||||
}
|
||||
}
|
||||
|
||||
// check if point is supported by layer below
|
||||
function checkPointSupport(point) {
|
||||
// skip points close to other support points
|
||||
|
|
|
|||
Loading…
Reference in a new issue