View Single Post
  #20  
Old 06-04-2007, 01:09 PM
phamil1 phamil1 is offline
Registered User
 
Join Date: Aug 2005
Location: Fort Collins, CO
Posts: 46
Re: OneSpace vs. SolidWorks

This is such a fun topic; I can’t resist making this post even longer. J

There are many terms flying around here that I think are being abused. How about a little history (no pun intended) lesson on 3D modeling? It all started ….. now I am going to show my age ( And I know there are others out there that are as old as me that can correct my mistakes here.)

Back when 3D CAD first came into existence, there were several basic technologies that were used.
  • Octree - a tree data structure in which each internal node has up to eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants
  • Faceted – models are made up of straight lines and flat surfaces. Facets can be refined to improve accuracy of the model.
  • Constructive Solid Geometry (CSG) - constructive solid geometry allows a modeler to create a complex surface or object by using Boolean operators to combine objects. Often CSG presents a model or surface that appears visually complex, but is actually little more than cleverly combined or de-combined objects.
  • Boundary Representation (B-Rep) - a method for representing shapes using the limits. A solid is represented as a collection of connected surface elements, the boundary between solid and non-solid.
Most 3D CAD systems today are still based on these same technologies. Facet modeling is very common and use in 3D graphics for many systems that require less accurate models, such as 3D games and entertainment, geography related applications and imaging systems. You will no longer find facet geometry engines in today’s mechanical CAD systems. The accuracy is just not high enough. However all mechanical CAD systems do use faceted representations of the geometry for viewing the model.

CSG, in it purest form is no longer used in mechanical CAD. The last systems to use this technology was I-deas from SDRC and Catia. The issue with pure CSG was the low accuracy of the primitives and the limited set of primitives. Models were constructed by applying these primitives to the model with 1 of 3 Boolean operators: union, intersection and difference. There is one very important component of CSG, however, that is still in use today and that is the “structure” or “tree” of primitives and Boolean operations. The basis of today’s “history trees”.

B-Rep is by far the most accurate technology for representing 3D geometry, and is used in all modern CAD systems today. It was first used commercially in a geometry kernel called Romulus. The Romulus geometry kernel was used in several 3D modeling systems in the 70’s and 80’s: Anvil, Graphtec, ME30, Unigraphics and a few others. Many of the people that helped develop Romulus came together again to develop ACIS. This geometry kernel is in wide-spread use in many of today’s modern 3D systems. Romulus was also the forerunner to Parasolid. Another geometry kernel that is in wide-spread use today. In the early days, B-Rep modeling gave us accuracy, but developing and modify models was very difficult. Many time we resorted to creating primitives and performing Booleans on the model just to make a simple change. This was termed “explicit modeling”, and was somewhat painful and time consuming.

So where does “history” and “non-history” fit into all of this? Well both are based on technologies above.

History-based modeling.
  • The most common technology used in today’s CAD systems
  • Often, and incorrectly referred to as parametric modeling
  • Should be referred to as hybrid modeling
  • The steps/operations that are used to create the model are captured in a structured tree (CSG)
  • Structure tree implies a parent child relationship. All modeling steps must be recorded and related.
  • Modeling steps are based on a 2D sketch or a 3D feature and may add or remove material from the solid model
  • Sketches, parent/child relationships, geometry relationships and constraints are remembered and tracked in history to allow for modification
  • Interaction with the model is on the structure level, not geometry level
  • Hybrid: CSG with B-Rep Booleans
  • Facets are used for display
Non-history-based modeling
  • The most common technology used in the early days of CAD.
  • Emerging today in a new and dynamic form
  • Often referred to as: Explicit modeling, direct modeling, dynamic modeling, constraint free modeling
  • Interaction with the model is on the geometry level
  • B-Rep Booleans
  • Facets are used for display
So:
  • Both are Boolean based
  • Both are B-rep
  • Both can be “parametric”.
    • “histoy based” still provides the simplest method of applying intelligence to the model, although this is quickly changing. I think this is where SpaceClaim is headed. Whoever figures out how to quickly, and easily add intelligence to 3D, without the dreaded parent/child issues is going to win big in the future of CAD.
  • The only significant difference is that “history based” has the parent/child (CSG) relationship, (very old technology – by the way). And, this is NOT optional in history-based modeling ... and not available in "non-history-based"
So What?

Well, you just have to decide what is best for you. I am familiar with one company that is a leader in innovation in their industry and they don’t use CAD, except to finally document what the designers design. It’s fascinating and reminds me of the good old days. I personally think we waist way too much time messing with our CAD systems rather than designing and inventing stuff. This seems to be especially true with history-based modeling users. It’s like a kid with a Rubik’s Cube. For pity sakes, peal the stickers off and move on.
__________________
Paul Hamilton
Technical Sales Manager (PTC)
http://p-hamilton.blogspot.com
Reply With Quote