How To - Pausing a print at a specific layer. (Simplify3D)

Post your advice, tips, suggestions, etc...
User avatar
SouthSideofdaSky
Posts: 103
Joined: Wed Jul 09, 2014 9:35 pm

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by SouthSideofdaSky » Wed Apr 15, 2015 4:17 pm

insta wrote:You want G4: Dwell ( http://reprap.org/wiki/G-code )
I will try that - thanks!

User avatar
SouthSideofdaSky
Posts: 103
Joined: Wed Jul 09, 2014 9:35 pm

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by SouthSideofdaSky » Thu Apr 16, 2015 4:56 pm

For anyone curious, the Dwell command does indeed work. So if you wanted to disconnect your computer and still have the print pause, you can insert this code:

Code: Select all

G91 ; set relative positioning
G0 Z40 ; raise Z (drop bed)
G90 ; set absolute positioning
G1 X0.000 Y250.000; move to top left corner
M84 S0 ; disable idle timeout
G4 S60; pause for 60 s
Other than this it's the same steps as sthone outlined. So you avoid the whole business of having to leave your computer plugged in. Of course, like I said previously you still have to be watching the printer closely otherwise you'd miss the 60 s pause. I don't see why you couldn't make it longer if you wanted though.

User avatar
Jules
Posts: 3144
Joined: Wed Jan 21, 2015 1:36 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by Jules » Mon Apr 27, 2015 11:42 pm

stop sign bookmark1.jpg
stop sign bookmark1.jpg (286.23 KiB) Viewed 23074 times
WooHoo! This totally works!......Check out the little Stop Sign bookmarks I worked up for the nephews' Christmas stockings.......

Nyah! Nyah! Nyah! Nyah!
I printed two colors with one nozzle......
I printed two colors with one nozzle...... :P

One thing i was noticing as I was trying to make these work....you definitely need to make sure you have a solid layer underneath the layer that you start the color change on, and another thing that puzzled me - when the switched-out color started printing, it didn't extrude for a while (few inches) before it kicked in. Not that there was any red coming out either - nothing was extruding.

Tried adding a little E2 code to squirt out a couple of mm, it just spit that out and then stopped extruding for a couple of inches.
Curioser and curioser!

Anyway, it's a funtastic development Steve - many thanks for posting the instructions! :D :D :D

User avatar
sthone
Posts: 897
Joined: Tue Jul 08, 2014 8:25 pm
Location: Connecticut
Contact:

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by sthone » Tue Apr 28, 2015 1:28 am

Jules wrote:One thing i was noticing as I was trying to make these work....you definitely need to make sure you have a solid layer underneath the layer that you start the color change on, and another thing that puzzled me - when the switched-out color started printing, it didn't extrude for a while (few inches) before it kicked in. Not that there was any red coming out either - nothing was extruding.
I was doing some duel colors the other day (following my own tutorial because I suffer from CRS) and I noticed some weird stuff too. At first I thought my instructions were flawed because after changing the color and hitting the resume print button the printer was retracting the filament before starting again. The weird part is it didn't always do this, (I tried it a few times) sometimes it retracted it and and sometimes it didn't. I was running the same g code each time so I'm not really sure whats going on as I couldn't figure it out.

I still have to play around with it but if anyone has any ideas on this I'm all ears. :?

BTW - Those Stop sign bookmarks look great. :D

-Steve
____________________________________________________
See my projects at https://www.theneverendingprojectslist.com

User avatar
Jules
Posts: 3144
Joined: Wed Jan 21, 2015 1:36 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by Jules » Tue Apr 28, 2015 2:30 am

Thanks! I'll be posting it on Thingie later .... :)
sthone wrote:...after changing the color and hitting the resume print button the printer was retracting the filament before starting again.
Yeah, that was exactly what it was like....it took it a while to get the filament back down into place.

Wonder what the heck is causing that? i looked at the code, line by line at that spot, and didn't see anything that looked like a retraction command. (Negative number on Feedrate or Extrusion?)
It's a gremlin...... :?

jsc
Posts: 1864
Joined: Thu Apr 10, 2014 4:00 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by jsc » Tue Apr 28, 2015 3:34 am

Some slicers (S3D) specify extrusions in absolute coordinates. I think the firmware is tracking whatever extrusions you are doing while it is paused and reversing it when you unpause. I think what you want to do is keep it in relative positioning before the pause, then set it back to absolute positioning after the pause. I haven't tried or looked into it, but it sounds plausible.

User avatar
Jules
Posts: 3144
Joined: Wed Jan 21, 2015 1:36 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by Jules » Tue Apr 28, 2015 4:04 am

Hmmmmn - that might explain it all right - I extruded the living daylights out of it to clear the original color before starting back up again.
:?
So then, we need one more line of code inserted - switching back to absolute positioning after the pause command? Before the Pause command?

Will experiment. 8-)

