More and more printers are coming out that introduce new and creative ways to print two or materials. The Ultimaker 3 raises and lowers one nozzle so they are never on the same plane, reducing oozing and smearing of colors, BCN3D has their IDEX printers to keep each nozzle completely out of the way of the model, or there’s even the Mosaic Palette+ to print 4 different colors out of one nozzle. But how exactly do you make a model that’s ready for multi color printing?

To make a 3D model designed for dual, triple, or even quad color extrusion, there’s a couple different ways you can go about it. Either you’ll need to model it yourself from scratch using some program like Solidworks, Fusion 360, Blender, or any other similar modeling program, or you can modify an existing STL that you have by using netFabb.

If you've seen Phil before, you'd know that he's always been a single material model, but if you check him out in the Design Store, I've now uploaded a second set of models so you can print your own dual-color Phil. I'd love to see the different color combinations you can come up with, so feel free to tweet him at us.

There are many articles and videos about how to make your own models and set them up for dual extrusion, so today I’m going to focus on using netFabb, since it’s easy, I know it, and it’s free. It’s not the only way to do it, so if you find something else that works for you, stick with it.

To start off, you need to find the model you want to modify. I’m going to run through three different models to show off the various shapes you may come across that complicate the process:

Simple, low poly models

The Stanford Bunny is a 3D model that was designed to test 3D renders, but it also works as a decent calibration print. To better demonstrate some of the basics, I’ve converted the bunny to as low poly I could get and maintain the general shape, bringing it from 60,000 triangles to 350.

The Stanford Bunny, modified to be low-poly.
The Stanford Bunny, modified to be low-poly.

Let’s say you wanted to make the head of the bunny a different color than the body, but you wanted it to follow the contours of the model and not be a simple color swap. Start off by duplicating the bunny into the same position as the original, by right clicking the model and clicking “Duplicate” and deselecting “Arrange Parts” to keep them in the exact same space.

[2.  Duplicate option]

The Duplicate tool is really versatile, but we are only going to use the most basic option.
The Duplicate tool is really versatile, but we are only going to use the most basic option.

With one of the bunnies selected, click the red plus at the top that says “Repair” when you hover over it. This will change the menus in netFabb so you can modify the mesh triangles of your model. For the bunny with only a couple hundred triangles, this toolset will work fast and load quickly, but once you get into the tens of thousands of triangles, it can start to chug.

Even though this is the
Even though this is the "Repair" menu, we can do a lot of mesh modifications within it.

