DRAFT FOR REVIEWAll 30 articles

Keeping Lattice File Sizes Manageable in CAD

Why are 3D-printed lattice files so large, and what can you do about it?

Quick answer: Traditional CAD stores every strut, surface, and node as explicit mesh geometry, so a densely repeated lattice can exceed 1 GB, which slows or crashes both the modelling tool and the slicer. The solution is implicit or field-driven modelling, which describes the lattice as a mathematical function rather than as a list of triangles; the file stays compact and editable regardless of how many cells the part contains. When you must export to a mesh format, coarsening the mesh where detail is not needed and choosing modern formats like 3MF over STL keeps output sizes manageable.

Lattice file size in CAD is a workflow problem that catches engineers who are comfortable with solid modelling but new to lattice work. The geometry looks straightforward in a rendering, but the underlying data model is very different from a machined part. Understanding why files bloat, and which tools avoid the problem entirely, gets you to a workable process faster than trying to optimise a mesh that was always going to be too large.


How mesh-based CAD creates the file size problem

Conventional solid modelling uses boundary representation (B-rep): surfaces are described as collections of faces, edges, and vertices. When a design tool converts a B-rep model to a printable mesh, typically an STL or similar triangle-based format, it approximates every curved surface with a grid of small flat triangles. For a machined part with a few dozen faces, this is fast and the output is small. For a lattice of a few thousand struts, each with a circular cross-section that needs dozens of triangular facets to approximate the curve, the triangle count scales with the number of cells. A part with 10,000 struts, each approximated with 50 triangles, contains 500,000 triangles before the end caps and nodes are added. At 50 bytes per triangle, that is already 25 MB; add surface normals, increase the facet count for accuracy, and add more cells, and 1 GB is straightforward to reach. The CAD kernel must hold all of this in memory simultaneously to process the file, which is why dense lattices stall or crash general-purpose CAD tools.

Implicit and field-driven modelling: the structural fix

Implicit modelling sidesteps the problem by describing geometry as a mathematical function rather than as a list of triangles. Instead of storing the position of every vertex of every strut, the model stores a field equation: a function that returns a positive number outside the material and a negative number inside it, with the surface defined by the zero level set. Evaluating whether any point in space is inside or outside the geometry takes a calculation, not a table lookup, and the file that stores the model is just the equation plus its parameters. Adding more cells does not add data; it just changes one parameter.

nTop (formerly nTopology) is the widely cited tool that brought implicit modelling to engineering lattice design. A lattice that crashes traditional CAD at a gigabyte of mesh data is described in nTop by a compact field, often a few megabytes, and remains fully editable: changing cell size, wall thickness, or density gradient updates the field globally without rebuilding a mesh. The mesh is only generated at the last step, when it is needed for slicing or FEA, and only with the resolution actually required for that purpose.

When you must work with a mesh

Not every step in the workflow supports implicit geometry natively. Slicers, FEA solvers, and some inspection tools expect a mesh. When a mesh export is unavoidable, three decisions control the output size. The first is tessellation tolerance: the maximum distance between the true surface and the triangle approximation. For structural analysis, a tolerance of 0.1 mm is often sufficient; for cosmetic surfaces, tighter tolerances are needed but only on the visible faces, not throughout the part. Many export dialogs allow per-surface control; use it to keep coarse tessellation on interior lattice walls where no human will ever look.

The second decision is file format. STL, the legacy standard, stores each triangle as twelve floating-point numbers with no compression and no shared vertices, so duplicate vertex data is written repeatedly. The 3MF format stores vertices once, references them by index, and supports compression; a 3MF file of the same geometry is typically half the size of the equivalent STL. Most modern slicers accept 3MF, and most implicit modellers export it directly. Switching from STL to 3MF is one of the lowest-effort ways to reduce file sizes without changing anything about the geometry.

The third decision is whether the whole part needs full resolution simultaneously. Some slicers can ingest implicit geometry directly via APIs, evaluating only the slice cross-sections they need layer by layer without ever materialising a full mesh. Where the slicer supports this, the pipeline never creates the large file at all.

