Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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.


BOM - Excluding and Flattening

john_hauckjohn_hauck Member Posts: 52 PRO
edited June 2022 in Product Feedback

I appreciate the effort behind the new "Composite Part" feature. I assume this was implemented to some extent in response to discussions like: HOW DO YOU MANAGE PURCHASED ASSEMBLED PARTS (SUCH AS BEARINGS) AS A SINGLE PART FOR BOM PURPOSES. Yet, I wonder if a composite part is really the correct solution for this situation. I understand that a BOM system is way more complex once you get into the details, and all of us appreciate the work OnShape is doing here, and I understand this request does not take all the nuances into consideration (because I clearly don't know all the nuances!).

I do understand that the current OnShape BOM allows us to exclude items from the BOM and it also allows us to view the BOM as Structured (hierarchy) and Flattened. The scenario I am attempting to address can be illustrated when we create multi-level assembly and want to show the top level assembly's BOM flattened. For example, the top-level assembly may have one sub-assembly called "P" for which we want to show all the underlying parts - but the actual "P" should not show up in the flattened list. (This is the default behavior of OnShape BOMs.) Yet, because we are silly people (see referenced discussion), we may have another sub-assembly called "Q" for which we want to show it as a top-level part - but not show the parts that comprise "Q". There is nothing inherently different about how "P" and "Q" were designed. So creating a composite part of "Q" is really pushing the solution for this particular top-level assembly down into "Q". This is a bit tragic as another top-level assembly may see "P" and "Q" the other way around.

This situation could be addressed in many ways. One example could be to allow us to specify a sub-assembly in the BOM as "do not expand" or "treat as single part" something like that.


  • Options
    Evan_ReeseEvan_Reese Member Posts: 2,068 PRO
    I'm running into this on a project. We did a PCB layout (just major mechanically-relevant components) to produce a drawing for the PCB vendor. This drawing needs all components listen in the BoM, but when I use that PCB in my Main Assembly, I'd like it to show up as a single item. Since I'm making the PCB assembly from a number of parts in different studios I don't think there's a simple workflow to make it all one composite part. I can think of some workarounds to make it a Composite Part, but Composite Parts were released half-way through the project after I'd already made a number of in-context relationships to the PCB assembly, and I don't want to have to reconnect those. What's the best workflow for this?
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • Options
    konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    This is a must-have functionality - to be able to treat subassembly in the BOM as the non flattened or always flattened. Though the problems that appear here are:
    - should these tags be defined only within a particular BOM or should they be assembly properties and affect any BOM the subassembly participates in?
    - should these tags be instance-specific or item-specific?
    - what would be the place to see full project structure, which should ensure we can see there every project structure level and it's metadata?
    - how to dial with the fact that currently in the drawings you can see only the exact copy of the assembly BOM including it sort order, and every column. What if once you would want to make another assembly drawing with another detalization level, which doesn't match your prevous BOM seetings?
  • Options
    shawn_crockershawn_crocker Member, OS Professional Posts: 818 PRO
    I voted for this but I admit I don't fully understand everything your explaining here. Maybe explain it more clearly?
  • Options
    lougallolougallo Member, Moderator, Onshape Employees, Developers Posts: 2,002
    Picking a group as a kit and bundling it would work.  Using a composite would also work by picking the sub assembly to be excluded.
    Lou Gallo / PD/UX - Support - Community / Onshape, Inc.
This discussion has been closed.