Parametric Assemblies?

This is one I’m surprised to hear about from time to time, but I’m always surprised every time I hear about it. Devon (Sowell) recently reminded me in the comments that not everybody designs with parametric assemblies. Parametric assemblies are assemblies that change and update with changing parts. The position of parts update with the changing parts.

Parametric assemblies assume that you are mating parts to other parts using functional mates that enable parts  to move. I guess I’m also assuming that people want assemblies to actually move. Some products don’t have any motion, like a key fob with a couple of plastic parts and maybe a circuit board and a battery.

I have heard of stories of automobiles being designed such that all of the parts relate to the center of the end of the driveshaft. So parts would not be mated based on part geometry, such as concentric, coincident, and such, but would all be mated origin to origin, or organized into subassemblies with the subassembly origin mated to the center of the end of the drive shaft.

I’ve frequently criticized SolidWorks for selling the ease of use above all else without much regard for the consequences of that approach. I guess without thinking about it, I’ve kind of bought into that mindset without thinking about it. SolidWorks teaches us about assemblies with the universal joint assembly. With this, the parts have all been created ahead of time, and you are just putting the parts together to create continuous motion. This is great, but it’s not the way that we really work, the way that real design happens, or resemble any part of what SolidWorks users really do in real work. It does however, make motion sexy, and kind of helps to capture our imagination of digital mockup models. So it’s a sales and marketing thing because it really sparked our imagination.

If we don’t really design bottom up (design each individual part, and then put them all together in the assembly), then how do we do it? Some design work is definitely bottom up. Putting together purchased parts is inherently bottom up, but everything that we do original design work on has to interface with other parts.

In previous posts, I’ve talked about the need to have a “system” for design work, particularly in SolidWorks. There was Stoltzfus’ system, Resilient Modeling from Dick Gebhard, Horizontal Modeling, skeleton modeling, top down modeling, master model modeling, and variations on each of these. Every system has its own strengths and shortcomings, and is probably best suited to a particular type of work.

Devon talked about using the “use for positioning only” option in the Mate Property Manager, and just fixing part positions. I guess this is ok until you make a change that requires mating positions to change, then you have to unfix, and use one of several methods to move the parts to their new home. So which is more work – maintaining all of the links through edits or doing manual updates? Do you put your money in a bank and hope for some interest, or do you put it in a coffee can in the back yard?

The expedient thing to do is to do what you have seen in all of those SolidWorks demos and training classes – put together parts bottom up or design everything in context. But honestly, I think we have to think beyond these two techniques. The first doesn’t make use of your investment and the second is just irresponsible.

I think the most prudent thing to do is to use one of the skeleton-type layouts. Is this fast-and-easy? Maybe not. Maybe it’s just a pain in the butt like Pro/E was with all of the rules and recommendations and complicated procedures. But it works across edits in assemblies.

Getting SolidWorks parts and assemblies to behave well through changes is truly an art form. I know of companies that make a rough model, and then come back after the design is done changing and “make it pretty” and perfect. Is that really necessary? Is “hack and whack” actually excusable? If you follow all of the recommendations I give here on my blog and in my books, well, first of all, you would eventually run into multiple self-contradictions, and it’s entirely possible that you could grind to a halt through “paralysis by analysis”. You’d also have to recognize that no one can write rules for every possible type of design (plastic housings, mold or die, machinery, bracketeering, facility design, piping , weldments, individual part manufacturing, etc).

One of the things I’ve come to appreciate in the 4 years I spent with Solid Edge was their Synchronous Technology (ST) process. It stands for a lot of things, but one of the things is that to make a change (move, rotate), you make a selection of faces (instead of a feature), and change that selection, even if the selection includes faces from multiple parts.

The concept of parametric parts or assemblies in SolidWorks is grand. It can be beautiful, but it depends on you being able to predict how things are going to change in the future very accurately. The problem is that your predictions are usually wrong. Changes rarely happen the way you predict. Direct Edit embraces that unpredictability. Direct Edit (as implemented in Solid Edge) enables you to be flexible with the parametrics, feature definition, feature history, and parent/child relations.

Yes, you can still bust mates in ST, but you can also use a skeleton technique.

Maybe some day there will be a fool-proof set of rules that will work for all design methods, or a CAD product that will be resilient enough to transcend operator stupidity. But for now, you still have to make choices about how you’re going to do design work in assemblies. If you make an assembly that isn’t going to have much of a life just do it the SW demo method. If it’s a big assembly that is going to have to live through a lot of changes, use a skeleton or master model method.

And if you agree or disagree, of course I’d like to hear from you in the comments.

3 Replies to “Parametric Assemblies?”

  1. Ha ha, “paralysis by analysis” it literally made me lol! I am going to re-use that one!

    I am not sure how I feel about the last paragraph you wrote though. We build large assemblies using the bottom up method with minimal parametric part features (none if possible), very much the “SW demo method” way. In what we do (industrial automation) I am not sure how I would deploy a skeleton or master model method, and if I did I’m not sure my colleagues that possibly have to manipulate the model later would know what to do with it come time to change things.

    You certainly have me thinking now…

    1. No worries, Mate (Pun intended). I can Move a Part in an assembly, faster than I can TRY to repair a broken Mate, and Rebuild/Save times are reduced. It’s the way of the carefree highway for me and my pals.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.