try using xor to heal non-manifold / overlapping sliced polys. aka deathstar fix

This commit is contained in:
Stewart Allen 2024-07-13 16:51:22 -04:00
commit d7d136ad8c
5 changed files with 54 additions and 7 deletions

View file

@ -264,6 +264,7 @@ class Print {
height = 0,
factor = 1,
tool = 0,
time = 0,
minf = Infinity,
maxf = 0,
seq = [],
@ -458,11 +459,13 @@ class Print {
(Math.pow(pos.X - lastPos.X, 2)) +
(Math.pow(pos.Y - lastPos.Y, 2))
);
// debug print time
time += (dV * pos.F) / 1000;
// filament per mm
let dR = (dE / dV);
if (dV > 2 && dE > 0.001) {
let lab = (absE ? 'aA' : 'rR')[scope.debugE++ % 2];
// console.log(lab, height.toFixed(2), dV.toFixed(2), dE.toFixed(3), dR.toFixed(4), pos.F.toFixed(0));
console.log(lab, height.toFixed(2), dV.toFixed(2), dE.toFixed(3), dR.toFixed(4), pos.F.toFixed(0));
}
}
// add point to current sequence
@ -578,6 +581,10 @@ class Print {
scope.maxSpeed = Math.floor(maxf / 60);
scope.belt = belt;
if (scope.debugE) {
console.log({ print_time: time.round(2) });
}
done({ output: scope.output });
}
}