Tuesday, March 31, 2009

History-Free CAD, Much More than Direct Editing

Most all major CAD companies are now selling or developing history free, direct, explicit, (whatever you want to call it) technologies. Most of the talk is related to how this technology can bring new flexibility to the geometry editing process regardless of how or where the geometry originated. What I don’t see being discussed much is how history-free technology can be utilized to actually design products.  There are many characteristics of history-free technology that can bring new and flexible approaches to the design process if implemented properly.  It can be much more than direct editing.

There are several characteristics of typical history-based CAD systems that, to some extent, impose rigid methods and process into the task of creating models, and eventually designing products. Most of these characteristics have been common place in 3D CAD for so many years that we really don’t consider them as being something that may inhibit our ability to actually design products. With history-based CAD, a user is creating a “program” (usually called a history tree) that if done properly will represent the product design.  Because of this a user must be careful and cautious in creating and manipulating the program. But not only that, the CAD system must closely control how it is being used to develop this program; otherwise the program (history tree) could easily be corrupted. Here are just a few of these characteristics.

  • In most training manuals for history-based CAD systems you will find early on that users are coached and encouraged to spend some time in up-front thought and planning before beginning the actual modeling process. To create the “program” (history tree) correctly you must know something about the “intent” of the program. What dimensions are critical for the design? What dimensions and parameters might change throughout the lifecycle? What relationships are critical to the design? In reality, with history-based CAD you may be “documenting” what is already designed more than you are actually “designing”. As there is no recorded tree or “program” with history-free CAD, there is no need for up-front planning. Just quickly get into the process of design.
  • In history-based CAD, the sketch is a critical component in the tree. Each sketch creates a feature that is ordered in the tree. Too much complexity in the sketch can make editing difficult, too little can lead to overly complex and large trees. With history-free CAD a sketch can have as little or as much complexity with no impact to the end results. Complex nested profiles are just a valid as a simple rectangle.
  • There are some modeling operations that don't come natural when working in a history-based environment. Operations like Unite or Merge for joining two parts together into one part, or Section for cutting one part into two new parts, (don’t confuse this with the interaction between multi-bodies of a single part). These functions can be very useful and will allow users to leverage and take full advantage of existing 3D data. If these functions do exist in the assembly mode of a history-based CAD system, they will be tightly controlled and somewhat inflexible, and in the end may overly complicate the history-tree. How geometry is created makes no difference in a history-free CAD system. In a mature history-free CAD system you should find many geometry creation and modification functions that can bring much flexibility and productivity to the design process.
  • As mentioned in an earlier post about in-context design, history-based CAD systems must have a part mode and an assembly mode. This can significantly complicate the process of product design. Special functionality is required to make top-down and in-context design possible in history-based CAD. With mature history-free CAD there will be no part mode or assembly mode, you will be working in a virtual 3D space. In-context and top-down is just the natural way of working.
  • History-based CAD provides a nice platform for capturing so called design intent. As a matter of fact, with history-based CAD you are capturing and managing much of this intelligence whether it is needed or not. With mature history-free CAD, you should be able to add and utilize design intent where and when it makes sense including constraints, relationships, dimensions, tolerances, features and other annotation. Combining parametric modeling with history-free modeling is nothing new.

There are several other characteristics that fit here, but these are some of the more obvious. 

Combining history-free, direct editing technologies into a history-based CAD system will not reduce, minimize or eliminate these characteristics and their impact on the design process. If the CAD system records modeling and assembly operations in a tree structure, these characteristics will exist.

If you are interested in the potential benefits of history-free "design", be sure to look for the following characteristics.

  • There should be no need for up-front planning.
  • There should be complete flexibility in sketching. The sketch should have no impact to the future use of the model.
  • There should be a variety of methods for creating and modifying geometry with complete flexibility in how it's done.
  • There should be no part mode or assembly mode. In-context and/or top-down should be natural and normal.
  • You should be able to add and utilize design intent where and when it makes sense.
  • Oh, and I don’t want to forget – you should be able to directly edit geometry regardless of where and how it was created.

And now for the usual disclaimer: History-free CAD is not for everyone. It’s not the answer to all your design needs, and it is certainly not the only tool you may need in your product design toolbox. It can however bring much more value to the process of product design than just direct editing. It just depends on how it's implemented within the CAD system.



Josh said...

Love it Paul. great write-up, especially the main points at the end.

I'm thinkin' there's always gonna be a bit of a need for 'up front planning' - Our compnay uses a pre-modeling checklist. regardless of cad system used, it's items that need to be considered for an optimized model and drawing. But i see what you're saying, no planning for what plane to use, or what sketch tool is going to work best to get you to feature #37 right? the 3D CAD chess game, ha!

see ya, Josh - solidsmack.com

Paul Hamilton said...

Thanks for the comments Josh! Some day I would enjoy discussing your understanding of "an optimized model and drawing" :<).

You are right- "the 3D CAD chess game". Because history-based CAD records "stuff" - you want the recording to be the best possible, and fit the intent. It's like recording a demo video, or even a song (in case you are a musician). It requires much upfront planning to make sure the recording meets your expectations and requirements. You certainly have some ability to edit the recording, but you want to get it as close as possible from the start.

With history-free CAD, there is no recording (history).