improve draft shield: preserve only outer polyline from brim
This commit is contained in:
parent
d830307d7f
commit
879c1f27ac
1 changed files with 17 additions and 5 deletions
|
|
@ -156,7 +156,7 @@
|
||||||
// if using brim vs raft
|
// if using brim vs raft
|
||||||
if (process.outputBrimCount) {
|
if (process.outputBrimCount) {
|
||||||
let polys = [],
|
let polys = [],
|
||||||
preout = brimout = [];
|
preout = [];
|
||||||
|
|
||||||
// offset specified # of brims
|
// offset specified # of brims
|
||||||
POLY.offset(brims, nozzle, {
|
POLY.offset(brims, nozzle, {
|
||||||
|
|
@ -167,6 +167,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
print.setType('brim');
|
print.setType('brim');
|
||||||
|
brimout = POLY.nest(polys.clone(), true).clone();
|
||||||
|
|
||||||
// output brim points
|
// output brim points
|
||||||
let brimStart = offset < nozzle * 2 ? newPoint(-bedWidth, -bedDepth, 0) : printPoint;
|
let brimStart = offset < nozzle * 2 ? newPoint(-bedWidth, -bedDepth, 0) : printPoint;
|
||||||
|
|
@ -569,10 +570,21 @@
|
||||||
|
|
||||||
// draft shield
|
// draft shield
|
||||||
if (layerno > 0 && brimout && draftShield) {
|
if (layerno > 0 && brimout && draftShield) {
|
||||||
print.setType('brim');
|
print.setType('shield');
|
||||||
print.addPrintPoints(brimout.map(o => o.clone(printPoint.z)), layerout, null);
|
brimout = POLY.setZ(brimout.clone(), printPoint.z);
|
||||||
layerout.last().retract = true;
|
let preout = [];
|
||||||
printPoint = layerout.last().point;
|
printPoint = print.poly2polyEmit(brimout, printPoint, (poly, index, count, startPoint) => {
|
||||||
|
return print.polyPrintPath(poly, startPoint, preout, {
|
||||||
|
onfirst: function(point) {
|
||||||
|
if (preout.length && point.distTo2D(startPoint) > 2) {
|
||||||
|
// retract between part and shield
|
||||||
|
preout.last().retract = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
preout.last().retract = true;
|
||||||
|
layerout.appendAll(preout);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if a declared extruder isn't used in a layer, use selected
|
// if a declared extruder isn't used in a layer, use selected
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue