Commands: MechanicalBrowserOpen , DMUPDATE, DMFIX3D, DMCOINCIDENT3D, DMCONCENTRIC3D, DMPARALLEL3D, DMPERPENDICULAR3D, DMTANGENT3D, DMDISTANCE3D, DMRADIUS3D, DMANGLE3D
Variational Direct Modeling
Use geometric constraints (aka variational direct modeling) to model parametric solids and surfaces. Define constraints between elements (edges and faces) to modify solid and surface models.
As soon as a constraint is added BricsCAD automatically modifies the model and these constraints are updated with subsequent modifications to the model. The key advantage of variational direct modeling is that all constraints are taken into account simultaneously and the model behavior does not depend on the constraint creation order. It allows you to parameterize any feature of the 3D model without the worry of model creation history.
Dimensional constraints control the dimensions of the model. When such a constraint is introduced or the value of its parameter is changed BricsCAD automatically updates the solid and surface geometry. For example, the dimensions of a box can be controlled by the parameters of three distance constraints applied to the opposite faces.
Constraints can be created using the 3D Constraints toolbar, the Parametric/3D Constraints menu or the Constraints command group in the Quad.
BricsCAD provides the following 3D constraints:

Geometrical constraints: Fix (), Coincident (), Concentric (), Parallel (), Perpendicular (), Tangent (), and Rigid Set().

Dimensional 3D constraints: Distance () , Radius (), Angle (), Cone Angle (), Path Constraint ().
The Mechanical Browser
Use the Mechanical Browser () to navigate through all the constraints in the model. Select a constraint in the Mechanical Browser, to check and edit its properties.
3D Constraints types
The following entities are supported for constraint creation:

Faces of 3D solids and surfaces of planar, cylindrical, spherical, toroidal and conical geometry.

Linear and circular edges of 3D solids and surfaces.

Lines, rays, xlines, circles and arcs.

Arbitrary curves for coincident and path constraints with a point as another argument.

Planes, axes and origin points of the world or a block coordinate system.
3D constraints have a number of properties that allow you to control how BricsCAD treats them in various situations. For full description see the 3D Constraints Properties page.
Geometrydriven Constraints
Dimensional 3D constraints can also be geometrydriven. They update the model to accurately reflect the current state of the model. You can not specify their expression. Instead, their value is obtained from the model and can be changed with direct modeling operations and changes to other constraints.
Other parameters, including constraints, can depend on the values of geometrydriven constraints. In some circumstances a constraint dependent on geometrydriven constraints can make the model unresolvable. This should be avoided.
Turn regular constraints to geometrydriven constraints and vice versa, with the Mechanical Browser, Parameters Manager or DMCONSTRAINT3D command. After a regular constraint is turned into a geometrydriven one, its expression will be overwritten with the first modification of the model that affects this constraint.
3D Constraints and Direct Modeling
3D Constraints are taken into account when direct modeling operations are applied. If there is a 3D constraint that fixes the placement of faces or edges this constraint will be preserved during Push/Pull, Move and Rotate operations. A 3D constraint can be temporarily disabled, or erased permanently, with the Mechanical Browser Constraints section.
Geometrydriven constraints will update their values when a direct modeling operation is completed. This can lead to additional charges to the model.
If some faces or edges disappear, during a direct modeling or in Boolean solid editing operation, 3D constraints applied to such entities are removed. However, if there is an exact correspondence between the initial faces and the faces obtained, 3D constraints are automatically applied to the new entities.
Dependant on the value of the DMRECOGNIZE system variable, BricsCAD will automatically recognize geometrical relations between the surfaces of a solid and will preserve them during direct modeling operations (see Design Intent Recognition).