Save 15% On All Single Licences! Loading... GET OFFER

How to Filter a BOM Table in BricsCAD Mechanical

Quick answer: BricsCAD supports two filter types for a Bill of Materials, resolving both the Main filter and Column filters covered on this hub’s BOM Manager page.

The Main Filter

Works the same way as DATAEXTRACTION: every part in the assembly, at the required level (top, bottom, or hierarchical), is matched against the filter expression first, and only parts that pass get included in the BOM. Since filtering happens before the BOM generates, the expression can’t reference BOM columns, filtering for all standard parts works fine (Is standard is a normal component property), but filtering out parts with a quantity greater than 1 doesn’t, since quantity only exists once the table is built, use a column filter for that instead.

Filter Configurator: the easiest way to build a main filter, available in the BOM Manager panel. Define conditions (a property, a relation, and a target value), using one of six relations: Equal to, Not equal to, Less than, Greater than, Less than or equal to, Greater than or equal to. Group conditions into an “All of” group (AND logic) or an “Any of” group (OR logic), each holding any number of conditions or nested groups, enabling arbitrarily complex filters. Text target values can be picked from a dropdown of all possible values; numeric ones can specify their own unit, auto-converted to the document’s default. Text “Equal to”/”Not equal to” relations support wildcards. The Configurator converts your conditions into a fully editable filter expression, two-way associative with the condition list, visible via a toggle icon.

Syntax, confirming the same structure covered on this hub’s DXD file editing page:

Operator Meaning
== equal to
!= not equal to
< less than
> greater than
<= less than or equal to
>= greater than or equal to

Property names go in quotes; combine relational expressions with and/or (case-sensitive), parenthesize to group them, enclose strings in double quotes, and note that string comparisons are case-sensitive too. == and != support wildcards.

Examples:

Wildcards: match property values against a template, "Component name"=="*nozzle*" finds every component with “nozzle” anywhere in its name, usable as Filter Configurator target values too. Only “Equal to” and “Not equal to” support them, and main filter wildcards are always case-sensitive (column filters let you choose case sensitivity).

Character Meaning
` Escapes the next character (literal)
, Separates patterns
* Matches any character sequence, including none
? Matches a single character
. Matches a single non-alphanumeric character
@ Matches a single alphabetic character
# Matches a single numeric character
~ Matches anything except the given pattern (as the first character)
[...] Matches a single enclosed character
[~...] Matches a single non-enclosed character
- (in brackets) Matches a character within the specified range

The Column Filter

Sets conditions on which rows display based on a specific column’s content, similar to a spreadsheet filter. Unlike the main filter, column filters apply after the BOM table generates, so they work on aggregated content like quantities. Each column supports only one filter, but as many columns as needed can each carry their own; a row only displays if it passes every active column filter.

Configure them via the Column Filter dialog in the BOM Manager. Available filter types depend on the column’s content type:

Filter type Column type Meaning
always accepted any Every value passes
equal to / not equal to numerical Matches or doesn’t match the target value
less than / greater than numerical Below or above the target value
less than or equal to / greater than or equal to numerical At or below / at or above the target value
between numerical Within the given range, both ends included
not in range numerical Outside the given range, both ends excluded
exactly matches / does not match text Matches or doesn’t match the target text exactly
starts with / does not start with text Begins (or doesn’t) with the given text
ends with / does not end with text Ends (or doesn’t) with the given text
contains / does not contain text Includes (or doesn’t) the given text anywhere
matches pattern / does not match pattern text Matches (or doesn’t) a wildcard template
in / not in text and numerical Belongs (or doesn’t) to a given set of values

Every text filter type also lets you choose case-sensitive or case-insensitive matching.

Frequently Asked Questions

Can a main filter exclude parts based on their quantity in the final BOM? No, quantity is generated after the BOM builds, so the main filter can’t reference it, use a column filter instead.

Can a single column have more than one filter applied? No, each column supports only one filter at a time, though every column can have its own simultaneously.

Are wildcards case-sensitive in both filter types? Main filter wildcards are always case-sensitive; column filters let you choose case-sensitive or case-insensitive matching.

Why would I use a column filter instead of the main filter for something like “only show quantities greater than 1”? Because column filters apply after the BOM table generates, letting them work on values (like quantity) that don’t exist until the table is actually built.

Powered by Full Pelt Ltd