Shopping Cart

Multi-Color 3D Prints: A Beginner's Guide

Multi-Color 3D Prints: A Beginner's Guide

For the most part we followed a fairly typical process - CAD, Slicing and Printing. In order to be able to assign different extruders we added one critical part -- cutting the original STL model into 4 different parts. Aside from that the devil lies in the detail: The final Kisslicer profile we have explained and attached below went through more than 20 iterations of trial and error. And it's probably still not perfect!

There is a great number of amazing tools out there, many of which are free to use or are fairly inexpensive.  We used the following 4 tools and would like to thank the developers for their continuing efforts to improve these:

1. TinkerCAD: Initial CAD Design

2. Netfabb: Cutting the STL into 4 different parts

3. KISSlicer: Slicing

4. Repetier on Felix 2.0: Printing

CAD Design with TinkerCAD

We'll be honest: We LOVE TinkerCAD.  No doubts it has certain limitations and may not be suitable for the some of the more professionally inclined designers. But we found it perfect for our purposes. It's entirely free and cloud-based. Within minutes it gets even the most unexperienced person started with basic 3D designs.  We started using it 6 months ago and have become fairly comfortable by now. So far we haven't had the need for a different CAD software.

One thing we have noticed though is that the generated mesh occasionally shows errors in KISSlicer (this may be due to our design, of course). Most commonly we have an edge that is on a degenerate tri.  Running the design through a tool like ReMESH or Netfabb (see below) can take care of those issues though in a heartbeat.

The finished STL of our promo spool is available on thingiverse:

Cutting the STL with Netfabb

In order to freely assign extruders (and thus different materials/colors) we need to load separate STLs into KISSlicer.  Rather than trying to break up our design in TinkerCAD, we used Netfabb's handy "Cut" function to achieve the same.

Simply load the original STL into Netfabb and use the cut dialog on the right-hand side. In our case we simply "sliced" our object along the z-axis.  After entering the cut position and selecting "Execute Cut", you have a chance to review that the cut is in the right spot.  In our case we needed to make sure that the final cut of the Cubicity logo was not too low.

After ensuring in the preview that the cut is good, hit the "Cut" button. Otherwise hit cancel and try again.  We did our best to calculate the original design, but it took us a couple of tries to get the cut just right!

After the cut is done, select the part to confirm that it was done correctly. Here we can see that our logo will start in a new color, which is what we are trying to do. If the cut were just 0.2mm lower, it would also include the top layer of the spool, which of course would not look right!


Slicing with KISSlicer

Here comes the fun part.  No doubt this is where we spent a bulk of our time.  There was quite a bit of tweaking necessary from the basic profile we downloaded from the Felix Printers forum. Of course there are some specific settings for dual-material prints that we'll point out as we go through the settings. 

Note: We are using the PRO (read: paid) version of KISSlicer.  Several features won't work in the free version and we are fairly certain that dual extrusion is part of that list.  I highly recommend paying for the pro version, you won't regret it. Jonathan Drummer has done great work here and he just recently picked up development again, so expect this nifty tool to get even better!

To start off, here are the profiles for download:


(Note that we stripped all other styles, support and materials that are not relevant to this post. We feel that makes it less overwhelming.)

Let's Have a Look at the Main Screen

Let's get started by clicking "Open" and select the STL files you would like to add. You can do this at once or open multiple files by going back to the "Open" dialog several times.

STL File Selection

1. Assign the Extruders

Click in the area that lists the STL file names ("promo spool p01, promo spool p02, ...") to bring up the extruder selection dialog. Note that you can actually assign extruders for each separate mesh within the STL file.  For simplicity we going to have each STL printed with the same extruder, i.e. we are not changing extruders within any single layer.  

We also changed the count here to "4" as we were ultimately "mass-producing" these spools for the World Maker Faire.  Obviously you should have dialed in your settings before trying this.  It is so much more frustrating when the print fails at the end of 4 or 5 instead of one. (It did happen to us). 

However, particularly with the added time for heating the extruder with every color change, you will save some time by printing multiples. Also, the prime pillar will only be printed once, saving additional time.

Assign Extruders

2. Print Speed Settings

We haven't done a detailed analysis of how faster print speed will affect the quality, or how fast we could go.  The settings shown here are certainly on the conservative side and resulted in really nice prints.  If you do change this, keep in mind that you will have to adjust the extrusion temperature accordingly.  Faster print speed require higher temperatures.  Check the recommended temperatures for Voltivo ExcelFil, depending on material, color and extrusion speed.

3. Positioning

While you won't necessarily have to touch this, we sometimes use it to avoid printing across the gaps of the tape covering the bed.  We used 2" painter's tape for these PLA prints and managed to get 3 out of 4 prints to be entirely on the tape.

4. Summary

Just a quick overview of the selected profiles for style, support, printer and materials.

Style Settings

Style Settings

A. Layer Thickness

We find that the optimal setting with a high quality filament is 200 microns.  Reducing this further to 150 microns did not yield noticeably better results and takes significantly longer.  However increasing this to draft settings of 0.25mm and above does reduce the quality visibly.

B. Extrusion Width

This can be a controversial setting and we highly recommend checking the nozzle diameter of your printer.  The Felix has a 0.35mm nozzle diameter. After reading a post that said you could go above this we used 0.4mm for a while.  We started noticing increased filament feed issues about 60-80% through the print.  At first we started tweaking the filament tension, but it didn't make any difference.  In the end we figured that the nozzle was ultimately getting clogged as the extruder was trying to push more filament through the nozzle than it could handle.

