Merge branch 'rel-4.6' into rel-4.6-support

This commit is contained in:
Stewart Allen 2026-01-06 07:03:08 -05:00
commit 86786512d5
3 changed files with 34 additions and 12 deletions

View file

@ -322,6 +322,11 @@ class OpArea extends CamOp {
}
proc += pinc;
progress(proc, 'trace');
// legacy outline early termination b/c use of
// shadow will cause duplicate output with area
if (tr_type === 'outside' && op.drape) {
break;
}
} else
if (mode === 'surface') {
let { sr_type, sr_angle, sr_alter, tolerance } = op;

View file

@ -392,6 +392,22 @@ export function fdm_slice(settings, widget, onupdate, ondone) {
}
async function onSliceDone(slices) {
// new auto support demonstrator using cast shadow
if (false) {
let indices = slices.map(s => s.z);//.sort((a,b) => b-a);
await widget.computeShadowStack(indices, prog => {}, true);
for (let slice of slices.slice().sort((a,b) => a.z - b.z)) {
let shadow = await widget.shadowAt(slice.z, true);
// slice.supports = shadow;
slice.output()
.setLayer('shadow', 0xff0000)
.addPolys(shadow);
}
}
// alert non-manifold parts
if (healed) {
onupdate(null, null, "part may not be manifold");
@ -1658,8 +1674,7 @@ function doSupportFill(args) {
slice.supports = supports;
};
function fillSupportPolys(args) {
const { promises, polys, lineWidth, density, z, isBelt, angle, outline } = args;
function fillSupportPolys({ promises, polys, lineWidth, density, z, isBelt, angle, outline }) {
// calculate fill density
let spacing = lineWidth * (1 / density);
polys.forEach(function (poly) {