Rather than setting layer temperatures manually for a temp tower, just include one line of G-custom code in PrusaSlicer's “before layer change G-code" section to do it automatically. You can use the attached .3mf file as a starting point for PLA, ABS, and PETG. Or manually import an .stl file and modify the G-code per the guide below.
Todo: use Prusaslicer v2.6 to automatically add debossed identification text to the model rather than use preconfigured .stls.
;Dockguy's temp tower layer height generator for PrusaSlicer
;
;Add the following to the Prusaslicer setting "Before layer change G-code" on the advanced printer settings tab:
;
;M104 S{d - (a * int((layer_z - b) / c))}
;
;where
; a == temperature step per level (°C)
; b == thickness of bottom platform before the temp tower (mm)
; c == thickness of each temp tower level (mm)
; d == maximum temperature to print (°C)
;
;
;Example for PLA tuning is 220->185°C:
M104 S{220-(5*int((layer_z-1)/6.8))}
;
;
;Example for PETG tuning is 260->220°C:
M104 S{260-(5*int((layer_z-1)/6.8))}
;
;
;Note about M104 vs M109
;
; If your printer is fast and the extruder takes too long to cool down between tower sections, a workaround is to change M104 to M109. This ensures that the extruder reaches the proper temperature at every layer change. M109 can have negative side effects on consistency since there may be a short pause before each layer.
;
;G-code block that accounts for multiple filament types:
;
{if filament_type[0]=~/.*PLA.*/} M104 S{220-(5*int((layer_z -1)/6.8))}
{elsif filament_type[0]=~/.*ABS.*/} M104 S{270-(5*int((layer_z-1)/6.8))}
{elsif filament_type[0]=~/.*PETG.*/} M104 S{260-(5*int((layer_z-1)/6.8))}
{else} M104 S{260-(5*int((layer_z-1)/6.8))}
{endif}The author remixed this model.
Autogenerate temperature levels with g-code