Wednesday, June 16, 2010

Direct Modeling & Large Assemblies

Interest continues to grow in our industry for the flexibility and ease-of-use that comes with history-free direct modeling. Unfortunately there is still much confusion out there about just what direct modeling is and what value it adds to the process of product development. One of the many high value opportunities that come with direct modeling is in “large assembly design and management”. Direct modeling technology can offer some unique advantages over traditional history-based modeling that can greatly improve design, interaction and management of large assemblies.

Based on the technology behind direct modeling, large assembly design and management can be fast and easy. As direct modeling does not record the modeling steps used to create the model, memory requirements and file sizes can be considerably smaller than with traditional parametric history-based modeling. With PTC CoCreate Modeling, for example, I have found file sizes to be 60% to 80% smaller than the same model created in most any traditional history-based system. This would indicate that these parts and assemblies will also consume much less memory when loaded.

In a traditional history-based CAD system, an assembly is basically a collection of references and relationships to other individual history trees. These history trees represent individual parts and sub-assemblies  The history trees can be large and complex. The assembly references and relationships between these trees can be even more complex. With direct modeling an assembly is simply a collection of solid models that are organized in a hierarchical structure. There is no history tree. There are no hidden references or relationships. What you see is what you get. It’s as simple as that.

I’ve been doing some large assembly testing with several different CAD systems. It has been startling to witness how poor many of the most popular CAD tools perform with large assemblies, even with “dumb solids”. The assembly that I am using in this example is made up of 29,455 part and assembly objects. The STEP file of the entire assembly comes out at just over 302mb. The native CoCreate package file of the entire assembly comes in right at 100mb. This is not a large assembly compared to many of the assemblies I have witnessed CoCreate users working with. Most CoCreate users would consider a large assembly to be somewhere around 100,000 to 250,000 parts. (By the way, the native geometry resolution/accuracy of a model developed in CoCreate Modeling is 1.0E-6 mm by default – about 2500 times higher accuracy than any other CAD system on the market, and yet it is still possible to manage these large assemblies.)

Below is a picture of the assembly I have been working with. It comes from a company in Europe. This is a coagulator used in the cheese making process. CoCreate Modeling was used from beginning to end to support the design process.

For the video below I loaded this assembly in its entirety. All parts are loaded as high accuracy solid models. None of the parts were loaded as lightweight, graphics only or in some suppressed mode. Based on the privileges controlled by the PDM system, every part and/or assembly can be quickly and easily modified. As you will see, in-context design is simple and fast, even in the context of 30,000 other parts.
Do you work with large assemblies? Do you enjoy it? Is it easy to collaborate with other team members when working together with large assemblies? If not, perhaps you are using the wrong technology. Remember that in a history based system everything must be programmatically and parametrically controlled; parts AND assemblies. More on this topic in my next post.



Jon Banquer said...

I fail to see where a history based modeler can ever be made to come close to what you showed CoCreate can easily do with a large assembly.

I'm also not aware of any other direct modeler, besides CoCreate, that has this level of performance with large assemblies.

Jon Banquer
San Diego, CA

Anonymous said...

so Paul, in your comparison of cocreate large assy behavior vs. others (probably you are comparing solidworks and pro/e?), what would happen if I "moved" or repositioned one of the many thousands of parts in top level cocreate assy? Would cocreate immediately reposition all of the other parts that are assembled to the "moved" part (a desired occurrence, at least in my example)

my point is this...will cocreate give me the desired parametric behavior without having to add "extra" steps during the assembly steps of a cocreate model?

...or is the the case that cocreate assy's are easier and "faster", but give less functionality vs. pro/e & solidworks?

Paul Hamilton said...


You have to think a little differently with direct modeling. Typically users will select the parts they want to position and move them together – in context. You can select multiple parts just by clicking on them or by box-selecting them like I do in the video. If you want to move all parts in an assembly you just select the assembly in the structure browser and move it. All parts in the assembly maintain their relationship in the context of the assembly. If for some reason you want to use constraints/parameters to permanently define relationships, you can do this in CoCreate very easily. You can add constraints at any time in the process, even on imported parts. Strangely enough most CoCreate users don’t use constraints. It is just so easy to multi-select and move parts in context – as demonstrated in the video. You do not have to sacrifice functionality to get this performance in CoCreate.


Mas Sisminto said...

i was used this software, it's more easy for large assembly. Currently i using Autodesk Inventor, but i need more higher spec of computer