The fact that geometry models from a CAD system are inexact may surprise some people. But the explanation provided here by guest authors Benjamin Urick and Benjamin Marussig may be one of the most concise explanations of that fact I’ve seen. They illustrate the reason I say geometry modeling is to mesh generation as turbulence modeling is to CFD. It’s fair to say that the majority of that challenge arises from the intersection curves used to trim surfaces. And here’s why –

**Guest Authors:**

Dr. Benjamin Urick, nVariate, Inc. (benurick [at] nvariate.com)

Dr. Benjamin Marussig, TU Graz (marussig [at] tugraz.at)

Modern engineering design-analysts rely on Computer-Aided Design (CAD) applications to create geometric models of parts and assemblies. Such models provide necessary input for a variety of design and engineering activities, including computational engineering analysis (Computer-Aided Engineering or CAE), manufacturing operations (Computer-Aided Manufacturing (CAM), additive manufacturing, etc.), metrology, graphics, etc.

The majority of engineers find analysis-suitable model preparation from CAD data to be a tedious and time-consuming task, for reasons not often understood. In a well-controlled and monitored study conducted by Sandia National Laboratory, The DART System Analysis report showed that engineers spend as much as 73% of their time repairing and translating CAD models for use in computational analysis [1]. A natural question arises as to why such a barrier exists between the CAD geometry and analysis model when the CAD system seems to display an accurate representation of the intended design.

## Geometry – What You See Is NOT What You Get

It is important to understand that the geometry in a CAD system is far from WYSIWYG (What You See Is What You Get). The actual surface geometry stored in memory differs drastically from what is displayed to the user by the CAD application’s graphical user interface as demonstrated in the example below. Since graphics operate at the pixel level, purpose-built raster and ray trace algorithms are able to provide a filter between the actual geometric data and an image of what the user expects as their design.

One could say that the single biggest problem with CAD is that graphics cards are so powerful that they create a misleading interpretation of the actual underlying geometric data. The graphics serve to realize the user’s design intent as a filtered image from the CAD model that may or may not actually exist in the surface data; most often not. As a result, many CAD users have an imprecise understanding of what is actually being modeled, closer to that of the graphics and farther from the true surface geometry, leading to user frustration in building analysis-suitable models.

## The Boolean Paradox

Engineering models contain many unique geometric features that are built from the collection of individual freeform surfaces that intersect each other in the CAD system. It is through Boolean operations – the core geometric operations of union, intersection, and differencing – that a user builds up their sculpted model into a particular design. Unfortunately, these critically central operations are perhaps the most problematic for maintaining geometric modeling accuracy. The handling of such vital tasks is so difficult, that the following recommendations (top of Figure 2) serve as handbook best practices in the field [2], a stark contrast to the ubiquity and importance of Boolean operations given in CAD application literature (bottom of Figure 2) [3] , a paramount technical conflict that has plagued CAD since its inception.

The scope of complications arising from Boolean operations is staggering given their unavoidable necessity. Entire branches of industry have been set up to deal with the expensive and limiting problem of repairing geometric models built upon intersecting surfaces. The main issue with these so-called trimmed surfaces is that small gaps arise between them, resulting in discontinuities within the model. Commonly referred to as surface-surface intersection (SSI), or the trim problem, it is considered to be the biggest problem in the field [4], often frustrating downstream users by the surface intersection approximations that result between trimmed surfaces. The scope and weight of the problem is best summarized with an excerpt from the following paper by one of the industry’s leading experts on the topic, Tom Sederberg [5]:

“The existence of these gaps in trimmed [CAD] models seems innocuous and easy to address, but in fact it is one of the most serious impediments to interoperability between CAD, CAM and CAE systems.[…] Since 3D modeling, manufacturing and analysis software does not tolerate gaps, humans often need to intervene to close the gaps.[…] At a workshop of academic researchers and CAD industry leaders, the existence of gaps in trimmed-[CAD] models was singled out as the single most pressing unresolved problem in the field of CAD.”

## The Difficulty of Surface-Surface Intersections

So why are surface intersections so difficult to perform? Numerical approximations of the surface-surface intersections are inevitable as the exact intersections of these surfaces are of a polynomial degree and complexity too large for any CAD system to realistically handle in software or to be of practical use by the modeler for further shaping [6]. For example, **the intersection of two arbitrary bicubic B-spline surfaces results in the solution of implicit equation of degree 324** [7], with no unique parametric form. It would be completely unfeasible to implement an exact solution in software under these constraints and is the reason why no CAD applications do.

Approximate parametric intersection curves of lower degree are computed rather than the exact intersections. Although the specific process varies between CAD applications, the general approach involves the approximation of surface intersections by means of point sampling. These points are used subsequently for a low degree curve fitting process in model space. As a result, the computed intersection curve is not actually contained in either surface. Individual parameter space curves are independently constructed and there is no geometric link between them; an auxiliary topological data structure is needed to store the relationship to the trimmed surfaces.

