Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Building assemblies w/parametrically related parts that can move?

Status
Not open for further replies.

maxh3

Mechanical
Dec 10, 2010
77
What's the best way to build assemblies so that parts are parametrically linked without being permanently mated together with in-place mates?

I don't know if I'm asking this right, so let me use an example: Say I am modeling a chamber with a hinged door, I want to be able to drag the door open and closed in the model, and I want the diameter of the door to change automatically when I change the diameter of the chamber.

If I have an assembly with my chamber in it and I do Insert > Component > New Part... then select the face of the chamber to position the door on, creating sketch geometry related to the chamber, the door will be stuck there and I can't have it swing on its hinge. Other ways I've done it, including relating sketch geometry of the door part to the chamber, cause the part to change radically if I drag the door to a new position then rebuild the model.

So what's the best way?
 
Replies continue below

Recommended for you

Don't use the "inplace" mate functionality. Rather create your initial geometry in a new part... don't constrain the intended in-context geometry. Insert that part into your assembly and mate its planes (not geometry) to relevant "sturdy" geometry in the assy (preferably planes). Now edit your sketches in the in-context part and use sketch relations to constrain the entities. This will result in robust parametric models that use minimal in-context geometry. For further information see the following link:


and other posts by Mauricio Martinez-Saez... his posts are gold mines of parametric techniques.

-Dustin
Professional Engineer
Pretty good with SolidWorks
 
Driveworks Can be a pain. I tried to use it, but you have to understand how Driveworks thinks, before you can use it to its full potential.

To me Mates are the best way to make your assembly move. but if you want things to change when you make other changes, then you probably need to look into In-contexting your assembly. I wrote an article that I think still stands true today. I still model like this when the assembly calls for it.


I also made an assembly controlled by a VBA Excel sheet, that exists outside of of the assembly. See Attached

The model in the attached file is in-contexted to Planes like I describe in my article. Check it out, I think this would probably work better than an external application. Besides you should at least utilize what Solidworks has to offer before looking for Third Party Software.

I hope this helps,

Scott Baugh, CSWP [pc2]
Berry Plastics
Cad Admin\Design Engineer
"If it's not broke, Don't fix it!"
faq731-376
 
DriveWorksXpress is embedded in Solidworks and not that hard to use, especially if you do the tutorials. Hell, if I can figure it out anyone can.
I stay away from using in-context relationships at all costs. It doesn't take much for someone to move something and everything attached to it blows up.

Jeff Mirisola, CSWP
Design Manager/Senior Designer
M9 Defense
My Blog
 
maxh3,

You are being adventurous.

What you want can be done if you set your model up carefully. If your parametrically related parts can move, you (and any co-worker who has to work with it) must understand how model updates will work.

I cannot think of any general advice. I would approach each case of this, separately.

Critter.gif
JHG
 
Hinges! I spent 4 years designing them.

It is a perennial problem, how to add in-context relations and still have an assembly that can articulate. The answer is simply you can't do both at the same time, so you need to do it twice.

I start out by modeling the hinge in a "design position", usually closed. One leaf is the "base leaf", and is fixed. The other "moving leaf" is also fixed, in the closed position. The component that is the design position of the moving leaf should be an envelope instead of a regular component, so that it does not show up in mass properties, BOM, or higher level assemblies.

Once the design position components are in place, bring in another copy of the moving leaf as a regular component as your "moveable" leaf. Mate it relative to the fixed version. Do not EVER use in-context references on the moveable leaf. All in-context modelling should be on the fixed leaf.

Download this model at the URL below for an example:
hinge.zip

[bat]Honesty may be the best policy, but insanity is a better defense.[bat]
-SolidWorks API VB programming help
 
Thanks for the suggestions! TheTick, this is pretty much what I've done on my current model, except I don't know what an envelope is. I created the door in context to the chamber, then added a second instance of the door, mating it so it could move, then simply hid the stationary, in-context one. Of course this means the bill of materials will show too many doors...
 
Couple things I would do.

First for your hinge, model that as a sub-assembly, but check "Flexible" in the property dialog. You will have to allow your hinge subassemly model be underdefined in the motion you would like it to move.
That will take care of opening and closing the door.
Next in order to make your door change size when you change the size of the door you will have to link the value of the opening, best a driving dimesion, to the model dimesion. This should allow your door to change with an incontext note inside the Assembly equation editor.
The key is going from the moving part to the fixed part. I can upload a simple example model if this is confusing.

StrykerTECH Engineering Staff
Milwaukee, WI
 
Obvisously In-contexting has bitten you guys at some point. Setting up in-contexted models can be very tricky, but if done right can give a lot benefit.

Driveworks is a good tool, if you can figure it out. There have been some users here try it out and they ran into the same difficulties as I did, minus the fact it wouldn't stop crashing on me. One of the users here received some sort of book explaining some of what Driveworks requires and such after he was able to make it work, but didn't yield any benefit for what he wanted at the time. I have researched it and its far easier for me to set it up in an external spreadsheet and use some API callouts to the changes.

Good luck on your Hinge designs, don't under estimate the power of in-contexting, but that can be good and bad.

Regards,

Scott Baugh, CSWP [pc2]
Berry Plastics
Cad Admin\Design Engineer
"If it's not broke, Don't fix it!"
faq731-376
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor