Mixing "Virtual" colors with the MMU2S  

New Member

I was curious about mixing virtual colors with the MMU2S, and I wasn't able to find any topics on this with a few minutes of searching. Has anyone attempted to make extra colors by alternating layers of two different colors? The MMU2S does this by accident on the purge tower or support structures already, which is why i'd be surprised if nobody else has tried it. With .15 layers they are fine enough that you just get the impression of the intermediate color rather than lines of individual ones.  It actually looks pretty amazing with silver silk filament mixing with opaque blue.  You get an impression of shimmery light blue.

Posted : 21/11/2020 1:01 pm
Active Member

Interesting idea.   My MMU2s is currently disconnected, although I am in the process of printing of few of the extra parts so that I can give it another go.   In the meantime I have entered a couple of kickstarters for idex printers which only have 2 colours - so with your idea you may be able to simulate a third colour, plus also different shades.    

Thought I would try and see if you could split an STL into alternate layers using OpenScad - looks like it is a bit fiddly as it looks like you need to enter the dimensions manually and also rendering is quite slow, plus you seem to have to change the code and export each STL seperately.  But did manage to get a test stl split into 2 seperate interlaced STLs.

Interesting the new 2.3.0 Alpha 4 version of prusaslicer kept crashing, but 2.2.0 sliced it ok -  so will try printing it in a few days if I manage to get my MMU working.  

Not sure why the purge block is so massive for just two colours

Some screen prints and example code in attached document - not sure how to insert pictures inline

Edit:  Can't see the attached document in my post, so not sure where it went - have pasted the openscad code below

difference() {
// object size
// Tweak these values is lines not showing on every row of model
// The bigger the numbers the longer rendering will take
z1 = -3;
z2 = 8;
x = 15;
y = 15;

// layer height
layer = 0.15;
// offset 0 or 1
// first set offset to 0 - render and save stl
// then set offset to 1 - render again as save as 2nd stl
// then import first stl into prusa slicer
// then right click and add part to load 2nd stl
// make sure layer height matches

offset = 0;
union() {
for (z = [z1 + offset * layer:layer*2:z2 + offset * layer]) {
cube( [x,y,layer], true );


This post was modified 5 months ago by david.w76
Posted : 23/11/2020 3:33 pm
Active Member

Screen prints from previous post


Posted : 23/11/2020 3:44 pm
New Member

Yeah, that's exactly what I was shooting for.  I was partly thinking of this as a way of increasing efficiency of multi-color models.  I do a lot of biological models of things like protein complexes where the actual colors aren't super important but they need to be different.  Being able to do three different parts using only two colors is a lot more efficient on plastic and purging time, if nothing else.  You can see what a nightmare the layer times are for models like this, where there are almost no layers that have only a single color in them.


This post was modified 5 months ago by masci
Posted : 23/11/2020 4:22 pm
Active Member

Spent most of yesterday and previous day evening trying to re-install my MMU2s.

Most difficult bits were

a) Taking apart the extruder to replace the PTFE tube, then realising I already had the right one in there from before I downgraded

b) Layer shift on reprint of 'blade enabled' front PTFE holder causing channels 2 and 3 to not work - so need to reprint it

c) Print quality now very poor - probably because of the mostly unnecessary extruder rebuild - hopefully just a z height problem, but I did manage to get another print done on the front PTFE holder of reasonable quality

d) The hardest part of the whole re-upgrade I found was getting the power cables connected into the CPU box again - took ages and lots of turning of the whole printer round to different angles.

d) The usual filament retraction buffer problems - had printed a couple of gravity spool holders hoping they would be a good solution - but have found that they sometimes pull the filament back too far - just beyond the MMU2 idler - so may have to find a better solution.

Should hopefully be ready the try an actual print this evening - but one quite startling result out of the slicer along the lines of your suggestion about saving time due to less purges is attached in the two prusaslicer

screen prints below - only using 2 colours with a 3rd virtual colour is projected as taking only slightly more than half the time of using 3 proper colours.


This post was modified 5 months ago by david.w76
Posted : 25/11/2020 6:10 am
Active Member

Middle virtual colour difference quite subtle, might show up better in natural light - as the yellow is a fairly transparent filament.  Also work needed on top surface - maybe striping of the two colours.  But looks like the idea has potential.  


Will try again tomorrow with Red and White, perhaps with a larger layer height than .15mm to see whether a generated pink is better. 

Will also try maybe having twice as many yellow layers as red to see whether the generated orange is more pronounced.

The other good bit of news is that with two colours the MMU2s worked better than it did before I took if off in May.

[caption id="attachment_58528" align="alignnone" width="600"] First attempt at virtual orange[/caption]



This post was modified 5 months ago 2 times by david.w76
Posted : 25/11/2020 10:50 pm
New Member

Wow, that looks great!  I'm not surprised at halving the time, as the extra extruder switch per layer is extremely time-expensive on models this small.  Two color prints will print Color 1, Color switch, Color 2, layer change, Color 2, color change, Color 1, etc.  So only one color switch per layer, and the color switch probably takes longer than the actual print time for the layer.    The striping of the top layer is a great idea (and might be cool in general.  this is definitely getting into territory where it makes more sense to be supported at the slicer level.  I was actually thinking that the new prusa monotonic infill would be cool if they could switch it at a regular interval, so you could make a model with subtle top-layer stripes.

The red-white will probably make a pink whether you want it to or not.  For some reason the dark red PLA I have is even harder for me to purge than black.  I cannot print it together with white, unless I want pink.