The biggest problem for downstream users is that the underlying surfaces are never actually altered or updated to reflect the true surface intersections, unlike what is displayed in graphics. The numerical intersection algorithms introduce gaps and openings at the best-fit curves representing the intersections, making the resulting surfaces non-watertight.

Although this process has worked for displaying CAD models while the user completes their design, this strategy does not work for those using the CAD model in CAE, additive manufacturing/3D printing, metrology, animation, etc. These users require watertight, gap-free models, making a standard CAD model unusable without further processing. As such, an immense effort is necessitated to heal the model to make it gap-free. This cleanup process is costly, time-consuming and frustrating. Each iteration of the design process requires the engineer to translate the non-watertight, native CAD boundary representation (B-Rep) to a valid analyzable from, typically a polygonal mesh. This operation requires repetitive, semi-automated and/or manual, and tedious examination at fine levels of detail to identify and repair the flaws. This results in a one-way design process hindering design feedback, optimization, and information integrity.

The CAD data representing surface intersections is sensitive during model translation and analysis preprocessing in current implementations. One could argue that the meshing process is required to actually produce the intended design that is reflected in graphics. Although the rendering algorithms for the graphics are tolerant of SSI approximations, downstream users in analysis and CFD must have geometrically watertight models that are not supplied in the CAD data, but only in the graphical user interface of the CAD application.

## Being Aware is the First Step

A lot of research has been, and is still, devoted to address the SSI or trim problem. Both the design and the analysis community try to resolve the related issues using various approaches as reviewed in [8]. Unfortunately, there is not a canonical solution to the problem yet, and hence it is important that CAD users and downstream engineers are aware of the fact that what you see on your screen is usually not what you get from your model.

## Update – January 2020

For more information about geometry modeling for CFD including a whitepaper on the topic, see Preparation of Geometry Models for Mesh Generation and CFD at pointwise.com.

## References

[1] M. F. Hardwick, R. L. Clay, P. T. Boggs, E. J. Walsh, A. R. Larzelere, and A. Altshuler, “DART System Analysis,” Sandia National Laboratories, Albuquerque, New Mexico 87185 and Livermore, California 94550, SANDIA REPORT SAND2005-4647, Aug. 2005.

[2] D. E. LaCourse, Ed., Handbook of solid modeling. New York: McGraw-Hill, 1995.

[3] J. Corney and T. Lim, 3D modeling with ACIS, 2nd ed. Stirling: Saxe-Coburg, 2001.

[4] R. T. Farouki, “Closing the gap between CAD model and downstream application (report on the SIAM Workshop on Integration of CAD and CFD).,” UC Davis, 32, 5, Apr. 1999.

[5] T. W. Sederberg, G. T. Finnigan, X. Li, H. Lin, and H. Ipson, “Watertight trimmed NURBS,” ACM Trans Graph, vol. 27, no. 3, p. 79:1–79:8, Aug. 2008.

[6] N. M. Patrikalakis and T. Maekawa, Shape interrogation for computer aided design and manufacturing. Berlin ; New York: Springer, 2002.

[7] T. W. Sederberg, D. C. Anderson, and R. N. Goldman, “Implicit representation of parametric curves and surfaces,” Comput. Vis. Graph. Image Process., vol. 28, no. 1, pp. 72–84, Oct. 1984.

[8] B. Marussig and T. J. R. Hughes, “A Review of Trimming in Isogeometric Analysis: Challenges, Data Exchange and Simulation Aspects,” Arch. Comput. Methods Eng., pp. 1–69, Jun. 2017.

I wish there was a way to “like” this post more than once.

Great article!

May I ask – what about solid geometries? Are they handled similarly? Usually this kind of objects are watertight, so does the numerical approximation of edges still aplly here?

Thanks.

A solid is nothing more than surfaces that have been intersected and trimmed together to enclose a volume. The fundamental issue remains.

Pingback: This Week in CFD | Another Fine Mesh

Great blog!! I hope this will trigger more support for urgently required research in this area. Note that the boundary element method is an ideal companion to CAD, as both use a surface definition.

Thank you. That’s why we wanted these two guys to guest-blog for us. I’m not certain I follow why BEM isn’t susceptible to gaps between surfaces in the geometry model. Can you explain more?

The BEM could actually deal with gaps (using discontinuous elements) but what I really meant is that the BEM is an ideal companion to CAD, since they both use a surface definition and it is the only simulation method where a seamless connection is possible, without generating a mesh. You might be interested that I and Benjamin have recently signed up with Springer to write a book “Isogeometric Boundary Elements” to be published in 2019, where all will be revealed.

OK, thank you.

Pingback: Top Posts of 2017 on Another Fine Mesh | Another Fine Mesh

Pingback: For All Intensive Purposes, We Use the Acronym CAD Incorrectly | Another Fine Mesh

Pingback: Geometry Modeling and Mesh Generation – Part 3 - Another Fine MeshAnother Fine Mesh

Pingback: This Week in CFD - Another Fine MeshAnother Fine Mesh