We of course have no evidence that this was the reason, but ever since changing this to 0.3mm we have had virtually no issues with filament feed throughout the print.  I strongly recommend leaving this at or below the width of your printer nozzle!

C. Skin Thickness

This should be a multiple of your Extrusion Width to make it as efficient as possible. Ideally, it should be the Extrusion Width multiplied by the number of loops:

0.3mm (B) x 2 (D) = 0.6mm (C)

If you don't follow this rule your print quality may suffer or the print will take longer than it should. Or, in some cases the setting will simply not be applied. 

With regards to the overall thickness of the skin, you can try increasing or decreasing this, which should impact the strength of your printed object and the time it takes to print it.

D. Loops

As stated in (C), make sure to set this value in accordance with Extrusion Width and Skin Thickness.  We have seen 3 loops in other profiles, but generally think 2 loops is a solid value for most prints.

The direction of the loops (inside to perimeter, or outside-in) is a tricky one to solve.  For overhangs it can be beneficial to go inside-out, as we did for our spool (which had a 0.5mm overhang). However we have noticed that this setting causes the layer to become too high when printing ball-shaped objects so that the nozzle eventually hits and pushes down the print.  If anybody has experience with this, we'd appreciate your feedback.

The solution may be to simply try both ways for each unique object you print and see what works better!

E. Infill

Obviously this affects the strength of the object and increases print time if you go high here. We printed a rather small object and there was no noticeable in the sturdiness of the object between 20% and 12.5%, but it did save us some time.

F. Infill Extrusion Width

This could be set to a different value then (B), but we haven't found any benefit of doing so and simply set it to the same value (remember to keep it at or below the diameter of your printer's nozzle).

G. Seam Hiding

We could probably write a whole chapter just about seam hiding.  We haven't done a ton of research, but achieved fairly good results with the settings shown above.  Changing the Jitter from 0 to a different value definitely removed the an otherwise visible seam.  However I cannot say if 180 degrees is the ideal value here.  Please let us know if you have experience with this.

Support Settings

Support Settings

H. Prime Pillar

We only use the Prime Pillar option here, which is not technically support for the object. The prime pillar does take time, but I personally love it. Especially as we are frequently switching extruders it helps to ensure that filament is feeding and takes off any tiny blobs of that may still remain on the nozzle as the printer moves from layer to layer. HIGHLY recommended setting!

Material Settings

Material Settings

Keep in mind that these settings are highly dependent on the filament that you use!

I. Diameter

It's worth double-checking your filament in a few spots to confirm that it is indeed 1.75mm. Some filament may not be exactly.  If you can find a consistent value, enter it here.  If you simply notice that it is different in many places, you should consider switching to a higher quality filament that has tolerances of less than 50 microns.

J. Main Temperature

Our experience it's always best to print as low as possible, particularly with PLA.  Slowly increase if you notice temperature-related issues such as delamination.  We were printing at a slow speed and 192 degrees is at the low end for Voltivo ExcelFil PLA Coal Black.

K. First Layer Temperature

While we didn't have any adhesion problems when printing the first layer at 192 as well, we did find that the bottom surface of the print is a little smoother when increasing the temperature of the first layer. However, we did print with a heated bed at 55 degrees celcius (M), which helps with ahdesion of course.

L. Keep-Warm Temperature

This was the most important setting to improve our dual-color print from unsightly to decent.  We were quite frankly surprised to see that our PLA filament would still very slowly ooze at temperatures below 160C.  You can tweak this possibly around 150C depending on the PLA filament you use, but we found 140C to fully resolve the issue and it really only marginally increases the time it takes the extruder to heat back up to 192 degrees.

M. Bed Temperature

Obviously you won't need a heated bed with PLA, but we found it helpful. We used blue painter's tape that is technically not heat resistant, but temperatures as low as 55 degrees are no problem.

We did notice a nice side effect: After pulling off the cooled down object,the painter's tape could slightly lift up and create a little bubble.  But when we warmed the bed for the next print, the tape shrinks ever so slightly smoothing out the bubbles and sticking just fine to the bed again.  We were able to use the same tape 3-4 times before eventually having to re-tape.

N. Destring

We briefly tried increasing both Prime & Suck without any noticeable difference.  We haven't played with changing this to different values.  Please let us know what your experience is with this, if any.


Extruder Settings

Extruder Settings

O. Extruder Selection

Just be sure to select the right extruder material here!


Printing on Felix 2.0 with Repetier

There is nothing specific to dual-extrusion printing that we do here, but just for the sake of completeness, here's our best practice for preparing the printer.

1. Re-Tape the bed when it is fully cooled down.

2. Heat up the bed and both extruders (to their main printing temperature)

3. Reverse the filament out of the extruders, at 300mm/s (instead of a 100mm/s, which is default for feeding). REMEMBER to set this back to 100mm/s or your printer will print REALLY fast :-)

4. Cut off the filament to get a clean tip

5. With extruder hot, wipe off any excess filament off the nozzle tip. Be careful not to burn yourself!

6. Its time to double-check the calibration of your z-axis.  We have noticed that the distance to the bed changes ever so slightly when the printer is heated up, thus we recommend doing this now.  Use the provided screw of your Felix printer to adjust the height to less than a sheet of paper.

7. Lift the extruders off the bed by 10-20mm to give you some room for feeding the filament (step 9)

8. Feed the filament into the extruder at 100mm/s

9. Extrude about 10-30mm of filament onto the bed.

10. Load the g-code file

11. Start your PRINT!

Older Post Newer Post


Leave a comment

Please note, comments must be approved before they are published