Overview
This page exists for the development of a device that will allow Makerbot, Rep Rap or other open-source printer users to print in color. This is only possible to date by switching out colored filaments and limiting the part to one chosen color.
Devices
There are several ways to accomplish this.
One idea is a multi-input core that independently feeds separate colors of medium into one heated barrel. This would require separate motors for the colored filaments (example: cyan, magenta, yellow, black, white & a freebie color choice for a "six-shooter" like input barrel). If 100% yellow was desired, a 255 PWM speed would run the yellow. If green was desired, a lower speed PWM on both yellow & cyan would facilitate the same volume being shoved through the heated barrel.
Another idea is to somehow utilize an inkjet cartridge to be fed into the line at some point in the flow. The color output would work similar to a real color printer where as the white (or clear) plastic flows, the piezo shooters in the cartridge are timed to inject into the heated core or above.
Alternatively - use multiple feed+heaters mounted with nozzles close together. This avoids problems with multiple colors not clearing the shared heater chamber at the proper time. Note that such a multi-headed extruder is announced/available for RapMan
One cheap and dirty way is to use colored markers to dye the filament as it is fed in to the extruder. You can find a part to print this here:
Marker Holder
Software
One idea for programming is something that can already translate designed and colored 3D files to the device.
Another (maybe easier) method would be an open-source add-on that allows users to "paint" over their renderings and output the information to the machine.
Software for a shared-heater design needs to account for the color change well before the extrusion is to start laying down plastic. There may also need to be a chamber clearing step added, noodling over an unused portion of platform.
Multiple-nozzle designs need the software to account for the offset of different heads.
Electronics
Arduino chips are now tiny and affordable. This could be used as a separate brain to work along with the machine's electronics (help send motor movement/ink output pulses, etc.) Or, if possible the Makerbot's Sanguino board would be capable of this with a free input.