Lattice Structures Carbon

Understanding lattice structures for product design

2255 0

There’s a great deal of talk around lattice structures, primarily driven by the software vendors that develop tools to create them and the hardware manufacturers that produce the machines to make them.

Yet if we want to understand how lattices can benefit the designer, engineer and innovator, where do we start?

Lattice expert Hardik Kabaria Carbon 3D Printing
Hardik Kabaria, director of software engineering research at Carbon

To gain some clarity on the subject, we spoke to Hardik Kabaria, director of software engineering research at Carbon.

Kabaria is a leading expert in the field of computational geometry and lattice structure-based designs, having received his Ph.D. from Stanford University in the field of geometry discretisation, he has developed an algorithm for 3D discretisation of a given geometry using acute tetrahedral mesh.

Since its beginnings, Carbon has looked to enable the manufacturing of polymeric parts with superior performance, with lattice structures a great way to do that.

While searching for a way to build the lattice design related capabilities, Carbon came across Kabaria’s research that has ultimately empowered Carbon Design Engine software, and in turn has helped designers around the world develop phenomenal lattice structure-based applications – from Specialized’s bike saddles to COVID-19 NP swabs.

We sat down with Kabaria to find out more about Carbon’s software development; how Design Engine might evolve in the future, and those all important lattices.


D3D: Hey Hardik, let’s kick things off with a really simple question. Lattices. Give us a run-down of why the world is going crazy for them?

HK: Lattice structure is a space-filling shape that can be populated in three dimensions. Each structure will have unique properties towards a variety of thermomechanical responses, for example: stiffness to mass ratio, energy absorption, heat transfer, or controlling fluid flow within the structures.

These structures have been studied by chemists and mathematicians for decades and many of them appear in nature – such as triply periodic minimal surfaces that are seen at nanoscale in block copolymer mesoscopic crystals.

Similarly, there is a huge area of research towards architected materials, a class of lattice structures that is human-generated and customised to be optimal for a particular use case, such as the foam structures designed for a negative Poisson’s Ratio described in an article published in 1987.

The main challenge with these structures has been twofold: First, the availability of the manufacturing process that puts a design with lattice structures into manufacturing, and secondly software tools that enable mechanical engineers to use these structures in a way that allows them to achieve a better product.

Carbon’s DLS process combined with the dual-cure chemistry based materials that can produce production quality parts kicked off a revolution for adapting lattice structures at mesoscale in the polymeric parts.

So we had one of the problems potentially solved and this can be seen with the fact that now this process supported the creation of Adidas 4D shoes which can be bought from your nearest store!

The software that enables mechanical engineers to use these structures in the design process is the second half. At Carbon, we are working on this and the very first version of the product Design Engine launched in Q4 2020.

Of course, we are not the only company working on this – there are several software companies and tools that have focused on this problem in the last few years including nTopology and [Siemens] NX.

I believe the availability of software tools and the manufacturing process has opened the doors for a real usage of the lattice structures beyond just research and hence the excitement in the field.


Specialized’s S-Works bike seat, created using Carbon lattice and 3D printing technologies

Let’s talk about the recent work that you’ve been doing at Carbon – obviously the combination of the company’s AM build methods and materials also led themselves to taking advantage of lattices


At Carbon, particularly on the software side we have been focusing on two fundamental problems: 1) Ability to populate a user chosen lattice structure in a given geometry with minimal user input, and 2) Aiding the user to choose the right lattice structure from a vast library for a particular use case.

Both of these requirements have been derived from our interactions with Carbon’s customers including Adidas, Riddell, Specialized, to name a few.

We also challenged ourselves to create a lattice structure generating software that would enable users to design and manufacture a fully customised product. In other words, the design is unique and based on user/patient specific data which needs to be generated in an automatic fashion otherwise the overhead of the engineering time for each design generation makes the manufacturing of such a product a pipedream.

In collaboration with a premier designer and developer of football helmets, we developed a robust lattice population software that works with minimal user input and creates a helmet design for each and every player based on their specific head shape and should not need any engineering intervention.

We have been able to achieve that for the last three years and now have transitioned our software to be a platform product – meaning we can use the same software tools to enable other customers to launch their own customised products – e.g. CCM!

Given that robustness was our high priority we applied tetrahedral mesh generation-based algorithms for geometric discretisation derived from Isosurface Stuffing (a seminal work from Prof. Shewchuk in 2007) and my research inspired by that at Stanford during my Ph.D.

