Loading

G-Code to pause & change filament

Please Login to Comment

Comment has been deleted

I'm using this firmware is great! and have M600 without modification!

RAWR TFT Firmware Artillery X1 and Genius
Include:

M600 (For print with differents colors. PAuse, change filament and resume, with out modify or open the printer)
Pre-Heat
PID for ABS and PLA
Extrude Calibration (E Steps)
Filament Change
Baby Steps
Gcode Console
Auto Leveling and Manual Leveling (5 Points)
Demo:
https://youtu.be/IVtcBV-ttXw
How to install:
https://github.com/wgcv/RAWR-TFT-Firmware-Artillery3D
https://www.thingiverse.com/thing:4498609

RAWR TFT Firmware Artillery 3D - With M600
by wgcv

There is an easy way to do it with repetier, you can use the pause script.
This can be be set in the printer parameters/scripts/script at pause.

Then save the G-code command that you want when pause is trigger. Something like that :
G91 ; set relative positioning
G1 E-6 F500 ; retract filament slightly to avoid drips
G1 Z5 F5000; move extruder up 5mm
G90 ; return to absolute positioning
G1 X0 Y0 ;park XY

Once you've got the good commands and save them, there is one last thing to do ; go in "edit g-code", find the line when you want the print to stop, and add this command : <a href="/pause/about">@pause</a>.
While printing, Repetier will run the script and wait for you to resume the job, and it will automatically go back to the printing position.
If by mistake you move the carriage while changing filament you still can manually home X and Y axis before to resume job.

I use to add a 20mm cube as martyr part in my slice (scaled on Z if needed, 2 perimeters, 0% infill, no top layers) , and add the command <a href="/pause/about">@pause</a> at the begin of one of its layer.
It needs a bit of practice, but use Repetier is the simplest way I've tried yet.
GL

Comment has been deleted

This script is only when pause is trigger, I mean this will be run before (and only before) it stop and wait for you to resume the job.
So you can add the cool down command, but I'm not sure you can add the heating back command. But you can still manually send it before to resume.

I never use the scirpts 1 to 5 so I can't say if it will work. Actually I don't think it will....let me know if you test it

Does M600 not work? I use Simplify3D to find the layer by using the slide bar in teh print preview screen then go to that line in the gcode and insert. SO far I've only used this method on my Monoprice Mini but thought it would work on my Tornado and x5s.

Comment has been deleted

M600 is the g-code command for changing filament (which works w/ marlin), but it requires the advanced_pause_feature.
This is a feature of the firmware, and so it will work only if it is enable and if it knows what to do when triggered.
If you can control the firmware, take a look at it. It will allow you to pause your prints even printing from a SD card.
Otherwise use Repetier's pause script.

Comment has been deleted

This is what I use in Simplify3D, perhaps it could be a starting point for you. Just modify both layer numbers for the layer you want to pause on. Add multiple lines and change the layers for multiple pauses.

{REPLACE "\nM117 Layer 4, Z=" "\nG1 X10 Y5\nM0\nM117 Layer 4, Z="}