Can I pause a print to insert magnets?

is there an easy way, like a plug in or something, to pause a print when the current layer is finished, move the extruder well out of the way so that I can insert some magnets into the print, and then once done allow the print to be continued from where it left off?

That would be a slicer trick. I think there are plugins for the more common slicers for pause at z. Not sure how well they'd work, but that's the direction I would start my search in Google.

1 Like

From personal experience, an earlier version of the Cura pauseAtZ crashed my printer's hotend into the (plastic) bed. I wasn't too happy about that.

I'd suggest working up a good pair of pause/resume gcode scripts into OctoPrint -> Settings -> Gcode Scripts... and then manually editing your gcode file by inserting in something like...

;...
; I'M JUST SHOWING SOME CODE AT THEN END OF THE PREVIOUS LAYER
G1 F600 X84.338 Y50.673 E0.05134
G1 F2400 E-1
G0 F7200 X64.488 Y40.267    # NOTE THE X/Y VALUES HERE
;TIME_ELAPSED:704.482240

;---------------------------------
; BEGINNING OF INSERTED GCODE
; Insert magnet
M117 Pause for magnet insertion
G0 F1800 Z20
G0 F1800 X0 Y0
M0
G0 F1800 X64.488 Y40.267 Z3  # USE THOSE SAME X/Y VALUES FROM EARLIER
; ENDING OF INSERTED GCODE
;---------------------------------

;LAYER:0
;MESH:BottleCap.stl
G0 F1800 X64.488 Y40.267 Z1.66   # NOTE THIS Z VALUE
; ...

So I insert some gcode manually. I'll note the X/Y/Z from before the pause/resume and after. I then adjust that last line after the M0 so that I'm returning to where the print job will resume, just higher than where it's supposed to be. (Z3 is higher than Z1.66 in this case.)

The M117 will possibly display a message on your LCD/TFT or display a popup. You might need to install the M117 popup plugin, though. My assumption throughout is that the motors are in absolute mode.

1 Like

If you are running Repetier firmware, you can store position with M401 GCode, move print-head away, pause, and on resume return to the stored position with GCode M402.

M401      ; Stores current position
G0 X0 Y0  ; Moves to X=0 Y=0
M25       ; Pauses the print and waits for the user to resume it
M402      ; Restores original position 

To add pause at certain height, you can use Post Processing plugin in Cura, or add above commands to GCode file manually.

Thanks so much, I'm more of a novice and didn't want to go down the rabbit hole with respect to leaning and updating gcode. Was hoping there was a plug in someplace I could use. Thanks again for the feedback.

That's what I thought myself when I first bought my printer, that there would always be a plugin which is smart enough to help me.

I've learned that there's nothing out there better than knowing the gcode, learning what they do and how things are setup at the beginning of a print job.

Learn how the G0 and G1 commands move things around and the difference between absolute and relative movement modes. Learn what a G28 does as well as a G92.

After all this, then by all means look for a plugin. But sometimes introducing a plugin (in the slicer or in OctoPrint) can mean that you'll now need to review other places where it inserts gcode to make sure they're not fighting with each other. But at least you'll now know what's going on.

1 Like

I'm 76 years old and really enjoy making things with my printer but sometimes it can be a hassle. When I purchased my first car I didn't need to know how to rebuild the engine, or build my own windshield wipers, just understand how to use the controls available although I know that back in the prototype days, more understanding was required. I believe that 3D printing by now should have moved beyond the 'experimental' phase, but people here seem to want it to remain there. Although I am still a bit of a geek and enjoy getting my RaspberryPI and Arduino to perform little tasks myself, I realize that this is not for everyone and I am sorry that sites like this one are populated mainly by people who look down on anyone who isn't like them and seem to enjoy keeping 3D printing within an elite group. This is not good for the field in general as it tends to deter the average person from getting involved and stops the industry from expanding in the way that it should.

2 Likes

Last year I was a software development instructor; I wanted to teach my students how to survive in the world rather than to just give them the answers to the problems. 3D printing is like that to me. I think everyone could benefit from understanding how this works.