We also focused on some of the subtle problems in population, such as trying to achieve symmetric lattice population for a part with axis symmetry.

Furthermore, we also realised that the robust lattice population is only useful if it can not only generate more than one structure but also allow the engineers to control how to transition from one structure to another in a smooth fashion. Meaning now the engineers can take advantage of a lattice design that is equivalent to several different densities of foam combined in a layer but one is not restricted to layers and use these transitions in three dimensions governed by a point or a vector field based on user-specific data (like a head shape) or analysis driven data originating from a physics simulation. [See example lattice population in picture below]

Lattice population Carbon DEsign Engine

So that’s on the population, similarly we have also spent a lot of time on helping the engineers select the right lattice structures from a dataset containing different structures and making that process as simple as possible.

This is an active area in terms of both research and software development: it has required us to develop our own finite element framework-based physics simulations tool that works on AWS and an optimisation tool that can help to find the right parameters of the lattice design.

Throughout this work we have stood on the shoulders of giants from academia who actively work in the field of computational geometry and mechanics, so I’d certainly like to mention two researchers: Prof. Jacobson at University of Toronto, and Prof. Panozzo at New York University.

When we looked over Design Engine a little while ago it was pretty clear that the combination of the cloud-based GPU solve was making light work of lattice creation, but how do you think designers can integrate them into a more traditional engineering workflow? Lattice forms, as you get more complex, don’t really play well with traditional 3D design and simulation systems – is that something you’re looking at or have an opinion on?

That is certainly a great question and one that we are still figuring out!

There are two main touchpoints with the traditional design software: 1) input for the lattice population – an overall shape that is often created in a traditional design software like SolidWorks, etc. 2) the physical simulations of the part that is populated with lattice so the user can understand and then optimise the performance of the overall part.

Carbon Design Engine UI
Carbon Design Engine is able to predict lattice performance prior to generation – here it suggests lightweighting lattice

To date, we’ve relied on simply accepting triangle mesh (.stl files) as an input from the traditional CAD software into our Design Engine.

We have focused on the simulation problem quite a bit especially when using these lattice structures with elastomeric polyurethane materials the overall design can go through large deformation and post buckling behaviour.

We realised that without the ability to simulate these accurately the mechanical engineer will not be able to really utilise the full capability of what lattice structures have to offer.

We have created a model to generate these responses and have included such data in the current version of the Design Engine. We are actively working on this area so that we can simulate the responses up to 80 per cent strain and enable users to also simulate dynamic responses.

All of our tools run on AWS and the Design Engine is, of course, accessible through your browser (Chrome) so we are not limited to the user’s computer’s processing capabilities.

At Carbon, we can at least distinguish a million different lattice structures, each different from one another in some way, so we have a long, long way to go!

Lattice stress vs strain Carbon
“Without the ability to simulate these accurately the mechanical engineer will not be able to really utilise the full capability of what lattice structures have to offer”

There is huge potential for lattices to be combined with other computationally driven methods of shape and function design – and it finally looks like we’re entering an age where that potential might be realised as part of the design and engineering toolkit.

As someone with an in depth knowledge of not only the theory behind lattice design, but also the application of that theory in real world customer problems, where do you see the future, and what challenges do you think we’ll face along the way?

Let me answer that with an example: at Carbon we’ve been living and breathing lattices for the past few years and have been actively looking for new applications. However, we still did not see a potential use case for the COVID-19 NP Swabs.

In the early days of the pandemic, the supply chain was broken and a simple product like NP swab needed for COVID-19 testing was short in supply. So, the 3D printing community jumped on the problem, including a team at Carbon and our partner Resolution Medical.

The team was able to design and launch this lattice swab for COVID-19 testing within just 20 days! This means when additive manufacturing methods are combined with the right software that enables these designs we can really short circuit the process from idea to production.

In other words, I think the applications are limitless and it is very difficult for us to imagine it! Hence, we are really focusing on developing these tools – the printer, the process, and now the software (Design Engine!) that enables the engineers to design and launch kickass products.

We believe that our users will find applications we have never seen or thought of before and push us to create better tools for them and in turn expand the usage.

We certainly have some challenging geometry and software problems in wide variety. I will list a few here so if any of the readers are interested in solving this please consider joining our team and reach out to me at:

  1. A robust hexahedral population of the design space for lattice population
  2. A lighting fast mixed integer quadratic programming solver
  3. A loss controlled compression method for 3d geometry

Leave a comment