We love to 3D print in multiple colors. It’s a great way to brighten up any project. But we no longer have our dual extruder printer. To make multicolor prints we use pause points. Meaning, there is a script of code we add to the g-code after we slice the model, that pauses the print at the exact layer we want. This code keeps the nozzle and bed warm while we switch out the filament, and picks right back up and starts printing. The alternative to having a pause point in the gcode is waiting until the right layer and manually pausing the print, but that requires you to be closely paying attention to your print job so you pause at just the right time. If you want to make multiple prints the exact same then you need to pause at the exact same layer every time, and that is difficult to do manually.
That’s the overview. Now let’s get specific.
First, we’ll cover the Craftbot. If you are not familiar with Craftbot, it’s build plate moves up and down. The nozzle only moves in the X and Y direction. Because of that it is easier to use pause points with a simple line of code.
The first thing you must do is decide at what layer height you want to change filament colors. For this example, I wanted a stripe on our egg to be exactly in the middle. We use Simplify 3D as our slicing software. According to Simplify 3D, the model we had 498 layers. That meant I needed two pause points, at layers 166 and 332. That way the print will go up one third, I can switch to a new color, print another third of the way up, and switch back to the original color.
After slicing the model and exporting the gcode, open the code in a text file like notepad. Search for the layer at which you wish to pause the print. Control+F “Layer 166”.
Then insert this code (the three lines starting with G28) just before that layer:
Do that at each pause point. Save the file and get it printing as you normally would. The printer will automatically stop at the right layer. Then, switch out your filament and resume print. It’s that simple.
Now, the CR-10 is slightly different. This is because the nozzle moves in the Z direction. Therefore, the code you will enter at the pause point is different. Everything else is exactly the same. Establish where you want your pause point(s) as discussed above.
Then, copy and paste this code (the four lines starting with G28):
Notice that the CR-10 code actually has the printer go back to the origin. That’s because when you change out the filament on the CR-10 you are likely to accidentally push the nozzle down. The printer would not know it moved, and you can damage your print. Because of that we added a line of code to re-calibrate the Z axis. Next, enter the Z coordinates for the next layer in the new code so the printer knows where to pick up from. Resume print and you are on your way!