Cura Post-Processing Plugin Scripts
About three months ago, I started a print on my Ender 3 printer. It printed a test strip on the left side of the build plate, then stopped, did some bizarre feeding thing with the filament. It then added the message “Change Filament” to the printer’s screen, raised up the print head, and started grinding on the filament. After a few seconds, a tonal alarm sounded on the printer. It was loud enough to startle me!
Just hitting the control knob button on the front of the printer returned the printer to normal operation. From that point on, the printer would do this every time. To me, it looked like it was going into some mode to change filament but during this time, I’d changed the filament several times, and that wasn’t the issue. That, and I didn’t have a filament sensor, so how did it even know?
In Cura Slicer, under Extensions, look for the Post-Processing Plugins under the Extensions menu. Open this and you will find which plugins are active. You can uncheck unwanted plugins, or click “Add a Script” to enable any of those that are loaded.
Cura Post-Processing Plugins
My next clue on my journey was when my prints would progress until it reached a layer height of 5mm. Then, the print paused. All I had to do was tap the button and the print would start up again, once the print head reached temperature again. This was the clue that got me to the solution. It only started a week ago, and had never done this before.
I went through all of the settings that I use in Cura for my Ender 3. I could find nothing that referenced this sort of behavior, nor the change filament actions at the start of the print.
I felt like I was plagued with random bizarreness with this printer. But as my engineer father taught me, it’s a machine. It has a reason for everything it does. I just had to find the issue. So I looked back at what could have changed in the last week. I searched the web and couldn’t find anything that described this problem. I found several people who complained about these issues, but no answers as to what the problems were.
I had upgraded Cura to the newest version. So something in that new version added this “Pause at Height” function at 5mm. As soon as I said that term, “Pause at Height” to myself, I remembered seeing this somewhere. I went through all the menu items on the Cura Slicer, and then I found it. Under Extensions, there is an option for Post-Processing, then Modify G-Code. I opened that and, sure enough, there were two post-processing plugins active:
- Filament Change
- Pause at Height
I deactivated both, and sliced my next model. When I took it over to the printer, it printed like it should have all along. No wacky change filament issues. No pause 5mm into the print. It all went smoothly. I was so happy! It was the act of upgrading Cura (which is, essentially, downloading the newest version and using that). It comes standard with these two plugins enabled, and they were added to every one of my prints.
What Is a Cura Post-Processing Plugin?
The Cura Slicer takes an STL file and prepares it for printing. It allows the user to adjust scale and positioning of the model, then add supports for overhangs. It then slices the model (just like it sounds, it electronically creates slices, or layers, that the printer can print). Then, it outputs a .GCODE file that is the control language that the printer reads to know where and when to move the print head and extrude plastic.
- See my article on GCODE here: https://home3dprints.com/what-is-3d-printing-g-code/
The Post-Processing plugins are extra code that you want to tack onto that .GCODE file. There are quite a few plugins in the software, but the two that Cura Slicer had enabled for me were “Filament Change” and “Pause at Height”. Each of these is a snippet of GCODE that gets added into the output file at the appropriate place. For example, when you select “Pause at Height”, and you specify 8mm, the code to pause the print will be inserted into the GCODE at the very point where the layer height rises to that level.
These pieces of code can be quite useful, if you know that they’re there and want to use them. My issue was I didn’t know about them, and didn’t want them in my code. So when they showed up, I was baffled as to why and had no clue how to fix it. Luckily, with a little sleuthing, I was able to figure it out.
Where Do Cura Post-Processing Plugins Come From?
We’ve talked about the plugins that come with a new install of Cura Slicer. Hit “Add a script” to see the list of installed plugins. But there are more out there. Have a look here for a GitHub repository of plugins that could be useful to you:
Once you have the downloaded plugin, drop it into the following folder on the computer that you’re using Cura Slicer on:
- C:\Program Files\Ultimaker Cura [X.X]\plugins\PostProcessingPlugin\scripts
Restart the program and the new plugin should show in the list. Under the Extensions/Post-Processing Plugins menu. You can do a Google Search to find more, and have a look at Thingiverse.Com, as some folks have added some there, too.
Uses For Cura Post-Processing Plugins
The first use I don’t recommend is the Filament Change plugin. I don’t see what it’s trying to do, and I think that they have a reversed value in it so that it dumps some filament instead of retracting it, like it’s supposed to. Ignore this one, or better yet, remove it so it won’t bother you.
But what about others? There are some good examples out there. The Pause at Height plugin can be useful in two ways. First, you could use it to pause at a layer height, then change to a different color filament (or even different type of filament). This means you could print a multi-colored, layered vase, for example.
For those of you into games and game pieces like I am, One intriguing thing to do would be to create a void in your model to house a magnet. This could be useful if you want two pieces to snap together, but you want the magnet to be completely hidden. You would calculate what height that the hole for the magnet would be open, before the cover for that hole is printed, and then pause. You manually add the magnet, then resume printing. The printer will continue, enclosing the magnet within the hole. At the end of the print, you have an object with a magnet embedded in it. Unless it breaks, that magnet is hidden and won’t ever fall out, but should still be effective through the thin walls of the cavity where the magnet is housed.
Sirrommit, over at Thingiverse.Com designed a plugin to raise a print up with supports, so that the first layer prints just like all the other layers (in case you have different settings for the first layer). Take a look here:
With any downloaded content that you want to add to Cura (or any other program for that matter), make sure your system is backed up and that you have anti-virus software running. Caveat emptor- buyer beware. Just be safe.
Can you change filament mid print Ender 3?
You can change your filament during a print on Ender 3. First, pause the print from the menu. Then, extract the existing filament and install the new filament. Then, select resume from the menu. The print head will home again, then return to printing with the new filament. You can use the post-processing plugin “Pause at Height” to have the print auto-pause at, say 5mm into the print. You change your filament, then resume with the new filament.
How do you start printing in Ender 3?
Once you have an STL file sliced in Cura Slicer, save it to the micro-SD card. Insert this card into the printer in the slot lower left on the front of the printer. Once in, select “Print From SD” in the menu. Select the file from those listed, and hit the button. At this point, the printer is in charge. It will heat up to the set target temperatures, then start the print process.