Did you know that most printers allow you to change the filament during printing? It's a great feature that opens up all kinds of possibilities! You can easily print objects that appear to be multi-coloured. This is perfect for signs or logos, but you can print more complex objects as well. This giant Vault boy bottle cap was printed using 7 different filaments!
The basic idea is that you can print different layers with different colours on top of each other.
This means that whatever you want to print must be suitable for dividing into various layers. Clip arts are usually the best option, as they contain bold shapes and only a few colours.
Conversely, photographs are almost impossible to work with, as they contain hundreds of different shapes and colours.
Once you have your art ready, it's time to convert it into an vector image. Vector image is basically an outline that you can then use to create a 3D model from.
You can use Inkscape for conversion. It's a free, open source software that can run on most PC's. Once you have it up and running, simply import the file or just drag it in.
Let's do two examples. The first one is a YouTube logo, which has a simple design and only three colours. Import your logo into Inkscape, accept the default settings and the image should appear in your workspace.
Next, go to the Path menu and pick Trace bitmap. First, enable Live preview, as it's a lot easier to tweak the settings that way. I recommend selecting Colors option under the Multiple scans section. Finally, adjust the number of scans. Typically, you want as many scans as there are different colours in the scene.
This can of course change from case to case, so play with the settings and keep an eye on the preview. The actual colours are not really important. Your goal is to get as few shapes as possible while still retaining all of the features. Once you're satisfied with the preview, hit ok and check the results.
The newly created image is actually on top, so move it away and delete the old one. If everything looks ok, save it as a new file with svg extension. If not, go back and tweak the settings some more.
Next, we'll import the file to a modelling software so that we can actually create our 3D object. I recommend using Fusion360, but just about any modelling software can import SVG files, including Tinkercad.
In Fusion, we have to create a new component first. Then it's simply a matter of going to the Insert menu and selecting SVG. You should now see the outline imported as a new sketch. Then, decide how you want to divide the layers and in what order. The order is very important, as top layers will cover the bottom ones.
You should also consider the number of layers that you want to use. I've found that having two layers is enough to prevent the bottom layer from affecting the top colour. You can take advantage of this to create different shades by placing darker colours underneath.
I've created a simple model that you can print if you want to test different colour combinations with different number of layers. You can download it from Thingiverse.
Let's go back to our logo and think about how it's going to be printed. We want to print the background colour first, because everything else will come on top.
Extrude the rectangle to form the first layer of our sign. I will print this at 0,2mm layer height and I'd like to use two layers per colour. That means that the first layer should be 0,4mm in height.
Let's continue with the black part ("You"). Since we already have a 0,4mm layer and we also want the second colour to be 0,4mm in height, we have to extrude it for a combined height of 0,8mm. Hide the bodies so that you can see the sketch again and extrude all three letters together.
Finally, extrude the remaining two shapes (logo and the "Tube" part). They will both be the same colour, so you can extrude them together. As before, we already have 0,8mm of height and we want to add another colour, which brings us to a total of 1,2mm for the new extrusion.
Hide the sketches and enable bodies again to see how the final model looks like. If we go back into perspective, you can see how the layers are now stacked together.
We're all done with Fusion, so right click on the component and save it as STL.
Next, use your favourite slicer, but make sure to pick the same layer height that you've used in Fusion, which in this case was 0,2mm. Generate and save the gcode file.
Now comes the most important step; we have to modify the gcode so that the printer will know when to stop and switch filaments. Specifically, we want to insert the gcode command M600 at specific heights, which will prompt the user to change the filament.
Luckily, Prusa has already created an app to do just that; it's called ColorPrint. You can either download it to your computer or simply use the online version. Here's the best part; this works for the majority of printers, not just with Prusa. I've done a bit of research and this should work with Ultimaker, Creality, Wanhao, Monoprice and Delta to name just a few.
Now comes the easy part. Upload your model in the browser or load it in the app. Add the heights where the colour should change. If you remember, our first colour had two layers and thus a combined height of 0.4mm. That means that we want to change the colour at the first layer that comes right after that, which is at 0.6mm.
The black filament goes up to 0.8mm, so we want to switch to red just after that, which is at exactly 1.0mm.
Then simply save the changes and you're ready to print. When it's time to change the filament, the printer will move the head away, unload the filament and start yelling at you. Try to switch the filaments as quickly as you can. Leaving the hotend empty for too long can cause it to jam.
Most logos come out looking great and it's really easy to do once you try making a couple of them.
Even if you want to print shapes that are more complex, the process is basically still the same. The only difference is that you have to be extra careful when creating layers. Here's a little trick to help you out. You can actually assign different colours to objects in Fusion360.
Right click anywhere and Open up the Appearances tool. Right click again on the existing material and create a duplicate. By double clicking on it, you can now select any colour you wish. Then simply drag it to the shape you want. You can now stack coloured layers on top of each other and see how it should look when printed.