Upgrading from Cura 4.12 to 5.6 no longer heats extruders or bed
Hi folks,
I've used Cura as my main slicer with my Flashforge Creator Pro for several years with no major issues. It was a while since I had upgraded (4.12) and I decided to try out the latest version (5.6).
My printer and slicing profiles seemed to transfer over automatically, but when I tried to slice and print, I encountered a strange issue: It no longer heats the extruders or the bed.
It just starts "printing" immediately with stone-cold extruders and bed. The temperature settings in my slicing profiles seem unchanged from 4.12, so I'm a bit at a loss as to what is happening.
I can verify that this is not a hardware issue with the printer, as I can run print jobs generated in Cura 4.12, and the heaters work just fine.
Anyone else encounter this or a similar issue? Any known fixes or recommended troubleshooting advice?
For example :
{print_temperature} Alias for material_print_temperature (deprecated, do not use)
{print_bed_temperature} Alias for material_bed_temperature (deprecated, do not use)
instead of :
{material_print_temperature_layer_0} and {material_bed_temperature_layer_0}
Thanks, this is my start gcode, which is unchanged between 4.12 and 5.6:
M140 S{material_bed_temperature, initial_extruder_nr} T0 ; set bed temperature
M134 T0 ; stabilize bed temperature
M104 S{material_print_temperature_layer_0, initial_extruder_nr} T{initial_extruder_nr} ; set left or right extruder temperature
M133 T{initial_extruder_nr} ; stabilize left or right extruder temperature
How up-to-date is the file on fieldofview? There doesn't seem to be any deprecated variables...
The way that the heaters turn on and off is by using a gcode command. So my first thought is that somehow the new slicing profile is not spitting out those commands. Try comparing the generated gcode from slicing the same model in both versions and see what’s different. The temperature commands have to be at the start so should be easy to find. The gcode commands themselves are very googleable.
sets the first extruder to 190, waits to reach temp before moving on,
I would consider checking with a usb connection and setting the hot end temp manually that way, if that works, it’s something in the gcode, and you can pull up a gcode reader (or text file,) and search for them.
Try comparing the generated gcode from slicing the same model in both versions and see what’s different
Is there an easy way to compare .x3g gcode files? It seems to be in binary format, rather than plaintext. Alternatively, is there a way to capture the slicer output gcode before it is translated to x3g?
For me, this problem started with Cura 5.6. 5.5 was OK. It stems from lines in the start.gcode that have patterns with two values inside the curly braces such as:
M104 S{material_print_temperature_layer_0, initial_extruder_nr} T{initial_extruder_nr} ; set left or right extruder temperature
For a temperature of 200 and extruder 0, this should produce the gcode "M104 S200 T0", but instead produces "M104 S(200,0) T0". The latter causes the nozzle heater to shut off.
So the solution is to either go to a Cura version older than 5.6, wait for 5.7 or edit the start.gcode. For me, if I remove ", initial_extruder_nr" from each two value pattern, it works OK. In my Flashforge Creator Pro start template, this pattern appears 4 times. My nozzle temperature line looks like:
If you have a configuration where the individual nozzles temperature/settings are different from the global ones, then things may not work as expected. For example, I am not sure if replacing {nozzle_wipe_gcode, initial_extruder_nr} by {nozzle_wipe_gcode} does the right thing, particularly with the left extruder. But I am printing fine with the right extruder.
Thanks for your comment! Not sure how I missed it.
I did some experimentation and came to similar conclusions. I've upgraded to 5.7 and can confirm that this bug is fixed. Thanks again for your comment!