Monday, July 9, 2012

Parametric Direct Modeling

I continue to enjoy seeing what is possible with history-free direct modeling when coupled with a synchronous parametric solver; i.e. Parametric Direct Modeling – or whatever you want to call it. This is the truest form of uniting the control of parametric modeling with the flexibility of direct, or explicit, modeling. If, on the other hand, the modeling process is the basis of your design intent, as is the case with history-based modeling, then you are forced to plan ahead before modeling. This firm coupling of the modeling process with the definition of design intent can greatly inhibit flexibility.

When adding direct editing technology to a traditional history-based parametric modeling tool, you still end up with a structured and ordered model. The direct edits are just another form of a “parametric modeling feature”. They, of course can be very powerful and useful in the right context and I'll discuss this in a future post.

By combining parametric control with direct modeling it is possible to have history-free geometry and assemblies that behave according to the designer’s intent. You can develop relationships and intent independent from the modeling process. There is no need to plan ahead before you start modeling, and certainly no need to ever recreate a model just because the model construction process and methods no longer support the designer’s intent. Parameters can be added to any geometry at any time. There is no dependence on where, how or in what order the geometry features were created, or how they were orginally constrained.

Here are several examples. Some you have seen before on this blog and some you have not. The video is organized into these three groups.

Geometry level design intent:
In these two examples we are simply controlling geometry with a few parameters. As this is direct modeling, it makes no difference where or how the geometry was created, or in what order the constraints were applied. The parameters are solved synchronously, not linearly.
  • Variable flange with pattern
  • Automotive wheel supporting a family of wheels
Assembly level design intent:
With these examples we are controlling assemblies. In some cases we’re using permanent constraints and in other cases the system is doing real-time solving based on the physical properties of the 3D models.
  • Iris Simulation
  • Complex gear simulation
Combined assembly and geometry design intent:
With these last two examples we are controlling both assembly and part relationships as well as geometry. In the case of the drill press we are using NO permanent constraints or relationships. The constraints and relationships are managed real-time based on part and geometry selection. In the V8 engine example we are using a large number of geometry and assembly constraints.
  • Drill press design change
  • V8 engine stroke change

I hope those examples make sense. There is still much room for improvement in the area of parametric control in direct modeling, but progress is happening. Some of the solving you saw happen in the embedded video was done using the DCM Solver technology from Siemens, and some was done with solver technology developed at PTC/CoCreate. I'm also excited to watch what the people over at LEDAS are doing with this technology. With the emergence of this type of technology CAD is certain to look different in the not too distant future.

Next up I want to show you some of the powerful things you can do by utilizing direct editing within a history-based tool - its not only about editing geometry.



Jon Banquer said...

"There is still much room for improvement in the area of parametric control in direct modeling"

How about a list with detailed specifics?

Jon Banquer
San Diego, CA

Dmitry Ushakov said...

Great post, Paul!
I've just translated it to Russian:

FYI, Geometric Constraint Solving and Variational Direct Modeling technologies developed by LEDAS are now owned by Bricsys, and the former LEDAS team is intensively working on their extension.

Paul Hamilton said...

Dmitry, thanks for the comment and re-post. Also thanks for clarifying the situation with LEDAS and Bricsys. That helps.