# Multi-material 3D printing

Multi-material 3D printing is the additive manufacturing procedure of using multiple materials at the same time to fabricate an object. Similar to single material additive manufacturing it can be realised through methods such as FFF, SLA and Inkjet (material jetting) 3D printing. By expanding the design space to different materials, it establishes the possibilities of creating 3D printed objects of different color or with different material properties like elasticity or solubility. The first multi-material 3D printer Fab@Home became publicly available in 2006. The concept was quickly adopted by the industry followed by many consumer ready multi-material 3D printers.

## Multi-material 3D printing Technologies
### Fused Filament Fabrication (FFF)

Fused Filament Fabrication (also known as Fused Deposition Modeling - FDM) describes the process of continuously extruding a line of thermoplastic material to form a three dimensional model. The FFF process supports a variety of materials reaching from bio degradable ones like PLA to PETG, ABS and engineering grade materials like PEEK. This technology additionally allows for the use of flexible materials like TPU. Two possible solutions to realise a multi-material FFF 3D printer are:

#### Single Nozzle Design

The single nozzle design combines the different materials before or in the melting zone of the print head such that the materials are extruded through the same nozzle. For example: The different filaments can be cut and rejoined to a single strand of a mixed filament before being fed into the melting chamber. Such a technique is implemented in the Mosaic Palette. Another example is the multi-material upgrade by Prusa3d, which is mounted on top of a single material printer to add multi material capabilities. It uses a bowden style extrusion system with an additional axis to cut and select the material. To prevent impurities inside of the object a combined melting chamber has to be cleared from the previous material before a new one can be used. Depending on the implementation, the amount of waste material produced during the printing process may be significant. In some implementations, the previous material may be used as in-fill to prevent waste, or to simultaneously print a different object in which color does not matter.

#### Multi-Nozzle Design

The multi-nozzle design features a separate nozzle for each material. The nozzle can either be mounted on the same print head or on independent print heads. For this approach to work the different nozzles have to be calibrated to the exact same height relative to the print surface to circumvent the interference of an inactive nozzle with the printed object. Such a design reduces the amount of waste material during the printing process significantly compared to a single nozzle design which does not use the previous material as in-fill or to print another object.

### Stereolithography (SLA)

Stereolithography is the process of solidifying a photopolymer with a laser layer by layer to form a three dimensional object. To realize multi-material prints with this technology, one can use multiple reservoirs for different photopolymers. A major problem with this approach is the removal of the not yet polymerised material as the print may contain cavities filled with the old material, which should be emptied before the next material can be used. The photopolymer resins used for SLA can have highly different physical properties, generally being more brittle and having a lower heat deflection temperature. The SLA standard resins come in different colours and opacities. Besides the engineering grade materials like the ABS-like or PP-like resin, there exist bio-compatible ones used for medical applications and flexible resins.

### Material Jetting

The process of material jetting, often also called Inkjet 3D printing, is similar to the 2D Inkjet printing procedure. The print head consists of multiple small nozzles which jet droplets of photopolymers on demand. Each nozzle can extrude a different material, which allows for the creation of multi-material parts. The droplets of material are then immediately cured using a UV light source mounted to the print head. In contrast to the FFF printing process, a layer is not formed by moving the print head along a pre-calculated path, but by scanning the layer line by line. The Statasys J750, for example, allows for full colour prints. The materials supported by the material jetting printing process are similar to the ones of the SLA process and hence share similar properties. Additionally there have been advances in the field of material jetting metals by suspending nano metal particles in a fluid. After the removal of the support material the printed object has to be sintered to create a final metal part.

### Binder Jetting

A binder jetting 3D printer uses particles of a fine-grained powder, which are fused together using a binder, to form a three-dimensional object. In principle, it consists out of two separate chambers: One functions as a reservoir for the powdered material, the other one as the printing chamber. To fabricate a layer of an object a blade pushes the material out of the reservoir and spreads it over the printing surface to create a thin layer of powder. A print head similar to the one found in a 2D inkjet printer then applies the binder to the layer to solidify and bind it to the previous one. Although binder jetting does not allow for multi-material support, there exist printers, which feature a second print head to apply pigment to the layer after the binder to allow for full color prints.

## Workflow
### Designing

Designing a three dimensional object is the first step in the workflow of 3D printing. This design process can be supported by software. Such CAD software is capable of creating, managing and manipulating different 3D geometric figures while giving the user feedback through a graphical interface. Most CAD programs already support the annotation of a geometric figure with a material. The combination of different geometries then forms a single multiple material object. However, not all file formats support the annotation of materials together with the geometry of the object.

