# Sketcher ConstrainDistance

Sketcher ConstrainDistance |

Menu location |
---|

Sketch → Sketcher constraints → Constrain distance |

Workbenches |

Sketcher |

Default shortcut |

K D |

Introduced in version |

- |

See also |

Sketcher ConstrainDistanceX, Sketcher ConstrainDistanceY |

## Description

The Sketcher ConstrainDistance tool fixes the length of a line, the distance between two points, the perpendicular distance between a point and a line; or, introduced in version 0.21, the distance between the edges of two circles or arcs, or between the edge of a circle or arc and a line; or, introduced in version 1.0, the length of an arc.

## Usage

See also: Drawing aids.

### Continue mode

- Make sure there is no selection.
- There are several ways to invoke the tool:
- introduced in version 1.0: If the
**Dimensioning constraints**preference is set to`Single tool`

(default): press the down arrow to the right of the button and select the**Constrain distance**option from the dropdown. - If this preference has a different value (and in version 0.21 and below): press the Constrain distance button.
- Select the
**Sketch → Sketcher constraints → Constrain distance**option from the menu. - introduced in version 1.0: Right-click in the 3D view and select the
**Dimension → Constrain distance**option from the context menu. - Use the keyboard shortcut K then D.

- introduced in version 1.0: If the
- The cursor changes to a cross with the tool icon.
- Do one of the following:
- Select a single line.
- Select two points.
- Select a point and a line (in that order).

- If a driving dimensional constraint is created, depending on the preferences, a dialog opens to edit its value.
- A constraint is added.
- Optionally keep creating constraints.
- To finish, right-click or press Esc, or start another geometry or constraint creation tool

### Run-once mode

- Do one of the following:
- Select a single line.
- Select two points.
- Select a point and a line (in any order).
- Select the edges of two circles or arcs.
- Select the edge of a circle or arc and a line (idem).
- introduced in version 1.0: Select the edge of a single arc.

- Invoke the tool as explained above.
- Optionally edit the constraint value.
- A constraint is added.

## Notes

- If applicable please consider using Horizontal distance or Vertical distance constraints instead. They are more efficient.

## Scripting

Distance from origin:

```
Sketch.addConstraint(Sketcher.Constraint('Distance', Edge, PointOfEdge, -1, 1, App.Units.Quantity('123.0 mm')))
```

Distance between two vertices:

```
Sketch.addConstraint(Sketcher.Constraint('Distance', Edge1, PointOfEdge1, Edge2, PointOfEdge2, App.Units.Quantity('123.0 mm')))
```

Length of line (the GUI allows selecting the edge itself, but it is just a shorthand for using the two extremities of the same line):

```
Sketch.addConstraint(Sketcher.Constraint('Distance', Line, 1, Line, 2, App.Units.Quantity('123.0 mm')))
```

Distance from point (`Edge, PointOfEdge`

) to perpendicular point on line (`Line`

):

```
Sketch.addConstraint(Sketcher.Constraint('Distance', Edge, PointOfEdge, Line, 0, App.Units.Quantity('123.0 mm')))
```

Distance between the edges of two circles:

```
Sketch.addConstraint(Sketcher.Constraint('Distance', Circle1, 0, Circle2, 0, App.Units.Quantity('123.0 mm')))
```

The Sketcher scripting page explains the values which can be used for `Edge`

, `Edge1`

, `Edge2`

, `PointOfEdge`

, `PointOfEdge1`

, `PointOfEdge2`

, `Line`

, `Circle1`

and `Circle2`

, and contains further examples on how to create constraints from Python scripts.

**General:**Create sketch, Edit sketch, Attach sketch, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch, Leave sketch, View sketch, View section, Toggle grid, Toggle snap, Configure rendering order, Stop operation

**Sketcher geometries:**Point, Polyline, Line, Arc, Arc by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Circle, Circle by 3 points, Ellipse, Ellipse by 3 points, Rectangle, Centered rectangle, Rounded rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Regular polygon, Slot, Arc slot, B-spline by control points, Periodic B-spline by control points, B-spline by knots, Periodic B-spline by knots, Toggle construction geometry

**Sketcher constraints:****Dimensional constraints:**Dimension, Horizontal distance, Vertical distance, Distance, Auto radius/diameter, Radius, Diameter, Angle, Lock**Geometric constraints:**Coincident (unified), Coincident, Point on object, Horizontal/vertical, Horizontal, Vertical, Parallel, Perpendicular, Tangent or collinear, Equal, Symmetric, Block**Other constraints:**Refraction (Snell's law)**Constraint tools:**Toggle driving/reference constraint, Activate/deactivate constraint

**Sketcher tools:**Fillet, Chamfer, Trim, Split, Extend, External geometry, Carbon copy, Select origin, Select horizontal axis, Select vertical axis, Array transform, Polar transform, Scale transform, Offset geometry, Symmetry, Remove axes alignment, Delete all geometry, Delete all constraints

**Sketcher B-spline tools:**Convert geometry to B-spline, Increase B-spline degree, Decrease B-spline degree, Increase knot multiplicity, Decrease knot multiplicity, Insert knot, Join curves

**Sketcher visual:**Select unconstrained DoF, Select associated constraints, Select associated geometry, Select redundant constraints, Select conflicting constraints, Show/hide circular helper for arcs, Show/hide B-spline degree, Show/hide B-spline control polygon, Show/hide B-spline curvature comb, Show/hide B-spline knot multiplicity, Show/hide B-spline control point weight, Show/hide internal geometry, Switch virtual space

**Additional:**Sketcher Dialog, Preferences, Sketcher scripting

**Getting started****Installation:**Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap**Basics:**About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate

**Help:**Tutorials, Video tutorials**Workbenches:**Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework

**Hubs:**User hub, Power users hub, Developer hub