Update:
Well, the only thing I found that works is to retract the same amount as you plan to extrude.....

If you are changing the filament - retract 300 first, change the spool, then extrude 300 to clear the nozzle before you resume.

I tried every combination of M82 and M83 I could think of, before and after the pause, and sometimes they caused serious over-extrusion, so i'm likely putting it in the wrong place or those are just the wrong codes to use.

Tossing in the towel - input from the code experts would be fab! :)

jsc
Posts: 1864
Joined: Thu Apr 10, 2014 4:00 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by jsc » Tue Apr 28, 2015 7:43 am

I guess that doesn't work. Not really sure how pausing is supposed to restart your print correctly if you've done a bunch of retractions/extrusions that don't cancel each other out. I've done some searching, and nobody seems to really thought this through or at least hasn't written it down. Your method of retracting just how much you want to extrude will work. You're on the cutting edge of research!

You can save yourself some time spinning back the retraction by going to relative mode and using G92 to set a negative extruder position without actually doing the retraction, I think:

G91 ; set relative mode
G1 Z15 ; drop bed
G90 ; set absolute mode
G1 X215 Y200 ; move off the bed, stick bed forward
G91 ; relative mode again
G1 E-25 ; retract out (not sure if 25 is enough)
G92 E-275 ; set extruder to -300 from when you paused it, including the 25 mm retraction we just did
M0 ; pause
G1 E300 ; flush
G1 E-5 ; drop the thread, hopefully
G1 E5
G90 ; set absolute mode

User avatar
sthone
Posts: 897
Joined: Tue Jul 08, 2014 8:25 pm
Location: Connecticut
Contact:

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by sthone » Tue Apr 28, 2015 11:52 am

Jules wrote:Well, the only thing I found that works is to retract the same amount as you plan to extrude.....
Nice work... I'm guessing that's why it worked sometimes for me and sometimes it didn't.

I don't pretend to know the code stuff either so for now I will update my tutorial with the extract/extrude info. But I will play with that new code tonight and see what happens.


-Steve
____________________________________________________
See my projects at https://www.theneverendingprojectslist.com

User avatar
Jules
Posts: 3144
Joined: Wed Jan 21, 2015 1:36 am

Re: How To - Pausing a print at a specific layer. (Simplify3

Post by Jules » Mon May 25, 2015 8:34 pm

FOUND IT! Got it, got it, got it! :D :D :D

Add one more line of code at the very end to zero out the extruder and you don't have to remember how much you retracted and match it:

G91 ; set relative positioning
G0 Z40 ; raise Z (drop bed)
G90 ; set absolute positioning
M84 S0 ; disable idle timeout
M25 ; Pause SD Print
G92 E0 ; zero extruder

(That little gem was hiding in the Start Up code, saw it when I added Jin's decelerator code a few minutes ago, and it WORKS!)
Last edited by Jules on Mon Mar 07, 2016 10:38 pm, edited 1 time in total.

Post Reply