Understanding 2D Constraints in BricsCAD
Quick answer: 2D parametric constraints maintain relationships between entities and control their dimensions. There are two types, geometric and dimensional, and it’s best practice to apply geometric constraints first, then dimensional ones. A drawing can end up underconstrained, fully constrained, or overconstrained depending on how thoroughly you’ve applied them.
Geometric vs Dimensional Constraints
- Geometric constraints control relationships between entities, parallel, perpendicular, tangent, and so on.
- Dimensional constraints control an entity’s actual dimensions: length, angle, radius, or diameter.
A dimensional constraint can hold a fixed value or a formula referencing other constraints or parameters. You can edit them from the Properties panel, the Parameters Manager panel, or the Mechanical Browser panel.
Two related tools: PARAMETERCOPYMODE controls how constraints behave when constrained entities get copied, and PARAMETRIZE2D automatically generates both geometric and dimensional constraints for you.
Reference Parameters
You can turn a dimensional constraint (dynamic or annotative) into a reference parameter either from the Properties panel, by switching its Reference property from No to Yes, or from the Mechanical Browser panel, by switching Geometry-driven from Off to On.
This changes its behaviour meaningfully: a reference parameter no longer constrains the geometry at all. It just displays a measurement and updates automatically as the geometry changes elsewhere. Because of this, you can’t manually edit its Expression field anymore, if you need to, set it back to a regular dimensional constraint first.
Reference parameters show up in brackets in both model space and paper space, as well as in the Mechanical Browser panel, and are listed together under Reference Parameters in the Parameters Manager.
The Three Constraint States
- Underconstrained: only some entities are constrained. Some modification commands and procedures might not be possible to apply as a result. If you’re working with underconstrained entities created in BricsCAD V23, you’ll need to set
2DCONSTRAINTFLAGSto 1. - Fully constrained: every relevant geometric and dimensional constraint has been applied. From here, the only way to modify the drawing is by changing dimensional constraint values, not by direct manipulation.
- Overconstrained: one or more constraints contradicts another.
Why Use Parametric Constraints
Two main benefits: maintaining your design intent as geometry gets edited, and generating multiple versions of the same design just by changing dimensional constraint values, rather than redrawing from scratch each time.
Finding the Tools
2D constraint tools live on the 2D Constraints toolbar and the 2D Parametric ribbon tab. Two flyout toolbars, Dimensional Constraint and Geometric Constraint, control the display of constraint bars and geometric constraints specifically.
Two general commands worth knowing:
CONSTRAINTBAR: controls whether an entity’s constraint bar displays. Constraint bars are always hidden by default when you open a drawing.DELCONSTRAINT: removes every dimensional and geometric constraint from an entity at once.
Dimensional Constraint Commands
| Command | What it does |
|---|---|
DCDISPLAY |
Shows or hides dimensional constraints |
DIMCONSTRAINT |
Applies a dimensional constraint to an entity or between constraint points; also converts associative dimensions to dynamic dimensions |
DCHORIZONTAL |
Constrains the horizontal (X) distance between two points |
DCVERTICAL |
Constrains the vertical (Y) distance between two points |
DCLINEAR |
Constrains either the horizontal or vertical distance between two points |
DCALIGNED |
Constrains the distance between two points, or the length of a line or polyline segment |
DCRADIUS |
Constrains the radius of a circle, arc, or arc polyline segment |
DCDIAMETER |
Constrains the diameter of a circle, arc, or arc polyline segment |
DCANGULAR |
Constrains the angle between two lines or linear polyline segments, the total angle of an arc, or the angle between three points |
DCCONVERT |
Converts an associative dimension into a dimensional constraint |
Geometric Constraint Commands
| Command | What it does |
|---|---|
GEOMCONSTRAINT |
Applies geometric relationships between entities and/or valid constraint points |
GCFIX |
Fixes points or entities at a set position |
GCCOINCIDENT |
Makes two points coincident, or constrains a point to an entity |
GCCONCENTRIC |
Makes the centre points of circles, arcs, ellipses, or elliptical arcs coincide |
GCCOLLINEAR |
Forces lines or polyline segments to be collinear |
GCPARALLEL |
Forces two lines or linear polyline segments to be parallel |
GCPERPENDICULAR |
Constrains two lines or polyline segments to be perpendicular |
GCTANGENT |
Maintains a tangency point between two entities (lines, polyline segments, circles, arcs, ellipses, or elliptical arcs) or their extensions |
GCHORIZONTAL |
Constrains lines, linear polyline segments, or point pairs to run parallel to the X-axis |
GCVERTICAL |
Constrains lines, linear polyline segments, or point pairs to run parallel to the Y-axis |
GCSMOOTH |
Forces a spline to maintain fluid continuity with another spline, line, arc, or polyline |
GCSYMMETRIC |
Constrains two entities or points to lie symmetrically about a selected line |
GCEQUAL |
Constrains arcs and circles to equal radius, or lines and polyline segments to equal length |
Frequently Asked Questions
Should I apply geometric or dimensional constraints first? Geometric constraints first, then dimensional ones, that’s the recommended order.
What’s the difference between a dimensional constraint and a reference parameter? A dimensional constraint actively constrains the geometry. A reference parameter just displays a measurement that updates as the geometry changes elsewhere, it no longer constrains anything, and you can’t edit its value directly while it’s set that way.
Can I still modify a fully constrained drawing? Yes, but only by changing the values of its dimensional constraints, not through direct manipulation of the geometry.
Why are my constraint bars not showing when I open a drawing? That’s expected. Constraint bars are always hidden by default whenever a drawing is opened; use CONSTRAINTBAR to control their display.