This is a remix of the former Better Temperature Tower by Thump2010 in OpenSCAD, fully customizable in temperature steps and range. A generic post-processor script is included - it works on any of the towers "automagically" as long as you set proper initial temperature in the filament settings, and slice at 0.2mm.
The eventual plan for the temperature customizer to extract the settings from the sliced tower (via embedded printed marks).
The generic layer temperature post-processor script for the Better Temperature Tower operates on the G-code generated by Slic3r.
By default, it starts with the printing temperature set in the Filament settings, then decrements it by 5 degrees C for each block of the tower. Its default settings work with any of the Better Temperature Tower models printed at 0.2mm layer height.
It is a more generic and compact replacement for the "tempTowerScript" family of scripts included in the Better Temperature Tower.
For the older, non customizable tower that I used to reverse-engineer the original, see the OnShape document.
Settings and Use - Slic3r
Install perl, e.g. activePerl.
Add the full path to the script to "Print Settings" → "Output options" → "Post-processing scripts".
Add the following to "Printer Settings" → "Custom G-code" → "Before layer change G-code":
; Layer [layer_num]
Print at 0.2mm layer height. If not, multiply the default values of
block parameters by (0.2mm/new_layer_height), and add them as start g-code. E.g. if the layer height is 0.1mm, the multiplier will be 0.2mm/0.1mm = 2, and you should add the following "Filament Settings" → "Custom G-Code" → "Start G-Code":
; Tower skip 20
; Tower block 70
See below for further details and for the default values of all the script's settings.
The plan is to extract the layer heights automatically from the g-code, so this won't be necessary in the future.
If the script has successfully processed the g-code, the g-code file will begin with a line similar to the below:
; Processed by tempTowerScript.pl
If this doesn't happen, then you must debug the script invocation. Make sure that you've installed perl.
If you wish to modify the default settings for the script, add any one or more of the following optional lines to the "Filament Settings" → "Custom G-Code" → "Start G-Code". Those are g-code comments that are interpreted by the script, are optional, and can be added one-by-one as needed. None of those are normally necessary.
; Tower temp 222 - set initial temp to 222 (default: temperature set in Filament)
; Tower temp_step -5 - step temperature down 5 degrees for each block
; Tower skip 10 - first block is 10 layers higher than others
; Tower block 35 - the blocks are 35 layers high
; Tower blocks 10 - print only 10 blocks (cut off higher blocks, default: 0 - print all)