### Slicing

Slicing is the process of splitting a 3D model into layers to transform them into a sequence of G-Code instructions. These instructions can be processed by a 3D printer to manufacture the corresponding model in either a bottom-up, top-down or even left to right manner. Before generating the instructions, support structures can be added to connect overhanging sections of the model to either the printing surface or other parts of the model. The support structures have to be removed in a post processing step after the print has finished.
The slicing process for multi-material prints differs depending on the hardware used. For FFF based machines, instructions for changing the material have to be added. This comes with multiple computational challenges such as handling two print heads at the same time without them interfering with each other or clearing the melting chamber from the previous material. For SLA based multi-material prints the slicing software has to handle the additional degrees of freedom arising from the possibility of moving the print from one resin tray to the next one. The slicing procedure for material jetting printers involves the generation of multiple bitmap images representing the voxels of the object.

### Post-Processing

3D printed objects may need to be post processed before they can be used as a prototype or a finished product. Such post-processing steps may including sanding the surface of the object to make it smoother or painting it to match the colours of the design. Depending on the printing method and the objects geometry, support structures may have to be removed. The use of multi-material 3D printing reduces the amount of post processing needed for the same result, as colours can be printed directly. Furthermore, it is possible to use a water soluble material for printing the support structures, as their removal only involves placing the object into a water bath.

## Applications
### Food 3D Printing

The rising trend of food 3D printing supports the customisation of shape, colour, flavour, texture and nutrition of different meals. Multi-material 3D printing enables using multiple ingredients like peanut butter, jelly or dough in the printing process, which is essential for the creation of most foods.

### Medical Applications

Multi-material 3D printing technology is often used in the production of 3D printed prosthetics. It enables the use of different materials like a soft TPU on the contact points with the body and a stiff carbon fibre material for the corpus of the prosthetics. The prosthetics can therefore be adjusted to suit the varying needs and desires of an individual.
Another medical use case is the generation of artificial tissue structures. The research focuses on creating tissue, that mimics human tissue in terms of feel, elasticity and structure. Such artificial tissues can be used by surgeons to train and learn on realistic models, which is otherwise hard or expensive to achieve.
Current research focuses on 3D printed drug delivery systems to efficiently deploy a medication or vaccine. Through the use of multi-material printing they create biocompatible structures that can interact with the human body on a cellular level.

### Physical Properties

The capability of switching between different materials is essential for controlling the physical properties of a 3D printed object. Besides being able to manipulate the strength of an object through micro-structures, the user can switch between harder or softer materials in the printing process to affect the rigidity of the object. Hard and soft material combination is also applied to fabricate biomimetic structure with desired properties. The use of materials of different colour or elasticity can affect the looks and the haptics of the resulting object. Additionally, it is possible to reduce the amount of post-processing needed by choosing a suitable material for the support structures or the outer hull of the part.

### Rapid Prototyping

Multi-material 3D printing enables designers to rapidly manufacture and test their prototypes. The use of multiple materials in a single part enables the designer to create functional and visually appealing prototypes. An example of how 3D printing can be included in the design process is automotive design. There, it is necessary to quickly test and verify a prototype to get the design approved for production. The reduced post-processing steps induced by the multi-material 3D printing technology result in a shorter fabrication time. Additionally, multi-material 3D printing reduces the part count of the produced prototypes compared to traditional fabrication methods like milling or molding, because the assembly of multiple parts with different materials is no longer required.

## File Formats

There exist multiple file formats to represent three dimensional objects which are suitable for 3D printing. Yet not all of them support the definition of different materials in the same file as the geometry. The table below lists the most common file formats and their capabilities:
An overview of 3D printing file formats :
| File Format | Mode of Operation | Multi-Material Support | Remarks |
| STL | raw, unstructured triangulated surface | No | Multi-material support can be achieved by saving one STL mesh per material, which results in multiple files for the same 3D objects. |
| OBJ | vertices, texture mapping, vertex normals and faces | No | Multi-material support can be easily achieved with the companion file format MTL. |
| 3MF | vertices and triangles saved as XML | Yes | Backed by the 3MF Consortium as a new standard file format for 3D printing. |
| VRML | vertices and edges, UV-mapped textures | Yes | Designed particular for the World Wide Web. Predecessor of the X3D file format. |
| X3D | vertices and edges, UV-mapped textures | Yes | Features capabilities for including animations. |
| PLY | vertices, faces and other | No | Successor of STL with support for colours. |