Welcome! Log In Create A New Profile

Advanced

How do I disable extruder retract in Slicr?

Posted by tig124 
How do I disable extruder retract in Slicr?
December 07, 2015 02:54PM
Hi

Can anyone help?

I am trying to setup the G-code file for a 3d model (A part for the reprap Ormerod printer) using Slicr, However I thought I had disabled retract extruder... But upon setting the file to print I noticed it trying to retract a couple of times, Which resulted in blockage of the bowden tube, and several hours dismantling to remove the blockage!!!

So looking in a text editor at the G-code this evening I spotted

G1 E14.89553 F2400.00000

Which as I understand is the retract extruder code.

I checked the coathook g-code that is precompiled and came with the Ormerod printer... and note that this G1 E line is not present (And I know that when printing out this model, it does not try to extrude).


So where in Slicr can i disable the extrude retract function? Or do I have to then manually go and change this?? - I would hope not!)

Thanks
Tom
Re: How do I disable extruder retract in Slicr?
December 07, 2015 11:34PM
Tom,
That gcode is in fact making a change in the extruder position. Whether it is a retract or advance depends on the difference of that extruder position (E value) and the prior extruder position in the gcode.

If you post your entire gcode file here then we can check the settings shown at the top and very bottom.

The main retraction settings are on the Printer Settings, Extruder 1 page.

On the Printer Settings, General page there is also an option for Firmware retraction. That's not indicated here (you would see G10 and G11).


My printer: Raptosaur - Large Format Delta - [www.paulwanamaker.wordpress.com]
Can you answer questions about Calibration, Printing issues, Mechanics? Write it up and improve the Wiki!
Re: How do I disable extruder retract in Slicr?
December 09, 2015 07:39AM
3rd attempt at showing this information!!!!!! - Right... Can't load the file, as its too big, I used simple settings in Slicr, and now its retracting by over 42mm (as I measured the fillament as it had completely retracted from the Ormerod extrude).. Any help appreciated??? This is really frustrating now!.

Start code

; generated by Slic3r 1.2.9 on 2015-12-09 at 11:48:22

; external perimeters extrusion width = 0.40mm
; perimeters extrusion width = 0.48mm
; infill extrusion width = 0.48mm
; solid infill extrusion width = 0.48mm
; top infill extrusion width = 0.48mm

M107
M190 S20 ; set bed temperature
M104 S200 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle

M109 S200 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
Re: How do I disable extruder retract in Slicr?
December 09, 2015 07:40AM
Now End Code

G92 E0
M107
M104 S0 ; turn off temperature
G28 X0 ; home X axis
M84 ; disable motors

; filament used = 6151.0mm (14.8cm3)

