`ADJUST_M106` - A Comprehensive Part Cooling Modifier

If you have ever tried to save a print with too much or too little part cooling you may have tried the fan slider in Fluidd or Mainsail and been disappointed. Your changes wont stay for long because modern slicers are constantly adjusting part cooling. I had a long think about this, like 6 months, and wrote up 2 other versions of this before arriving here. I wanted something that was very easy to use, just like Extrusion Multiplier and Print Speed overrides. But I also wanted something that could complement the slicer’s dynamic fan control. So this is ADJUST_M106:

What can ADJUST_M106 do?

  • It can change your fan output by a fixed percentage for the rest of the print: ADJUST_M106 ADJUST=20
  • It can map a range of fan values onto another range. So if you had the dynamic fan set at 50% to 80% you could turn that into 30% to 100%, resulting in more cooling for bridges but less cooling on large layers: ADJUST_M106 ADJUST=50->30|80>100
  • You could even map 0%-100% to a single value making the fan run at that speed only. ADJUST_M106 ADJUST=0->30|100>30
  • The min and max power of the fan can be adjusted on the fly.
  • It knows that 0% means fan off and wont change that behavior unless you ask it to. You can have the fan always off, always on (it understands off_below, always on will be on) or on/off controlled by the slicer.
  • Your tweaks can be disabled and enabled so they can stick around between prints.
  • Tweaks can be cleared with a macro call too.

The readme file has a cookbook section that covers some common part cooling scenarios and gives a sample command for each.

This is still pretty fresh/alpha so I’m looking for feedback from those of you that want to use a tool like this. If there is enough interest I’d like to have a UI for this in Fluidd or KlipperSreen. If you use this please let me know your experience! :beers:

Very good work we really should have more things like this and, less slicer other then toolpathing. never been a fan of things like this hijacking my controls leading to a cancel print.

1 Like