Skip to content

Constraints

A constraint is a statement that must stay true. The solver moves geometry until every statement holds at once, and moves it again whenever you change one.

Constraints appear in three places at the same time, all doing the same thing: the Selection section of the sidebar, the floating bar above the canvas (the first six only), and the context menu. Which ones appear depends entirely on what you have selected.

Two points selected, and what they offer

Once applied, a constraint says so on the drawing: a small glyph beside the geometry it holds. See constraint badges.

The selection recipes

The exact selection matters. Two points and nothing else offers Coincident and Distance. Two points plus a line offers Symmetric instead. Selecting a third thing by accident is the usual reason an expected button is missing.

Between two points

ConstraintSelectValue
Coincident2 points
Distance2 pointsmm, seeded from the current spacing

On one point

ConstraintSelectValue
Fix1 point

Fix pins a point in place. Most sketches want exactly one, to stop the whole drawing sliding around the plane.

On one line

ConstraintSelectValue
Horizontal1 line
Vertical1 line

Between two lines

ConstraintSelectValue
Parallel2 lines
Perpendicular2 lines
Equal2 linesMatches their lengths
Angle2 linesdegrees, seeded from the current unsigned angle (0 to 180)
Offset2 linesmm

Offset is a compound. It applies Parallel plus a point-to-line distance from an endpoint of the first line to the second line, as a single undo step. Once the lines are parallel that perpendicular gap is the line-to-line offset, and the distance row is the one you edit afterwards.

Between a point and a line

ConstraintSelectValue
Point on line1 point + 1 line
Midpoint1 point + 1 line
Distance to line1 point + 1 linemm

Involving circles and arcs

Circles and arcs are interchangeable everywhere below. This documentation calls either a round.

ConstraintSelectValue
Point on1 point + 1 round
Radius1 roundmm
Diameter1 roundmm, seeded at twice the current radius
Equal2 roundsMatches their radii
Tangent2 rounds, or 1 line + 1 round

Across a mirror line

ConstraintSelectValue
Symmetric2 points + 1 line, exactly three things

Dimensions

Five constraints carry an editable number: Distance, Distance to line, Angle, Radius, Diameter. These are the dimensions, and they are what makes the part parametric.

Every dimension is seeded from the geometry as it currently stands, so applying one locks in what you already see rather than jumping the drawing somewhere unexpected. Then you type the number you wanted.

The value is edited in the constraint docket, or by clicking its annotation on the canvas. Both fields accept arithmetic. Angles are shown and typed in degrees.

Applying a dimension clears the selection and focuses its new value field, so you can apply and type without touching the mouse.

Constraints you never ask for

Some are added on your behalf:

WhereWhat
Rectangle toolTwo Horizontal and two Vertical
Shift while drawingA Horizontal or a Vertical
Pencil tangent arcA Tangent to the previous segment
Add midpointA Midpoint per selected line
Import from an imageHorizontal, vertical, coincident and equal-radius, inferred from the drawing
Import from a fileHorizontal and vertical only. A file is not a guess, so nothing else is inferred

If the solver rejects one of these, the geometry is still created. You get the shape without the constraint rather than losing both.

Add midpoint

Not a constraint you select for. It drops a new point at the middle of every selected line and constrains it there, as one undo step. It is on the top bar, on the floating bar, and in the context menu, and is disabled unless a line is selected.

When nothing applies

If you have a selection and the Selection section reads No constraints for this combination, the combination has none. Check the count: three things selected when you meant two is the usual cause.

What happens after

Watch the status foot. Each constraint you add should reduce the degrees-of-freedom count. If the count does not move, the constraint was redundant, and its dot in the docket will say so. If something turns red, it conflicts. Its badge turns the same colour, on the geometry itself. See diagnosing a sketch.