If you find a plugin, great. It's also good to know how the car runs under-the-hood.

1 Like

OutsourcedGuru and bbc0 - I truly appreciate your perspectives. Normally I don't shy away from delving right in - however, there is way more to learn that there is time to learn it, so I'm picking my battles. To date, I've been focusing on programming, because once you've got what your after you can share it with literally thousands of people with only a little extra effort. 3D printing strikes me as being the same, so I'm getting more and more interested in it. Perhaps I just need to figure out how to write a the very plugin I'm after :slight_smile:

1 Like

Until recently I did all my own car maintenance and repairs. True I owned Subaru's because they are still built with individual components so I wasn't forced to purchase sophisticated equipment to diagnose problems but I never criticized others for not having the same level of interest in their vehicles. I think it's the same with 3D printing. Some folks want to delve into the core of the machine while others simply want to make use of the technology. I can't help but feel that writing code to perform a special task with the printer is a little more complex than "understanding what goes on under the hood".

Apologies if it seems like I'm criticizing. I consider what I'm doing as encouraging others to learn about the process of 3D printing. I don't see the technology yet as being consumer-friendly; it feels like it's effectively a manufacturing process.

1 Like

We disagree but that's ok with me. Merry Christmas :slight_smile:

And this is why the technology should still be considered in its infancy. Without a standard protocol that works exactly the same between every manufacturer's printer/firmware the steps required to achieve some of these tricks are going to be different.

For example, my bed level visualizer plugin has to do extra processing based on varying mesh reports returned by all the different firmware. The plugin's setup can be complicated because there is no standard gcode command between different firmware vendors, etc.

That added to the finicky nature of slicing models is really what's holding 3d printing back in my opinion. I'd be curious to know how many 3d printers are sitting in a closet because the user didn't take the time to learn and expected it to "just work".

I do agree with you. It's a shame the number of folk who buy a 3D printer and give up on it very quickly. Much of this can be blamed upon false advertising. I've yet to see a printer advertised as hardly working, flaky at best or experimental only. Now if you want to try to make the machine do more than it was advertised to do then it should be expected that a greater understanding will be required.
On the positive side it does help to provide a ready supply of firesale used machines :slight_smile:

@Rob_Latour Throughout this thread, you have failed to mention what Slicer you use and what model printer (and flavor of firmware). This thread has been mostly about the philosophy behind the technology and what skills and knowledge is necessary to accomplish tasks.

The title of this thread asks a question that hasn't really been answered. If you still want an answer (other than it depends on what slicer / firmware you have) then provide us some details about your environment.

1 Like

I am using a prusa i3 mk3s printer, and prusa slicer (both at current version firmware and software version respectfully). I didn't think that would matter, I was look for a plugin that is all. I see that Octolapse moves the extruder out of the way at every level change - I was just looking for something that did that at a specific level, but paused the extruder out of the way, until it was manually resumed.

The current PrusaSlicer doesn't support it but see https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.2.0-alpha1 for a version that will support pausing the printer in the slicer.

For the current version, your best option is probably one of the solutions in [https://github.com/prusa3d/PrusaSlicer/issues/1899] (https://github.com/prusa3d/PrusaSlicer/issues/1899) with the M600 being the simplest.

For others reading this thread, Cura has had post-processing plugins for as long as I can remember. Other slicers may have this capability as well.

For OctoPrint, there is a "mostly" slicer independent solution in the OctoPrint-MultiColors plugin. I say "mostly" because the plugin needs to know how your slicer identifies each layer (and your slicer needs to support adding a layer marker).

Bottom line is that some understanding of gcode is necessary and knowledge of what gcode commands your printer supports is needed if you wish to add advanced techniques to your printing projects.

Edit: Prusa firmware supports M601 - Pause Print and M602 - Resume Print. Not sure how they work in practice as I don't have a Prusa printer.

The first time I tried to insert a magnet the magnet jumped out and attached tot the extruded. That was a little exciting. Keep this in mind and be careful you don’t bump the servos and end up with shifted layers.

Thank you jneilliii that will work for me. Thanks too to everyone who contributed. Rob