add belt brim comb and gap controls

This commit is contained in:
Stewart Allen 2021-04-06 22:38:02 -04:00
commit 35a319d9d1
5 changed files with 27 additions and 7 deletions

View file

@ -317,6 +317,8 @@
firstLayerBedTemp: 0,
firstLayerBrim: 0,
firstLayerBrimTrig: 0,
firstLayerBrimComb: 0,
firstLayerBrimGap: 0,
firstLayerBeltLead: 3,
firstLayerFanSpeed: 0,
outputRaft: false,

View file

@ -1664,8 +1664,10 @@
firstLayerLineMult: UC.newInput(LANG.fl_sfac_s, {title:LANG.fl_sfac_l, convert:UC.toFloat, bound:UC.bound(0.5,2), modes:FDM, show:isNotBelt}),
firstLayerPrintMult: UC.newInput(LANG.fl_mult_s, {title:LANG.fl_mult_l, convert:UC.toFloat, modes:FDM}),
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM, show:isBelt}),
firstLayerBrim: UC.newInput(LANG.fl_brim_s, {title:LANG.fl_brim_l, convert:UC.toFloat, modes:FDM, show:isBelt}),
firstLayerBrimTrig: UC.newInput(LANG.fl_brmn_s, {title:LANG.fl_brmn_l, convert:UC.toFloat, modes:FDM, show:isBelt}),
firstLayerBrim: UC.newInput(LANG.fl_brim_s, {title:LANG.fl_brim_l, convert:UC.toInt, modes:FDM, show:isBelt}),
firstLayerBrimComb: UC.newInput(LANG.fl_brco_s, {title:LANG.fl_brco_l, convert:UC.toInt, modes:FDM, show:isBelt}),
firstLayerBrimTrig: UC.newInput(LANG.fl_brmn_s, {title:LANG.fl_brmn_l, convert:UC.toInt, modes:FDM, show:isBelt}),
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}),
fdmSep: UC.newBlank({class:"pop-sep", modes:FDM, show:isNotBelt}),

View file

@ -52,7 +52,9 @@
"sliceSupportOffset": LANG.sp_offs_s,
"sliceLayerStart": LANG.sl_strt_s,
"firstLayerBrim": LANG.fl_brim_s,
"firstLayerBrimComb": LANG.fl_brco_s,
"firstLayerBrimTrig": LANG.fl_brmn_s,
"firstLayerBrimGap": LANG.fl_brgp_s,
// export
"zHopDistance": LANG.ad_zhop_s,
"arcTolerance": LANG.ad_zhop_s,

View file

@ -501,12 +501,16 @@
// }
let thresh = firstLayerHeight * 1.05;
let seqn = 0;
// iterate over layers, find extrusion on belt and
// apply corrections and add brim when specified
for (let layer of output) {
let params = getRangeParameters(settings, layer.layer || 0);
let firstLayerBrim = params.firstLayerBrim;
let firstLayerBrimTrig = params.firstLayerBrimTrig;
let firstLayerBrimComb = params.firstLayerBrimComb;
let firstLayerBrimGap = params.firstLayerBrimGap || 0;
let lastout, first = false;
let minz = Infinity, maxy = -Infinity, minx = Infinity, maxx = -Infinity;
let mins = Infinity;
@ -539,18 +543,24 @@
continue;
}
// add brim, if specified
if (first && firstLayerBrim) {
if (first && firstLayerBrim && seqn <= firstLayerBrimComb) {
let { emit, tool } = first;
let y = maxy;
let z = minz;
let b = Math.max(firstLayerBrim, 1);
let g = firstLayerBrimGap || 0;
let b = Math.max(firstLayerBrim, 1) + g;
let tmpout = [];
layer.last().retract = true;
print.addOutput(tmpout, newPoint(maxx + b, y, z), 0, firstLayerSeek, tool);
print.addOutput(tmpout, newPoint(maxx + 0, y, z), emit, firstLayerRate, tool).retract = true;
print.addOutput(tmpout, newPoint(maxx + g, y, z), emit, firstLayerRate, tool).retract = true;
print.addOutput(tmpout, newPoint(minx - b, y, z), 0, firstLayerSeek, tool);
print.addOutput(tmpout, newPoint(minx - 0, y, z), emit, firstLayerRate, tool).retract = false;
print.addOutput(tmpout, newPoint(minx - g, y, z), emit, firstLayerRate, tool).retract = false;
layer.splice(0,0,...tmpout);
if (firstLayerBrimComb) {
seqn++;
}
} else {
seqn = 0;
}
}
}