This thing was created using Fusion 360 and Inkscape. For those interested Angus at Makers Muse has video on Youtube covers this well.
The printer used has a single extruder & hot end, nothing special. Marlin has been modified to have the change filament capability that can be triggered by adding a M600 command in the G-code file. I slice using Cura and I view the layers to establish at what layer the M600 needs to be inserted into. Chris Riley on Youtube has a good video on how to add M600 to Marlin.
Note: This thing is quite thick and the print in the picture was scaled on the Z axis when sliced using Cura.
Member ASLLEXICON remixed the original for use with a MMU printer and sent me the STL's used.
I also added the Fusion360 file I used for the original. This was a quick & dirty drawing but it got the job done. Enjoy!