On the additive manufacturing spectrum, the majority of 3D printers are relatively simple, providing hobbyists with a way of conjuring arbitrary 3D objects out of long spools of polymer filament. If you want to make objects out of more than just that kind of filament, things start to get much more complicated, because you need a way of combining multiple different materials onto the print bed. There are a bunch of ways of doing this, but it’s not cheap, so most people without access to a corporate or research budget are stuck 3D printing with one kind of filament at a time.
At the ACM UIST Conference last week, researchers presented a paper that offers a way of giving even the simplest 3D printer the ability to print in as many materials as you need (or have the patience for) through a sort of printception—by first printing a filament out of different materials and then using that filament to print the multi-material object that you want.
There are two steps to this process: filament creation and object printing. The actual object printing is the boring part—you just print your object like you normally would, except that when it’s done, there are different materials in all the right places, because those materials were programmed into the filament in advance, at exactly the locations and lengths they needed to be.
It might seem like using a multi-material filament to create a multi-material print doesn’t actually solve anything, since that multi-material filament has to be created by something that can print multiple materials, right? Right! And a simple 3D printer can totally do that, as long as you’re willing to change out filaments by hand. That’s really the trick here: you use a regular 3D printer to 3D print a complex multi-material filament that you then feed back into the printer to print your object.
It won’t surprise you that there’s a lot of computation involved in making this work, because the filament that you create (which the researchers describe as “programmable filament”) has to embody in its construction the location of every bit of material in the final object, and this can get very complicated, as it depends on both the geometry of the object and the path that the print head takes.
The filament for an object may involve many transitions from one material to another, even if the object itself is relatively simple. You can imagine printing a cup that’s half red and half blue, but because of the path of the print head, having the top be red and the bottom be blue involves a single transition in the filament, while having one side be red and the other side be blue could potentially involve two transitions with every single printed layer.
Printing procedure of a filament: (a) Printing starts with one color, (b) it pauses upon completion of printing all segments, allowing the user to change the material. (c-d) The 3D printer prints the remaining segments avoiding collision with prior segments, (e) then prints stitches to join adjacent segments.Images: Programmable Filament Team
The filament itself is printed in a spiral, one type of material at a time. Once every section of one material has been printed, you manually load in the next material, and the printer adds those bits onto the filament spiral in the right spots. You can repeat this process for as many materials as you need (the researchers have successfully printed with up to six), and once you’re done, the printer makes a final pass to stitch all the transition points between materials together. Then just lift the printed filament off of the print bed, reset the printer, feed in the filament you just created, and start the printer on creating your new object.
There is a bit of messiness that shows up in the print when one material transitions into another. If you’ve got different colored materials, they’ll blend a little bit, and for materials with different physical properties, well, who knows. You can either look at this as a bug, in which case you can modify the infill or wall density of the print so that transitions are less visible, or as a feature, in which case you can leverage this mixing to create deliberate color transitions or the mixing of structural properties by deliberately combining two or more materials into one piece of filament.
Three different software designs allow users to choose various inputs and design parameters.Images: Programmable Filament Team
The researchers note that their software pipeline and technique work with most (but not all) 3D printers, and that no matter what printer you’re using, careful calibration and monitoring is required. In future work, they’re hoping to optimize the process to make it as easy as possible to print custom filaments, and hopefully when they’ve got everything just right, they’ll make their software available for anyone who wants to make their simple 3D printer much, much more capable.
Evan Ackerman is a senior editor at IEEE Spectrum. Since 2007, he has written over 6,000 articles on robotics and technology. He has a degree in Martian geology and is excellent at playing bagpipes.