lower fan speed for bridge layers

This commit is contained in:
Stewart Allen 2025-10-05 10:22:14 -04:00
commit a697950a36
2 changed files with 11 additions and 2 deletions

View file

@ -613,6 +613,7 @@ export function fdm_export(print, online, ondone, ondebug) {
for (pidx=0; pidx<path.length; pidx++) {
out = path[pidx];
speedMMM = (out.speed || process.outputFeedrate) * 60; // range
fanSpeed = out.fan ?? fanSpeed;
// hint to controller that we're working on a specific object
// so that gcode between start/stop comments can be cancelled
@ -685,13 +686,13 @@ export function fdm_export(print, online, ondone, ondebug) {
}
// in belt mode, fan can change per segment (for base)
if (isBelt) {
// if (isBelt) {
setTempFanSpeed(out.fan);
if (fanSpeed !== lastFanSpeed) {
appendAllSub(gcodeFan);
lastFanSpeed = fanSpeed;
}
}
// }
if (lastp && out.emit) {
if (arcDist) {

View file

@ -814,6 +814,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
shellOrder = {"out-in":-1,"in-out":1,"alternate":-2}[process.sliceShellOrder] || -1,
sparseMult = process.outputSparseMult,
coastDist = process.outputCoastDist || 0,
fanSpeed = process.outputFanSpeed,
firstShellSpeed = process.firstLayerRate,
firstFillSpeed = process.firstLayerFillRate,
firstPrintMult = process.firstLayerPrintMult,
@ -863,6 +864,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
// override: adapt bridge layer speed
if (slice.isBridgeLayer) {
fillSpeed /= 2;
printSpeed /= 2;
}
// apply first layer extrusion multipliers
@ -1614,6 +1616,12 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
// add offset points to total print
print.addPrintPoints(preout, output);
// bridge layer fan change
if (slice.isBridgeLayer) {
preout[0].fan = Math.round(fanSpeed / 3);
preout.peek().fan = fanSpeed;
}
// create next layer start point and annotate
// with print time for previous layer (hack to
// avoid changing return signature rn)