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.
Same Part Repeated in BOM
roger
Member Posts: 8 ✭
Hi, I am encountering unexpected behavior in how Onshape handles parts in a BOM.
I am designing a simple workbench with four identical legs. The legs were created in a single Part Studio by modeling one leg, mirroring that leg, and then mirroring both those legs. Each part was renamed to the same name. There are thus four identical leg parts in the Part Studio, each with the same name.
Since the workbench is symmetric in X and Y about the origin, this is a quick and intuitive way to quickly and precisely assemble identical parts that are positioned symmetrically. My design has numerous other parts that share similar symmetry and I've designed those in a similar manner. I initially wanted to have only one leg part in the Part Studio (instead of four) and then mirror the parts in the Assembly, but couldn't find a way to do this. Is there a way to "mirror assemble" parts in the Assembly?
The entire Part Studio was brought into the Assembly so everything is positioned where it should be. Unfortunately, the BOM doesn't recognize each part as the same part even though they have the same name. Instead of showing a single Item number with Quantity 4, the BOM shows the parts as four separate items each with Quantity 1. This occurs for all parts that were modeled in this manner. Is this the expected behavior, and if so, what is the recommended way to structure the model so that the BOM is displayed correctly?
I am designing a simple workbench with four identical legs. The legs were created in a single Part Studio by modeling one leg, mirroring that leg, and then mirroring both those legs. Each part was renamed to the same name. There are thus four identical leg parts in the Part Studio, each with the same name.
Since the workbench is symmetric in X and Y about the origin, this is a quick and intuitive way to quickly and precisely assemble identical parts that are positioned symmetrically. My design has numerous other parts that share similar symmetry and I've designed those in a similar manner. I initially wanted to have only one leg part in the Part Studio (instead of four) and then mirror the parts in the Assembly, but couldn't find a way to do this. Is there a way to "mirror assemble" parts in the Assembly?
The entire Part Studio was brought into the Assembly so everything is positioned where it should be. Unfortunately, the BOM doesn't recognize each part as the same part even though they have the same name. Instead of showing a single Item number with Quantity 4, the BOM shows the parts as four separate items each with Quantity 1. This occurs for all parts that were modeled in this manner. Is this the expected behavior, and if so, what is the recommended way to structure the model so that the BOM is displayed correctly?
0
Best Answer
-
eric_pesty Member Posts: 1,955 PROWhile waiting for the assembly mirror, you can still use a circular pattern to add two of the 4 legs (2x instances at 180deg).
A good tip is to create an implicit mate connector in the part studio to make assembling the second leg easy:
https://cad.onshape.com/documents/bba766826e1c758163f75cdc/w/f2dffcfd55e9564c4566787a/e/6ca91ce870581656e443ad22?renderMode=0&uiState=62816e374e2f190da771bd63
Note that if you had multiple parts you were you were trying to pattern/mirror like this, you could group them into a sub-assembly and it wouldn't be any more work than doing the single part:
https://cad.onshape.com/documents/bba766826e1c758163f75cdc/w/bbfa19f1d6799b6c243c7817/e/6ca91ce870581656e443ad22?renderMode=0&uiState=62816e45b085f673c439882f
So while it's true having the assembly mirror feature would save a bit of time, the way I am showing above really doesn't take long to do, and it's still fully parametric (i.e. everything stays in place if you change the table dimensions in the part studio).2
Answers
Why are there assemblies? Instancing. One of the main reason for assemblies is to create instances of the "same" thing. BOM's keep track of the assembly instances.
Like Neil says, copying a part in a part studio will make 2 different parts that are physically the same.
Many try to design in partstudios but you can't. You must learn assemblies if you want a BOM.
Oddly, this is a basic concept that's often misunderstood. Thanks for posting your question because this comes up a lot.
billy2, I think why many try to design in Part Studios is that it is extremely quick, easy, and intuitive to do. Also, the Part Studio actually lists "Parts" and since parts comprise an assembly, it's not a big stretch IMO to view the Part Studio as kind of like an assembly of sorts.
Given the way OS works, I think there is a big opportunity for a usability improvement here. In my particular example, I think the best (only?) way is to assemble the same part 4x into the assembly as suggested. However, as mentioned, this can be highly cumbersome. It would be extremely useful to have the ability to mirror part(s) in an assembly. In my case, I'd insert a leg into the assembly, then insert the other legs via a series of mirrors. This would be relatively quick to do and would maintain parametric associativity (e.g., if I change the table's X/Y dimensions, the legs will continued to be positioned properly in the assembly). OS would of course recognize each mirror as a new instance of the same part in the same way that it recognizes patterned parts as new instances of the same part.
A good tip is to create an implicit mate connector in the part studio to make assembling the second leg easy:
https://cad.onshape.com/documents/bba766826e1c758163f75cdc/w/f2dffcfd55e9564c4566787a/e/6ca91ce870581656e443ad22?renderMode=0&uiState=62816e374e2f190da771bd63
Note that if you had multiple parts you were you were trying to pattern/mirror like this, you could group them into a sub-assembly and it wouldn't be any more work than doing the single part:
https://cad.onshape.com/documents/bba766826e1c758163f75cdc/w/bbfa19f1d6799b6c243c7817/e/6ca91ce870581656e443ad22?renderMode=0&uiState=62816e45b085f673c439882f
So while it's true having the assembly mirror feature would save a bit of time, the way I am showing above really doesn't take long to do, and it's still fully parametric (i.e. everything stays in place if you change the table dimensions in the part studio).
No mirror is an assembly is an excuse, you still need to learn/do assemblies.
An interesting note, solidworks has had multi-body parts for 15 years and no one over there builds using multi-body parts in part files. It's easier over there too, I guess they never figured it out.
Look, design in a part studio, just don't replicate in the part studio. Associating part references in a part studio is wonderful and prevents incontext referencing. You can do a lot in a part studio, do it.
In an assembly, check out the replicate feature for placing instances. It's easier to replicate in an assembly and it's faster for the CPU & GPU.
You really need to be in an assembly. I know it's confusing.
Projects should be made up of assemblies, not part studios. The assemblies in OS are very good and worth learning, it's when the fun really begins.
chadstoltzfus@premiercb.com
@eric_pesty, I had to study up on the model you provided as I didn't know what implicit mate connectors were. I implemented it in my model and while I still think a component mirror in the assembly would be more intuitive, I agree that your way is a good way of doing it. Thanks for the suggestions!
As a shout-out to the OS developers, kudos on an extremely well designed CAD program! I'm a huge stickler for well designed products, and I feel OS really nails it from an overall product standpoint (functionality, usability and aesthetics). I've evaluated quite a few CAD programs through the years and every single one has been lacking in some major way compared with OS. Fantastic job and keep up the great work!
Glad that helped, as an extension, you comment above suggests you might note be very familiar with mate connectors in general and may be missing out on a quite a bit of the interesting functionality they enable.
I find they can save quite a bit of time as they can be used directly for a lot of things where you would typically have to create reference geometry in other CAD systems. And just open up a lot of possibilities but their uniqueness makes them a bit harder to "master".
For example when used for a sketch (to add an angle or offset to your sketch without creating anything before, or to create a sketch on the midpoint of something), or to split a part (eg. chop a part in half in one easy step) or even to apply draft (adjust the neutral plane location from within the draft feature), etc...
Even if using mainly implicit mate connectors, it helps to get comfortable with applying modifications (realign, offsets, etc...)
If you're going to use featurescript, you're going to be in a partstudio.