User avatar
JBFUK
Posts: 11
Joined: Fri Dec 30, 2016 8:16 am

Pausing a print to change Filament

So I attempted my first multi-colour print today and it was a partial failure.

Having read various post regards this I added the following in to my post-processing box in the FFF profile:

Code: Select all

{REPLACE "; layer 12, Z = " "M600 X10 Z5\n; layer 12, Z = "}
My expectation was that when the print got to layer 12 it would pause, the print-head would go to X=10 and raise by 5 on the Z-axis then wait for me to do my filament change and hit resume. At that point it would return to its previous position and continue printing.

The G-Code seems to have been updated:

Code: Select all

G1 E-0.8000 F1800
M600 X10 Z5
; layer 12, Z = 2.400
; inner perimeter
G1 X106.342 Y98.899 F4800
G1 Z2.400 F1002
G1 E0.8000 F1800
G1 X106.548 Y98.664 E0.0122 F2400
What actually happened was... nothing! I was keeping an eye on the print from time to time and when I checked on it the print next was at layer 14 with no pause. I manually paused it, raised Z by 10, swapped out filament, lowered Z by 10 and hit resume. The print continued and completed just fine.

So any ideas why this did not automatically pause, move away from the print and wait for me to swap out the filament?

I'm using Marlin firmware and printing with OctoPi via USB. I've seen some examples using M0 instead of M600 but based on what I'd read this will turn off motors, hotend and heatbed. I don't want that to happen as it increases the chance of my print failing.

M600 sounded perfect but perhaps it only works when printing from SD not via OctoPrint?

It's a good job I was keeping a close eye and managed to make a success of the print, however, I'd like to get this working slightly less manually in the future.
Any help appreciated.
User avatar
KeyboardWarrior
Posts: 480
Joined: Thu Jun 19, 2014 5:02 pm

Re: Pausing a print to change Filament

You can do this,you just need to know what layer you want to pause at. Using the G-Code previewer set to preview by layer, it gives a good visual representation of the layers and helps figure out what layer you'd like to pause at. After this save Toolpaths to disk, open the Gcode file with a text-editor and then add a new line with "M0" (No quotes) after the layer you'd like to pause at. Now save the revised G-Code file. Then go back to Simplify3D, open the Machine Control Panel and click the Print button which will open a file browser and you can use that to browse to the revised G-Code file. When the M0 is read, the software will pause and you can use the Jogging functions to retract/extrude/move around/change filaments. You can decide when you will restart the print by hitting the resume button.

My advice is to home the printer though in the X and Y-axis if you move the extruder at all, otherwise there will be a shift in your print. I'm not familiar with the M600 command you referenced, but I know that M0 works with S3d
User avatar
JBFUK
Posts: 11
Joined: Fri Dec 30, 2016 8:16 am

Re: Pausing a print to change Filament

Thanks, but did you actually read my post?

Return to “General Discussion and Tips”