Change Filament At Z Cura Plugin
by rawlogic, published
Liked ByView All
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
UPDATED v3.2: If your plugin doesn't display a version, it's v1.0. The latest version is v3.2. Please keep coming back for updates or click the Watch button.
"ChangeAtHeight.py" is the Cura 2 and Cura 3 version of the plugin. "changeAtZ.py" is the legacy Cura 15 and Cura 16 version.
DESCRIPTION: With a single extruder printer, sometimes you want to switch filaments during a print to make something a little different or just pause at a particular layer to insert something.
The plugin, once installed into your Cura plugins folder, shows up as the "Change filament at height" plugin.
Usage (with default settings):
- Switch to the layer view and determine the layer which you want to pause at. It will pause at the beginning of the layer that you choose.
- From Cura's main menu, choose Extensions->Post Processing->Modify G-Ccode
- Click the "Add a script" button
- Choose "Change filament at height"
- Enter the desired layer in the "Pause at layer" box
- Click the "Close" button
- For additional pauses, simply repeat
- Save the G-Code file to an SD card
The "Cool extruder on pause" feature is not compatible with multiple extruders. It won't know which extruder to heat back up or which temp to use. So, disable that feature if you're using multiple extruders.
- Print the file from the SD card
- The printer will pause at the designated layer, turn off the extruder heat to avoid burning the filament in the nozzle, then beep to get your attention
- On the printer's control box, under the SD Card menu, choose "Continue Print". The printer will lock the stepper motors then beep. If you are inserting items, now's the time to do it.
- When you are ready to change filament or resume, choose "Continue Print" again, and your extruder will start heating back up to temperature. Once the extruder is at temperature, the printer will lock the stepper motors then beep again. If you are changing filament, now's the time to do it.
- Once you've changed the filament or are ready to resume, choose "Continue Print". The plugin will immediately prime the nozzle, then beep again.
- Wipe the nozzle then choose "Continue Print" the final time to resume the print.
In summary, here's the sequence each time you "Continue Print":
- Lock stepper motors (insert items)
- Heat up extruder (wait for it...) then lock stepper motors (change filament)
- Prime nozzle (wipe)
- Resume print
See the photo of my dragon print for an example of how well it works. The print was tiny. The photo shows the print sitting on my computer keyboard.
Here's the project that I actually designed this plugin for:
Personalized Glowing Valentines for Kids Remake
Here are my latest change filament projects:
Magnetic Construction Toys
No Soliciting Girl Scout Cookies Sign
IMPORTANT: If you set a value for "Move print head Z", it will attempt to raise the nozzle by that amount from the current z height, up to the max your printer allows. Leave the "Move print head Z" parameter at 5mm to move the head up 5mm from the print before parking. Setting it to 0 still raises it a minimum of 1 layer. If the current z height plus the value that you enter is less than 25mm, it will raise up to a minimum of 25mm so that you have room to work under the nozzle. If you put in a large value, you could possibly ruin your print or damage your cables (if your printer configuration reports a larger max Z than it actually allows because of cables, extruder height, etc.). Avoid using X and Y of 0 and 0 because your printer may hit your limit switches, causing it to lose a step or two. For my printer, Park X and Y of 10 and 10 puts it in the front left. 190 and 190 puts it in the back right (depends on your bed size). The plugin only pauses if you are printing from an SD card or Octoprint.
Cura 2 or 3 INSTALLATION: To install, simply close down Cura, drop the ChangeAtHeight.py file into the Cura PostProcessingPlugin plugins folder, then restart Cura. My plugins folder, using the default path, was at:
C:\Program Files\Cura 2.x\plugins\PostProcessingPlugin\scripts for Cura 2.x and
C:\Program Files\Ultimaker Cura 3.x\plugins\PostProcessingPlugin\scripts for Cura 3.x.
- Wanhao Duplicator i3
- Wanhao Duplicator i3 Plus
- Monoprice Maker Select
- Monoprice Maker Select Plus
- Balco 3D Printer
- Balco 3D Printer Touch
- Prusa i3
- Anet A8
- Malyan M150
- Cocoon Create
- Tevo Tarantula I3
- Any Repetier firmware printer
Does NOT work with these printers
- Monoprice Maker Select Ultimate
- Ultimaker 2
- Printrbot simple metal
- Anycubic i3 Mega
If you have a compatible printer and this plugin works for you, please let me know so that I can add it. My Monoprice Maker Select uses the Repetier firmware. I'm guessing that this plugin will work with any Repetier firmware based printer. The Marlin firmware seems to support all of the same commands, so it should also work with any Marlin firmware based printer. Thank you.
- If you are not printing from an SD card, this plugin will not work! It will not pause! You must print from an SD card (or with Octoprint)
- Some versions of Cura have a bug and don't automatically reslice when you add the post processing plugin to your project. You may need to force Cura to reslice. This can easily be done by, e.g. turning retraction on and off.
- If you are printing a large model, you may wish to ensure that the pause is present in your G-Code file before you start the print. Simply open up the G-Code file in a text editor and search for the text "CUSTOM" to find the G-Code that was added by the plugin.
- You will need to install the plugin for each version of Cura that you install onto your computer.
- The plugin pauses at the beginning of the layer that you choose.
Version 3.2 Changes:
- Fixed bug where the plugin wasn't looking for resets to the extruder position in the middle of the print (why, Cura?), so it was setting the extruder value to the wrong value when resuming print (Thank you, papavomsee)
Version 3.1 Changes:
- Fixed bug where the plugin wasn't finding extruder temperatures before the first layer, so it wasn't resuming at the correct extruder temperature for some users. (Thank you, poswald, eyal3388, and alexanderfreddy25)
Version 3.0 Changes:
- Added option to choose the layer by layer number or by height (Now defaults to "Layer" because it's so much easier. Just use the layer preview. No more maths!) (Thanks for the motivation, RustyCrackleford)
- Added option to cool the extruder on pause (On by default) (Thanks for the suggestion, RustyCrackleford)
- Added option to turn off the beep
Version 2.0 Changes:
- Added retraction parameters for greater control and especially for those with Bowden tube printers
- Added retraction distance parameter
- Added extrusion distance parameter
- Added prime distance parameter
- Lowered default retraction (and extrusion) from 7mm to 5mm
Version 1.3 Changes:
- Added retraction immediately after the cleanup stage to mitigate any oozing while it moves to the resume location
Version 1.2 Changes:
- Reset the extruder position in case the last movement was a retraction, which avoids extruding extra material when it restarts
- Fixed to work with multiple filament changes (at different heights) in the same project
Version 1.1 Changes:
- Renamed the "Head park Z" parameter to "Head move Z" to more accurately portray what the parameter does
- Ensure that we always raise at least 1 layer
- Ignore negative values for all parameters (defaults to 0)
- Changed default "Head move Z" value from 0 to 5
Cura 15 and 16 are no longer supported and will not receive updates for this plugin.
Legacy Cura 15/16 Change Height at Z v2.0 Plugin
Cura 15 INSTALLATION: To see the plugins, you'll need to switch from "Quick print" to "Full settings" in the Expert menu. To install, simply close down Cura, drop the changeAtZ.py file into the Cura plugins folder, then restart Cura. My plugins folder, using the default path, was at: C:\Program Files (x86)\monoprice\IIIP\IIIP15.01\plugins
The plugins folder for the downloaded version of Cura 15 was at: C:\Program Files (x86)\Cura_15.04.6\plugins
Interestingly, the plugins folder is not IN the Cura folder, but next to it.
(Wanhao) Cura 16 INSTALLATION: To see the plugins, you'll need to switch from "Quick print" to "Full settings" in the Expert menu. To install, simply close down Cura, drop the changeAtZ.py file into the Cura plugins folder, then restart Cura. My plugins folder, using the default path, was at:C:\Program Files (x86)\WANHAO 3D PRINTER\WANHAO-16.01\wanhao-cura\plugins
Maker Select 13860
I printed the dragon at 0.1mm resolution. The background layer is 0.3mm thick, and my first layer is set to 0.2mm, so I set the plugin "Change Filament at Height" to 0.4mm, which ended up being the third layer. This allowed me to change the filament from clear for the background to orange for the dragon.silhouette. Alternatively, I can just choose Layer 3.
Upgrade this Thing with Thingiverse AppsTools and Utilities
Repair, slice, or enhance this Thing
Change Filament At Z Cura Plugin by rawlogic is licensed under the Creative Commons - Attribution - Non-Commercial - No Derivatives license.
What does this mean?
- You must attribute (give credit) to the creator of this Thing.
- Remixing or Changing this Thing is not allowed.
- Commercial use is not allowed.
Show Some Love
Say thanks by giving rawlogic a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure rawlogic would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).