# Sketcher ConstrainCoincident

Veja também |
---|

Sketch → Sketcher constraints → Constrain coincident |

Bancadas de trabalho |

Sketcher |

Atalho padrão |

C |

Introduzido na versão |

- |

Veja também |

Constrain Lock, Constrain Point onto Object |

## Description

Create a coincident constraint on the selected item

This constraint tool takes two points as its argument and serves to make the two points *coincident*. (Meaning to make them as-one-point).

In practical terms this constraint tool is useful when there is a break in a profile for example - where two lines end near each other and need to be joined - a coincident constraint on their end-points will close the gap.

## Usage

As stated above, this tool takes two arguments - both are points.

- First, it is necessary to highlight two distinct points. (
*Note:*this will not work if, for example, you attempt to select the start and end point of the same straight line; selecting the start and end points of an arc will produce a closed circle or ellipse but will constrain the location of the seam to be on that point). - Highlighting of a drawing item is achieved by moving the mouse over the item and clicking the left-mouse-button.
- It is also possible to highlight all items inside a rectangle by clicking and dragging. When dragging from left to right (with any vertical motion), only the shapes which are entirely contained within the rectangle will be highlighted; in the other direction all shapes which intersect with the selection rectangle will be highlighted. This can be used to select only the vertices without selecting the edges, by dragging a small recangle around some vertices from left to right, as long as there are no edges which are fully contained within the rectangle.
- A highlighted item will change its color to green. (This color can be customized in
**Editing → Preference → Display → Colors → Selection**) - Subsequent items can be highlighted by repeating the above procedure(s).
*Note:*it's unnecessary to hold-down any special key like Ctrl to achieve multiple item selection in a drawing. - Once you have two points highlighted, you can invoke the command using several methods:
- Pressing on the Coinstrain coincident constraint button in the toolbar.
- Using the C keyboard shortcut.
- Using the
**Sketch → Sketcher constraints → Constrain coincident**entry in the top menu.

*Result:* the command will cause the two points to become *coincident* and be replaced by a single point.

*Note:* In order to make two points coincident, FreeCAD must out of necessity move one (or both) of the original points.

## Alternatives to Coincident constraint

The two constrained items of a Coincident constraint must be start point or end point vertices, or center points of arcs, circles or ellipses. Some combinations which are not possible with a coincident constraint can be emulated using other constraints:

- The Symmetric constraint can be used to place a start point, end point or center point on the midpoint of a straight line.
- A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new Point and using two Symmetric constraints so that it lies on the midpoint of both lines.
- A vertex can be constrained to lie along an edge using a PointOnObject constraint. Note that with this constraint, the point can lie anywhere on the full extension of a segment or curve (i.e. also before the start point or beyond the end point).
- A collinear placement of two straight lines can be obtained by applying a Tangent constraint to them, or by combining a PointOnObject constraint and a Parallel constraint.
- Two edges can be made identical by using two Coincident constraints, one for each pair of extremities.
- Two circles can be made identical by using a Coincident constraint to merge the centers, and applying an Equal constraint to their edges. For arcs, this will ensure both arcs are part of the same circle, while allowing them to have different start and end points.

## Scripting

The constraint can be created from macros and from the Python console by using the following command:

```
Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))
```

where :

`Sketch`

is a sketch object`LineFixed`

is the number of the line, that will not move by applying the constraint`PointOfLineFixed`

indicates which vertex of`LineFixed`

has to fulfill the constraint`LineMoving`

is the number of the line, that will move by applying the constraint`PointOfLineMoving`

indicates which vertex of`LineMoving`

has to fulfill the constraint

As the names `LineFixed`

and `LineMoving`

indicate, if both constrained vertices are free to move in any direction, the first one (first to be selected in the Gui) will remain fixed and the other one will move. In the presence of existing constraints, however, both edges may move.

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

, `PointOfLineFixed`

, `LineMoving`

and `PointOfLineMoving`

, 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