Tutorial 17: Temperature Tower
Build a real multi-zone temperature calibration tower — a single print that tests 5 different temperatures in discrete steps. Use Floor to quantize height into zones, creating a useful calibration tool.

What you'll learn
- How to use Floor to create discrete steps from continuous values
- How to calculate stepped temperature zones from
normZ - How Set Temperature changes nozzle temp mid-print
- How to build compound arithmetic expressions for real utility
Prerequisites
- Completion of Tutorial 9 (Temperature Tower) is recommended.
Step 1: Define variables
Set Variable
Interactive preview is available in the interactive reader.
Step 1
Create five slider variables
Add five Set Variable blocks with Show in Viewport enabled:
- startTemp =
230— hottest temperature (bottom zone)
Step 2: Add For Z
For Z
Interactive preview is available in the interactive reader.
Step 2
Add Translate and For Z
Add Translate (center on bed). Inside the body, add For Z with Z Start = Layer Height, Z End = towerHeight, Step = Layer Height.
Step 3: Build the zone temperature formula
The formula: startTemp − floor(normZ × numZones) × tempStep
normZ × numZonesgives a continuous zone number (0 to 5)floor(...)snaps it to an integer (0, 1, 2, 3, 4)- Multiply by
tempStepfor the offset, subtract fromstartTemp
Set Temperature
Interactive preview is available in the interactive reader.
Step 3
Add Set Temperature with zone formula
Inside the For Z body, add Set Temperature (Wait = off). For the Value, build the expression:
- Arithmetic (×): Variable (normZ) × Get Variable (numZones)
Step 4: Draw the tower and move up
Step 4
Add Rectangle and Travel Z
After Set Temperature (via next), add a Rectangle with Width = towerSize, Height = towerSize. After the Rectangle, add Travel Relative Z with Z = Layer Height.
Complete block program
Full program — Tutorial 17
Interactive preview is available in the interactive reader.
Final block structure
| # | Block | Where | Values |
|---|---|---|---|
| 1–5 | Set Variable | Path Group | startTemp=230, tempStep=10, numZones=5, towerHeight=50, towerSize=20 |
| 6 | Translate | Path Group | X = bedsize_x/2, Y = bedsize_y/2 |
| 7 | ↳ For Z | Inside Translate | Start = LH, End = towerHeight, Step = LH |
| 8 | Set Temperature | Inside For Z | startTemp − floor(normZ × numZones) × tempStep |
| 9 | Rectangle | After Set Temp | Width/Height = towerSize |
| 10 | Travel Rel Z | After Rectangle | Z = Layer Height |
Outcome
You should see a rectangular tower that prints at 5 different temperatures — 230°C at the bottom stepping down to 190°C at the top. Each zone is exactly 10mm tall (towerHeight ÷ numZones).
Load this tutorial
Interactive preview is available in the interactive reader.
Interactive preview is available in the interactive reader.
What's Next
Tutorial 18: Figure-8 Vase — Use the Mirror block with an off-center circle to create a dramatic double-lobed vase.