COMPLETE writing Gcode scripts

Can someone explain the sequence of events when Marlin gets the Gcode file?

I'm guessing that

a) it starts by getting the bed up to temperature;

b) then it gets the nozzle up to temperature;

c) THEN it runs the start script from S3D;

;BigBox Printer Start Script Begin

M117 Print Starting.

;Dock

G1 X70 Y200 F3000

G1 X70 Y240 F3000

;Prime Extruder

etc.

In my ideal start sequence:

a) nozzle and bed heating would get underway simultaneously;

b) without waiting for them to be at temperature BB would run:

- autohome
- level bed (Pro BB - we do this!)

c) then printhead would head to Ooze bucket to complete the heating (and dribbling);

d) finally printing would begin;

Am I right in thinking that typing in the S3d start code window is not going to help me because the script is not run until nozzle and bed are at temperature?

Any suggestions?

(Currently manually set the temperature; whilst it's heating I run autohome and level bed; then launch print and leave the nozzle oozing at the last bed level position until it gets to temperature etc...)

Staff Member

This is the gcode reference.
There are codes which heat up a nozzle or the bed WITH waiting until the temp is reached and without.
In S3D there is also a check where you can select to wait for the temp to be reached but if you do not, you will have to wait at some other stage before starting the print to reach the temp. There is no option in S3D to do this with the GUI if you uncheck it. If you do so you have to take care of that in one of the gcode scripts like the start script...

So what you want could be done be starting heating without waiting, then doing the init like homing and levelling and so on and then push the heat command again but with waiting for the temp and then start the print...

You just have to take care that a home command clears out a lot of things like the levelling or for dual users the offset of the second extruder set by a gcode command...

I don't know why this is not done by default but the time you save is not much and doing it in sequence and wait until everything is done is a bit more failsafe IMHO...