Showing volume or weight values in a BOM can pose hidden challenges that have changed over the years. This article will explain how to address those changes.
A Short Refresher
Let's review how to add a custom column to a BOM. Right click on an existing column within the BOM. Use the menu to select Insert > Column Right or Column Left, as desired.
Once the new column is in place, it is necessary to link that column to a Custom Property. Click the letter at the top of the column (in our example, the letter D). The entire column will be highlighted, and the BOM formatting toolbar will appear. Click the Column Property icon, shown in the following image.
A small panel will appear at the top of the column. Specify the "Column type" and the "Property name".
For a property name to appear in the "Property name" list, at least one component in the BOM must contain that custom property.
Custom Properties
For properties to appear in the BOM, they must exist in the component part files associated with the assembly. If we open the Frame component and look at it's Custom Properties, this is what we see. We will focus on 2 properties in particular; Material and Weight. SOLIDWORKS knows the density of the material, along with the volume. It computes the mass on it's own.
The Material property is Plain Carbon Steel and has been linked to the material of the part. This is done through the drop down menu associated with the Value / Text Expression column. The Weight property has been linked to the weight (mass) of the part in the same manner.
Notice the Weight property Evaluated Value shows a numeric value, but no unit designation. All that is shown is a value of 47919.520. What units are being used? How do we find out what they are?
Weight Units
To answer the questions above, we need look no further than the Document Properties of the part in question. Click the Tools menu > Options > Document Properties tab, then select the Units category. In the image which follows, we see that grams are the units for Mass.
BOM Units Before SOLIDWORKS 2018
In older versions of SOLIDWORKS (specifically 2017 and earlier), the units for values such as weight and volume in a drawing BOM were derived from the Units setting established in the part file. This also holds true for any models or drawings created in 2017 or earlier and then brought forward to later versions.
Mixed Units
Granted, having mixed units in components in an assembly is something that should be avoided, but it can still be a reality for some. Then there is still the matter of not having any unit designation in the BOM. To resolve any confusion, appending a suffix to the Weight Custom Property is one solution.
Units Suffix
First, let's set our weight units to something other than grams. Heading back to our documents Units, we could use MKS as the Unit system, or use Custom. In our example, we will use Custom. As can be seen in the image, the Mass has been set to kilograms, and the Mass/Section Property Length decimal place precision has been set to one decimal place.
It may seem odd to change the decimal place precision for Length when it is the Mass we want to control, but that value controls the precision for both Length and Mass.
Looking back at the Custom Properties of the Frame component, we can now add a suffix to the linked SW-Mass value by simply typing in " kg". Notice a space was used to create some separation between the evaluated value and the suffix.
The Weight property now shows the kg suffix in the BOM.
To summarize, let's reiterate what we have learned so far. In versions prior to SOLIDWORKS 2018, units for weight and volume were derived from the part file. They were not derived from the assembly or the drawing.
The SOLIDWORKS 2018 Difference
The change is simple, but significant. Simply put, files created in 2018 or later will use the Units (and precision) set in the drawing, not the part. This completely eliminates the problem inherent when working with mixed units.
If your models have been created in 2018 or later, it may be best to leave a suffix off. Otherwise, it may read incorrectly in the drawing. The units for weight can instead be called out somewhere in the title block, which is a common practice.
In this next image, the units of the part files are still in kilograms, but the drawing has been set to pounds. The suffix was removed from the Frame part file's Weight property.
SOLIDWORKS 2024 Enhancement
An enhancement to the 2024 version allows for placing a linked suffix to a property. The key word in that statement is "linked". We can examine the process in the following image.
The Weight property currently has a link to the mass of the frame in the form "SW-Mass@Frame.SLDPRT". This is nothing more than a menu pick. The Unit suffix is added in the same manner. Type in a space, if desired, then use the menu to select Units > Unit for Mass, as shown in the image.
The end result shows another link in the form "SW-MassUnit@Frame.SLDPRT". The Evaluated Value reads 47.9 kg.
Linked Suffix
If the files are created in SOLIDWORKS 2018 or later, we know the drawing units are used for the BOM. What does this mean relative to the linked suffix? The suffix is not static text. The suffix is linked. Therefore, it will update at the part level if the units are changed in the part, but it will also update at the drawing level based on the units of the drawing.
Even though the components in the assembly have Units set to kilograms, and even though the suffix reads "kg" at the part level, the BOM reads in pounds because that is what the drawing units are set to.
If the functionality in this article is important to you, please be sure to use templates from 2018 or later.