Creating bills of materials in SOLIDWORKS Composer is often a necessity for technical documentation. Getting the correct bill of materials for our views can sometimes be a little challenging – here’s how to do it.
First off, let’s take a look at the assembly tree:
As you can see we have 5 top level components; 1 sub assembly & 3 components inside the sub assembly. In this example, we would like to create a top level BOM (so we see the top level components and the sub assembly listed, but not the components inside the sub assembly) as per the image below.
To create our BOM, we start off the BOM Workshop tool from the workshops tab on the ribbon toolbar.
Initially, none of our components have a BOM ID, so we have to define BOM IDs for our components.
There are various ways to generate BOM IDs for our components. This could involve selecting each component and manually typing in a BOM ID within its properties.
This is a very long winded method and is open to errors.
The best way to generate your BOM IDs is to use the tools within the BOM Workshop tab, because we can automate the process. First off we need to select what components the BOM ID is applied to. This can be visible geometry, selection, all geometry, visible parts or all parts.
Because we want to omit the components in the sub assembly I am going to set this to ‘Selection’.
Before we generate BOM IDs, there are some other settings on the definitions tab that we are going to adjust. We will leave the parent level at 0 – you may decide to change this based on how you’ve imported geometry in.
We will set the property name to ‘Actor Name’. The system will then compare property of the names of the components and group any components together if they share the same name. So in this example the pins will be grouped together with a quantity of 4, rather than each as a separate item within the BOM.
There is another option in ‘Compare property’ that you need to be aware of, this is ‘Skip characters from right’ – by default this is set to 3. This option is used if you choose to import instance names. So as an example, if we had used this option for our assembly, the actor names for the pin would have been ‘P 0002-1’, ‘P 0002-2’, ‘P 0002-3’, & ‘P 0002-4’, rather than each one showing as ‘P 0002’. Because the actor name would have been unique for each pin, a separate BOM ID would have been generated. To group the pins together as the same Item, we could choose to Skip 2 characters from the right. This would have ignored the last 2 digits from the actor name and then grouped our pins together. Because we have not chosen to import instance names, we will uncheck ‘skip characters from right’.
With our options correctly configured, we will select from our tree all geometry actors apart from the sub assembly. I then click ‘Generate BOM IDs’ from the BOM workshop tab.
This will create 5 BOM IDs for my components grouping all 4 instances of the Pin as BOM ID 2.
We didn’t select the sub assembly during that process, because each component in the sub assembly would have been given a unique BOM ID. To ensure we only generate a BOM ID for our assembly, we use a tool called assembly selection mode, which is found on the assembly tab.
As you can see from the image, when we select the assembly with assembly selection mode on, it only selects the assembly and not the components inside it.
With the assembly selected, click ‘Generate BOM IDs’ and one additional row is added to our BOM containing the sub assembly.
We now have the top level BOM we wanted, which can be added to our view & published.
We hope you found that useful!
Have you seen our blog archive where we have posted plenty of helpful articles? We also have a fantastic video library filled with easy-to-follow videos on a number of topics inspired by other SOLIDWORKS users – take a look.
Also, don’t forget to follow us on twitter for daily bite size SOLIDWORKS tips, tricks and videos.