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
I found the following definitions from Wikipedia to be good and accurate.
All 3D Mechanical CAD systems today are still based on these same
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