add anchor bump to help it peel around the belt end

This commit is contained in:
Stewart Allen 2021-04-27 22:34:53 -04:00
commit 2cc9f470d3
4 changed files with 23 additions and 1 deletions

View file

@ -321,6 +321,7 @@
firstLayerBrimComb: 0,
firstLayerBrimGap: 0,
firstLayerBeltLead: 3,
firstLayerBeltBump: 0,
firstLayerFanSpeed: 0,
outputRaft: false,
outputRaftSpacing: 0.2,

View file

@ -1680,6 +1680,7 @@
firstLayerBrimGap: UC.newInput(LANG.fl_brgp_s, {title:LANG.fl_brgp_l, convert:UC.toFloat, modes:FDM, show:isBelt}),
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM, show:isBelt}),
firstLayerBeltLead: UC.newInput(LANG.fl_bled_s, {title:LANG.fl_bled_l, convert:UC.toFloat, modes:FDM, show:isBelt}),
firstLayerBeltBump: UC.newInput(LANG.fl_blmp_s, {title:LANG.fl_blmp_l, convert:UC.toFloat, bound:UC.bound(0, 10), modes:FDM, show:isBelt}),
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM, show:isNotBelt}),
outputBrimCount: UC.newInput(LANG.fl_skrt_s, {title:LANG.fl_skrt_l, convert:UC.toInt, modes:FDM, show:isNotBelt}),
outputBrimOffset: UC.newInput(LANG.fl_skro_s, {title:LANG.fl_skro_l, convert:UC.toFloat, modes:FDM, show:isNotBelt}),

View file

@ -357,6 +357,7 @@
minx -= brim;
maxx += brim;
}
let adds = [];
while (offset && start && offset >= sliceHeight) {
let addto = start.down;
if (!addto) {
@ -373,10 +374,27 @@
let y = z - smin - (nozzleSize / 2);
// let splat = BASE.newPolygon().add(wb.min.x, y, z).add(wb.max.x, y, z).setOpen();
let splat = BASE.newPolygon().add(minx, y, z).add(maxx, y, z).setOpen();
addto.addTop(splat).fill_sparse = [ splat ];
let snew = addto.addTop(splat).fill_sparse = [ splat ];
adds.push(snew);
start = addto;
offset -= sliceHeight;
}
// add anchor bump
let bump = spro.firstLayerBeltBump;
if (bump) {
adds = adds.reverse().slice(1, adds.length - 1);
let count = 1;
for (let add of adds) {
let poly = add[0];
let y = count++ * -nozzleSize;
if (-y > bump) {
break;
}
poly.push(poly.last().add({x:0, y, z:0}));
poly.push(poly.first().add({x:0, y, z:0}));
poly.setClosed();
}
}
}
// calculations only relevant when solid layers are used

View file

@ -325,6 +325,8 @@ kiri.lang['en-us'] = {
fl_brgp_l: ["spacing between brim and part","in millimeters"],
fl_bled_s: "part anchor",
fl_bled_l: ["belt part anchor","at start of print","in millimeters"],
fl_blmp_s: "anchor bump",
fl_blmp_l: ["add a bump to the start of","an anchor to help it peel","off at the end of the belt","in millimeters"],
// FDM SUPPORT
sp_menu: "support",