Page 1 of 2

Pause at layer height

Posted: Wed Jul 10, 2019 12:04 pm
by Doug_H
Hi, I am looking for the Cura equivalent to "pause at height " Does Simplify have this? Or am I going to have to manually create my own gcode to do this?
Thank you!
Doug

Re: Pause at layer height

Posted: Wed Jul 10, 2019 4:27 pm
by dkightley

Re: Pause at layer height

Posted: Wed Jul 10, 2019 5:17 pm
by Doug_H
658 matches and 66 pages. I was hoping that someone could narrow that down a little bit. I already did a search........
Thank you,
Doug

Re: Pause at layer height

Posted: Thu Jul 11, 2019 8:42 am
by SweHogelid
Doug_H wrote: Wed Jul 10, 2019 12:04 pm Hi, I am looking for the Cura equivalent to "pause at height " Does Simplify have this? Or am I going to have to manually create my own gcode to do this?
Thank you!
Doug
Hi Doug and welcome to the forum!

I'm too looking for a way to 'pause at height' without having to watch the printer and manually pause, which potentially causes other problems.
If someone is kind enough to explain it would be great, or point to a specific thread that explains as I'd rather not go through over 600 hits of the 'pause' search.

/Micke

Re: Pause at layer height

Posted: Thu Jul 11, 2019 8:55 am
by S3D-Alex
So the best way to do this currently in Simplify3D is to use a Post-Processing Script. This option is found in the Scripts tab of the Process Settings. For this example let's say we want to pause a standard Marlin machine at Layer 10. I would enter the following line into the Post-Processing box:

{REPLACE "; layer 10" "M0\n; layer 10"}

This will replace one of our Layer comments with an M0 followed by a new line and then the Layer 10 comment again. So the code is basically the same but with the M0 now placed before Layer 10 begins printing.

M0 is the standard pause command for most Marlin machines but some will accept M600 and a lot of printers with Repetier based Firmwares will take M25. I hope this clears things up a bit but feel free to ask any questions you might have.

Re: Pause at layer height

Posted: Thu Jul 11, 2019 10:49 am
by TheBum
Another option is to split the printing process into two at the height where you want to pause. Set the bottom process to have 0 top layers and the top process to have 0 bottom layers and run the processes one at a time. You'll also need to turn off any homing commands in the scripts for the top process.

Re: Pause at layer height

Posted: Fri Jul 12, 2019 2:14 am
by SweHogelid
S3D-Alex wrote: Thu Jul 11, 2019 8:55 am So the best way to do this currently in Simplify3D is to use a Post-Processing Script. This option is found in the Scripts tab of the Process Settings. For this example let's say we want to pause a standard Marlin machine at Layer 10. I would enter the following line into the Post-Processing box:

{REPLACE "; layer 10" "M0\n; layer 10"}

This will replace one of our Layer comments with an M0 followed by a new line and then the Layer 10 comment again. So the code is basically the same but with the M0 now placed before Layer 10 begins printing.

M0 is the standard pause command for most Marlin machines but some will accept M600 and a lot of printers with Repetier based Firmwares will take M25. I hope this clears things up a bit but feel free to ask any questions you might have.
Thank you!

So if I want to pause at a specific layer and lower my bed 100mm I would then enter:

{REPLACE "; layer 10" "M0\n; layer 10"}
G91 Z100

In the Post-Processing box (not in any of the tabs). Just to be clear

Correct?
-How do I start my print again, and from the right layer/height of course. If I were to guess I would need to be printing via USB and then via the control panel start the print?

Re: Pause at layer height

Posted: Fri Jul 12, 2019 9:13 am
by S3D-Alex
If you have a Marlin based printer that accepts M600 I would suggest using that as it usually has a 'filament change script' placed automatically. So it will raise the Z and prompt you on the LCD and everything. It is a much more user friendly command in comparison to an M0 which is basically just a stop. M0 is basically universal though which is why I suggested it.

If you do want to manually script everything out as you started to in your previous message you will need everything placed in the REPLACE command. The G91 also does not take arguments like you have written. It simply tells the machine to move to relative positioning. You would then need a G1 Z100 followed by a G90 to put the machine back into absolute positioning. The syntax would look something like this below:

{REPLACE "; layer 10" "M0\nG91\nG1 Z100\nG90\n; layer 10"

M0 should begin the print again if you hit any button on the printer. This is supposed to be the command to begin printing again. Again all of this is to say that the M0 method is not nearly as clean and simple as the M600. So if you have a Marlin based printer I would highly suggest using this command instead.

Re: Pause at layer height

Posted: Fri Jul 12, 2019 10:26 am
by SweHogelid
I have a Marlin based printer so M600 sounds like the way for me ;)

Should I enter this line in the script box then (for a pause at layer 10):
{REPLACE "; layer 10" "M600\n; layer 10"}

If so, what happens then? The bed lowers and the head stays in the same position? Will the heaters stay at printing temperature while waiting?

Can I enter more pauses, for example {REPLACE "; layer 13" "M600\n; layer 13"} under that first script line?


As a side note I wish this filament change will be available in S3D in the same simple, clean and easy way as all the other commands. It really can be useful in many different prints. For example now I have been printing different signs for a week and it has been a lot of waiting at the printer and a lot of time estimating for how long time each layer takes and so on.
Just wanted to say...

Re: Pause at layer height

Posted: Fri Jul 12, 2019 6:35 pm
by jlastofka
What I do on my Robo3D R2 is a little different. I make a second part, a skinny rectangular post (witness part), with a step in the rectangle shape (like transition to a rectangle half the width) at the height where I want to pause my print (usually to insert a magnet or threaded insert) and when I see the printer start to draw the reduced size rectangle on top of the witness part I hit Pause on the printer control screen. The printer pauses on the witness part, which I place behind the main part, so the head's back out of the way. Also the pause and resume cosmetic defects, if any, occur on the witness part and not the main part.

If hitting the exact layer is critical, one subtlety to watch is the order of printing of the parts at the layer when it's pausing. You need to step through the layers before and after the pause on the S3D preview to see if the visual change on the witness part occurs just before or just after it would have printed the layer over your desired pause on the main part. You might have to tweak the height of the witness part one layer's worth to fine tune that. Or move the part on the build platform to change the printing order perhaps. The S3D display shows the print head at the end position of the layer you're stepping through, so if it's sitting on the witness part, that's not what you want because it would have just previously printed that layer on the main part and now it's showing you that it stopped after the witness part. You should be able to tweak the height of the witness part a layer's worth and get that to change. I want the warning (printing border of outer wall on next layer) on the witness part JUST BEFORE the head moves over and skins over the pocket where I'm going to put the nut or magnet....

(I got that wrong once and had to reach in with tools while the printer was paused to remove some stringy stuff over the pocket I wanted to use. It was a little messy, but the print recovered after a few layers...)

I think this is easier to do than it sounds like here in words. The advantages are that the pause/resume isn't occurring on your main part, and the head's back out of the way, and you're not playing around in the control software. You're just printing a small secondary part as a reference. You could put another step in that part as a visual warning when you're getting close.

If you're not inserting things in pockets, and just changing colors or something, you might not care if you miss things by one layer height so that's even easier.