Skip to content

Multi-material overview

A TPMS geometry printed with PLA filament of three colors based on the FEA result of two-point loading (1)

  1. Image adapted from: T. Teng, Y. Zhi, and M. Akbarzadeh, “Prototyping high-fidelity multifunctional objects using single-nozzle multi-filament additive manufacturing system with active mixing,” Materials & Design, vol. 249, 2025.

Ovenbird proposes a system of as-continuous-as-possible multi-material extrusion with gradient composition and transition. This page introduces the elements that form this system and the first steps to get a Multi-Material Toolpath.

Gradient multi-material extrusion

The multi-material extrusion system is gradient in two senses.

  • The system produces gradient compositions of the input materials. The extrudate is a gradient mixture of multiple filaments (1). With a limited number of distinct filaments, the system produces a spectrum of mixtures through active mixing.

    1. We adhere to the terminology that a filament is a pre-prepared input material and a mixture is a result of mixing that usually contains more than one filament. Unless otherwise noted, a material is a mixture.
  • The extruded mixture is changed on the fly with gradient transitions.

Printing system

Ovenbird's gradient multi-material extrusion relies on a single-nozzle multi-filament (SNMF) system where a palette of input filaments or pastes are fed and mixed to form the extrudate with tailored local material composition. The core of the SNMF system is a multi-inlet nozzle where filaments/pastes are fed through separate channels and converged at the mixing chamber equipped with a blending auger.

Multi-inlet nozzle for SNMF extrusion

Multi-material toolpath

The most convenient way to create a Multi-Material Toolpath in Ovenbird is through Multi-Material Printing. It assigns materials to a Toolpath using intersectors. To code a Toolpath using \(n\) materials (mixtures), create a DataTree of closed intersector Breps and/or Meshes with \(n\) branches. Parts of the Toolpath that are enclosed in the \(i\)th branch will be assigned the \(i\)th material. One of the \(n\) branches can be left empty to note the default material.

The Ovenbird framework highlight multi-material printing

Example File

9. Multi-Material Printing → (1) Minimal Working Example

Data structure

A Multi-Material Toolpath is a printing scheme of toolpath curves coded with material information. It is organized in layers, similar to the Toolpath data structure. Each multi-material toolpath curve consists of several segments, where each segment is assigned a specific material. Each material is given a color for visualization.

{0} Multi-Material Toolpath
├─ {0;0} Multi-Material Layer
│  ├─ {0;0;0} Multi-Material Curve
│  │  ├─ {0;0;0;0} Multi-Material Segment
│  │  │  ├── Curve/Polyline
│  │  │  ├── Material Index
│  │  │  ├── {0;0;0;0}[0] Point/Height/Tangent
│  │  │  ├── {0;0;0;0}[1] Point/Height/Tangent
│  │  │  └── ...
│  │  ├─ {0;0;0;1} Multi-Material Segment
│  │  └─ ...
│  ├─ {0;0;1} Multi-Material Curve
│  └─ ...
├─ {0;1} Multi-Material Layer
├─ ...
└─ Material Colors 
   ├─ Material Colors[0]
   ├─ Material Colors[1]
   └─ ...

The Multi-Material Toolpath can be wrapped and unwrapped. Utilizing Wrap Multi-Material Toolpath, we can create alternative methods of generating a Multi-Material Toolpath other than Multi-Material Printing. ( Simplify Multi-Material Toolpath comes handy here.) A comprehensive discussion can be found in our paper Prototyping high-fidelity multifunctional objects using single-nozzle multi-filament additive manufacturing system with active mixing. (1)

  1. T. Teng, Y. Zhi, and M. Akbarzadeh, “Prototyping high-fidelity multifunctional objects using single-nozzle multi-filament additive manufacturing system with active mixing,” Materials & Design, vol. 249, 2025.

Example File

9. Multi-Material Printing → (2) Unwrapping and Wrapping

Multi-material G-Codes

GCode Multi-Material makes minimal changes to a conventional G-Code to print gradient multi-material mixtures. Each mixture is set up as a "tool" with a unique index number. When printing, the \(i\)th mixture is called by the command Ti.

Ovenbird's multi-material G-Codes (1)

  1. Image adapted from: T. Teng, Y. Zhi, and M. Akbarzadeh, “Prototyping high-fidelity multifunctional objects using single-nozzle multi-filament additive manufacturing system with active mixing,” Materials & Design, vol. 249, 2025.