diff --git a/src/mode/fdm/client.js b/src/mode/fdm/client.js index 02f2fb0a..b37b97a4 100644 --- a/src/mode/fdm/client.js +++ b/src/mode/fdm/client.js @@ -36,6 +36,8 @@ "sliceFillWidth": LANG.fi_wdth_s, "sliceFillSparse": LANG.fi_pcnt_s, "sliceSolidMinArea": LANG.ad_msol_s, + "firstLayerRate": LANG.fl_rate_s, + "firstLayerPrintMult": LANG.fl_mult_s, // prepare "sliceShellOrder": LANG.sl_ordr_s, "sliceFillOverlap": LANG.fi_over_s, diff --git a/src/mode/fdm/prepare.js b/src/mode/fdm/prepare.js index 76abd079..c53e51ea 100644 --- a/src/mode/fdm/prepare.js +++ b/src/mode/fdm/prepare.js @@ -483,17 +483,19 @@ let pads = []; for (let rec of layer) { + let brate = params.firstLayerRate || firstLayerRate; + let bmult = params.firstLayerPrintMult || firstLayerMult; let point = rec.point; let belty = rec.belty = -point.y + point.z; miny = Math.min(miny, belty); if (layer.anchor) { // apply base rate to entire anchor (including bump) - rec.speed = firstLayerRate; + rec.speed = brate; } if (rec.emit && belty <= thresh && lastout && Math.abs(lastout.belty - belty) < 0.005) { // apply base speed to segments touching belt - rec.speed = firstLayerRate; - rec.emit *= firstLayerMult; + rec.speed = brate; + rec.emit *= bmult; minx = Math.min(minx, point.x, lastout.point.x); maxx = Math.max(maxx, point.x, lastout.point.x); maxy = Math.max(maxy, point.y);