Cura 3.0 supports relative extrusion distances



  • There's a new setting "Relative Extrusion" under "Special Modes" tab. Should make it a bit simpler to use with RRF.



  • Hi Mike,

    Yes, that's right. One potential gotcha is that one of the Cura developers insisted that any script that is included in the gcode (start, end, start extruder, stop extruder) will always be entered in absolute extruder mode irrespective of whether relative extrusion is being used for the actual printing. So if you need to be in relative extrusion mode within one of those scripts you have to put an M83 at the start of the script yourself. If you are using the relative extrusion mode, you do not need to finish the script with an M83 as Cura will add one after the script. I know, it's bonkers, but he insisted that is how it should be.



  • Hey!

    Thanks for the insight, didn't know that. That is a… weird requirement to say the least. So in essence all of the scripts in Cura begin with M82 and end with M83 when you toggle the relative extrusion mode?



  • @Mike:

    Thanks for the insight, didn't know that. That is a… weird requirement to say the least. So in essence all of the scripts in Cura begin with M82 and end with M83 when you toggle the relative extrusion mode?

    That's right. I think their argument was that it would be consistent with how Cura behaved before (when it only knew about absolute extrusion). BTW - make sure that you are using the RepRap gcode flavour and not Marlin or one of the other choices that Cura supports.



  • If it only works with RepRap settings and not Marlin, then means one cannot use both Relative Extrusion and Volumetric extrusion at same time as I believe the only setting that allows Volumetric in Cura 3.X is Marlin (Volumetric)



  • I think you can enable relative extrusion for any of the gcode flavours supported by cura. I know that the ultimaker machines do not like relative extrusion but that's not to say some other marlin based firmware would not be happy with cura's relative extrusion mode. Needs someone to try it and report back…



  • Hi guys,

    I have made two configurations with the help of RRF Configurator. One with marlin flavor the other with RepRap flavor. I have tested each one with the help of Cura 3.0 (relative extrusion was enabled) In the start gcode I have left M82.

    During a print, I have turned off the printer to simulate a power outage. After restarting the print, in both cases, extruder start to rotate very fast and the filament was grinded. This is telling me that the setting "relative extrusion" was not taken into considerantion. When I did this with an object sliced with Slic3r, I did not had this problem. Did I managed to add valuable informations here or i don't know what I'm talking about?

    Thanks!


  • administrators

    If the extruder starts to rotate very fast, that normally means you have sliced in absolute extrusion mode, but the printer is set to relative extrusion.

    Please check the following:

    1. Look near the start of the gcode file for M82 and M83 commands (there may be more than one). What do you find?

    2. Look in the resurrect.g file for an M82 or M83 command. What do you find?



  • I know Duets supports M83 (relative extrusion). It's written in the wiki also. I usually work with Cura witch do not support M83 but M82. The thing is that I achieve great print result even if I slice with absolute extrusion. The problem of the extruder spinning really fast is present only If I run the ressurect.g. That's because ressurect.g will be created with the default extrusion mode of the slicer. In Cura 3.0 there is an option to enable relative extrusion. Even with this option enabled, the ressurect.g will be created with M82 witch will make extruder going crazy after running the file. I've tryed also to insert G92 E0 in my ressurect-prologue.g but again, extruder is trying to extrude (not to retract) very fast. So my question is: There's no way of making Cura support relative extrusion? Is there a way to use the power outage protection function with slicers with are not supporting relative extrusion? Because in this case, this feature has some limitations.



  • Hi, as the person who implemented the relative extrusion mode in cura 3, I would say that it does indeed work. In fact, I have been using relative extrusion only for quite a few months now on my 2 Duet controlled printers. It appears that there is an issue with the cura relative extrusion mode and ressurect.g. I have to admit total ignorance here because I don't know what the purpose of that file is. Also, I don't understand what you mean by the default extrusion mode of the slicer. Could you please provide more info so I can understand what's going wrong and whether a change to Cura is required. Thanks.



  • Wow, nice to meet you sir. 🙂 I have re-checked all my settings and I have discovered that i was so heedlessly. The flavor was set to marlin when I did my test. As soon as I changed to RepRap, everything worked. Nice done with Cura 3.0. Great user interface.



  • OK, glad you have sorted that out. I think the relative extrusion mode is basically sound, the only weirdness is their (the cura devs) insistence that the extrusion mode will be set back to absolute before scripts are included and then returned to relative after the script has finished. As to the Cura UI, I have no input into that, I'm only involved in the backend slicer which I have made various contributions to. My biggest contributions so far have been improving the spiralize mode and adding wall print order optimization. I continue to tinker with it when I find something I am not happy with!


  • administrators

    @DR8:

    I know Duets supports M83 (relative extrusion). It's written in the wiki also. I usually work with Cura witch do not support M83 but M82. The thing is that I achieve great print result even if I slice with absolute extrusion. The problem of the extruder spinning really fast is present only If I run the ressurect.g. That's because ressurect.g will be created with the default extrusion mode of the slicer. In Cura 3.0 there is an option to enable relative extrusion. Even with this option enabled, the ressurect.g will be created with M82 witch will make extruder going crazy after running the file. I've tryed also to insert G92 E0 in my ressurect-prologue.g but again, extruder is trying to extrude (not to retract) very fast. So my question is: There's no way of making Cura support relative extrusion? Is there a way to use the power outage protection function with slicers with are not supporting relative extrusion? Because in this case, this feature has some limitations.

    Resurrect.g contains M82 or M83 depending on what was actually in use at the time of the power failure. At least, that is what the code is written to do, and I've reviewed it once already. Please check your files as as asked in my previous post and report what you find. I can't identify a possible bug if you do not provide the information I ask for.

    And I repeat, to get the extruder spinning fast you must be printing a file that was sliced with absolute extrusion but the printer must be in relative extrusion mode.



  • @dc42:

    @DR8:

    I know Duets supports M83 (relative extrusion). It's written in the wiki also. I usually work with Cura witch do not support M83 but M82. The thing is that I achieve great print result even if I slice with absolute extrusion. The problem of the extruder spinning really fast is present only If I run the ressurect.g. That's because ressurect.g will be created with the default extrusion mode of the slicer. In Cura 3.0 there is an option to enable relative extrusion. Even with this option enabled, the ressurect.g will be created with M82 witch will make extruder going crazy after running the file. I've tryed also to insert G92 E0 in my ressurect-prologue.g but again, extruder is trying to extrude (not to retract) very fast. So my question is: There's no way of making Cura support relative extrusion? Is there a way to use the power outage protection function with slicers with are not supporting relative extrusion? Because in this case, this feature has some limitations.

    Resurrect.g contains M82 or M83 depending on what was actually in use at the time of the power failure. At least, that is what the code is written to do, and I've reviewed it once already. Please check your files as as asked in my previous post and report what you find. I can't identify a possible bug if you do not provide the information I ask for.

    And I repeat, to get the extruder spinning fast you must be printing a file that was sliced with absolute extrusion but the printer must be in relative extrusion mode.

    Yes sir, I have re checked everything. And my problem was that in the Cura I had set Marlin flavor instead of RepRap flavor as I write in the comment above. When I discuss and type in topics, alot of ideas comes to my mind and then I go and change/check everything and maybe I find the solution as was in this case. But sometimes I'm not so fast to type the solution in the forum. Thanks alot for the help. Now, the question is how can I make to save the ressurect.g file to the SD card or in macro folder so i can resume the print from LCD instead of connecting trough web interface. Now my ressurect.g is saved inside the sys folder.

    For those who will read this and have extruding problems, make sure in Cura 3.0 to have Relative Extrusion enabled in the Special modes category. And more important, on the machine settings don't forget to use RepRap flavor.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.