Implicit modelling for complex geometry

Implicit modelling is enormously powerful and offers huge potential for engineering design. It is currently ready to apply in specific modelling tasks involving complex geometry. It is not yet clear whether it will be possible to fully implement it within the familiar parametric design environment, with constraint-based sketches used to define geometry. If not, it may remain a specialized tool.

Dr. Jody Muelaner, PhD CEng, MIMechE, Muelaner Engineering Ltd

Additive manufacturing enables the production of highly complex geometries such as repeating lattice-like structures and organic shapes. This design freedom can improve performance in terms of weight, stress, fluid flow and heat transfer. However, modelling, editing and processing complex geometry files is challenging for the established CAD software. Let’s look at how implicit modelling can solve these problems as well as the challenges still remaining to integrate it into the design workflow.

The problem with current CAD software
If you’ve ever tried modelling complex lattices in a typical CAD program, such as SolidWorks, you’ll know this is extremely challenging. When models have large numbers of features, the file sizes and rebuild times increase exponentially. Conventional CAD programs can also have difficulty with apparently quite simple models if they have features such as two fillets that overlap. When high feature counts are combined with these types of challenging geometry, model rebuilds become painfully slow at best and all too often they simply fail.

The problem is the fundamental way that geometry is represented. All the major CAD programs use boundary representations (b-reps) to define solid geometry. B-reps use topology, such as vertices, edges and faces, which are defined by geometry such as points, curves and surfaces. For example, an edge is a bounded region of a curve and a face is a bounded region of a surface.

B-reps work fine for relatively simple geometry. Older CAD programs sometimes used Boolean operations to combine primitive objects such as cubes and spheres. B-reps are much more versatile, allowing profiles to be swept and lofted, solids to be shelled and so forth. However, when features are combined with fillets and blends, or large numbers of features are included, calculating the topology becomes exponentially more demanding on the computer. Many modelling operations involve combining simpler shapes with Boolean and blending operations. B-rep modelling has to calculate all of the new edges that are formed where faces intersect. For objects with planar faces the individual calculations are relatively simple, but the number of intersections increases by approximately the square of the number of faces. For intersections between curved surfaces the edges are complex splines, making the calculations considerably more complex. When faces are close to tangent, things get really difficult.

Another issue with B-reps can be determining which points in the model are inside the boundary – the solid material. The method is to shoot a ray from the point in an arbitrary direction. If the ray passes the boundary an odd number of times then the point is inside the boundary. If the ray passes the boundary an even number of times then the point is outside the boundary. Since floating point arithmetic is used, rounding errors may mistakenly count boundary crossings when the ray is close to the boundary. There are also ambiguities such as when a ray is tangent to a surface or passes through a vertex – it is not clear whether this counts as a boundary crossing, or as two crossings. Because of these issues, additional checks are required to ensure that b-rep modellers are robust. This makes them mathematically inefficient.

The mathematical simplicity of Implicit Modelling
Implicit modelling is a far more efficient way to model geometry. It doesn’t explicitly calculate any edges or vertices. Instead, a single mathematical function of x, y and z is used to describe a 3D solid. Consider the simple example of a cuboid centered on the origin.

A cuboid can be defined by the implicit function. Any point on the boundary gives a function value of zero, negative values are inside, and positive values are outside, which makes the determination of whether a point is inside or outside simple.

This cuboid can be defined by the implicit function:

FA(x, y, z) = max(|x| – 4, |y| – 1, |z| – 1)

Any point on the boundary gives a function value of zero, negative values are inside, and positive values are outside. Determining whether a point is inside or outside is therefore very simple. There is no need to try to count how many times a ray crosses the boundary. Small floating-point errors will give the wrong answer only if the point is infinitesimally close to the boundary.

Performing Boolean operations to combine implicit geometry is also very mathematically simple. Consider two solids being added together in a Boolean union. For a point P to be within the combined solid, at least one of the two implicit functions must evaluate to less than zero. The combined implicit function is, therefore, simply the minimum of the two functions.

Imagine that a sphere, centered on the origin and with a radius of 2, is added to the cuboid.

Performing Boolean operations to combine implicit geometry is also mathematically simple. Consider two solids added together in a Boolean union. For a point P to be within the combined solid, at least one of the two implicit functions must evaluate to less than zero. The combined implicit function is, therefore, simply the minimum of the two functions.

The implicit function for the sphere is:
F(subsetB) (x,y,z) = √(x^2 + y^2+ z^2 ) – 2
The implicit function for the combined solid is simply the minimum of the implicit functions for the two shapes:

FC(x, y, z) = min(FA, FB)

This simplicity of calculating geometry means that complex fillets and blends can be created reliably, and highly complex models rebuilt almost instantly. The below image shows fillets where a lattice joins a ring. The fillets overlap in a way that would probably fail in most CAD systems, but they have been easily created using nTopology implicit modelling software.

Implicit functions can also give a feature’s distance from the boundary.

Distance fields – a powerful feature
Another really useful property of implicit functions is that they actually give the distance from the boundary. A good way to understand this is to simply try some values in the function for a cuboid, used in the example above:

FA(x, y, z) = max(|x| – 4, |y| – 1, |z| – 1)

The smallest value that this function can take is -1. This occurs for points down the centre of the volume. There is no upper limit to the value it can take, since you can travel infinitely far once outside it.

Implicit functions make it easy to calculate a distance field either inside or outside the boundary of any solid geometry. This makes it very easy to perform shell operations and you can even create shells with varying wall thickness.

Implicit functions make it really easy to calculate a distance field either inside or outside the boundary of any solid geometry. This makes it very easy to perform shell operations. It is even possible to create shells with varying wall thickness.

