Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Assembly Update Context - Help?
Cache_River_Mill
Member Posts: 225 PRO
I made a box. The top, bottom, and back are constrained to the sides within a context. When I update the width of the sides, the other parts do not automatically update. I have to manually click each part and update the context. This will get very tedious when there are shelves, drawer slides, drawer pulls, hinges, etc...
One of the sides is set as the "Main Instance", this doesn't seem to help.
Is there a way to make the assembly automatically update each context?
Tagged:
0
Best Answer
-
romeograham Member, csevp Posts: 676 PROYou could also use Configurations (and Configuration Variables) to drive the dimensions of all the parts from the assembly. Then you can look at new sizes by typing in a new size in the Assembly - don't even have to go to the part studio OR use incontext.
In your part studio, set up some Configuration Variables.
Then, in your sketches and features, Set the dimensions to match the Variables. Below, I'm saying "I want the height of this box to be whatever I have the Variable #Height set to":
Then you'll be able to change the width of the parts by typing new values into the Variables above your Feature List:
Now, when you put those parts in an Assembly, you create Configuration Variables with the same names (because it's easier for you to keep things straight). Then you Configure the parts (right click >change configuration).
Now, set the dimensions in the part configurations to the appropriate Assembly configuration variable.
Now, when you type in a new value in the Assembly, it "reaches in" and changes the variables and the sizes in the parts.
Here's a Youtube link too: https://youtu.be/0wX0WLPVR4s
Hope that helps!
Romeo
6
Answers
If you want parts to automatically update, then use the derive feature in the part studio. Or draw multiple parts in the same studio.
I'm not sure I'd derive them in; I'd just create 5 parts in a part studio.
The whole idea of part studios is to quickly make related parts. Onshape has cleaned this up to make this happen.
When adding holes; be sure to use "blind in last" to bore hole series. Can't do that incontext.
Put a motor and slide in box and cut mounting holes incontext; move motor and have holes update. Now you're cooking with gas.
In your part studio, set up some Configuration Variables.
Then, in your sketches and features, Set the dimensions to match the Variables. Below, I'm saying "I want the height of this box to be whatever I have the Variable #Height set to":
Then you'll be able to change the width of the parts by typing new values into the Variables above your Feature List:
Now, when you put those parts in an Assembly, you create Configuration Variables with the same names (because it's easier for you to keep things straight). Then you Configure the parts (right click >change configuration).
Now, set the dimensions in the part configurations to the appropriate Assembly configuration variable.
Now, when you type in a new value in the Assembly, it "reaches in" and changes the variables and the sizes in the parts.
Here's a Youtube link too: https://youtu.be/0wX0WLPVR4s
Hope that helps!
Romeo
1) Stop single part studio if there are more than a (5 ish) parts (more or less depending on complexity)
2) You can start noticing slower regen times (it's probably too late, and you should break things up)
3) There are too many in-context references to remember to chase with each edit (in-context should be in your face when it needs updating especially if there are 2 or more people on the project)
For example:
My most complicated and most successful use of derive:
Every part's size {thickness, height, width, angles) and every hole {diameter, location, quantity) in this entire assembly is derived from:
This funky mess:
Including the holes up the spiral, the arms, and all the mounting hardware.
So, for example this entire part is just 3 features, the rest is mate references and a couple of custom features to set the BOM information the way I need it.
So if any angle, hole size, or hole location etc. changes. Then every part needs to also change not only hole locations, but also its overall shape and be aware if it's own instance count in the assembly. This really sounds like a candidate for "in-context" or single part studio... But...
If you can Image from the assembly above, how complex and time consuming it would be to update an in-context reference for each part. Or how slow the document would get if it was one part studio. (the single part studio approach was my first dozen tries in Onshape to model this, the regen times for updates early in the tree was exhausting... I really discourage using single part studio approach for more than a hand full of parts)
by doing it this way, i was able to make a single part studio that had everything I need using patterns, transforms, etc. to form the output geometry. Then slice it up into pieces, then derive into there own part studios like a jig saw puzzle. Then boolean-union -> sheet-metal. Now each tab can calculate in it's own sweet time. and I can keep working on other part studios making additional updates when needed while the more complicated parts are still generating. (Take advantage of that sweet sweet cloud parallel processing architecture) The whole document moves fast. Enough so that the derive speed handicap is hardly worth mentioning...
I'm lucky to have 3 related plates in a design and rarely use derived components. We design different types of stuff. Most of my designs are imported from other places so it's 3 plates holding all this other stuff.
I rarely use derived to import a part into a part. Translating parts around inside a part studio isn't effective for me.
I really don't understand why they pay me to assemble stuff to 3 plates since it's so simple.
Every company, project & engineer will have a different project structure. There isn't one way to do it.
If you left your company, could the next guy keep the projects moving forward?