How to Use BOM Columns in BricsCAD Mechanical
Quick answer: By default, a BOM table contains Number, Name, and Quantity columns, plus Thumbnails if Add thumbnails to new tables is checked, or whatever configuration a template .bom file (stored in BOMTEMPLATE) previously defined. The Configure option of BMBOM adds more, Description, Density, Volume, Mass, Material, Thickness (sheet metal parts), and Parameters (parametric components), or any built-in property of components, instances, or block references, plus custom evaluated columns via DataExtraction technology, the same technology behind the DXD files covered in this hub’s earlier BIM section.
Grouping Modes
BOM tables list unique components only, grouping multiple inserts according to a grouping mode, confirming the Grouping mode property covered on this hub’s BOM Manager page:
- Auto (default): groups inserts with respect to their parameters and added properties, so multiple inserts of the same parametric component always split into separate rows by parameter value, whether or not those parameters are added as columns.
- By components and columns: groups purely by added properties, so inserts of the same parametric component with different parameter values can share a row, depending on which columns are added, though different components never share a row. Useful when parameters represent different states rather than genuinely different parts.
- By columns only: groups purely by added properties, regardless of whether inserts share the same source component. Useful for summary tables, a list of every physical material used, or every pipe size, for example.
Visible and Invisible Columns
Any column can be made invisible, hiding it from the table in the document while it remains usable in formulas and still visible (with a hatched background) in the BOM Manager panel.
Aggregated Columns
Apply an aggregate function to almost any column in a top- or bottom-level BOM table, grouping rows that differ only in that column into a single combined value. Six functions are supported: Sum, Average, Minimum, Maximum, Concatenate (every unique value, ascending order), and Concatenate with counts (every unique value plus how many times it appears).
Worked example, starting from this table:
| Component | Width | Length | Height | Quantity |
|---|---|---|---|---|
| Beam | 16 | 250 | 10 | 1 |
| Beam | 16 | 200 | 10 | 2 |
| Beam | 16 | 220 | 20 | 1 |
| Beam | 20 | 215 | 20 | 3 |
| Beam | 20 | 225 | 20 | 1 |
Applying an aggregate function to Length (grouped by Width and Height) gives:
| Component | Width | Height | Length (sum) | Length (average) | Length (minimal) | Length (maximal) | Length (concatenate) | Length (concatenate with counts) |
|---|---|---|---|---|---|---|---|---|
| Beam | 16 | 10 | 650 | 216.6667 | 200 | 250 | 200; 250 | 2×200; 250 |
| Beam | 16 | 20 | 220 | 220 | 220 | 220 | 220 | 220 |
| Beam | 20 | 20 | 870 | 217.5 | 215 | 225 | 215; 225 | 3×215; 225 |
For Concatenate with counts columns, you can adjust the count’s position (before or after the value), the delimiter between values, the delimiter between a value and its count, and a prefix or suffix for the count itself.
If an aggregated column feeds into an evaluated column, the final aggregated values are used by default. You can, however, apply an aggregate function to the evaluated column itself instead, in which case the expression computes first against every original (pre-aggregation) value, and only those results get aggregated afterward.
Number Column and Column Roles
The Number column automatically enumerates every row without gaps, independent of other tables, starting from 1. Configure its Prefix and Suffix (adding “A” in front, or “-1” after every number, for example). For hierarchical BOMs specifically: Number type, either Full (formatted as 1.2.3), Short (only the current level’s number, paired with the Level column showing depth), or Continuous (every component numbered straight through regardless of level); and Delimiter, the symbol separating levels when Number type is Full.
The Number column normally sources BMBALLOON‘s drawing annotations, but any column can take on that role instead. Confirming Column role covered on this hub’s BOM Manager page, the four available roles are Number, Name, Quantity (each usable by BMBALLOON for numbers, names, or quantities respectively), and Regular (no special role). Only one column can hold each of the Number, Name, or Quantity roles at a time; without any column assigned to these roles, automatic annotation isn’t possible.
Column Width
Column width auto-fits its content by default, avoiding extra line breaks. Set a fixed width by selecting the column in the BOM Manager and typing a value (in layout units) for its Width property, or by resizing it directly in the associated table (manually resized columns keep that width automatically). Restore automatic sizing by selecting Auto from the Width property’s dropdown.
Column Format
- Select the column in the BOM Manager.
- Choose Format from the context menu.
- Configure the Format dialog (available settings depend on the column’s data type; select multiple same-type columns to format them all at once).
Property Sets
Because BOM tables use DataExtraction technology, they can list both mechanical component properties and general entity properties (block references, for example). These aren’t always necessary, and in large assemblies, listing more than needed can hurt performance, since BricsCAD caches properties during table creation.
Three built-in property sets: Mechanical only (default, mechanical component properties only), All except coordinates (every component property except coordinate ones, typically only relevant for instances), and All properties (everything possible, for both components and instances). Change the property set for a table in the BOM Manager, or via BMBOM when adding a new one.
Frequently Asked Questions
Why do two inserts of the same parametric component sometimes end up in separate BOM rows even though I haven’t added their differing parameter as a column? With the default Auto grouping mode, inserts always split by parameter value regardless of whether that parameter is shown as a column; switch to By components and columns or By columns only if you want different behaviour.
How do I build a summary table listing every unique material or pipe size used across an assembly? Use the By columns only grouping mode, which groups purely by added properties regardless of source component.
Can more than one column serve as the Name source for BMBALLOON annotations? No, only one column at a time can hold the Name role (and likewise for Number and Quantity).
Does changing a table’s property set to “All properties” affect performance on large assemblies? It can, since BricsCAD caches every listed property during BOM table creation, use the more limited Mechanical only or All except coordinates sets unless you specifically need everything.