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

How to Use Mechanical Blocks and Mechanical Block Inserts in BricsCAD

Quick answer: A mechanical block is a named group of entities, inserted with INSERT, that can be parametric (windows and doors in BIM, standard components in Mechanical). Any DWG file can serve as one, and modifying a block updates every insert of it automatically, though a block can’t reference itself.

What a Mechanical Block Insert Is

A mechanical block insert is a named entity, its default name combines the block’s name and the insert’s serial number. Internally, it’s represented either as a reference to an anonymous block or as an external reference. Both the insert’s properties and its parameters are editable in the Mechanical Browser panel and the Properties panel.

External and Local Mechanical Blocks

A local mechanical block is stored inside the assembly’s own DWG file, as an anonymous block. An external one is defined in a separate DWG file, represented either as an Xref or as a locally stored anonymous copy. When the external file changes, every insert of it can be updated via BMUPDATE or the Mechanical Browser’s context menu. If your assembly uses external mechanical blocks, remember to share all the related files when handing off the model, ETRANSMIT packages a drawing together with all its dependencies (external references, images, fonts, plot configuration files, plot style tables, and font map files) for exactly this purpose.

You can convert a block between local and external anytime. To edit a local block directly, first convert it to external with BMEXTERNALIZE, or use BMOPENCOPY to open, edit, and save a copy, then BMREPLACE to swap the original for that copy.

Set your block’s default insertion type (Local or External) by selecting its root node in the Mechanical Browser and choosing Switch to local or Switch to external from the context menu.

BMAUTOUPDATE controls whether external block inserts update automatically when you open the assembly, or only when you run BMUPDATE manually, changeable in the Settings dialog.

Converting Mechanical Blocks

BMEXTERNALIZE converts local blocks to external; BMLOCALIZE converts external blocks to local. Access either via the Assembly ribbon tab, toolbar, or menu (Switch Mechanical Block to External…/to Local…), by right-clicking a block insert in the Mechanical Browser, or by hovering over an insert in the drawing and using the Assembly command group in the Quad.

Converting an external block to local doesn’t delete its source DWG file, but future changes to that file no longer affect your assembly. Local and external inserts show different icons in the Mechanical Browser so you can tell them apart at a glance.

Parametric Mechanical Blocks

You can make parametric changes to inserted blocks at the assembly level. A block counts as parametric if it contains at least one 2D or 3D dimensional constraint, or an associative array driven by an expression. BricsCAD maintains associativity between a parametric block’s definition and its inserts automatically, so you can open the block, edit its geometry, save it, then run BMUPDATE to see the result reflected in your assembly. To reset a parameter back to its default, edit its Expression field and delete the content.

The Exposed field controls whether a specific parameter is available for editing at the assembly level:

You can associate units with a parameter too. Assign a value to it at the assembly level (directly or via expression), and it converts automatically from the assembly drawing’s units into that parameter’s own units; unitless parameters skip this conversion entirely. By default, every parameter is unitless except those belonging to dimensional constraints, or used as expressions for dimensional constraints, which automatically get the drawing’s units.

Editing the Parameters of a Mechanical Block Insert

Editing a parameter updates that specific insert immediately, without touching the block’s definition (a separate file). This means multiple inserts of the same parametric block can carry entirely different parameter values in the same model.

In the Mechanical Browser:

  1. Expand the block’s Parameters node.
  2. Select the parameter.
  3. Type a new value in the Expression field.

In the Properties panel:

  1. Select the block insert in the drawing.
  2. Expand the Parameters settings group.
  3. Type a new value for the parameter you want.

The Properties panel shows the current value; if it’s controlled by an expression, typing a new value overwrites that expression entirely. Select multiple parametric blocks at once, and their shared parameters become editable together, any field where the selection’s values differ reads “varies.”

Replacing Mechanical Blocks

BMREPLACE replaces mechanical block inserts, top-level inserts only. Parameter values shared between the old and new block copy across automatically.

Mechanical Blocks vs Blocks and External References

Mechanical blocks build on ordinary blocks and Xrefs, but behave differently. An external mechanical block links to a file like an Xref does, but can be represented either as a genuine Xref (BMINSERT behaves like XATTACH) or as a local anonymous block (BMINSERT behaves like INSERT).

