Control If and How Child Components Appear in a BOM


Maybe you downloaded the SOLIDWORKS assembly files for something that you intend to purchase for your design. The component files are all there (which is nice in case you need them), but when documenting the bill of materials for the overall design’s top-level assembly, you want this purchased sub-assembly to show in the BOM as a single line item.

The problem is that you want to use a ‘Parts Only’ BOM for the overall design’s top-level assembly. What to do?

This is where the option ‘Child component display when used as a subassembly‘ can come in handy. When this configuration of the assembly is used as a subassembly in another assembly, the settings in this option are used in conjunction with the BOM Type settings in the Bill of Materials property manager to control if and how the child components appear in a bill of materials of the top-level assembly. This option has 3 settings: Show, Hide and Promote.

Show – Shows child components in the BOM if dictated by BOM Type in the Bill of Materials PropertyManager. (Child components are not shown in a top-level only BOM.)

Hide – Hides the child components in the BOM, even if BOM Type normally would show them. The subassembly appears as a single item in the BOM. For example, a Parts only BOM usually lists child components as individual items. If Hide is selected, the subassembly is listed instead.

Promote – Dissolves the subassembly in the BOM and shows its child components, even if the BOM Type would not normally show them. For example, a top-level only BOM usually lists just the subassembly and not its child components. If Promote is selected, the child components are listed and the subassembly is not.

Here it is in action for the example below. The subassembly ‘PURCHASED SUBASSEMBLY’ is part of the top level assembly – ‘Universal Joint’.



Reviewing the configuration properties for this subassembly shows the ‘Child component display when used as a subassembly‘ option.


If we create an indented BOM, it looks like this:

‘Knuckle Assembly’ is something we intend to manufacture, so we want to see those parts listed, but we don’t want to show the subassembly level, so we change the BOM type to ‘Parts only’. This is exactly what we want for ‘Knuckle Assembly’, but since we’re buying ‘PURCHASED SUBASSEMBLY’, we want just the opposite – don’t want to see the parts, only the subassembly level.

Open the ‘PURCHASED SUBASSEMBLY’ file, and change the configuration properties for ‘Child component display when used as a subassembly‘ option to ‘Hide’ and you are in business.

Note that we could go the other direction as well – if the BOM type is ‘Top-level only’ and we want to see the subassembly’s components, we could set ‘Child component display when used as a subassembly‘ option to ‘Promote’ and it would show the components of that subassembly.

Hopefully, this is a nice little tool to add to your toolbox of options when displaying information in a BOM just the way you want.

Chris Snider
Sr. Mgr. Field Technical Services – East
Computer Aided Technology, LLC