Friday, July 13, 2012

History-Based Modeling and Direct Editing

Most all parametric history-based CAD tools on the market now have some level of direct geometry editing capabilities. Without direct editing, users of history-based CAD tools can only edit preexisting information captured in the structure tree during model creation. Information like sketches, 2D constraints on the sketch, 3D feature parameters and feature order. To make these edits, it is important for users to have some level of knowledge about the structure tree and the process and methods used in the creation of the structure and resulting model. In the case of imported models, this information is typically not available and as such the imported model may not be editable, with the exception of adding new features to it. In the earlier days we tried to recognize features in imported models to develop an editable feature tree, but that typically only worked on relatively simple models. In other cases we tried feature tree translators. There are several companies that provide these types of translators, but a feature tree translation can be problematic depending on geometry characteristics, it will be version specific, and can be somewhat expensive.

Direct editing is being introduced into history-based CAD systems now to simply provide another option in history-based modeling for the editing of 3D models. With good direct editing we can be somewhat less dependent on a well-structured feature tree. However it does seem that some parametric history-based purists consider direct editing within a history-based CAD tool as somewhat of a risk. Perhaps they are concerned that it provides a way to “corrupt” the design intent. I find this a little strange in that if in fact the design intent (feature structure and definition) is already pure and perfect, there would certainly be no need for direct editing. Unfortunately this is rarely the case.

In reality direct editing in a history-based tool is just another parametric modeling feature. And like any parametric modeling feature, there needs to be clear best-practices and modeling standards associated with it. If used correctly, direct editing can be one of the most powerful parametric modeling features you may have in your CAD toolbox.

I want to try to highlight some of the potential power of direct editing within a history-based model in the video below. In this case I will be using Creo Parametric. PTC added direct editing to Creo Parametric with what they call “Flex Modeling”. Mature direct editing requires tools for geometry selection, methods to define the transformation (edit), and robust predictable results.

So having another method; direct editing, for creating an intelligent and ordered parametric feature can be very powerful when used correctly. It should be nothing to fear, but rather leverage when and where it makes sense – as with any parametric modeling feature.

PTC has done a nice job integrating the necessary functionality with a robust kernel to make their direct editing (Flex Modeling) very capable, predictable and robust. The same can be said of Siemens and their direct editing (Synchronous Technology) in both NX and Solid Edge. But as you consider direct editing, pay close attention to these three things:
  1. There must be good geometry selection methods including feature recognition, geometry rules and the ability to add and remove from the selection
  2. There must be intuitive methods for defining the transformation including dynamic handles and dimensions. AND, you should be able to make multiple transformations in one edit.
  3. You must get stable, predictable and robust results. In some cases there may be multiple results to a given transformation. The system should provide the possibilities and allow the user to select the appropriate one.
Not all history-based CAD tools do direct editing very well. Direct geometry editing requires functionality from the geometry kernel that typical history-based modeling systems have not had to do. History-based CAD systems are basically Boolean engines that are programmed through the history/feature tree, with the parametric feature being one of the primitives in the Boolean. With direct editing, besides Booleans, the system needs to know how to do local operations, how and when to close gaps, add and remove faces, and extend and trim geometry - all based on actual geometry manipulation. If it doesn't do these things well it will certainly show.



Dave Ault said...

Direct editing is the way to go. I look back on how cumbersome it was to edit parts or work on imported parts before I started used direct editing and I am glad I am not there anymore.

Jon Banquer said...

"There must be intuitive methods for defining the transformation including dynamic handles and dimensions. AND, you should be able to make multiple transformations in one edit."

Direct editing has not been adopted by many long time Solid Edge users because up until now Solid Edge did not have the intuitive methods you mention above. Finally, after five releases of Solid Edge ST, they now have what they call a Live Rules Solution Manager. A Solution Manager for Live Rules should have been included in the first release of Solid Edge ST. Starting at 3:48 in the video I provide a link to below you can see how the Solid Edge ST Live Rules Solution Manager works:

I don't know of something like this is needed in Creo Elements Direct. For sure it was needed in Solid Edge ST a long time ago.

Jon Banquer said...

One thing that would really help history based modeling would be what Cloud Invent suggests:

"simple instruments to modify interactively a model once it has been created."

If history based modeling continues to fail at providing the "simple instruments" I think it's only a matter of time before a company who offers a very powerful direct modeler and who has excellent marketing(a major problem right now for companies who sell direct modeling)starts to mass convert users of history based modeling.

I think it's long past time to focus on core issues that CAD continues to fail misserably at. Core issues like this one that Cloud Invent articulates so well:

"But interactive modification of the model is the fundamental aspect in any design activity! Designer is constantly going forward and backwards, re-elaborating once and again some particular aspect of the model, or its general layout, or even coming back to a previous solution that had been temporarily abandoned. With feature-based CAD these modifications are tricky."

Paul Hamilton said...

Dave, glad to hear you’re getting value from direct editing.

Jon, it’s probably user preference, but I think SE ST is a little aggressive with its use of persistent relations, and as such the Solution Manager will be very valuable (although I'm no SE expert). As I mentioned in the post though, any system that provides direct geometry editing does need some method of providing the user possible solutions when more than one exists. Strangely enough, the more persistent relations you have, the more choices you may need to make. The alternative to that, one I prefer, is to have less persistency allowing my real-time selections to determine and drive results; if I want a hole to move, include it in the selection, if I don’t, don’t include it.

Jon Banquer said...


There are so many possible geometry conditions that I think a Solutions Manager is a must!

The use of colored faces by the Solid Edge Live Rules Solutions Manager is a very good way to show the user what's going on. It's not the only way but it's a very good way.

Cloud Invent seems to think we are awaiting awaiting a "Great Unification". I think that this is going to be very hard to pull off and that it maybe a long way in the future before this happens. I think it's much more likely the next step is much better and much more powerful constraint solvers than what exists now in direct modelers. Seems to me that Cloud Invent's claims of better math and the ability to use all cores of a multi-core processor are legitimate. In the video of the V8 engine when you go to update the stroke the result is way too slow for my taste! I tend to vacillate on what's going to happen to history based modeling but I'm back to thinking that more powerful and better designed direct modelers can totally replace history based modeling. What I don't accept is what has been put forth by the head developer of Solid Edge which is that history based modeling is "maxed out". There is so much room for improvement in history based modeling that it makes my head spin!

Also, I've been watching a lot of video on Creo Elements Direct. I definitely think very good progress has been made with the user interface but I think much more still needs to done. I really wish something was available that showed how to apply constraints not just edit them. Please consider doing a video on this as your videos on CoCreate / Creo Elements Direct are easily the best I've seen. I wish PTC would pay you to just do video on Creo Elements Direct because it's very poorly documented on You Tube and on PTC's Learning Exchange.

Dave Ault said...

Hi Paul,
Yes I do get value. You know I have my favorite flavor of direct editing butI would use any competent direct editor any day over a straight history based program as long as it was good at MCAD and sheet metal. The advantages to me in my business are just to great to ignore.

Manzano said...

I'm looking to make parametric solids that comes cut in half but remains parametric as a whole, example: change from M6 to M8 nut hole on both halves. I guess there's a way but cannot find it. Any idea?

Paul Hamilton said...

Manzano, I am not sure I clearly understand what you are trying to do. It may depend on what CAD tool you are using. You are welcome to send more detail via my email link.