# Constraint Length

Constraint Length |

Menyplacering |
---|

Sketch → Sketcher constraints → Constrain distance |

Arbetsbänkar |

Sketcher |

Standard genväg |

Shift + D |

Introducerad i version |

- |

Se även |

Constraint HorizontalDistance, Constraint VerticalDistance |

## Description

**Constrain distance** defines the length of a line, the perpendicular distance between a point and a line, the distance between two points, or, introduced in version 0.21, the distance between the edges of two circles or between the edge of a circle and a line.

## Usage

- Pick one line, or one point and one line, or two points, or the edges of two circles, or the edge of one circle and one line.
- There are several ways to invoke the command:
- Press the Constrain distance button in the Sketcher toolbar.
- Use the K then D keyboard shortcut.
- Use the
**Sketch → Sketcher constraints → Constrain distance**entry from the top menu.

- A pop up dialog opens to edit or confirm the value. Press OK to validate.

**Note:** the constraint tool can also be started with no prior selection (apart from circle to circle and circle to line cases). To set the perpendicular distance between a point and a line, the point needs to be selected first. By default the command will be in continue mode to create new constraints; press the right mouse button or Esc once to quit the command.

### Hint

If applicable please consider using the Horizontal distance or Vertical distance constraints instead. These constraints are more robust and faster to calculate than the **ConstrainDistance** tool.

## 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, Map sketch to face, 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, Line, Arc, Arc by 3 points, Circle, Circle by 3 points, Ellipse, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, B-spline by control points, Periodic B-spline by control points, B-spline by knots, Periodic B-spline by knots, Polyline, Rectangle, Centered rectangle, Rounded rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Regular polygon, Slot, Fillet, Corner-preserving fillet, Trim, Extend, Split, External geometry, Carbon copy, Toggle construction geometry

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

**Sketcher tools:**Select unconstrained DoF, Select associated constraints, Select associated geometry, Select redundant constraints, Select conflicting constraints, Show/hide internal geometry, Select origin, Select horizontal axis, Select vertical axis, Symmetry, Clone, Copy, Move, Rectangular array, Remove axes alignment, Delete all geometry, Delete all constraints

**Sketcher B-spline tools:**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, Convert geometry to B-spline, Increase B-spline degree, Decrease B-spline degree, Increase knot multiplicity, Decrease knot multiplicity, Insert knot, Join curves

**Sketcher virtual space:**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, Arch, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web

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