Mechanical blocks, XRefs and 3D solids

Mechanical blocks, XRefs and 3D solids are regular entities with assigned mechanical data (such as component name, physical material, BOM status or custom properties). Such block references, external references and 3D solids will be treated similarly to mechanical components. This means that those objects:

  • Are shown in the mechanical browser.
  • Can appear in bills of materials.
  • Can have a specific physical material assigned to them.
  • Are taken into account in the mass calculation.

As those objects are still regular entities, you can use virtually all BricsCAD commands to work with them. For example, you can use block editor to edit local blocks, reference editor to change a reference in place, or use BIM linear solids to model structural shapes while still being able to include them in the bill of materials. You can also make a mechanical block from a drawing and insert it as a block or as an external reference into another document, and still be able to see all internal components in the bill of materials or in the mechanical browser. Parametric blocks and parametric external references are also supported, as well as arrays of such mechanical objects. In short, you can make a mechanical object from any 3D solid or block or external drawing and continue to work with them the same way as with any regular entities using regular tools.

Mechanical blocks, XRefs and 3D solids are enabled by default. Some commands may not support or just partially support those blocks, XRefs or 3D solids. In addition, you can create hybrid assemblies, with both traditional mechanical components and new mechanical blocks, XRefs and 3D solids.

Commands and tools that fully support mechanical blocks, XRefs and 3D solids:

  • Mechanical browser
  • Bill of materials (BMBOM and BOM manager)
  • Mass properties (BMMASSPROP)
  • Drawing views
  • BMMECH
  • BMUNMECH
  • BMOPEN
  • BMOPENCOPY
  • BMDISSOLVE
  • BMBALLOON
  • BMEXPLODE
  • BMEXPLODEMOVE
  • SMUNFOLD (for mechanical solids)
  • SMEXPORTOSM (for mechanical solids)
  • BMLISPGET (except options for component parameters)
  • BRX Components API
  • BMPROPERTIES
  • BMNEW
  • BMFORM (you can use BLOCK instead)
  • BMINSERT
  • BMCONNECT
  • SMASSEMBLYEXPORT
  • BMREPLACE (you can also use BLOCKREPLACE instead for blocks)
  • BMLOCALIZE (you can also use XBIND instead for blocks)
  • BMEXTERNALIZE (you can also use BLOCKTOXREF instead for blocks)
  • BMTRAILINGLINES

Commands and tools that do not support mechanical blocks, XRefs and 3D solids:

  • BMCONVERT
  • BMCREATECOMPONENT
  • BMDEPENDENCIES
  • BMHIDE
  • BMSHOW
  • BMRECOVER
  • BMUPDATE

Enabling mechanical blocks, XRefs and 3D solids

  • Open the Settings dialog box. Go to Mechanical blocks (experimental) and tick the option Enable mechanical blocks
  • In the Command line, set the MECHANICALBLOCKS system variable to 1.

Disabling mechanical blocks, XRefs and 3D solids

  • Open the Settings dialog box. Go to Mechanical blocks (experimental) and untick the option Enable mechanical blocks.
  • In the Command line, set the MECHANICALBLOCKS system variable to 0.

After that, existing mechanical blocks will be ignored by all commands and tools in BricsCAD.

To create mechanical blocks, XRefs and 3D solids

You can make a mechanical block from the current drawing and convert all named block references, external references and 3D solids directly placed in the model space. If a local block is opened in block editor, you can make a mechanical block from it, optionally with all named block references, external references and solids.

  1. Make sure that Mechanical blocks are enabled.
  2. Call the BMMECH command. If it is called in the model space, enter the desired component name. By default, it will match the document name.
  3. Select block references, external references and/or solids to be converted. You can also select Yes to convert all block references, external references and solids to mechanical objects, or Blocks to convert only block references and external references. If you select No, only the document (or the block being edited) will be converted into a mechanical block.
Note: All blocks where those mechanical blocks or entities are inserted will be converted to mechanical as well, and vice versa. This is to ensure that the document will have a valid mechanical structure.

Inserting mechanical blocks

To insert a mechanical block to another document, do the following:

  1. Make sure that Mechanical blocks are enabled.
  2. Use the BMINSERT or INSERT command to insert the block to the document.

To attach a document with a root mechanical block as an external reference, do the following:

  1. Make sure that Mechanical blocks are enabled.
  2. Use the XATTACH command to attach the document as an external reference.
Note: If the current document doesn’t have a root component or a root mechanical block, a root mechanical block will be automatically created.

Removing mechanical structure

To remove a mechanical structure from a document, do the following:

  1. Run the BMUNMECH command.
  2. Choose Yes to confirm.

To remove a mechanical structure from a local named block, do the following:

  1. Open the block using block editor (BEDIT).
  2. Run the BMUNMECH command.
  3. Choose Yes to confirm.

To remove mechanical data from a mechanical entity, do the following:

  1. Select the entity in question in the mechanical browser.
  2. Right click to call the context menu.
  3. Choose Unmech from the context menu.

Assign properties to selected instances

Unlike traditional components, mechanical blocks, xrefs and solids allow to set properties for certain instances and also for the block itself. It means that, for example, you can assign individual physical materials to different inserts of the same mechanical block, or to different external references. If an instance doesn’t have a certain property, the corresponding property of the block will be used instead.

To assign a property to a top-level instance of a mechanical block, or to a top-level external reference, do the following:

  1. Select required instances in the mechanical browser.
  2. Go to the Properties section.
  3. Set the desired value of a corresponding property.
Note: Doing that, you will assign properties only to certain block references, external references or solids and not to their corresponding blocks or external documents (even if all inserts of those blocks are selected.) To set a property of a local block, open the block in block editor, select the root component in the browser and set the desired value of the property. To set a property for all external references of a document, open the document and change the corresponding properties of the root component.

Bill of materials and mechanical solids

Bills of materials in BricsCAD natively support mechanical blocks, XRefs and solids. However, unlike to traditional components, mechanical blocks, XRefs and solids are grouped according to their names and properties only. This means that if you have two different blocks with the same name in one assembly, those blocks will be grouped in the same row in a bill of materials, as long as their parameters and other properties (such as physical material) are identical. It is done intentionally, mainly for performance reasons, but also to provide more flexibility for users. It is especially important when working with mechanical solids. By default, each solid is considered as a unique component with an unique, automatically assigned name. If you copy a solid to the same document, the copy will get a new name and will be treated as a completely different solid in BricsCAD. Therefore, those solids will be in different rows of a bill of materials table. However, if you assign the same component name to them, bill of materials will group those solids together, regardless of their geometry. The same goes for mechanical blocks and external references.

Note: Since BricsCAD V23, it is allowed for mechanical blocks and solids to assign a BOM status for particular instances, which is respected by the bill of materials. In the mechanical browser, setting a BOM status for top-level instances is enabled. The corresponding command is modified to assign the status to the original block.

Copy mechanical solids

When a mechanical solid is copied, a different name is assigned to it by default. Therefore, it will be treated as a completely different solid. However, it is possible to set different instances and component names for mechanical solids. If a component name is set by the user, it will be kept in the copy, and the copy of this solid will be treated as an instance of the same component in the bill of materials.