Because implicit geometry is defined as a field, it can be modified by other fields. This enables highly efficient merging between different geometries, to create features similar to fillets. It is even possible to modify a geometry field using some other property, such as a stress field generated from an FEA study. In the below example, nTopology has been used to modify the diameters of beams in a simple diamond lattice, with the diameter increasing as the stress increases. It is also possible to do this with shelled solids, so that the wall thickness depends on stress. This can be a powerful method of optimizing structures that, unlike generative design, works well with cast or injection moulded components, as well as additive manufacturing.

In this example of implicit geometry, the software program nTopology was used to modify the diameters of beams in a simple diamond lattice, with the diameter increasing as the stress increases. It is also possible to do this with shelled solids, so that the wall thickness depends on stress. This can be a powerful method of optimizing structures that, unlike generative design, works well with cast or injection moulded components, as well as additive manufacturing.

Implementation of Implicit Modelling

A number of commercial software companies are offering implicit modelling packages. The field is currently dominated by smaller specialized providers such as nTopology, which has a suit of capabilities for working with complex geometry. Another notable start-up, Gen3D is currently focused on modelling flow paths for applications such as manifolds and heat exchangers such as the one shown below. The big players in the CAD world, such as Autodesk and PTC have started acquiring start-ups in order to gain access to this technology. Autodesk recently announced their Volumetric Kernel for Fusion360 which, it is claimed, will enable implicit modelling to be fully integrated within a parametric design workflow.

A number of commercial software companies are offering implicit modelling packages. One notable start-up, Gen3D, is currently focused on modelling flow paths for applications such as manifolds and heat exchangers.

At the moment, however, it is not possible to work directly with implicit models within any mainstream CAD system. Specialized implicit modelling software is instead focused on creating the complex geometry that conventional CAD struggles with. For example, you might import an initial design from your standard CAD package and then perform operations such as creating complex lattices, shelling complex components or creating intersecting fillets.

The most obvious application is for light weighting structures using lattices for additive manufacturing. However, there are many other potential applications for complex geometry creation such as cast components with complex fillets and variable thickness shells. Many industrial designers are taking advantage of the capabilities to produce decorative grills. Implicit modelling software such as nTopology makes it extremely easy to create these types of geometry.

Stress analysis using Finite Element Analysis (FEA) can also benefit hugely from implicit modelling. One of the most time-consuming parts of analysis can often be cleaning up the geometry created by CAD software. Because b-rep modelling creates edges where any surfaces meet, there can often be thin sliver geometry at intersections and fillets. This can make even relatively simple parts difficult to mesh with high quality elements. Implicit models don’t have any of these issues giving the potential for painless creation of high quality meshes. This can, however, create its own issues as discrete surfaces may be needed to define boundary conditions. B-rep surfaces are therefore sometimes imported from CAD to enable boundaries to be defined.

Gyroids and Triply Periodic Minimal Surfaces
Triply periodic surfaces are an interesting type of geometry that is relatively new to the world of manufacturing, although they have been known to mathematics since the 19th century. These surfaces repeat in each of three dimensions, similar to conventional arrays. However, the arrays of intersections between each element are often problematic, with fillets at each interface quickly making models unmanageable. With triply periodic surfaces, there are smooth transitions between each repeating element, with the entire surface defined by a single implicit function.

Triply periodic surfaces are a type of geometry that is relatively new to manufacturing, although they have been known to mathematics since the 19th century. These surfaces repeat in each of three dimensions, similar to conventional arrays. However, the arrays of intersections between each element are often problematic, with fillets at each interface quickly making models unmanageable. With triply periodic surfaces, there are smooth transitions between each repeating element, with the entire surface defined by a single implicit function.

Within mathematics and the natural sciences, there is particular interest in triply periodic minimal surfaces (TPMS) which are minimal surfaces as well as being triply periodic. This means having zero mean curvature. Although structures used within additive manufacturing may be TPMS’, it is generally not important whether or not they are minimal surfaces.
Because triply periodic surfaces can be defined by a single implicit function, they can easily be combined and blended with other implicitly defined geometry. They can also be modified by other fields so, for example, they adapt to stress, fluid flow or heat transfer requirements. These properties can make them enormously powerful from a modelling perspective. They also have many interesting mechanical properties although understanding these properties is still very much an area of active research.

Robust modelling enables greater reuse
One of the benefits that nTopology is stressing is something they call their notebook. This is a way of recording the process used to create geometry, very much like the feature tree in parametric CAD. Variables can be changed and references to external files updated, before replaying the process. This can enable workflows and best practices for capture, reuse and refinement.

While nTopology’s notebook is conceptually similar to a parametric feature tree, the increased robustness of implicit models should make it more useful. While parametric model templates work well for simple standard parts, they are often unreliable for more complex products. This is often because topology such as vertices and edges are automatically created and assigned ID’s while the geometry is being constructed. When changes are made that affect the way features intersect, especially where fillets are involved, the number of vertices and edges may also change, resulting in different ID’s being assigned. Features that reference this topology therefore lose their references and the model fails. The designer is often faced with a choice between a lengthy debugging process and recreating the model from scratch. Implicit modelling doesn’t depend on these topology references and is therefore unlikely to fail when variables are changed. However, if b-rep geometry is referenced underlying topology may cause workflows to fail because of this dependence.

Thus, implicit modelling is enormously powerful and offers huge potential for engineering design. It is currently ready to apply in specific modelling tasks involving complex geometry with the potential to be fully implemented in the familiar parametric design environment.

Muelaner Engineering Ltd
www.muelaner.com