Monday, July 18, 2011

Direct Modeling and Variant Design

Designing products with the help of a CAD tool that is history-based (some call it parametric modeling) has been the norm for many years now. However there are thousands of companies around the world that have been successfully designing products with CAD tools that do not retain modeling history. We call this technology direct modeling. It’s more than just modeling however. Depending our your product characteristics and processes, the flexibility that comes with direct modeling may provide a better environment and methodology for supporting your particular design environment. This direct modeling methodology is catching on and now spreading rapidly.

The technology behind this methodology is experiencing substantial improvement. With some of the CAD systems out there that are based on this technology it is now possible to parametrically control models and assemblies – without recording modeling history in an ordered way. The term “parametric modeling” can no longer be used to describe history-based modeling. Parametric modeling can be done with or without history.

The benefits include the fact that with the direct modeling methodology there is no need to plan ahead. Users can create and manipulate geometry anyway possible. Relations and constraints (design intent) can be added on the fly as need. There is no need for strict and consistent modeling practices. It simply makes no difference how you come up with the geometry. And it can work on any geometry; 2D, 3D wires, surfaces, and solids, regardless of where it comes from or how it was created. With direct modeling, geometry is the master, rather than the proprietary history tree.

In the past there were several areas where history-based modeling and the ordered model provided many advantages over history-free direct modeling. One of those areas was in regards to the development and management of family , or variant parts. The ordered structure made it relatively simple to represent a part in several slightly different states or configurations. With adherence to modeling standards and careful development of the 3D history-based model, the model can be “programmed” to support the family variants simply by changing a parameter.

Below is a video of doing something similar with history-free direct modeling using the PTC Creo product “Creo Elements/Direct Modeling” (“CoCreate” or “SolidDesigner” for the old guys like me.)
In this case I am starting with an IGES file just to highlight the fact that with the direct modeling methodology, it makes no difference where or how the geometry came into existence, or if proper methods were used in creating it. Perhaps this is an example of a model coming from a supplier that uses a different CAD tool. In this scenario we need to add some design intent to the model so that we can represent other variants that may be required of this part. With traditional history-based modeling this would require a model rebuild.


Perhaps in another video I can show you how the assembly configuration can actually be used to drive the configuration of this part.
Imagine a design process that does not involve planning ahead, ordered models, model rebuilds, strict modeling practices, proprietary data, regeneration failures and the mind-numbing web of relationships and references. Well, it’s not too far away.
Paul

15 comments:

Anonymous said...

Hello Paul - thanks for demonstrating the parametric capabilities. one question - can creo elements direct exhibit "family table" functionality? i.e. one model that has a table of values for a given parametric feature so that only one model exists but when one goes to load the model one can then choose the particular instance...

Paul Hamilton said...

Great question. Your described method is not easy to duplicate in direct modeling of any kind – but the end result is. Although I know there are companies out there that are doing what you describe with Creo Elements Direct simply by automating the process. At one extreme there are some that simply put values in a web page and completed assemblies are delivered. With direct modeling you have to think differently though. Not sure why you care if it's “one model” or multiple versions of a part (but I can guess). With Creo Elements Direct I can load the assembly and at load time select the desired configuration/part version, or I can load the generic and change the generic to a specific using the table as I did in the video, or I can load a completed assembly and easily replace components with appropriate components, or... Keep in mind that in direct modeling there is no such thing as assembly references or inherent parent/child relationships. And direct assemblies are 60% to 80% less data than history-based assemblies. Things just work differently. It’s all more “direct”. For me the value of the automation you describe is not worth the effort to setup and maintain – for me. For others where families are much more significant in their designs, using a history-based tool may be best – for now.

Thiruppathy Raja said...

Wonderful blog & good post.Its really helpful for me, awaiting for more new post. Keep Blogging!

Software Product Development

Anonymous said...

well, I think the reason why I like Family tables is because the full definition and variations can be known and explored at the CAD system level, whereas I think the cocreate mentality is that each variation would exist as a separate model and thus one would need to rely on the PDM system to "document" and explain that the individual cocreate parts do, in fact, have a common theme, etc.

I don't rule out your solution, but it is a difference and a nontrivial one at that...

Paul Hamilton said...

Anonymous - Agreed. But... did you see this video I did a while back where I am exploring variations of the rotating assembly in a V8 engine - at the CAD level. http://youtu.be/PNjwiKGbw58

I realize this is still a bit different use model to what you are describing. In CoCreate I would in fact save a different version of the assembly based on the configuration I choose to carry forward.

Jon Banquer said...

I hope we are going to see comments on this blog post from Kubotek, SpaceClaim, etc. because having a way to deal with variant design is critical if direct modeling is going to replace history based modeling.

Once again this blog leads the way when it comes to leading edge discussion of direct modeling. No other blog or website even comes close.

Jon Banquer
San Diego, CA

Dmitry Ushakov said...

Great post, Paul!

We have done very similar functions in our RhinoWorks plug-in, see this short video.


I'd like to add that it is important for direct modeling systems not only to allow users to speciafy any desired design intent, but also to recognize automatically many typical patterns (tangent faces, equal lengths and radii, symmetry, etc.) I believe it allows users to reduce significantly the time needed to make changes in their geometry.

Paul Hamilton said...

Thanks for stopping by Dmitry, and for sharing the link to the video. I like what you are doing. As you and Jon both state we need to continue pushing on this technology. There is still much more we can do.

Greg said...

Great demo! Thanks for sharing.

coroto said...

Nice demo, makes it look so easy! Are there things in the works with Creo Elements/Direct to handle the missing pieces in the variant story, namely being able to store variants into the Model Manager (or Windchill) database in an organized fashion?

Paul Hamilton said...

Coroto, today you would save the variant into MM as a new part or a new version. The owning assembly would know which one to load. With v17 PTC introduced the "Stock Finish" capability that would allow you to save all variants into a single part, and then at the CAD level you would select the variant you want from the stock-finish container, or define a new variant. There is certainly more work to do. The new direct integration with WC is coming this fall and I am anxious to see where that will take it.

The primary challenge with variants in direct modeling is that the variants are not children to a master/parent. Generally speaking, there is no parent child relationships in direct modeling.

Softech said...

Why using a direct modeler to set parameters (everybody calls it parametric modeling...!) in a non-history-based assembly, when you can simply model it in parametric way, or better, open it with Creo Parametric after modeling in Creo Direct, and set the variants using the yet-existing parameters! Double the work - half the pleasure...

Paul Hamilton said...

Softek, the point of this article and demonstration is that direct modeling is continuing to improve in many ways. Another key point is based on the fact that this part is an imported part, I did not "model" it. With direct modeling I don't have to re-model the part to make it intelligent. I can simply add intelligence to it as needed. Something you can't do with parametric modeling. Certainly this simple part can be remodeled in the "parametric way", but throwing away good geometry is a terrible waste.

Ken said...

Paul, agree that throwing away geometry is a terrible waste. Happens everyday in the "history" world when you have someone modeling for purely innovation reasons and then you give the model to someone who must make it "production worthy" to take revisions intelligently. Non-history modelers have a distinct advantage as long as they can incorporate that intelligence after the geometry exists.

Paul Hamilton said...

Ken, I was visiting with a company earlier this week. They go through the model rebuild just as you describe. I asked why, and the answer was related to getting a well structured/intelligent model that complies with certain modeling standards. I then asked how does this structure get used? Who gets value from it? What is it's life span? Is the value worth the investment? There was an awkward period of silence after that. Intelligence is only useful if it gets used :-)
Thanks for your comments.