From here, you can select individual triangles, whole surfaces (which means all the triangles that are a shallow transition from one you selected all the way to the limits of that shape, or shells (which is all triangles that share vertices within that mesh). For this low-poly model, we can work with just “Select Triangles” to start.

The
The "Select Triangles" tool is going to be the best selection tool for this. The other options are handy, but for this it doesn't provide enough control.

Blue triangles are not selected and green triangles are selected, holding Shift after clicking on either a blue or green triangle will add more to your selecting, and holding Ctrl after clicking a blue triangle will deselect any triangle you drag over or clicking over a green triangle will select any triangle you drag over. It’s really easy to figure out, and working with a low-poly model is great practice.

Selecting all the polygons of the head is really easy for a low-poly model.
Selecting all the polygons of the head is really easy for a low-poly model.

You need one of the bunnies to be the parts that will be “Color 1” and the other bunny to be the parts that will be “Color 2.” To do that, you need to delete all the triangles that are not supposed to be that color and run the automatic “Extended Repair” to cover the hole.

It looks a little weird, but we have successfully turned the head into its own model.
It looks a little weird, but we have successfully turned the head into its own model.

Once you’ve done that with one model, take the duplicate of the original and modify that one to be “Color 2.” Once you have these two models, you are ready to print them on a dual extrusion 3D printer.

Modify the duplicate to have just the body, and we're all set.
Modify the duplicate to have just the body, and we're all set.

Complex Models

Now most models you’ll want to play with probably aren’t low-poly, and if anything they are high poly 200,000 triangle models. Phil A Ment has 170,000 triangles, and I’ve set out to make him ready for however many colors I can come up with, and that’s going to be a challenge.

Phil is a high-poly model, with 170,000 polygons.
Phil is a high-poly model, with 170,000 polygons.

To start off, I’m going to focus on making our logo a separate color from the rest of Phil. I need to duplicate Phil and rename them so I can keep track of them, and then start selecting the triangles I need separated. Now, I only want the faces at the back of the deboss, so I will use the surface selection, select the three separate part, invert my selection, and delete everything else.

All the unwanted triangles are deleted, leaving behind the wonderful MatterHackers logo.
All the unwanted triangles are deleted, leaving behind the wonderful MatterHackers logo.

Now that I have these faces, I want the dual color to have some depth to it, so there’s more than just one perimeter of color for it. To do that, I’ll select the faces again, click “Extrude Surfaces” at the top, and specify how thick I want it. In this case, 3mm thickness sounds good, but I want it to go into the body of Phil, so I’ll input -3mm and apply.

The 2D extrude tool does exactly what we need to create the right shape for the logo.
The 2D extrude tool does exactly what we need to create the right shape for the logo.

Sometimes it can extrude things and get a little wonky. Red faces denote the inside of a model and blue the outside, and in this case, things are swapped. I can correct this by selecting all the triangles, right clicking, selecting “Flip selected triangles,” and running a simple automatic repair to cover the hole.

Like I said before, there are many helpful tools within Netfabb.
Like I said before, there are many helpful tools within Netfabb.

Now I have what I want to be printed, but I need to remove this from the main Phil body. If I were to do it as is, then I would be left with a thin and glitchy skin of where the original faces were, but there’s a way to solve this. First, I need to duplicate the badge and keep it in the same place, then with this duplicate, extrude the intersecting faces by some arbitrary amount (0.01mm works just fine). You can see the difference here, with the original having intersections where the gray shows through, but the new one is one solid color.

If we stopped right here, Phil would have some problems, but with a couple steps we can fix it right up.
If we stopped right here, Phil would have some problems, but with a couple steps we can fix it right up.

From here, I’ll select the modified badge and Phil, and click the green and red spheres at the top for “Boolean Operations.” From here I can select what I want removed in red and what I want welded together with green. Once I have the base Phil green and the badge red (and in the future I could do all the features I want dual to be removed at once), the red minus at the bottom will subtract the red from the green, then I’ll click the green check mark to accept the changes.

Trying to combine or cut apart a model is really easy with the Boolean tool.
Trying to combine or cut apart a model is really easy with the Boolean tool.

You can see that the cavity is deeper, and the part I want in the second color will perfectly fit in its place.

First part is successfully removed for dual extrusion.
First part is successfully removed for dual extrusion.

In most scenarios though, you won’t have a perfectly flat face to extrude, like the logo. Instead, it may be something like Phil’s boot caps, which has a lot of different curves and angles, and using a one-direction extrusion will create a lot of bad intersections. Instead, I can use the “3D-Extrude” tab instead of “Extrude,” and this will push the extrusions along the normals (or parallel planes) of each individual triangle instead of a simple extrusion along the X, Y, or Z axis.

There might be some additional steps to get it to work, but soon you'll be in the groove and have a whole Phil ready for dual extrusion printing!
There might be some additional steps to get it to work, but soon you'll be in the groove and have a whole Phil ready for dual extrusion printing!

It’s the same process as before of having one set to boolean subtract and one that is exactly what should be printed in a separate color. After that, you just have to repeat for all the features that should be different colors. Sometimes things don’t 3D-extrude really well, and in those cases you’ll need to do some tweaking here and there to get it to work well and look good.

After some heavy tweaking and back and forth, you will finally have a model that’s beautiful and just as detailed as the original model. There are more than likely better ways out there to go about it, but this is the method I have put together to get it to work, since try as I might I couldn’t find methods for something this advanced.

I hope that this article was informative and has inspired you to try and put together your own dual extrusion models.

Is there something you'd like to see Alec create using 3D printing? Let us know in the comments below, or send an email to support@matterhackers.com.