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.
Configurations Question
daniel_crookston
Member Posts: 18 ✭
I'm designing a box that will hold a small electronics project, basically just an arduino nano type board and a battery, plus some surface features: a hole for a switch, a hole for USB, mounting pegs for the board, etc.
I designed two different versions of this for two different boards. One uses USB C, the other mini USB, and their mounting holes are in different locations. Then I realized I want to move the switch location and change the dimensions of the box — these are both independent of the board I'm using, so I have to make those changes to both of my part studios. This is annoying and inefficient and opens the door to inconsistencies.
I assumed that configurations would be my answer, but I'm having trouble getting it working. I considered combining the two versions and suppressing one feature set or the other depending on which configuration is active, but the list of features gets pretty long. (Why is there no "suppress dependent features" option?) Going through and checking/unchecking all those boxes is… oof. Not a problem, I could do it, but what about when I add or remove features later? Then I'll just have this super long list of check boxes that I have to go through and try to make sure I'm keeping everything straight. Gross.
I tried adding a variable and tying suppression to that. And it works. However, it appears that the configuration variable doesn't automatically update when I switch configurations. What the hell, man! It's called a configuration variable, shouldn't it have a different value for each configuration? I can easily add a variable as a feature, put it at the top of the features list, add it to the configuration, set the value for each configuration, and then set a dynamic suppression expression based on that variable. But this… doesn't seem right. I'm pretty sure I should be able to do this entirely in the configuration panel, i.e. without creating a feature variable.
Am I missing something? Are configurations even the right thing to be using for this? It seems like they're intended more to be used for changing dimensions, etc. than fully adding or removing entire sets of features.
Thanks!
Best Answer
-
eric_pesty
Member, pcbaevp Posts: 2,643 PRO
Yes, configuration are the correct way, however you can do a lot more than just suppressing things which is a good way to reduce the number of configured things.
For example the cut for the USB can be a single feature (always unsuppressed) where the selection is configured (one item in the table instead of two, as you don't need to suppress the "unused" sketch). Same for mounting holes where you could configure the location of the holes instead suppressing different features.
If you still have a bunch of stuff to suppress, the best way to manage that is by using folders. It's not able to just suppress the folder (i.e. single entry in the config table) but it's a shortcut to suppress and unsuppress all the "child" items: go the configuration you want and right click suppress/unsuppress the folder and it will set the table columns accordingly. Still needs to be toggled when you add new features to the folder but much faster than clicking the boxes one by one!
Another approach would be to use a "master" part studio with the common features (i.e. dimension of the box and anything that is going to be the same), then you derive that in two different part studios where you add the details that are different between the two versions.
0
Answers
Yes, configuration are the correct way, however you can do a lot more than just suppressing things which is a good way to reduce the number of configured things.
For example the cut for the USB can be a single feature (always unsuppressed) where the selection is configured (one item in the table instead of two, as you don't need to suppress the "unused" sketch). Same for mounting holes where you could configure the location of the holes instead suppressing different features.
If you still have a bunch of stuff to suppress, the best way to manage that is by using folders. It's not able to just suppress the folder (i.e. single entry in the config table) but it's a shortcut to suppress and unsuppress all the "child" items: go the configuration you want and right click suppress/unsuppress the folder and it will set the table columns accordingly. Still needs to be toggled when you add new features to the folder but much faster than clicking the boxes one by one!
Another approach would be to use a "master" part studio with the common features (i.e. dimension of the box and anything that is going to be the same), then you derive that in two different part studios where you add the details that are different between the two versions.
Okay, I think deriving the standard box into different part studios is probably my best bet. Thank you for the rest of your answer as well, it will be useful.
What about the variable thing? Am I trying to use configuration variables wrong?
I'm not sure I understand exactly what you mean by:
A configuration variable will be set to whatever you set it to… Can you share your document or at least some screenshots of what you did?
I am able to use dynamic suppression with either a configuration checkbox or using a text variable:
Also your approach of using a variable feature and configuring its value is valid, I have used it to provide a granular control of sets of features in a config table. Kind of similar to what you are doing actually as it's an enclosure with different "sets" of cutouts (proprietary so can't share)!