Mechanical blocks come in two kinds:

An external block that’s a Part, with unmodified parameters, inserts as an Xref, listed in the Drawing Explorer’s External References section, its layers get a file_name prefix. An external block that’s an Assembly instead inserts as a local anonymous block, with all its layers merged into the main document’s layers, no prefix added.

Converting Blocks and External References

BMMECH converts the current drawing into a mechanical block (doing nothing if it already is one): block references become local mechanical block inserts, and external references become external mechanical block inserts. BMUNMECH reverses this, converting a mechanical block back into a plain drawing with ordinary blocks and external references; it only works on drawings that are already mechanical blocks.

Component-Based Features

A feature is a physical part of a component with engineering significance, holes, ribs, slots, pockets, forms, and applying one to a 3D solid adds or removes geometry. Build your own using BricsCAD’s component extension technology.

An extended component carries BC_SUBTRACT and/or BC_UNITE layers. Insert such a component onto a solid’s face with BMINSERT, and every solid on its BC_SUBTRACT layer subtracts from the target solid, while every solid on its BC_UNITE layer unites with it. The resulting faces form the component-based feature, which updates whenever you move the insert or change its parameters, and heals the target solid entirely if you delete the insert. Use BMLINK to adjust which target solids a feature applies to. BricsCAD ships some sample parametric component-based features you can use as references for building your own.

Assigning Physical Materials to Mechanical Blocks

A block without an assigned material inherits one from its parent mechanical block; if the parent has none either, it uses the nearest mechanical block’s material up the chain, so the same material can end up applying to every block sharing a common parent.

To assign one:

  1. Select the root mechanical block in the Mechanical Browser.
  2. Select the Material property and click Browse.
  3. In the Physical Materials dialog, choose a material from either the In Project or In central database list (materials chosen from the central database copy automatically into the In Project database).
  4. Click OK to assign it.

To remove one: select the root mechanical block, select the Material property, and click Clear material.

When inserting a block with a physical material, all of its materials copy into the target model’s material library. If a material with the same name already exists there, that existing material is used instead, its properties override the inserted block’s own material properties. Materials copied to the document library this way survive Undo operations.

Assigning Custom Properties to Mechanical Blocks

Custom properties, similar to BIM custom properties, are grouped into property sets that correspond to groups shown in the Mechanical Browser or Properties panel. A property set contains property definitions (name and type), and can include predefined values.

By default, a property set applies to every mechanical block in the document, define a “Part number” property, for instance, and it shows up for every part. If a block carrying that property gets inserted into another document, the property propagates there too, appearing for every block in that document as well. To avoid that, use per-instance property sets instead, applied only to specific blocks, enabled or disabled via the Mechanical Browser’s context menu.

Inserts inherit custom properties from their block definition, but you can freely change an instance’s property value; that change only affects the selected instance, not other instances or the definition itself. To change the definition’s own properties, open the block and select its root node in the Mechanical Browser.

To change a block definition’s properties:

  1. Select the root mechanical block in the Mechanical Browser.
  2. If needed, configure available custom properties: run BMPROPERTIES from the ribbon or Command line, select Custom properties, and click Browse.
  3. If needed, enable per-instance property sets: right-click the root node and choose the relevant sets from the Custom properties submenu.
  4. Select the property you want and type or select a new value.

To change a top-level instance’s properties:

  1. Select the block instance (not the root) in the Mechanical Browser.
  2. If needed, configure custom properties the same way as above.
  3. If needed, enable per-instance property sets by right-clicking that specific instance’s node instead of the root.
  4. Select the property and set a new value.

Frequently Asked Questions

If I insert the same parametric block twice, can each insert have different values? Yes, editing a parameter only updates that specific insert, not the shared block definition, so multiple inserts can carry entirely different values.

Does converting an external mechanical block to local delete the original file? No, the source DWG file stays intact, but future changes to it no longer affect your assembly once converted.

What happens if a mechanical block’s material name already exists in the drawing I insert it into? The existing material in the target drawing is used instead, its properties override whatever material properties came with the inserted block.

How do I stop a custom property from appearing on every block in the document? Use a per-instance property set instead of the default document-wide one, enabled or disabled through the Mechanical Browser’s context menu for specific blocks only.

Powered by Full Pelt Ltd