Graded lattices and file size

Functionally graded lattices, where density or cell size varies across the part, are among the most useful geometries in additive manufacturing and also among the most file-size-intensive when produced by mesh-based tools. In a mesh approach, each zone of the gradient has different cell dimensions, so the tessellation cannot tile a single repeated unit; every cell must be stored individually. A uniform lattice might be managed by clever repetition in a mesh tool, but a graded one generally cannot. This is one of the places where implicit modelling gives the clearest practical advantage: the gradient is expressed as a field that smoothly varies a parameter, and the file size does not change whether the lattice is uniform or graded. The full geometry is calculated on demand.

Practical export and slicing tactics

For workflows that still involve a mesh export step, a few practical habits keep file sizes tolerable. Export at the coarsest tessellation that your tolerance and inspection requirements allow; for most structural lattices, a chord error of 0.05 mm to 0.1 mm is adequate. Use 3MF rather than STL whenever the downstream tool supports it. Split very large parts into sub-volumes, process each through the slicer separately, and merge the gcode or job files; this keeps peak memory load below the tool's limit. Avoid opening very large lattice meshes in general-purpose CAD for editing; if a change is needed, return to the source model in the implicit tool and re-export.

When reviewing tools for a new project, the key question to ask is whether the tool stores and operates on lattice geometry implicitly or as a mesh. If the answer is a mesh, the file size problem is structural to the workflow and workarounds will be needed at every step. If the answer is implicit, the file size problem largely disappears and design iteration becomes faster.

When detail genuinely matters

Not every lattice needs a minimised file. High-resolution inspection, surface metrology on fine-featured scaffolds, and certain FEA workflows that capture local stress concentrations at node geometry all require fine meshes. The point is not that detail is always unnecessary; it is that the detail should be applied where it is needed and withheld where it is not. A uniform fine mesh wastes resources and time; a targeted fine mesh at critical nodes or mating surfaces, with coarser tessellation elsewhere, gives the accuracy where it matters without the file-size penalty throughout.

Key takeaways

Related reading

Frequently asked questions

How large do lattice files typically get in traditional CAD?

Dense lattices or intricate TPMS lattices can exceed 1 GB in traditional mesh-based CAD tools. At that size, most CAD software and slicers slow dramatically or crash, making design iteration impractical without switching to an implicit-modelling approach.

What is implicit modelling and why does it help?

Implicit modelling defines geometry by a mathematical field function rather than as a list of triangles. The file stores the equation and its parameters, not the mesh, so adding more cells changes a number in the equation rather than adding megabytes of vertex data. The mesh is generated only when needed for slicing or simulation, at whatever resolution is appropriate for that step.

Is 3MF always better than STL for lattice exports?

For most current workflows, yes. 3MF stores shared vertices once rather than repeating them in every triangle, supports compression, and can embed additional metadata. The resulting files are typically around half the size of equivalent STL files. The main reason to use STL is compatibility with legacy tools that do not yet accept 3MF.

Can general-purpose CAD tools like SolidWorks or Fusion 360 handle lattice design?

They can generate simple, small lattices with plugins, but they store geometry as explicit meshes and struggle with dense or graded designs at production scale. For complex lattices, tools designed around implicit modelling, such as nTop, handle the same geometry far more efficiently and keep files editable throughout the design process.

Does tessellation accuracy affect the printed part?

Yes, but the effect is usually small for structural lattices. A chord error of 0.1 mm on a strut of 1 mm diameter introduces a small faceting error; for most engineering applications this is within acceptable dimensional tolerance. Where it matters, such as fine biomedical scaffolds or high-precision mating surfaces, tighter tolerances should be applied to those specific features rather than to the whole part.

About C6XTY

C6XTY is the structural geometry developed by Sam Lanahan, a structural engineer mentored directly by Buckminster Fuller. It arranges ordinary materials into icosahedral lattices that are strong, lightweight, and tunable from small parts to large structures. Sam consults on isolating compression and tension at any scale.