How to Use Custom Properties of Mechanical Blocks in BricsCAD Mechanical
Quick answer: Custom properties for mechanical blocks are based on BIM custom properties, the same system covered on this hub’s BIM custom properties page, but stored in a different location and not tied to a BIM project. They group into property sets, applied either to all objects of a selected type in the document, or only to selected mechanical blocks and instances via per-instance property sets.
Property Sets and Per-Instance Properties
Use BMPROPERTIES (from the ribbon, Command line, or Mechanical Browser) to configure them. Assign properties to the root mechanical block by selecting its node in the Mechanical Browser panel and setting values there. Mechanical block instances inherit their root block’s properties by default, but you can override specific properties on selected instances, editable in either the Mechanical Browser or the Properties panel.
When a mechanical block with custom properties gets inserted into an assembly, its property definitions merge into that assembly. For normal (non-per-instance) property sets, other blocks in the assembly also gain those properties, with default values. For per-instance property sets, the sets merge in too, but properties only display for the specific blocks those sets were enabled for.
Custom properties are supported in BOM tables, and can theoretically be extracted with a data extractor too.
The Mechanical Properties Dialog
Open it with BMPROPERTIES. It includes: Namespace (groups property sets); Add property set; Add property (to the currently selected set); Move up / Move down (reorders the selected property or value); and Remove (deletes the selected property set, property definition, or value definition).
Creating a Custom Property Set
- Click Add Set.
- Type a name in the Id field (must be unique) and the Label field (shown in the properties tree; if left blank, the Id displays instead).
- Use Per Instance to enable or disable user-defined properties on a per-entity basis.
Assigning a per-instance set to the root mechanical block:
- Open the Mechanical Browser panel.
- Select the main (root) mechanical block and right-click for its context menu.
- Choose Custom properties.
- Click the property sets you want enabled for the root block.
Assigning a per-instance set to a top-level instance or mechanical solid: this confirms the Custom properties context menu option covered on this hub’s mechanical block properties page.
- Open the Mechanical Browser panel.
- Select an inserted mechanical block and right-click for its context menu.
- Choose Custom properties.
- Click the property sets you want enabled for that particular insert.
Set the Visible property to control whether the set’s properties display in the Properties panel. Select which mechanical block categories the set applies to, currently Mechanical components and mechanical blocks: click a category checkbox to select every type in it, click All to select every type in every category, or None to clear all of them.
Adding a Property
- Select the property set, then click Add Property.
- Type a name in the Id field, a name in the Label field, and optionally a Description.
- Choose a Type: Boolean (On or Off), Integer (a whole number from -2147483648 to 2147483647), Real (an approximation of a real number), or String (any sequence of characters).
- Optionally define enumerated values, a fixed set of possible values, selectable from a dropdown in either the Properties panel or the Mechanical block properties section of the Mechanical Browser (optionally tick Mapping to add a description for each value).
Removing and Saving
Select any property set or property in the tree and click Remove to delete it, then click OK to accept your changes.
Frequently Asked Questions
How is a mechanical block’s custom property system different from the BIM one it’s based on? It’s stored in a different location and isn’t tied to a BIM project, otherwise the underlying concept works the same way.
What happens to a normal (non-per-instance) property set when its block gets inserted into an assembly? The property definitions merge into the assembly, and every other block there also gains those properties, using their default values.
Can I override a specific mechanical block instance’s inherited custom property value? Yes, edit it directly in either the Mechanical Browser or the Properties panel; by default it inherits from the root block, but individual instances can override it.
Where can users select a value from an enumerated custom property list? Either the Properties panel or the Mechanical block properties section of the Mechanical Browser panel.