- 3dprintinghelp
Change Filament During Print
Mult-colored prints are amazing to see. Not all of them are created the same, though. In some cases, like with the Mad Hatter or Queen of Hearts, each color is a different object to print. The Hatter and Queen were designed specifically so each part could be printed in a different color. All the parts then snap together or are glued together.
In other cases, either by design or using software like LuBan3D, flat objects can have different layers that can be printed with different colors and then stacked and glued. Here is an example of this using LuBan3D.
Another way is by using a device like the Mosaic Palette. This machine can load multiple colors, or even multiple types, of filament and fuse them at the right time to change the color on the print. This allows you to print a non-flat 3D object with multiple colors.
In this post, I'll go over how to use Cura scripts to pause the printer, unload the filament and load a new color and then resume your print job.
Finding an Object to Print
For this example, I will use the lid of the Peg Nativity Set that has the words "O Holy Night" on it. You can find this on Etsy. It's a fantastic set, prints great, and can be printed in any color you like or even painted!

In the example above, this is printed in all white. I want to replace the raised outline and the words with a different color.
The lid works as a great example because the lid is flat, and there is a defined layer where the color change can happen. Any flat object similar to this is great for using this method. Similar objects would be license plates, nameplates, door hangers, signs, etc.
Here is an excellent example of a sign. This designer created this sign where you can print by changing the filament using this method or by printing the base and the lettering separately.
You can get the file on thingiverse here.
Finding the Layer to Change
The first thing you need to do is load your object into Cura. Below are a couple of photos from different angles of the lid that I am going to be printing. You can clearly see the defined areas of the lid, where the "base" if you will stop and the outline and words begin.


We want to figure out what layer we want to change the filament.
Set the settings you want to use for the print and then slice the print. When the slice is complete, you can switch to Preview mode. You will see something like this:

The slider on the right will show you how many layers the object has. In this case, I have 24 total layers. I need to find where the base stops and where the outline and letters begin. To do this, drag the slider to the bottom to show the first layer, then pull it up until you see where you want the filament change to start.
For this example, I can see that the base completes printing and the outline and letters start at layer 9. My preference is to have layer 9 continue to be white, but I want to change the filament at layer 10 so the rest of the object prints with a different color.

Cura Post Processing Script
Cura uses something called a Post Processing Script to modify the g-code. Many scripts can be added. We will use one that will tell the printer to change the filament.
Click on Extensions -> Post Porcessing -> Modify G-Code

Choose the Filament Change Script from the Add a script drop-down menu.

I want to change the filament at Layer 10, so that is what I placed as the setting. Click on Close to save the change.
TIP You can change the X and Y positions to be something other than 0,0. The zeros represent the home position. If you are printing something tall, you may cause the hot end to bump into the print. For this print, I am okay with the home position so I left it 0,0.

You will now see a script button next to the slice button. This indicates that there is a script associated. Slice the object again to ensure the script is added.

Multiple Color Changes
If your object has multiple color changes, repeat finding what layer to change at and add another filament change script. You can do this as many times as you need or want to.
Print the Object
Now you can print the file. The printer will pause and unload the filament and beep when the layer is reached. You can then follow the prompts on your printer to change the filament, load, purge, and resume the print.
If you are not home or otherwise not available to immediately change the filament, don't worry! The printer will wait for your input before it continues. The bed will stay at the correct temperature as well.
This is the lid after the pause for the change of filament.

You will hear a beep and then be prompted to change the filament.


After loading the new color and pressing the button, the nozzle has to reheat. The bed will stay hot.

Once the nozzle is hot again, it will start to load the filament and purge to change the color


After the purge is completed, you will be prompted to either purge more or continue the print.

The print will continue where it left off, using the new color.



Delete the Script When Done
Remember to delete the script when you are done! If you do not do this, the script will be applied to the next object you slice.
Click on the Script icon next to the Slice button to open the script.

Click on the black X next to the Filament Change script. This removes the script. Click on Close to complete the action.

I hope you found this helpful! Happy printing!