Brim helps, it just requires several rounds around of object if the object is small. I specified 0 retractions in each filament settings for now and do filament return in final g-code and don't see any downsides after I did that. You are right that dribble is there, but now it is less empty then before.
yellowshark 153
I have always printed a skirt or brim around my objects - it is no just retraction you have to manage but also pressure stabilisation within the feed/extrusion system. It is also beneficial to manually extrude filament before starting the print to ensure everything is flowing well; although I am not sure how easy that is to do if you are using Cura to do the printing; I normally extrude 30-50mm
- 1 year later...
I've noticed this problem as well - Cura 4.8 on Linux will add a large retract at the end of the gcode, causing all the filament to be removed from the bowden tube. A little retract is nice, say 3-5mm, but 750mm or 950mm is excessive and leads to the next print failing unless I ensure that the filament is indeed loaded. Since the problem is random, I'm not in the habit of checking each time.
I am using an OctoPi setup. The prints are absolutely flawless, no errors, no corruption, etc. Whoever is suggesting "corrupt bits", etc., sigh. Anyway. This is on a CR-10s running the latest Marlin firmware (2.0.7x).
Here's my ending gcode from the printer settings in Cura:
G91 ;Relative positioning
G1 E-5 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G90 ;Absolute positionning
G1 X0 Y{machine_depth} ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
And the last 37 lines of the gcode from the file in case you don't want to download the entire thing:
G0 F9000 X151.851 Y164.366
G1 F1500 X154.608 Y161.609 E952.71868
G0 F9000 X154.425 Y161.096
G0 X155.699 Y160.505
G0 X155.979 Y160.973
G1 F1500 X152.713 Y164.24 E952.91842
;TIME_ELAPSED:8970.640296
G1 F2700 E947.91842
M140 S0
M107
G91 ;Relative positioning
G1 E-5 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G90 ;Absolute positionning
G1 X0 Y300 ;Present print
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
M82 ;absolute extrusion mode
M104 S0
;End of Gcode
;SETTING_3 {"extruder_quality": ["[general]\\nversion = 4\\nname = Standard Qual
;SETTING_3 ity #2\\ndefinition = creality_cr10s\\n\\n[metadata]\\ntype = quality
;SETTING_3 _changes\\nsetting_version = 16\\nquality_type = standard\\nposition
;SETTING_3 = 0\\n\\n[values]\\ninfill_overlap = 50.0\\ninfill_pattern = grid\\nl
;SETTING_3 ine_width = 0.52\\n\\n"], "global_quality": "[general]\\nversion = 4\
;SETTING_3 \nname = Standard Quality #2\\ndefinition = creality_cr10s\\n\\n[meta
;SETTING_3 data]\\ntype = quality_changes\\nsetting_version = 16\\nquality_type
;SETTING_3 = standard\\n\\n[values]\\nsupport_enable = True\\n\\n"}
GregValiant 1,408
You've probably noticed there isn't a big retraction there. 5, 5, 2 for a total of 12mm. The machine will do what it's told. If there is a file with the E at say 1000 and then there is no "relative" command (G91 or M83) and the Gcode says "G1 E-5" it's going to back up from 1000 to -5 for a total retraction of 1005. If there IS a relative extrusion command, then the same line tells the printer to back up 5 from wherever it happens to be. In the example that would be from 1000 to 995. Big difference.
Are you using a post-processing plugin in Cura? Is there a closing statement or code that Octoprint runs?
I was puzzled by that as well, as there doesn't appear to be anything in the gcode that would cause a large retracting. It did do it at the end of the print for the roller.gcode file above.
I verified that my Octoprint setup does not have any ending scripts, and I have no post-processing plugin for Cura.
I recently switched from Simplify3D. I raise my post/issue here on the Cura board since the only that's changed in my setup is the slicer (Simplify3D to Cura) and now I'm having this issue. I was using S3D for quite a while and never ran into this large retract.
Perhaps it's something in the gcode though, that's not explicitly a retract, but is causing the printer to retract regardless?
And it did not do a wild retract here, with a terse version of the roller (I didn't leave quite enough room for the bearing requiring it to be hammered into place). A snug fit is good, but this is too snug... This gcode file is just a small part of the roller.
GregValiant 1,408
You can use Horizontal Hole Expansion to make the bearing ID (and the through hole) larger. It acts on the radius so if the hole is .4mm too small, set HHE to .2. Be careful when using HHE as it works on anything that is a hole (not necessarily a round feature- just a hole).
Regarding the large retraction: It isn't in the Gcode. The two files end with identical moves (expected since they are defined in your End-Gcode). The only real difference is the Z height although in the large roller there are combing moves at the end before the final extrusion line. The final move in the main body of both files is a 5mm retraction as defined in your Cura Travel settings. At that point, the End-Gcode comes in. There is a switch to relative mode and an additional 5mm retraction followed by a 2mm retraction. Finally, retraction is set back to absolute mode and the heater shuts off. At the end of both files, the filament ends up 12mm back from the nozzle.
The G91 line in your End-Gcode is supposed to set all the steppers to relative mode. What if that is sometimes missed in the printer? You would get a really long retraction in response to the G1 E-5 line. I don't know why that would happen. Adding a couple of lines to the End-Gcode may prevent it.
M140 S0
M107
G92 E0 ;Reset the Extruder position
G91 ;Relative positioning
M83 ;Relative Extrusion
Setting the extruder back to 0, and making Relative Extrusion explicit should keep the printer from doing that ridiculous retraction.
Edited by GregValiantThanks for the tip on HHE!
So, I need to "retract" my earlier statement. I swear, when I looked through OctoPrint's scripts the ending script was empty. Turns out it wasn't. Sigh. Big sigh. I watched the log in OctoPrint and captured the following lines:
Send: N91903 M84 X Y E*121
[...]
Recv: ok
Send: N91904 M82*28
Recv: ok
Send: N91905 M104 S0*97
Recv: ok
Changing monitoring state from "Printing" to "Finishing"
Send: N91906 M400*32
Recv: ok
Send: N91907 G1 E-5 F300*6
Recv: ok
Changing monitoring state from "Finishing" to "Operational"
The line N91907 is not from the gcode file, it's the end script from OctoPrint that didn't show the first time I looked through the interface. I don't know if there was a delayed load on the page, or what, but I know I've checked that field in the past to ensure it was empty.
I cleared it again and it's been fine since.
The only difference I can think of between Simplify3D and Cura, is that S3D probably left the printer in relative mode, so that when this ending script ran from OctoPrint it only retracted 5mm? Anyway. I'm really happy with Cura overall, and my printer is running so much better these days.
GregValiant 1,408
Line 91904 sets the printer to absolute E and then line 91907 tells the extruder to move to -5. All it can do is what it's told. If it has to move 4000 to get there, then that's what it does.
You still might want to add the G92 E0 line in the End-Gcode just before the M84. If you checked and found the Octo End Script empty, and later it had a script, it might add it back in again under certain conditions.
Recommended Posts
burtoogle 516
Isn't that one of the reasons that we print a skirt or brim ? Also, even if the retract didn't happen, your nozzle is going to dribble some filament out so it's always going to be a bit empty.
Link to post
Share on other sites