3D Constraints in BricsCAD
Quick answer: BricsCAD uses geometric constraints between edges and faces, also called variational direct modeling, to parametrize solids and surfaces. Every constraint is considered simultaneously, so model behaviour doesn’t depend on the order constraints were created in, letting you parametrize any feature without worrying about a creation history.
Variational Direct Modeling
As soon as a constraint is added, BricsCAD automatically modifies the model to satisfy it, and that constraint keeps being respected through later model changes too. Dimensional constraints specifically control dimensions: introducing one, or changing its value, updates the solid or surface geometry automatically. A box’s dimensions, for example, might be controlled entirely by three distance constraints applied to its opposite faces.
The Two Categories of 3D Constraints
Geometric constraints: Fix, Coincident, Concentric, Parallel, Perpendicular, Tangent, and Rigid Set.
Dimensional constraints: Distance, Radius, Angle, Cone Angle, and Path Constraint, matching the same five constraint types referenced elsewhere in this hub’s parametric modeling coverage.
Finding and Managing 3D Constraints
Available on the 3D Constraints toolbar, the Parametric/3D Constraints menu, the 3D Parametric ribbon panel, and the Constraints tab of the Quad. Every 3D constraint in a drawing is listed in the Mechanical Browser panel, select one there to check or edit its properties.
What Can Be Constrained
- Vertices, edges, and faces of 3D solids, surfaces, meshes, and regions, including planar, cylindrical, spherical, toroidal, and conical geometry.
- Lines, rays, xlines, circles, and arcs.
- Segments and vertices of 3D polylines.
- Arbitrary curves, for Coincident and Path constraints specifically, with a point as the other argument.
- Planes, axes, and origin points of the WCS or a block’s own coordinate system.
Geometry-Driven Constraints
A dimensional 3D constraint can be set to geometry-driven, meaning it updates automatically to reflect the model’s current state rather than accepting a manual expression; its value instead comes from the model and changes through direct modelling operations or changes to other constraints.
Other parameters and constraints can depend on a geometry-driven constraint’s value, but be careful: a constraint that depends on a geometry-driven one can sometimes make the model unresolvable, and this should be avoided.
Toggle a constraint between regular and geometry-driven in the Mechanical Browser panel, the Parameters Manager panel, or with DMCONSTRAINT3D. Once a regular constraint becomes geometry-driven, its expression gets overwritten the first time a model modification affects that constraint.
3D Constraints and Direct Modeling
3D constraints are respected during direct modelling operations: if a constraint fixes the placement of a face or edge, that placement is preserved through Push/Pull, Move, and Rotate operations. You can temporarily disable a constraint, or erase it permanently, from the Mechanical Browser panel.
Geometry-driven constraints update their values once a direct modelling operation completes, which can cascade into further changes elsewhere in the model.
If a face or edge disappears during direct modelling or Boolean solid editing, any 3D constraints applied to it are removed. But if there’s an exact correspondence between the original faces and the resulting ones, those constraints reapply automatically to the new entities instead of being lost.
Depending on the DMRECOGNIZE system variable, BricsCAD also automatically recognizes geometric relationships between a solid’s surfaces and preserves them through direct modelling, this is design intent recognition, covered in full on its own dedicated page.
Frequently Asked Questions
Does the order I create 3D constraints in affect the final model? No, all constraints are considered simultaneously, so model behaviour doesn’t depend on creation order.
Can I manually type an expression for a geometry-driven constraint? No, its value comes from the model itself and changes only through direct modelling operations or changes to other constraints it depends on.
What happens to a constraint if the face it applies to disappears during editing? It’s removed, unless there’s an exact correspondence between the original face and a resulting one, in which case the constraint reapplies automatically.
Is Rigid Set the same as the geometric constraints covered for 2D drafting? No, Rigid Set is specific to 3D constraints and doesn’t appear among the 2D geometric constraint types covered elsewhere in this hub.