I had really good luck with this gravity rewind mechanism https://www.thingiverse.com/thing:3691892 .  The nice thing about them is that you can alter the mass of the counterweight to vary the strength of the rewind.  I just completed a 68 hour 3-color print with them.  Only one intervention at about hour 45, when somehow the connector for my IR sensor came loose.  

Posted : 26/11/2020 12:24 am
Active Member

Tried a few different shapes and variations in layers with red and white all still on 0.15mm.

Layers more distinct than the Red and Transparent Yellow - but still gives the illusion of different colours.  Thin walls of different colours next to each other likely to be better for some combinations.

Thanks for the suggestion of a different gravity spool holder - will print a couple out and see if they work better than the ones I tried, will also give the the PRUSA buffer another go with this modification which will hopefully make filament entry and recovery easier.  https://www.prusaprinters.org/prints/30809-hanging-buffer-mount

Only one unload failure so far in about 5 hrs of MMU2s printing - so I am glad I gave it another try.   Once spool holders complete will try a few normal 5 colour print next - with if possible a few virtual colours test shapes too.


Posted : 26/11/2020 3:01 pm
Noble Member

I did a cursory post on the topic a while back with a slightly different approach to model design, if it's of use:




Posted : 26/11/2020 3:43 pm
Noble Member

I tried it as-well back in the days with mixing results. The biggest issue I faced was that the mixed colors most of the time look dirty and uneven.

Often linked posts:
Going small with MMU2
Real Multi Material
My prints on Instagram...
Posted : 26/11/2020 4:13 pm
Active Member

Thanks Vintagepc, interesting idea about offsetting layers to make the outer ones dominate more. I think I could do that in Openscad fairly easily, so will give that a try to get a more obvious orange shade.  

I guess there are a few different ways to make the colours appear to be mixed, including more advanced dithering within the layers, and overlaying transparent colours.

I guess with 3 colours (red,yellow and blue), plus black and either white or semi transparent it should theoretically be possible to simulate 100s of colours.

Might try doing some more horizontal testing first - as vertical layer testing takes so long. 

Posted : 26/11/2020 6:09 pm
Active Member

Quite pleased with the results from this 3 layer horizontal test print - particularly the greens, orange, grey, light yellow and pink.

Have already used the green in another print as I don't currently have any green PETG.

Layer 1 is all white (colour 2).

Layer 2 is rows of the 5 colours

Layer 3 are columns of the 5 colours overlayed.

Layer height is 0.2mm and nozzle width 0.6mm.

Tried some more tests with alternating colours with less good results - but as per previous post, if layers (or nozzle width) are thin enough colours work better.


For user created models it should be fairly easy to create the additional thin layer or perimeter - but more tricky for existing STLs - would be nice if it were possible to do something in the slicer - but suspect that is a big ask - so rescaling a copy of the STL and subtracting it from the initial model likely to be the easiest approach.

Have published the STLs and SCAD files here



Masci - Tried the counterbalanced winder and it works pretty well - but does get stuck quite at the top quite a lot.  Have found the previous gravity winder actually working quite well after all.    Also printing a new openable case for Prusa Supplied buffer that I found online to see if that works better - as both the gravity and counterbalanced winder do seem to put a fair bit of extra load on the filament pull and don't always wind back.

MMU2s itself actually working quite well - so maybe I didn't need to move into IDEX printers after all - although looking forward to the faster material transitions, better handling of different materials and reduced waste, and also larger build area.  

Almost went for a Palette2s - but can't really justify it now that the MMU2s seems to be working so well.   Have had hardly any failures - the biggest problem I have been having is with the first layer since I rebuilt to extruder to put the MMU2s back together.

Also a very annoying clicking developed on the Y axis -  found quite a few things loose, but nothing stopped.  Eventually this evening tracked it down to the front bearing - so have temporarily replaced it with a printed version with a couple of very small bearings in it.  Have ordered a new one from Prusa - unfortuately too late for the big order of Prusament I put in over the weekend to take advantage of the free postage offer!

I guess the ultimate solution would be an IDEX printer with the MMU2s (or a Palette 2s) on one of the extruders, with the primary or specialist material on the other extruder - so might pursue that next.

Only other problem I had was when I tried mixing PLA and PETG - which seemed to block the nozzle when the PLA tried to push the previous PETG out - I guess you have to do something with the temperatures to make this work.


This post was modified 5 months ago by david.w76
Posted : 30/11/2020 11:47 pm
Active Member

Just thought about how to achieve the effect with existing STLs in the slicer - looks like in PrusaSlicer you can specify the number of perimeters and infill extruder for each individual component STL - so it should be possible to create the colours like Green and Orange by specifying yellow as the main extruder colour, with a solid infill of Blue or Red.  Or Pink by using a white perimeter and Red solid infill.  

Will have a go to see if I can produce the standard test Lizard print with about 10 colours.

Posted : 01/12/2020 9:22 am
Vojtěch Bubník

I wonder whether this Cura experimental feature ever made it into the Cura release

3D Hatching: Grayscale printing on the Ultimaker 3 - Ultimaker Cura - Ultimaker Community of 3D Printing Experts


Posted : 06/12/2020 6:33 am
Illustrious Member
Posted by: @vojtech-bubnik

I wonder whether this Cura experimental feature ever made it into the Cura release

Cura does have an advantage in that users can develop plugins. I recall KISSlicer had something similar. TBH, it's not a feature I'd use much. ideaMaker does have adaptive infill and support options that are more manual but provide a similar effect for infill.

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 06/12/2020 7:37 pm

Please Login or Register