Although 3D printing technology has progressed in leaps and bounds in recent years, most printers are still only capable of printing a solid object out of a single material. That's fine if you want to produce a plastic object with the same density throughout, but what if you want to use multiple materials in the one object or alter its internal architecture to vary its density and therefore its flexibility? A team at MIT's Computer Science and Artificial Intelligence Lab (CSAIL) has developed a new software pipeline that makes both these things possible.
There is already 3D printing hardware available that supports the use of multiple materials in a single object, but it's extremely challenging to write code that can analyze a 3D model, (such as a hairbrush, for example), and produce the instructions that allows the various sections to be printed with different physical properties (a stiff handle and soft bristles).
Until now, 3D printing an object with multiple materials meant giving the printer a very high-resolution image that specified the type of material to be used for each particular section. Throw in differences in texture, size, color and surface properties and you have a computational nightmare that can involve storing and processing petabytes of data to print even a small object.
To simplify the whole process, the CSAIL team created a software pipeline architecture that's similar to the rendering pipeline used by the movie industry to create 3D images. Called "OpenFab," the new streamlined process uses special programs called "fablets," which are similar to shaders used in rendering, to specify changes in the material composition and geometry of each layer to be printed.
OpenFab circumvents the huge computational overhead by streaming only a tiny portion of the data on demand to the printer. Since only a fraction of the data is stored in the system's memory at any given time, the entire process becomes computationally easier and there's very little startup delay.
The breakthrough not only allows an object made up of many different materials to be printed, but also lets the user change the look and feel of a single material used to print an object. It's possible to print an object with hard and compressible sections out of a single material, even if the raw material isn't flexible in itself. Using OpenFab the team has printed a rhino with little spikes on its zebra-like textured skin, a butterfly encased in cloudy amber and a squishy bunny and teddy bear.
"Instead of printing solid pieces of material we print an internal structure which influences the deformation properties of the entire object," Piotr Didyk, a Postdoctoral Associate at CSAIL tells Gizmag. "We are currently able to print a big variety of things ranging from very stiff to soft which is achieved using a special structure of the material arrangement."
Getting the system to understand the material composition of an object just from a description of the desired physical properties is also extremely difficult. It's easier to specify that an object should be flexible than specify all the printing materials that need to be used to make it so.
"Because every print is built from very small voxels (volumetric picture elements that represent the droplets disposed by a printer head) and each of them can be a different material, the number of different material arrangements that one can print for one shape is very large, and it is unfordable to consider all of them," Didyk tells us.
To solve this problem, the CSAIL team came up with a technique called Spec2Fab, which translates the user's specifications into the final fabrication. Instead of considering the object at a voxel level, the system breaks the object up into larger chunks with a set of operations called "reducer trees."
"Spec2Fab optimizes for material assignment only for the chunks defined by the subdivision i.e., one chunk corresponds to one material," says Didyk. "The number of these chunks is much lower then the number of all printed voxels, therefore, the material assignment can be easily handled by an optimization process." This optimization is handled by a tuner network which specifies the final material arrangement.
In spite of the significant breakthroughs made with OpenFab and Spec2Fab, which promise to make 3D printing faster, cheaper and more flexible, Didyk says that the whole field of 3D printing field still has plenty of room for improvement.
"If I had to compare the current situation of 3D printing with 2D printing, I would say that we still need to get from the 'B&W printing' in a specialized lab to printing pictures on our desktop printers," says Didyk. "Of course, in the case of 3D printing it is much more challenging because we need to reproduce three-dimensional objects with a whole variety of physical properties that they have."
Examples of different types of objects made using Spec2Fab can be seen in the video below.