Jump to content
Ultimaker Community of 3D Printing Experts
AbeFM

Explicitly Set Extrusion Mode

Recommended Posts

CURA sets absolute extrusion mode as the last thing it does before user start code

 

Generated By CURA

;FLAVOR:Marlin
;TIME:7407
;Filament used: 3.18035m, 1.66696m
;Layer height: 0.2
;Generated with Cura_SteamEngine 3.5.0
T0
M140 S40
M105
M190 S40
M104 S210
M104 T1 S175
M105
M109 S210
M105
M109 T1 S175
M82 ;absolute extrusion mode

MY start code (comments welcome, but it's not the point)

M83  ; extruder relative mode
M104 S[first_layer_temperature_0] T0; set 1st nozzle heater to first layer temperature
M104 S[first_layer_temperature_1] T1; set 2nd nozzle heater to first layer temperature
M140 S[first_layer_bed_temperature] ; set bed temp
M190 S[first_layer_bed_temperature] ; wait for bed temp
M109 S[first_layer_temperature_0] T0; set 1st nozzle heater to first layer temperature
M109 S[first_layer_temperature_1] T1; set 2nd nozzle heater to first layer temperature
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G1 X30 Y5 Z1; ABE move to sort and prime

T0; Settings and Prime for T0
G1 Z0.1 F1000.0 ; Approach Bed for Intro Line, was Y-3    ABE 0->0.1
G92 E0.0
G1 X90.0 E9.0  F1000.0 ; intro line
G1 X130.0 E12.5  F1000.0 ; intro line
G92 E0.0

T1; Settings and Prime for T1

G92 E0.0
G1 X190.0 E9.0  F1000.0 ; intro line
G1 X230.0 E12.5  F1000.0 ; intro line
G1 E-2.6;
G92 X245 Y15 E0.0 F10800.000; retract fast

G Y1 Z0 ; Return nozzle to bed, over tape ABE

But now it depends how I set up CURA:

 

In the case of setting the Relative Extrusion Mode checkbox:


M83 ;relative extrusion mode
G1 F2400 E-3.5
;LAYER_COUNT:246
;LAYER:0
M107
M204 S3000
M205 X20 Y20
G0 F1800 X144.886 Y124.237 Z0.25
.....

But if I DON'T set it:

G92 E0
G1 F2400 E-3.5
;LAYER_COUNT:246
;LAYER:0
M107
M204 S3000
M205 X20 Y20
.......

 

 

In this case, the printer is left in relative extrusion mode - meaning you're requesting more and more filament with each extruded line.

 

I recommend that the extrusion be explicitly set (M82/M83) as desired after the user's Startup Code. This could make it harder for the user to set it, but I feel it's net beneficial.

Share this post


Link to post
Share on other sites

There are many more ways to screw up a print from the start gcode (you could also set the units to inches, for example). Cura does not parse the start gcode (with the exception of {replacement patterns}, it just passes it along to the printer. You should know what you are doing when editing the start gcode.

Share this post


Link to post
Share on other sites

Agreed.

 

But setting something you count on AFTER the start code instead of before it seems like it would make more sense, hence the suggestion.

 

I'm just pointing it out, I've already fixed my issue.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!