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?

Thanks in advance!

  • Sphks@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    11 months ago

    What’s in your start gcode ?
    Maybe you use a variable that has been deprecated between the 4.12 and 5.6, and is set to 0 ?

    https://all3dp.com/2/cura-start-gcode-end-gcode/

    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}

    http://files.fieldofview.com/cura/Replacement_Patterns.html

    • threelonmusketeers@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      11 months ago

      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…

  • charmed_electron@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 months ago

    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.

    • callcc@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Look at the start G-code of your configured printer. Copy over the one from the old version into the new version.

    • FuglyDuck@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      11 months ago

      The gcode command should be either

      m104 e0 160

      Sets the first extrider to 160, doesn’t wait

      Or
      M109 e0 190

      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.

    • threelonmusketeers@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      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?

      • callcc@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        11 months ago

        Wtf is that format and why would anyone use it. I guess it’s compressed. That would be the only reason to have a binary format for this.

        Also the who writes the x3g file? Is it cura directly?

        • threelonmusketeers@sh.itjust.worksOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          Wtf is that format and why would anyone use it

          I think x3g is the required format for all printers running Sailfish firmware, such as my FlashForge printer. I’d be hesitant to change the firmware, as I don’t want to risk bricking my printer if I do the wrong thing.

          Also the who writes the x3g file? Is it cura directly?

          Cura writes the files using the X3GWriter plugin by Ghostkeeper. Perhaps there is a way to turn off this plugin and compare the gcode?

          • anguo
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            I’m sure there must be a way to temporarily change Cura’s settings to export G-code instead of x3g. Did you figure this out yet?

  • sawecw@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    10 months ago

    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.

    It looks like this bug will be fixed in Cura 5.7. (https://github.com/Ultimaker/Cura/issues/17501)

    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:

    M104 S{material_print_temperature_layer_0} T{initial_extruder_nr}

    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.