; avoid_crossing_perimeters = 1
; bed_shape = 0x0,200x0,200x200,0x200
; bed_temperature = 0
; before_layer_gcode =
; bridge_acceleration = 0
; bridge_fan_speed = 100
; brim_width = 0
; complete_objects = 0
; cooling = 1
; default_acceleration = 0
; disable_fan_first_layers = 3
; duplicate_distance = 6
; end_gcode = M104 S0 ; turn off temperature\nG28 X0 ; home X axis\nM84 ; disable motors\n
; extruder_clearance_height = 20
; extruder_clearance_radius = 20
; extruder_offset = 0x0
; extrusion_axis = E
; extrusion_multiplier = 1
; fan_always_on = 0
; fan_below_layer_time = 60
; filament_colour = #FFFFFF
; filament_diameter = 1.75
; first_layer_acceleration = 0
; first_layer_bed_temperature = 20
; first_layer_extrusion_width = 200%
; first_layer_speed = 30
; first_layer_temperature = 200
; gcode_arcs = 0
; gcode_comments = 0
; gcode_flavor = reprap
; infill_acceleration = 0
; infill_first = 0
; layer_gcode =
; max_fan_speed = 100
; max_print_speed = 80
; max_volumetric_speed = 0
; min_fan_speed = 35
; min_print_speed = 10
; min_skirt_length = 0
; notes =
; nozzle_diameter = 0.4
; only_retract_when_crossing_perimeters = 1
; ooze_prevention = 0
; output_filename_format = [input_filename_base].gcode
; perimeter_acceleration = 0
; post_process =
; pressure_advance = 0
; resolution = 0
; retract_before_travel = 2
; retract_layer_change = 0
; retract_length = 2
; retract_length_toolchange = 10
; retract_lift = 0
; retract_restart_extra = 0
; retract_restart_extra_toolchange = 0
; retract_speed = 40
; skirt_distance = 6
; skirt_height = 1
; skirts = 1
; slowdown_below_layer_time = 5
; spiral_vase = 0
; standby_temperature_delta = -5
; start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n
; temperature = 200
; threads = 2
; toolchange_gcode =
; travel_speed = 60
; use_firmware_retraction = 0
; use_relative_e_distances = 0
; use_volumetric_e = 0
; vibration_limit = 0
; wipe = 0
; z_offset = 0
; dont_support_bridges = 1
; extrusion_width = 0
; first_layer_height = 0.4
; infill_only_where_needed = 0
; interface_shells = 0
; layer_height = 0.3
; raft_layers = 0
; seam_position = aligned
; support_material = 0
; support_material_angle = 0
; support_material_contact_distance = 0.2
; support_material_enforce_layers = 0
; support_material_extruder = 1
; support_material_extrusion_width = 0
; support_material_interface_extruder = 1
; support_material_interface_layers = 3
; support_material_interface_spacing = 0
; support_material_interface_speed = 100%
; support_material_pattern = pillars
; support_material_spacing = 2.5
; support_material_speed = 60
; support_material_threshold = 0
; xy_size_compensation = 0
; bottom_solid_layers = 3
; bridge_flow_ratio = 1
; bridge_speed = 60
; external_fill_pattern = rectilinear
; external_perimeter_extrusion_width = 0
; external_perimeter_speed = 50%
; external_perimeters_first = 0
; extra_perimeters = 1
; fill_angle = 45
; fill_density = 50%
; fill_pattern = rectilinear
; gap_fill_speed = 20
; infill_every_layers = 10
; infill_extruder = 1
; infill_extrusion_width = 0
; infill_overlap = 15%
; infill_speed = 30
; overhangs = 1
; perimeter_extruder = 1
; perimeter_extrusion_width = 0
; perimeter_speed = 15
; perimeters = 3
; small_perimeter_speed = 15
; solid_infill_below_area = 70
; solid_infill_every_layers = 0
; solid_infill_extruder = 1
; solid_infill_extrusion_width = 0
; solid_infill_speed = 20
; thin_walls = 1
; top_infill_extrusion_width = 0
; top_solid_infill_speed = 15
; top_solid_layers = 3
Re: How do I disable extruder retract in Slicr?
December 09, 2015 08:07AM
Hello Paul,

Thanks for the offer, Hopefully you can see the issue with what I have posted.

Thanks
Re: How do I disable extruder retract in Slicr?
December 09, 2015 08:24AM
Also the printer prints the Coathook example fine (This was compiled on an older version of Slicr I noticed)/
Re: How do I disable extruder retract in Slicr?
December 09, 2015 08:57AM
Now I turned off retraction in the slicr software with the idea of speed up the travel distance to reduce the oozing between layers and its still retracting!! - Is there a bug with slic3r version 1.2.9 - Now I have to unblock again.... Grrr!
Re: How do I disable extruder retract in Slicr?
December 09, 2015 11:34AM
The code does not help because it does not show the offending extruder moves. It does however verify that both the printer and Slic3r are set to absolute extruder mode.

Have you tried setting the printer and Slic3r to use relative E moves? Change the M82 command in your start code to M83 (set relative extruder moves), and tick the box in Slic3r that says "Use relative e-distances"

Even if it does not work, it makes debugging the G-code easier because retractions will always appear as negative moves.

Dave

Edited 1 time(s). Last edit at 12/09/2015 11:35AM by dmould.
Re: How do I disable extruder retract in Slicr?
December 09, 2015 01:16PM
Tom,

One other helpful setting is to turn on Verbose Gcode: go to Print Settings, at the bottom Output Options and check the box. I wouldn't have it on always since it makes the file larger, but for debugging it's great. With commented gcode I can run it through my debugger/visualizer also.

