Pausing a Mini at specified Z height

I was trying to make the “pause at height” plugin work on my Mini but it would not pause. It recognized the correct Z height and moved away from the print but went right back to printing before I could insert the part I was trying to encase. David Hall at Lulzbot helped with this info:

The pause command does not always work the way I would like it to.
What I do for a pause function is enter a dwell command in the G code entry bar.
If you wish to pause it enter G4 S030 (this is a pause for 30 seconds) and hit enter.
You can adjust the seconds on the last 3 digits to whatever you wish.
The main part to remember here is to pause the print on the infill, so that you don’t damage the exterior of your print.
This command is far more easily controlled.

This paused the printing for the specified time but the stopping point is best guess (the machine seems to buffer several lines of code before the pause takes effect). It also didn’t move the print head away from the print to give me room to work with the insert.

I asked David a couple more questions and his reply was:

The code I gave to you for pausing is not to move the toolhead away from the print surface.
There are no good ways to pause a print and have it restart at the proper place. There are too many things that go wrong to have a print start, stop, move, and then go to the same place. Prints should always be printed from the start to the end without interruption.
There are no ways for you to print from G code on the Mini. That is what Cura does, it slices your print and puts it in G code so that your printer can run off the file.
The larger versions of printers, Taz 5 can also use an SD card to have prints downloaded and run directly from the printer. This is not an option on the Mini

I think I understand his reasons for saying so but not being smart enough to take good advice I pressed on…Here is my solution so far:

I modified the “pause at height” plugin that comes with Cura by adding the Pause G code suggested by David. It will only give you the pause specified in the plugin so several different plugins with different pauses may be required (until/if I can figure out how to add the time variable to the plugin menu. It looks a lot like the old lisp routines in Autocad). I have attached my sample file. You will need to copy it into the Cura plugin folder and delete the TXT portion of the file name. It needs to be a PY file. Notepad appears only to saveas a TXT file. You can find the portion of the file to modify easily by finding #PAUSE.

Another hint - set the Y value to 125 or so. This moves the print to the front of the machine for easier access. If it is set to Zero it moves the print back in the machine.

Disclaimer: I would not recommend this for changing filament color. I don’t think it will advance the filament enough to start printing immediately and would produce weak prints with gaps in Z. Of course it could be modified further but I don’t know that the extrude value wold be the same each time. That is not what I needed the pause for.

Anyway I hope this is of some help to someone out there…

Chuck
pauseAtZfor60.py.txt (3.77 KB)

Thank you for sharing this information! Our team is developing an easier way to do this for a future release of Cura LulzBot Edition, anyone interested in following (and contributing to) development can do so here: https://code.alephobjects.com/project/profile/1/

Here is the way i do it on my Taz 5. Always have had great results. Of course there is always the possibility of a X or Y shift, but I have yet to see the issue.

https://forum.lulzbot.com/t/software-pause-change-filament-gcode/1548/1

Thanks for the link kenhara. I looked at the page but I don’t see how I could contribute to any development there. Looked like it would mainly be to follow development. I will spend some more time there and see if I can figure it out.

Please offer a Mini version as well as the Taz.

Discojon thanks for your link but the Mini is a different animal. They don’t really tell you (and I never imagined) that because you have to run the Mini tethered the prints must be run directly from Cura. You can’t print to a gcode file and then send the file to the printer so there is no chance to modify the gcode in the file. Any gcode mods have to be created with a plugin. The Mini also doesn’t have the screen to let you restart manually after a pause. I think that is why the standard pause at height doesn’t work.

I have attached the next version of the modified pause at height plugin. It will allow you set the pause time by setting it in the plugin menu. I think if you experimented with the retraction distance you could change the filament and have it ready to extrude when it got back to position.

I guess on the new Alephobjects version it should move to 0,0 like yours does and rezero before it goes back to printing so like you say it won’t be affected if you move the print head a little as you change the filament. It should probably also purge some filament at 0,0 before it goes back to printing to ensure a good color change. (2 versions? one for just pause and another for color change?) I think an option for layer number as well as height would be good as long as I’m asking :wink:
pauseAtZ-time.py.txt (3.8 KB)

Hey cantieny,

I work on Cura LulzBot Edition here at Aleph Objects. This is the feature request (basically empty so far) to add a working Pause button: https://code.alephobjects.com/T220 you can join the discussion there. The actual repo where we store our code is located here: https://code.alephobjects.com/diffusion/CURA/. After cloning this git repo to your machine, make some changes, then you can submit a pull request back to us. Please ask questions you have along the way!

~Nick

CAUTION !!!

I just ran another print using my newest pause at height with time plugin and it screwed up. After the pause it returned to position and just kept extruding at that one place.

IF YOU USE THE ROUTINE PLEASE USE EXTREME CAUTION!

It may have been a fluke but I have not tested again. Will repost as testing continues.

Chuck