How to build a custom lattice unit cell


Learn how to create a custom lattice unit cell.


There are two overloads on the Custom Unit Cell block. One with an Implicit Body input and the other with a Graph input and a Bounding Box for both.

To create a Custom Unit Cell, insert a Body or Graph and define the domain with a Bounding Box. The Unit Cell Domain defines the boundary of the Unit Cell and its spatial information within that boundary. 

1. Unit Cell Domain

Let's take a closer look at the Unit Cell Domain before looking at the Body or Graph. One method for defining the domain is using the Bounding Box Chip, a Property of the Implicit Body or Graph. This Bounding Box matches the input boundary and will fit the Unit Cell perfectly. 

Another method is to define the Bounding Box separately using the block. In the example below, the implicit is floating in the Unit Cell and is cut off by the Bounding Box. The space below it will be a part of the Unit Cell. 

The two images below use the Bounding Box chip from the Implicit Body and also using a custom Bounding Box.

2. Unit Cell

i. Body

The Body input can be any Implicit Body or Lattice Type. It can be created in nTop or imported and converted into an Implicit Body.

An example of using a Body input is when creating a Custom Unit Cell from fields or equations (How to create a TPMS from an equation).

Tip: When creating your custom unit cell, it is ideal to have it be of equal size in X, Y, and Z directions to be easily scalable.

ii. Graph

Graph from Line Segments

The Graph from Line Segments block converts line segments to a Graph type. The block is a utility block for creating a Custom Graph Unit Cell and is also used for support structure generation.

Face-Based Unit Cells

Using the Graph from Mesh Faces block, you can create custom face-based unit cells, sometimes called Honeycomb. This block generates a Graph from an input mesh. The mesh can be imported or created within nTop. 

The image below demonstrates creating a custom face-based unit cell within nTop. First, create a mesh using the Mesh Face from Points and Merge Faces blocks. Then pass the mesh into the Graph from Mesh Faces (Beta) block, input your Graph into the Customer Unit Cell block, and provide a Bounding Box. 

CAD Sketch to Unit Cell (How to convert a CAD sketch into a Custom Unit Cell) 

You can import a CAD sketch and extract the curves from the properties panel and use it with our Line Segments from Curve CB to generate a custom beam-based graph unit cell from the CAD sketch.

Hybrid Face-Beam

You can create a Hybrid Face-Beam lattice using the Merge Graphs block to combine a Face and a Beam lattice.

What is the difference between Graph overload and Implicit overload?  When should one be used vs. the other?

  • When you construct a lattice using the Graph Unit Cell data type, the result will contain explicit geometry, and you’ll have access to the underlying beams, thick graph, and graph property chips. If your unit cell is beam-based, you can apply any beam-filtering utility functions to filter by angle, length, etc. For face-based, you can access the faces as mesh property, which can be used for simulation. The thick graph and graph properties can also be used as input to the Export Lattice block to export *.LTCX or *.3MF
  • Any Implicit Body can be provided as the input to the implicit overload. For example, constructing your field via an equation. However, I'd like to point out that the beams, thick graph, and graph properties are unavailable.

Are you still having issues? Contact the support team, and we’ll be happy to help!

Download the Example file:




More on this topic:


 import cad block lattice implicit boundary create body map custom graph cell unit beta uvw domain box 
Was this article helpful?