What is a geometric modeling kernel?

A Parasolid model appears in Siemens' JTGO viewer. Image: Siemens
Geometric modeling kernels are solid modeling software elements mostly used in mechanical computer aided design (MCAD) programs and to a lesser extent in architecture, engineering, and construction (AEC) CAD and BIM, finite element analysis (FEA), and computer aided manufacturing (CAM) programs. A geometry kernel provides the core functionality for creating, manipulating, and analyzing geometric entities and solid models.

These kernels differ in scope, complexity, functionality, and cost. Functions include parametric, history and feature based modeling.

Think of a modeling kernel as the engine in a car or the heart in a body. When kernels operate as they should, they draw no attention to themselves. However, without them, solid modelers would not exist.

The CAD software with which users are familiar is little more than a user interface that (through a programming interface) manipulates, controls, and otherwise manages the geometric kernel to create, join, modify, organize the solid models shapes that we see as parts and assemblies, as well as adds annotations, metadata and interfaces to downstream and parallel applications, such as CAM and PLM.

Solid modeling kernels rely on boundary representation (B-rep) in which edges (boundaries) are represented with B splines. Faces are mathematically defined between the edges; if the surfaces totally enclose a space (watertight), the edges and faces can constitute a solid.

Solid modeling kernels are adequate for primitive shapes (such as spheres, cylinders, and rectangular solids) and can be used for swept and revolved shapes. However, they’re limited with respect to organic, smooth shapes (for which advanced surfacing modeling is required) and even more limited with mesh models (also known as faceted shapes) such as those created for STL files used in 3D printing, terrain models, and meshes made from point clouds.

Parasolid recently expanded to manage faceted modelers with its Convergent Modeling Technology, which also includes sub-D (subdivision) modeling.

The most common geometry kernel, if judged by the number licensed, is Parasolid. Owned by Siemens, it's used by Siemens CAD programs Solid Edge and NX and oddly enough licensed to Siemens’ main competing MCAD programs, Dassault Systèmes’ SOLIDWORKS.

It gets weirder. In 2000, Dassault Systèmes acquired Spatial, makers of the ACIS modeling kernel. However, Dassault Systèmes doesn’t use this software in their own CAD programs. Their SOLIDWORKS program licenses Parasolid. Their CATIA program continues to use its homegrown kernel, Convergence Geometric Modeler. Not using ACIS does little to inspire others to use it. Perhaps because of this, ACIS, once the market leader in geometry kernels, is now a distant second to Parasolid.

ACIS suffered another no-confidence vote from Autodesk, which decided to buy the rights to ACIS code and use it to build their own solid modeling kernel, which they named ShapeManager, for use in Inventor and AutoCAD. Prior to that, ACIS was the number one geometry kernel due to the millions of licenses for AutoCAD — even though very few AutoCAD users used the program’s 3D capabilities or were aware of solid modeling.

Of the remaining major CAD companies, PTC created and used its own geometric kernel, called Granite, first in Pro/ENGINEET, then in its successor, Creo. However, PTC’s Onshape (acquired 2019), continues to use the Parasolid kernel.

Only one solid modeler, IronCAD, gives its users the option of using either Parasolid or ACIS.

A Russian company C3D Labs has had some success with its C3D geometric kernel. It’s licensed for use in nanoCAD, Kompas-3D by Ascon, the French CAM company ESPRIT, Altium Designer (EDA).

Open Cascade is an open-source B-rep solid model geometry kernel salvaged from Matra Datavision’s Euclid program abandoned in 1998. It appears to be used by FreeCAD, an open-source solid modeler.