# Constraint Length

Veja também |
---|

Sketch → Sketcher constraints → Constrain distance |

Bancadas de trabalho |

Sketcher |

Atalho padrão |

Shift + D |

Introduzido na versão |

- |

Veja também |

Constraint HorizontalDistance, Constraint VerticalDistance |

## Contents |

## Description

**Constrain distance** constrains the length of a line, the perpendicular distance between a point and a line or the distance between two points to have a specified value.

## Usage

- Pick two points or one line or one point and one line.
- Invoke the command several ways:
- Press the Constrain distance button in the Sketcher toolbar.
- Use the Shift + D keyboard shortcut. (
**D**is for**D**istance) - 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. 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('DistanceX', Edge, PointOfEdge, 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 nearest point on line (`Line`

):

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

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

, `Edge2`

, `Edge`

, ` PointOfEdge1`

, ` PointOfEdge2`

, `PointOfEdge`

and `Line`

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

**The tools:**New sketch, Edit sketch, Leave sketch, View sketch, View section, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch

**Sketcher geometries:**Point, Line by 2 point,**Create an arc,**Arc, Arc by 3 Point,**Create a circle**, Circle, Circle by 3 Point,**Create a conic**, Ellipse by center, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola,**Create a B-spline**, Create B-spline, Create periodic B-pline, Polyline (multiple-point line), Rectangle,**Create regular polygon**, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Create Regular Polygon, Slot, Fillet, Trimming, Extend, External Geometry, CarbonCopy, Construction Mode

**Sketcher constraints****Geometric constraints**Coincident, Point On Object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal Length, Symmetric, Constrain Block**Dimensional constraints**Lock, Horizontal Distance, Vertical Distance, Distance, Radius, Internal Angle, Snell's Law, Internal Alignment, Toggle reference/driving constraint,

**Sketcher tools**Select solver DOFs, Close Shape, Connect Edges, Select Constraints, Select Origin, Select Vertical Axis, Select Horizontal Axis, Select Redundant Constraints, Select Conflicting Constraints, Select Elements Associated with constraints, Show/Hide internal geometry, Symmetry, Clone, Copy, Move, Rectangular Array, 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, Convert Geometry to B-spline, Increase degree, Increase knot multiplicity, Decrease knot multiplicity

**Sketcher virtual space**Switch Virtual Space

**Installation:**Windows, Linux, Mac;**Getting started****Basics:**About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials**Workbenches**: Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web

**Scripting:**Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units**Modules:**Builtin modules, Workbench creation, Installing more workbenches**Meshes:**Mesh Scripting, Mesh Module**Parts:**The Part Module, Topological data scripting, PythonOCC, Mesh to Part**Coin scenegraph:**The Coin/Inventor scenegraph, Pivy**Qt interface:**PySide, Using the FreeCAD GUI, Dialog creation**Parametric objects:**Scripted objects**Other:**Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting