OVERVIEW
Background
Intralattice is a plugin for Grasshopper used to generate solid lattice structures within a 3D design space. It was developed as an extensible, open-source alternative to current commercial solutions. As an ongoing project developed at McGill's Additive Design & Manufacturing Laboratory (ADML), it has been a valuable research tool, serving as a platform for breakthroughs in multi-scale design and optimization. By giving you full access to the source, we hope to collectively explore lattice design at a deeper level, and consequently, engineer better products.
Intralattice is designed as a versatile research platform, prioritizing flexibility and adaptability. It empowers users to define custom unit cells, select from various lattice mapping methods, and individually adjust strut thickness. The integration with CAD software Rhinoceros further enhances its utility, allowing for seamless manipulation of the generated models. Below, you can see examples of these renderings.
The rise of additive manufacturing (i.e., 3D printing) has allowed engineers to integrate new orders of complexity into their designs. In that regard, this software generates lattice structures as a means to:
- Reduce volume/weight while maintaining structural integrity.
- Increase surface area as a means of maximizing heat transfer.
- Generate porosity in bone scaffolds and implants.
- Serve as a platform for structural optimization.
In doing so, it should always output a watertight mesh suited for 3D printing.
Core Modules
The core of Intralattice is concerned with the geometric modeling of solid lattice structures. The generative process is split into 3 consecutive modules: the cell module, which generates a unit cell, the frame module, which generates a lattice wireframe within a design space, and the mesh module, which converts the wireframe (list of curves) to a solid mesh that can be exported as a .STL and 3D printed. A fourth, optional utility module can be used for pre/post-processing. In Grasshopper, the generative algorithm will look something like this:
The components available for each module are summarized below.
For more information, refer to the User Docs.
Module | Available Components |
---|---|
Cell | + PresetCell - Library of preset unit cells. + CustomCell - Formats custom unit cells. |
Frame | + BasicBox - Generates a simple lattice box. + BasicCylinder - Generates a simple lattice cylinder. + ConformSS - Generates a conformal lattice between 2 surfaces. + ConformSA - Generates a conformal lattice between a surface and an axis. + ConformSP - Generates a conformal lattice between a surface and a point. + UniformDS - Generates a trimmed uniform lattice within a Mesh/Brep design space. |
Mesh | + Homogen - Generates homogeneous mesh for set of curves. + HeterogenGradient - Generates a gradient-based heterogeneous mesh. + HeterogenCustom - Generates a custom heterogeneous mesh. |
Utility | + AdjustUV - Adjusts the UV-map of a surface. + CleanNetwork - Cleans curve network by removing duplicates, within tolerance. + MeshReport - Returns comprehensive report regarding solidity of mesh. + MeshPreview - Generates preview of the mesh. |
Optimization
The opti modules are concerned with mechanical optimization. The first set of components provide interfaces with various FEA software, such as Nastran and Hyperworks. Optimization algorithms have been developed for properties ranging from structural strength to heat transfer. These components will be released shortly.