A Primer on MCAD Modeling Technology, Part 1: It’s All About the Trees

excerpted from  

Full article is available for a fee

Paul Hamilton, July 23, 2007

In the last year or so there has been increased talk in the industry about the differences between history-based CAD modeling tools and history-free CAD tools. Many terms have been used to describe CAD tools, including parametric, feature-based, explicit, Boolean, hybrid, direct, and dynamic—to name only a few. I have heard and read these terms being used in so many different ways; I find they are as badly overworked as “PLM.” So let’s skip these terms for now and focus on the four basic concepts used to describe 3D space: octree, facet modeling, constructive solid geometry, and boundary representation.

I found the following definitions from Wikipedia to be good and accurate. All 3D Mechanical CAD systems today are still based on these same technologies:

Octree is a method of creating 3D space by “sticking” together smaller simple 3D shapes to form bigger and more complex shapes. It is not used today in 3D mechanical CAD. However, many analysis and simulation applications use Octree or similar technology for spatial partitioning. It is very similar to a “mesh” in an FEA application.

Facet modeling is common in 3D graphics when low accuracy will suffice, such as in 3D games and entertainment, geography related applications and imaging systems. Facet modeling is no longer in use in MCAD; the accuracy is just not high enough. The exception is for visualization, as it is a function of the computer’s graphics processor.

CSG (Constructive Solid Geometry) was once common in MCAD, but its use is waning. The last systems to use this technology were I-deas from SDRC and CATIA. The problem with the use of pure CSG was low accuracy of the primitives and a limited set of primitives. Models were constructed by applying primitives to the model with one of three Boolean operators: union, intersection and difference. One component of CSG is still in use today, the “structure” or “tree” of primitives and related Boolean operations, which forms the basis of today’s history-based CAD systems.

B-Rep (Boundary Representation) is by far the most accurate technology for representing 3D geometry, and is used in all modern mechanical CAD systems. It was first used commercially in a geometry kernel called Romulus. The Romulus geometry kernel was used in several 3D modeling systems in the 1970s and 1980s, including Anvil, Graphtec, ME30, and Unigraphics. Many of the people that helped develop Romulus later created ACIS, a geometry kernel in widespread use by many of today’s 3D systems. Romulus was also the forerunner to Parasolids, which competes with ACIS as a geometry kernel for hire. Originally B-Rep modeling offered increased accuracy, but developing and modifying models was difficult.

Those are the four major 3D modeling technologies, but there is one more worth mentioning. The original version of Pro/Engineer from PTC created CAD models with a combination of CSG and B-Rep technology; it became known as Hybrid. Unfortunately, the term “hybrid” has been used to describe other aspects of 3D modeling and has brought more confusion to the topic. In its original form, Hybrid referred to the combination of the CSG tree structure with B-Rep-based primitives. This gave the accuracy of B-Rep with the flexibility of CSG. It was a giant step forward in mechanical CAD.


  • History-based modeling
  • History-free modeling
  • Related CADCAMNet articles

The full article is available for a fee at CADCAMNet.

More MCAD Select Articles