How to Use 2D Parametric Blocks in BricsCAD
Quick answer: A parametric block carries metadata alongside its geometry, controlling things like size and visibility, so a block reference’s appearance can change without editing the block definition itself. This walks through building one: a parametrized door symbol with three visibility states, wall-aligning reference curves, flip lines, and a stretch parameter.
What Parametric Blocks Are
The metadata in a parametric block controls how its references behave, meaning the same block definition can produce instances that look and size themselves differently depending on their parameters, without you touching the underlying geometry.
The Workflow: A Parametrized Door Symbol
This example, a common architectural symbol, is built in a separate drawing, then inserted into the target drawing via INSERT, browsing for the file. It’s worth setting your workspace to Drafting first, so the relevant tools are easy to reach.
Creating the Geometry
Draw the entities for all three intended visibility states of the door (Open, Half Open, Closed) together up front, they’ll be separated out in the next stage.
Adding Visibility States
Open the Visibility States panel from the 2D Parametric ribbon tab’s Operations panel (the Visibility button), by right-clicking the ribbon and choosing Panels > Visibility States, or by running VISIBILITYSTATESPANELOPEN.
The overall approach: create a visibility parameter, add states to it, attach entities to each state, then let BricsCAD show or hide those entities depending on which state is active.
- Open the block drawing.
- Click Add parameter at the top of the panel; a new parameter appears with an editable name,
Anglein this example. - Click +Add state under the parameter name to create a state with an editable name; here, three states: Open, Half Open, and Closed.
- Hover over a state’s name, click its menu button, and choose Make entities visible to select which entities belong to that state only:
- With Open active, add the vertical line and larger arc.
- With Half Open active (Open’s entities hide automatically), add the slanted line and smaller arc.
- With Closed active, nothing further is needed, since the other states’ entities were already hidden automatically when assigned, this is typical for a parameter’s last state.
- Save the block drawing.
- Insert the block into the target drawing.
- To change the visibility state afterward: select the block, open the Properties panel, go to its Parameters section, and choose a state from the Angle parameter’s dropdown.
A few things worth knowing:
- To see entities hidden for the current state, click the panel’s top-right menu button and choose Show invisible, they’ll display in light blue; deselect to hide them again.
- You can also add entities via the arrow (
>) next to a state’s name, which opens a state-specific panel with a Select add button. - Remove entities the same way, using Select remove in that same panel.
- If entities show as “Visible for all states of this parameter,” they’re redundant and should be removed from the parameter.
- Select several entities with
Shift, then right-click and choose Remove from parameter to remove them all at once. - In the state-specific panel, each entity has an eye icon; one with a slanted line through it means that entity is hidden for the active state. Click it to toggle.
Adding Reference Curves
Reference curves are entities placed on the REFERENCE_CURVES layer, used to align the block with matching entities in the target drawing during insertion, so it lands correctly without any further moving or rotating.
- Open the block drawing.
- Launch
REFERENCECURVES(Command line, or the Reference curves button on the 2D Parametric ribbon tab). - Select the four horizontal lines representing the wall; they move to the
REFERENCE_CURVESlayer. - Save the block drawing.
- Insert it into the target drawing.
The block will snap its reference curves to similar curves in the target drawing. In this example, the block has two pairs of parallel lines offset by 300 mm, so it dynamically snaps to target lines that are also parallel with that same 300 mm offset.
During insertion: in the Insert Block dialog’s Advanced settings section, tick Use reference curves for insert (the same checkbox mentioned on this hub’s blocks insertion page) before clicking OK. As you move the cursor near two lines matching the block’s reference curves, it snaps to them, shown by four blue arrows representing the reference curves; moving along the lines repositions the block, and a left-click inserts it aligned to them. In this specific case, the target lines get trimmed between the connection points where those arrows attach. If the lines under the cursor don’t match (a different spacing than 300 mm, for instance), the block inserts normally instead, without any alignment.
Two things worth noting: reference curves may not combine well with geometric or dimensional constraints, depending on the complexity of the block and its constraints, and the Fuzzy Insert Guided functionality (covered next) parametrizes reference curves so the door can snap into walls of varying thickness, not just an exact match.
Enabling Fuzzy InsertGuided
This makes reference curves flexible enough to match walls of different thicknesses.
- Open the block drawing.
- Launch
REFERENCECURVESagain (the reference lines already exist). - Choose the Parametrize option, which automatically creates parameters between the reference curves, visible in the Parameters Manager or Mechanical Browser.
- Add constraints attaching relevant entities to the parametrized reference curves, in this example, four coincident constraints between the reference curves’ endpoints and the two vertical wall-break lines’ endpoints.
- Save the block drawing.
- Insert it into the target drawing; this time, the reference curves also snap to inner walls of a different thickness than the original 300 mm, thanks to those added parameters.
Adding Flip Lines
A flip parameter mirrors the block’s geometry across an axis you define with a flip line. This example adds two: one for horizontal mirroring, one for vertical.
Access this via the Flipline button on the 2D Parametric ribbon tab’s Operations panel, or the FLIPLINE command directly.
- Open the block drawing.
- Launch
FLIPLINEand draw a vertical line through the centre of the block; it displays in orange. - Select the entities to flip individually, or choose the flip Everything option.
- Name the flip parameter,
flip_Horizontallyin this example. - Repeat the process with a new flip line through the middle of the wall, named
flip_Vertically. - Save the block drawing.
- Insert it into the target drawing; the block can now be flipped by selecting it and using its flip parameters in the Properties panel’s Parameters section.
- Optionally change the colour of the parametric block operation geometries via
POPERATIONSCOLOR.
Two things worth knowing: operation geometries display by default right after creation, but stay hidden when reopening a drawing containing parametric blocks, toggle them with PBLOCKOPERATIONSDISPLAY. Hover visualization of operation geometries on block references specifically is controlled by PBLOCKREFERENCEOPERATIONSVISUALIZATION, off by default.
Adding the Stretch Parameter
Works similarly to the STRETCH command, useful when several entities need to move together, the same direction and distance, without editing the block, and can replace multiple constraints, simplifying the geometry. It carries the same caveat as reference curves: it might not combine well with complex geometric or dimensional constraints.
- Open the block drawing.
- Launch
PARAMETRICSTRETCH(or the Stretch button on the 2D Parametric ribbon tab). - Create the stretch vector by picking two points: its direction sets the stretch direction, and its length becomes the parameter’s initial value. Aligning it with a meaningful feature or dimension gives the parameter’s value clear meaning; the vector itself draws in soft red for visibility.
- Draw the stretch frame, a polygon or rectangle, which determines which stretch points move: only points of selected entities that fall inside this frame get moved.
- Adjust the entity selection if needed; by default, entities with stretch points inside the frame are already selected.
- Optionally change the linked behaviour, which controls whether entities follow operation definition points when adjusted by other operations; new parametric operations default to Off (not linked).
- Name the stretch parameter,
Thicknessin this example. - Save the block drawing.
- Insert it into the target drawing and adjust the stretch parameter, for example, changing a default of 60 mm to 150 mm for insulation purposes.
- Toggle the operation geometries’ visibility with
PBLOCKOPERATIONSDISPLAYif needed; points affected by a parametric stretch show marked with an “X”.
Grip Editing a Parametric Block
Grip points display for exposed parameters tied to Flip, Stretch, Move, Scale, Rotate, and Offset operations specifically, not for visibility parameters, design tables, or any non-exposed parameters.
- Select the parametric block; grips for its parametric operations appear.
- Hover over a grip to see the operation’s current value.
- Click the grip to activate a dynamic input field (for a flip operation specifically, clicking mirrors the block immediately instead).
- Drag the grip; the operation’s value updates dynamically as you move it.
- Click again to confirm the new value, or type one directly into the dynamic input field; the block reference updates to match.
Frequently Asked Questions
Can I change a parametric block’s size or appearance without editing its definition? Yes, that’s the whole point, metadata parameters (like flip, stretch, or visibility states) control appearance per reference, independent of the underlying block definition.
What does “Use reference curves for insert” actually do? It’s the checkbox in the Insert Block dialog’s Advanced settings that lets a block dynamically snap and align to matching entities in the target drawing during insertion, rather than being placed exactly where you click.
Why would I use Fuzzy Insert Guided instead of plain reference curves? Plain reference curves only snap to an exact geometric match, like a wall of one specific thickness. Fuzzy Insert Guided parametrizes them so the block can snap into walls of varying thickness instead.
Which parametric operations show grip points for direct editing? Flip, Stretch, Move, Scale, Rotate, and Offset, provided the relevant parameter is exposed. Visibility parameters, design tables, and non-exposed parameters don’t get grip points.