Remember paint-by-number kits? Your canvas has outlines with numbered regions that you paint with correspondingly numbered paints. When you are done, you’ve recreated the Mona Lisa. [KurtH3] uses a similar technique to coax multicolor prints from his 3D printer.
The technique isn’t general purpose, but it still is an interesting way to add some color to your usually monochrome prints. The idea is simple: You find a paint-by-number layout (apparently, you can find them with a Google search). Use your favorite method to get the outline into a CAD program. [KurtH3] doesn’t really get into the details about this, but some CAD programs will directly import images. Others will require you to trace in Inkscape (or a similar program) and convert to a vector format like DXF that the 3D CAD program can import.
Here’s the trick: instead of extruding the 2D image as one piece, you extrude the numeric regions to slightly different heights. Say you wanted to print a red, white, and blue flag to a thickness of about 5mm and you use 0.2mm layers. You could extrude the white part to 5mm, for example. Then the red parts could be extruded to 5.2mm (one layer higher) and the blue parts to 5.4mm. You could extend the idea to do multiple layers, although that will increase the surface roughness.
[KurtH3] pauses the print at the end of the layers to change filament, but we would probably edit the sliced G-Code to put pauses in the right places (for example, Repetier Host lets you put @pause in your file). You could also use software to split the G-Code as we’ve previously covered. The resulting print, using our example, would be white from the bottom up but would have thin red and blue layers over the top in the right places. The few hundred microns difference from the white surface to the other colors means you won’t get a perfectly smooth surface, but a few hundred microns shouldn’t be too noticeable.