From f0f0bae52b4f0a0264cb461d27fd2661b9661902 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Fri, 17 Oct 2025 00:49:21 -0400 Subject: [PATCH] remove first layer line width and flow rate since they will become range parameters in the flow rate value refactor --- src/kiri/core/conf.js | 2 -- src/kiri/mode/fdm/client.js | 1 - src/kiri/mode/fdm/init-menu.js | 6 ++---- src/kiri/mode/fdm/post.js | 7 ++----- src/kiri/mode/fdm/prepare.js | 10 ---------- src/kiri/mode/fdm/slice.js | 6 ++---- 6 files changed, 6 insertions(+), 26 deletions(-) diff --git a/src/kiri/core/conf.js b/src/kiri/core/conf.js index bc3729bf..df9fd4c4 100644 --- a/src/kiri/core/conf.js +++ b/src/kiri/core/conf.js @@ -270,9 +270,7 @@ export const conf = { firstLayerFanSpeed: 0, firstLayerFillRate: 35, firstLayerFlatten: 0, - firstLayerLineMult: 1.0, firstLayerNozzleTemp: 0, - firstLayerPrintMult: 1.0, firstLayerRate: 30, firstLayerYOffset: 0, firstSliceHeight: 0.25, diff --git a/src/kiri/mode/fdm/client.js b/src/kiri/mode/fdm/client.js index 7bb6d5cf..9fdbb6b0 100644 --- a/src/kiri/mode/fdm/client.js +++ b/src/kiri/mode/fdm/client.js @@ -41,7 +41,6 @@ export function init() { "sliceTopLayers": LANG.sl_ltop_s, "sliceBottomLayers": LANG.sl_lbot_s, "firstLayerRate": LANG.fl_rate_s, - "firstLayerPrintMult": LANG.fl_mult_s, "firstLayerFanSpeed": LANG.ou_fans_s, // prepare "sliceShellOrder": LANG.sl_ordr_s, diff --git a/src/kiri/mode/fdm/init-menu.js b/src/kiri/mode/fdm/init-menu.js index dc062c28..44da3b9c 100644 --- a/src/kiri/mode/fdm/init-menu.js +++ b/src/kiri/mode/fdm/init-menu.js @@ -99,6 +99,8 @@ export function menu() { _____: newGroup(LANG.fh_menu, $('fdm-heat'), { modes:FDM, driven, hideable, separator, group:"fdm-heat" }), outputTemp: newInput(LANG.ou_nozl_s, {title:LANG.ou_nozl_l, convert:toInt}), outputBedTemp: newInput(LANG.ou_bedd_s, {title:LANG.ou_bedd_l, convert:toInt}), + separator: newBlank({ class:"set-sep", driven }), + outputDraftShield: newBoolean(LANG.fr_draf_s, onBooleanClick, {title:LANG.fr_draf_l, trigger, show:() => isNotBelt()}), _____: newGroup(LANG.fc_menu, $('fdm-cool'), { modes:FDM, driven, hideable, separator, group:"fdm-cool" }), outputFanLayer: newInput(LANG.ou_fanl_s, { title:LANG.ou_fanl_l, convert:toInt, bound:bound(0,255) }), outputFanSpeed: newInput(LANG.ou_fans_s, {title:LANG.ou_fans_l, convert:toInt, bound:bound(0,255)}), @@ -137,9 +139,6 @@ export function menu() { firstLayerFlatten: newInput(LANG.fl_flat_s, {title:LANG.fl_flat_l, convert:toFloat, show:isBelt}), firstLayerRate: newInput(LANG.fl_rate_s, {title:LANG.fl_rate_l, convert:toFloat}), firstLayerFillRate: newInput(LANG.fl_frat_s, {title:LANG.fl_frat_l, convert:toFloat, show:isNotBelt}), - separator: newBlank({ class:"set-sep", driven, show:isNotBelt }), - firstLayerLineMult: newInput(LANG.fl_sfac_s, {title:LANG.fl_sfac_l, convert:toFloat, bound:bound(0.5,2), show:isNotBelt}), - firstLayerPrintMult: newInput(LANG.fl_mult_s, {title:LANG.fl_mult_l, convert:toFloat}), separator: newBlank({ class:"set-sep", driven, show:isBelt }), firstLayerBrim: newInput(LANG.fl_brim_s, {title:LANG.fl_brim_l, convert:toInt, show:isBelt}), firstLayerBrimIn: newInput(LANG.fl_brin_s, {title:LANG.fl_brin_l, convert:toInt, show:isBelt}), @@ -154,7 +153,6 @@ export function menu() { outputRaftSpacing: newInput(LANG.fr_spac_s, {title:LANG.fr_spac_l, convert:toFloat, bound:bound(0.0,3.0), show: () => ui.outputRaft.checked && isNotBelt() }), separator: newBlank({ class:"set-sep", driven, show:isNotBelt }), outputRaft: newBoolean(LANG.fr_nabl_s, onBooleanClick, {title:LANG.fr_nabl_l, trigger, show:() => isNotBelt()}), - outputDraftShield: newBoolean(LANG.fr_draf_s, onBooleanClick, {title:LANG.fr_draf_l, trigger, show:() => isNotBelt()}), _____: newGroup(LANG.ou_menu, $('fdm-output'), { modes:FDM, driven, hideable, separator, group:"fdm-out" }), outputFeedrate: newInput(LANG.ou_feed_s, {title:LANG.ou_feed_l, convert:toInt}), outputFinishrate: newInput(LANG.ou_fini_s, {title:LANG.ou_fini_l, convert:toInt}), diff --git a/src/kiri/mode/fdm/post.js b/src/kiri/mode/fdm/post.js index b910958a..88168a09 100644 --- a/src/kiri/mode/fdm/post.js +++ b/src/kiri/mode/fdm/post.js @@ -82,12 +82,9 @@ export function slicePost(data, options) { let trg = shellFrac > 0.5 ? 1 : parts - 1; sliceShells += rem >= trg ? 1 : 0; } - const isFirst = index === 0; - const height = process.sliceHeight; - const spaceMult = isFirst ? process.firstLayerLineMult || 1 : 1; const count = isSynth ? 1 : sliceShells; - const offset = shellOffset * spaceMult; - const fillOff = fillOffset * spaceMult; + const offset = shellOffset; + const fillOff = fillOffset; const thinType = isSynth ? undefined : process.sliceDetectThin; const nutops = []; // co-locate shell processing with top generation in slicer diff --git a/src/kiri/mode/fdm/prepare.js b/src/kiri/mode/fdm/prepare.js index 1a46dea0..62352eb0 100644 --- a/src/kiri/mode/fdm/prepare.js +++ b/src/kiri/mode/fdm/prepare.js @@ -683,7 +683,6 @@ export async function fdm_prepare(widgets, settings, update) { for (let rec of layer) { overate = rec.overate >= 0 ? rec.overate : overate; let brate = params.firstLayerRate || firstLayerRate; - let bmult = params.firstLayerPrintMult || params.firstLayerPrintMult; let point = rec.point; let belty = rec.belty = -point.y + (point.z * belt.slope); let lowrate = belty <= thresh ? brate : overate || brate; @@ -695,7 +694,6 @@ export async function fdm_prepare(widgets, settings, update) { if (rec.emit && belty <= thresh && lastout && Math.abs(lastout.belty - belty) < 0.01) { // apply base speed to segments touching belt rec.speed = params.firstLayerRate || Math.min(rec.speed, lowrate); - rec.emit *= bmult; rec.fan = params.firstLayerFanSpeed; minx = Math.min(minx, point.x, lastout.point.x); maxx = Math.max(maxx, point.x, lastout.point.x); @@ -831,7 +829,6 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) { fanSpeed = process.outputFanSpeed, firstShellSpeed = process.firstLayerRate, firstFillSpeed = process.firstLayerFillRate, - firstPrintMult = process.firstLayerPrintMult, finishSpeed = firstLayer ? firstShellSpeed : (opt.speed || process.outputFinishrate), printSpeed = opt.speed || (firstLayer ? firstShellSpeed : process.outputFeedrate), fillSpeed = opt.speed || opt.fillSpeed || (firstLayer ? firstFillSpeed || firstShellSpeed : process.outputFeedrate), @@ -882,13 +879,6 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) { printSpeed /= 2; } - // apply first layer extrusion multipliers - if (firstLayer) { - fillMult *= firstPrintMult; - shellMult *= firstPrintMult; - sparseMult *= firstPrintMult; - } - function retract() { let array = preout.length ? preout : output; if (array.length) { diff --git a/src/kiri/mode/fdm/slice.js b/src/kiri/mode/fdm/slice.js index 9bda3df8..5bc215da 100644 --- a/src/kiri/mode/fdm/slice.js +++ b/src/kiri/mode/fdm/slice.js @@ -498,7 +498,6 @@ export function fdm_slice(settings, widget, onupdate, ondone) { // just the top/bottom special solid layers or range defined solid layers forSlices(0.15, 0.2, slice => { let range = slice.params; - let spaceMult = slice.index === 0 ? process.firstLayerLineMult || 1 : 1; let isBottom = slice.index < bottomLayers; let isTop = topLayers && slice.index > slices.length - topLayers - 1; let isTopBase = isTop && slice.index === slices.length - topLayers; @@ -506,7 +505,7 @@ export function fdm_slice(settings, widget, onupdate, ondone) { let isSolid = (isBottom || ((isTop || isDense) && !vaseMode)) && !isSynth; let solidWidth = isSolid ? range.sliceFillWidth || 1 : 0; if (solidWidth) { - let fillSpace = fillSpacing * spaceMult * solidWidth; + let fillSpace = fillSpacing * solidWidth; doSolidLayerFill(slice, fillSpace, sliceFillAngle); } if (slice.index === slices.length - 1) { @@ -755,8 +754,7 @@ export function fdm_slice(settings, widget, onupdate, ondone) { let params = slice.params || process; let first = slice.index === 0; let solidWidth = params.sliceFillWidth || 1; - let spaceMult = first ? params.firstLayerLineMult || 1 : 1; - let fillSpace = fillSpacing * spaceMult * solidWidth; + let fillSpace = fillSpacing * solidWidth; let solidMinArea = params.sliceSolidMinArea; doSolidsFill(slice, fillSpace, sliceFillAngle, solidMinArea, promises); sliceFillAngle = (sliceFillAngle + 90.0) % 360;