My views, opinions and reviews of CAD, PLM and the Product Development Process.

Thursday, May 28, 2009

Direct Editing in History-Based CAD

In a recent post by Deelip Menezes titled “Direct Editing and Direct Modeling” Deelip brings up the fact that within the context of history-based modeling, this term can refer to two different things. He notes that in a typical history-based system like Alibre, a direct edit to geometry will result in a new “Move Face” feature that will be added and ordered into the tree. He then notes that in SolidWorks using the Instant3D functionality, the edit is not recorded into the tree. The two technologies referred to here are very different as I will explain below. Unfortunately they are both often referred to as “Direct Editing”. You can access his article by clicking on the link to his blog under “My Blog List”.

As I mentioned above, in the context of history-based modeling, the term “direct editing” is used to describe two completely different things:

1) Some history-based CAD systems (almost all of them now) have at least one or two functions that will allow a user to directly manipulate geometry – at the geometry level. When this manipulation is done within a history-based model the system must track the edit in the tree otherwise the next time the model is regenerated, the edit will be lost. This type of editing is great for parts in which the history tree has become unmanageable or overly complex and you just need to make a quick change, or when you are working with imported geometry. Direct manipulation of a B-Rep solid is not a trivial thing and many of these history-based systems don’t have the capabilities to solve complex topology problems. As such much of this capability can be very limited. This technology is the heart and soul of history-free direct-modeling CAD. A history-free CAD tool must be very good at solving topology problems, whereas a history-based system relies more on the tree.

2) Some history-based CAD systems provide the capability of dynamically manipulating parameters. Such is the case with SolidWorks and their Instant3D capability. This edit graphically appears to be a direct edit as defined in #1 above. In reality it is very different. There is no new “move” feature added to the tree, only existing parameters that are being dynamically edited. This method simply provides instant feedback of the parameter edit rather than waiting for a model regeneration. It requires that a parameter exist in the model. As such it may not always work, based on how the model was created in the first place, and as with any history-based edit it can impact child features. It also may not work for imported data. This is not new technology. IronCAD has been using it ever since it came into existence many years ago. We will certainly see much more of this technology in history-based CAD. Just to be clear, in history-free direct-modeling, you can also dynamically manipulate parameters, it’s just that the parameters are not history-based.

As I have mentioned before, there are really only two fundamental technologies used in mechanical “solid modeling” CAD today; 1=history-based (CSG+B-Rep hybrid) or 2=history-free (B-Rep). Direct geometry editing and dynamic parameter editing (or whatever we want to call it) can be available in both. It’s just a matter of how the geometry is managed; with history or without. They both have their pros and cons and each can greatly impact the design process.

I’ve heard a few different CAD companies using the term “direct” with different meanings. The common denominator I’ve observed regarding the term "direct" is that it describes a modeling operation which was done by selecting the faces of the model "directly" in the 3D graphics window instead of through a feature tree. As you point out, the technology behind that edit can be very different.

About Me

I have been involved in product development, manufacturing and CAD/CAM/PLM for over 30 years. My primary interest has been in 3D CAD, specifically Direct Modeling.
My postings on this site are my own and don't necessarily represent the opinions, positions and strategies of my employer or any other company.