I recommend getting a free Dropbox to share large files. You can share a link to a specific file or folder. We definitely need to see more of the file.

Also, I noted in the bottom gcode the following:
; retract_length_toolchange = 10

Do you have the number of Extruders on the Printer Setings, General screen set to 1? (You probably do, just checking).
Re: How do I disable extruder retract in Slicr?
December 09, 2015 03:25PM
Yes I have extruders set to 1..


Please hopefully find the code here

[www.dropbox.com]


Thanks
Re: How do I disable extruder retract in Slicr?
December 09, 2015 03:37PM
Thanks will try the code change tomorrow when I get to work - Printer is sat at work until I get space at home!
Re: How do I disable extruder retract in Slicr?
December 09, 2015 07:00PM
Tom,
I got the gcode fine from dropbox.

Are you using ReprapFirmware? The reason I ask is because this setup gcode is otherwise unusual:
G10 P0 S195 R160 ; Set tool 0 operating and standby temperatures

Normally individual un-related items are on their own line.

At the top of the file I can see the new settings:
; generated by Slic3r 1.2.9 on 2015-12-09 at 20:14:29
; external perimeters extrusion width = 0.50mm
; perimeters extrusion width = 0.85mm
; infill extrusion width = 1.98mm
; solid infill extrusion width = 0.85mm
; top infill extrusion width = 0.85mm

I did not see any retracts in the gcode at all (other than that G10 in setup that is used for a different setting for Reprapfirmware, otherwise that would be a hardware retract).

The extruder output is fluctuating between 1.2 and 7.8mm3 / sec., with a max of 9.76 mm3/sec. Perhaps your extruder can not handle that. (I have no idea, depends on how it's made, filament, and temperature, etc.)

Notice that it is trying to do 1.98mm widths for infill (due to auto settings). It could be there that your printer is choking. If it hits your extruders max mm3/sec limit the extruder will stall and it could skip backwards.

My advice: You may want to specify specific extrusion widths and speeds similarly for the different types of lines so there are not wide swings in pressure until you know what it can handle. I don't recommend any auto settings because they are not calibrated to your printer and you don't know your max mm3/sec.

I do not print PLA so I can not comment on your 200C print temperature.

If you still want to use auto settings, then note that in Slic3r 1.2.9 there is a spot for Max Volumetric Speed. If your extruder/hot end can handle 5 mm3/sec for instance then you would enter 5 there. Some other speeds need to be set to 0 to allow this to be used (but not all speeds should be 0) - it will just slow down the feedrate to keep the extrusion rate from exceeding that amount.

Note that 1.2.9 has a bug that is causing overfilled parts. See other threads here.

Slic3r really needs to tell you what your mm3/sec will be for the settings chosen.
You can calculate mm3/sec roughly using: extrusion width * layer height * speed = mm3/sec. So 1.98 * .1 * 40 = 7.92 mm3/sec. This will be 99% correct since you are not extruding a square bead...

It's a little more complicated to calculate mm3/sec from the Gcode. Take for instance these two infill lines (with detail added by my debuggersmiling smiley
G1 X116.975 Y101.822 E0.16960 F2400.00 ; 2.078mm infill  7.861 mm3/s
G1 X115.140 Y105.540 E0.3384           ; 4.146mm infill  7.864 mm3/s

The feed rate is 2400 mm / min or 40mms
mms = 40

The extruded length is given for the 2nd line since you are using Relative E:
elenmm = .3384

The distance = abs(sqrt((oldx-newx)^2 + (oldy-newy)^2))
distance = 4.146

FilamentDiameter = 1.75
radius = FilamentDiameter / 2.0000
areaOfEnd = radius^2 * 3.14159265358979 = 2.408 square mm

Calculate extruded cubic MM
extcmm = areaOfEnd * elenmm = 0.8148 mm3

Calculate time to do segment = distance/speed
segtime = distance / mmS = 0.1037 seconds

Calculate Cubic MM/S
cubemmS = extcmm / segtime = 7.86 mm3/sec

Here is what it looks like plotted: The bottom graph shows the last 3 layers.

Sorry, only registered users may post in this forum.

Click here to login