What Is Parametric Modelling in BricsCAD?
Quick answer: BricsCAD controls 2D and 3D geometry with global parameters (dimensional constraints, user-defined values, design table settings) and local parameters (attached to a specific array or mechanical block insert). All of them, and their values, show up in the Parameters Manager panel or the Mechanical Browser panel, and changing one updates the model automatically.
Global vs Local Parameters
Local parameters attach to one specific entity: an associative array, or a mechanical block insert.
Global parameters aren’t attached to any single entity, and split into four groups: parameters of 2D dimensional constraints, parameters of 3D dimensional constraints, user-defined parameters, and configuration parameters of design tables.
Four commands manage all this: -PARAMETERS manages dimensional constraint parameters via the Command line, PARAMETERSPANELOPEN opens the Parameters Manager panel, MECHANICALBROWSEROPEN opens the Mechanical Browser panel, and CLEANUNUSEDVARIABLES purges parametric variables that aren’t used in any constraint expression or linked to a dimension.
No Automatic Parent-Child Dependencies
By default, BricsCAD doesn’t create parent-child dependencies between geometric elements. Changing a sketch used to create an extruded 3D solid, for example, doesn’t automatically change that solid. You can build that kind of dependency afterward using parameters and expressions, or by using Sketch Based Features specifically, covered elsewhere in this hub, which is the notable exception that does maintain that live link automatically.
Defining Expressions
Both global and local parameters can hold an expression, though only global parameter names can be referenced inside other expressions, local parameters can’t be referenced this way. The simplest expression is just a number or the name of a global parameter; more complex ones can use standard operators and functions.
Define one by opening the Mechanical Browser panel, clicking the parameter’s name, and filling in the Expression field, or by using the -PARAMETERS command at the Command line.
Dependent Parameters and Padlock Icons
An expression referencing another parameter’s name (rather than just numbers) is called a non-constant expression. Setting one on a parameter changes its icon in the Mechanical Browser panel from an open padlock to a closed padlock, showing it now depends on another parameter and recalculates automatically whenever that other parameter’s value changes.
You can chain parameters together with no limit on chain length, but BricsCAD automatically detects and rejects any expression that would create a loop, since that could result in infinite recalculation.
Parameters of Associative Arrays
Created with ARRAY, ARRAYRECT, ARRAYPOLAR, and ARRAYPATH. Each array type has its own set of expression-controllable properties:
- Rectangular arrays: number of columns, column spacing, number of rows, row spacing, row elevation increment, number of levels, level spacing, and axis angle.
- Polar arrays: radius, number of items, angle between items, fill angle, number of rows, row spacing, row elevation increment, number of levels, and level spacing.
- Path arrays: item spacing, start offset, rows, row spacing, row elevation increment, levels, and level spacing.
To make a block’s own parameters available inside an array, link them first using the Link to parameter context menu command, before creating the array. Afterward, they’re editable in the Mechanical Browser or Parameters Manager panel; the link can be removed and restored again the same way.
Technically, these parameters attach to the array’s source element; editing that source parametrically updates every other item in the array to match. To set an expression, select the array entity (in the drawing or the Mechanical Browser) and enter it in the relevant field there or in the Properties panel. If the array contains entities with 2D or 3D dimensional constraints, those constraint parameters are listed as nested parameters and can have their own expressions too.
Parameters of Mechanical Blocks
BMUPDATEMODE controls whether external assembly mechanical blocks always reload, or only reload when modified.
Inserting a mechanical block, or even a plain DWG file, via INSERT converts any global exposed parameters it contains into local parameters, associated with that specific insert and visible in the Mechanical Browser under the insert’s name.
Parameter Properties
Managed via the Mechanical Browser panel:
- Name: identifies the parameter, usable in other expressions within the same mechanical block. Can’t start with a number, and must be alphanumeric with no spaces.
- Expression: a value or an expression.
- Value: the parameter’s current computed value.
- Geometry-driven: on disables the Expression field entirely; the value instead comes from the model and can only be changed through direct modelling operations.
- Description: an optional note.
- Exposed: controls whether the parameter is visible and editable when the mechanical block is inserted into an assembly, three options: On (always exposed), Off (never exposed, the default for new parameters), and Reset (returns to the default value).Worth flagging: an earlier page in this hub on dimensional constraints described this same Exposed field with three different options, Auto, On, and Off, where Auto exposed a parameter only if it didn’t depend on others. This source instead lists On, Off, and Reset, with no Auto option at all. These can’t both be accurate for the same field, so if the exact option set matters for your work, it’s worth checking directly in BricsCAD.
- Units: Linear, 2-dimensional, or 3-dimensional.
3D Constraint Properties
Control the mutual placement of constrained entities when 3D constraints recalculate:
- Type: Path, Distance, Radius, Angle, or Cone Angle.
- Enabled: turns the constraint on or off.
- Directions: Same or Opposite, flipping constrained entities relative to each other. Applies to lines, planes, circles, cylinders, cones, and tori, not points or spheres. A plane’s direction is its normal vector; a circle’s is its plane’s normal vector; a cylinder, cone, or torus uses its axis direction; a solid’s planar face is additionally adjusted to point externally. “Any” lets the direction change during direct modelling or parameter changes; “Keep” locks in whichever direction currently applies.
- Placement: Outside or Inside, for example, whether a point sits outside or inside a sphere it’s constrained to. Defined for planes, spheres, cylinders, cones, and tori, not points, lines, or circles. “Any” allows either; “Keep” (the default) locks in the current placement.
- Use as: applies to the arguments of Distance and Concentric constraints on circles, spheres, cylinders, cones, and tori, defining what geometry is actually used to measure or coincide: Boundary (the argument’s boundary), Axis (for anything with an axis), Center (for anything with a central point), or Vertex (cone vertices only).
Context Menus in the Mechanical Browser Panel
Main node: Add new parameter, Collapse All, Expand All.
Sub-nodes: Delete, Create design table, Animate, Link to parameter, Enabled, Geometry driven, Flip Side (for Parallel, Coincident, and Concentric constraints applied to faces only), and Select geometry.
The Parameters Manager Panel
Browses and manages global parameters in a table, one row per parameter, with columns for name, expression, and value. From here you can create or delete parameters, edit names and expressions directly, search by name, sort by name/expression/value, filter to show only parameters relevant to or dependent on a selected one, animate a parameter, and clean up unused variables.
Frequently Asked Questions
If I edit a sketch used to create a 3D solid, does the solid update automatically? Not by default, BricsCAD doesn’t maintain automatic parent-child dependencies between geometric elements. Sketch Based Features is the notable exception that does keep that link live.
What’s the difference between a global and a local parameter? A global parameter isn’t tied to any single entity and can be referenced in other expressions. A local parameter is attached to a specific array or mechanical block insert and can’t be referenced by other expressions.
Can I create a chain of parameters that all depend on each other in sequence? Yes, with no limit on chain length, but BricsCAD automatically rejects any expression that would create a circular loop.
How do I make a block’s own parameters available for editing once it’s part of an array? Link them using the Link to parameter context menu command before creating the array.