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.
Advantages and disadvantages of multipart part studios vs. in-context editing?
james_aguilar160
Member Posts: 46 ✭
Friends,
I am quite new to onshape and LOVING it. It's so much fun, even compared to certain other parametric modeling software I've used before. I'm asking this question in the context of an extremely simple part I'm building, but I'm interested in a more general answer to my question:
https://cad.onshape.com/documents/0dc6a9945503811656111f8b/w/345fab4eb1983e70465523f2/e/db8f5d4ae6d08364413ac12d?renderMode=0&uiState=6679b68a552eae16bfed51df
So, the part I'm building is an interface for mating a Nintendo Switch to a USB port, including all the necessary geometry for holding the Switch upright. I started by modeling the switch itself, and have gone on to model the holder in relation to the model of the Switch.
In this document, I've used in-context editing to handle this problem. I created an assembly with just the Switch, and then created a new part studio to model the holder interface.
I understand that I could have also modeled the holder interface in the same part studio as the Switch itself.
It seems like this is a case of two different ways to skin the same cat. I've seen forum questions via search that ask, "What should I use?" with an answer of, "It depends." So I thought I might ask it a different way: in what situations should I prefer one approach or the other? What are the advantages of each approach?
I am quite new to onshape and LOVING it. It's so much fun, even compared to certain other parametric modeling software I've used before. I'm asking this question in the context of an extremely simple part I'm building, but I'm interested in a more general answer to my question:
https://cad.onshape.com/documents/0dc6a9945503811656111f8b/w/345fab4eb1983e70465523f2/e/db8f5d4ae6d08364413ac12d?renderMode=0&uiState=6679b68a552eae16bfed51df
So, the part I'm building is an interface for mating a Nintendo Switch to a USB port, including all the necessary geometry for holding the Switch upright. I started by modeling the switch itself, and have gone on to model the holder in relation to the model of the Switch.
In this document, I've used in-context editing to handle this problem. I created an assembly with just the Switch, and then created a new part studio to model the holder interface.
I understand that I could have also modeled the holder interface in the same part studio as the Switch itself.
It seems like this is a case of two different ways to skin the same cat. I've seen forum questions via search that ask, "What should I use?" with an answer of, "It depends." So I thought I might ask it a different way: in what situations should I prefer one approach or the other? What are the advantages of each approach?
0
Comments
One other thing I noticed is that if you have a part that needs to be referenced by two different parts, but in two different positions within an assembly, then the only way I can see to accomplish that is in-context editing. For example, if you have a carriage that rides along some rails and parts at either end of those rails both need to reference the geometry of the carriage (or vice versa), that cannot be easily accomplished within a single part studio.
A few other considerations:
Off-the-shelf (OTS) parts:
Such as your switch. Or let's say you are making an enclosure for an arduino pcb. Those OTS parts should be in their own studios. Because they are likely to be used in future projects, that are completely unrelated to the current project. Pretend you are a big company and have a library of OTS parts that all the CAD users can access to work on their independent designs.
Anytime you have OTS parts, try to find a step file for them, rather than modeling them from scratch. Digikey or Mouser for anything electronic. McMaster-Carr for anything mechanical. An account at both so you can download the CAD will come in very handy.
Performance:
Although the in-context is a bit more cumbersome than modeling everything in one studio, its performance is much higher. Right now you only have 2 parts. If you had 100 parts all in one studio, the feature list might be 1000 features long. This will make the studio performance slow. In-context allows you to still reference a large assembly, but keeps the performance of the modeling studio high.
No relation:
Sometimes you don't need any relationship between the parts. In your example, it's basically a rectangle that fits inside a channel. You could simply make an assembly of the two, aligned by their origins. Then adjust the size of the channel until it has the clearance/interference you desire. You don't expect the rectangle to change (unless you measured the OTS one incorrectly). So for something super simple, sometimes its better just to do it in your head and not have in-context or same-studio relations.
Positioning:
Back to the Arduino scenerio, let's say you have the arduino, and you will have 3 buttons and 2 knobs all attached to it with wires. You are designing an enclosure for all of them. You download all the STEP files for the 6 OTS parts. You don't really know how you want them arranged, you're brainstorming. Make an assembly of the 6 parts. The pcb mate to the asm origin. The 3 buttons and 2 knobs also mate to the origin, and then offset them in xyz and rotation until they feel right. Then you can create the housing in-context and pick up the locations of all of the OTS parts to cut holes in the housing for. (actually at first just drag the components around instead of mate to the origin and offset. It will be much quicker and simpler for ball-park positioning).
Moving things around in an assembly is much simpler than if you had modeled everything in one studio.
in addition: version (or revision management) is messy with multi-part studio's. and as the model gets more complicated, performance is really an issue.
I've developed some complicated injection moulding parts (6 in total) in a multi-part studio when I just started in onshape (and didn't understand all this)
and I regret it.
- the performance is poor. (its just slow)
- I can't seperate them after the fact becuase the geometry is too intertwined.
- when i change something on one part, all parts versions nrs change.
with an in context assembly way of working, i would have started with all parts in a document for ease and speed of changes. But as the model matured I could have split them into different documents so the version control would be separate and the documents more lightweight.
so even if in-context assemblies may be a bit more cumbersome, if the model has the potential to grow into something more complicated, it's well worth the investment.
that said: when I just model a simple 3d-print fix for around the house, I always model multi-part just for sake of simplicity.