I watched with great interest this video: Temp Tower - Slic3r Gcode Placeholders - How To - Chris's Basement -- Jan 23, 2019 Chris Riley
I found a model I'm happy with: Smart compact temperature calibration tower by gaaZolee, December 24, 2017 Uses Layer 0.20 mm infill: 15 %
I'm testing a stubborn new spool of PLA. Temp range of test 225 °C to 180 °C. That model above came with recommended if
statements. I verified that with 100 % thickness on first layer, I'm exactly hitting all the Z targets at exactly the correct place for each temperature story on the tower.
I'm using the Slic3r "Printer Settings" tab - to place my if
statements in place at "Before Layer Change G-Code".
It's not clear to me on the format required for a G-Code {if}
statement. I've tried...
{if layer_z == 7.8}M104 S225{endif}; // fail, this converts to: M104 S225 {endif}
{if layer_z==1.6}M104 S225 // fail, this converts to: M104 S225
{if [layer_z]==1.6} M104 S225 // fails, this converts to: (null)
{if [layer_num]==8} M104 S225 // fails, this converts to: (null)
{if layer_num==8} M104 S225 // fails, this converts to: M104 S225
In detail what I'm seeing is the if statements from all ten towers prints as change temp to 225, 220, 215, 210... down to 180 (last entry) and 180 °C is where ALL my prints get printed at. Total Fail.
I'm just not seeing anything in the Gcode output from Slic3r that remotely looks like an if
statement. Any ideas here? I've seen this reference, on advanced conditional G-Code but I'm just not understanding what to do here.
I do see from Slic3r Custom G-Code Placeholder Reference, that I'm using the correct terms. [layer_z] - Z height of the active layer, and [layer_num] - Integer number of the active layer. It's not clear if their use in "Before Layer Change G-Code" require the square brackets or not.
Any clues on how to get an if statement into G-Code via Slic3r for a temperature tower print?