Sketcher ConstrainCoincident: Difference between revisions

From FreeCAD Documentation
(Comments from https://forum.freecadweb.org/viewtopic.php?p=468289#p468289)
Line 35: Line 35:
<!--T:3-->
<!--T:3-->
As stated above, this tool takes two arguments - both are points.
As stated above, this tool takes two arguments - both are points.
# First, it is necessary to highlight two distinct points. ({{Emphasis|Note:}} this will not work if, for example, you attempt to select the start and end point of the same line).
# First, it is necessary to highlight two distinct points. ({{Emphasis|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.
# 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 {{MenuCommand|Editing → Preference → Display → Colors → Selection}})
# A highlighted item will change its color to green. (This color can be customized in {{MenuCommand|Editing → Preference → Display → Colors → Selection}})
# Subsequent items can be highlighted by repeating the above procedure(s). {{Emphasis|Note:}} it's unnecessary to hold-down any special key like {{KEY|Ctrl}} to achieve multiple item selection in a drawing.
# Subsequent items can be highlighted by repeating the above procedure(s). {{Emphasis|Note:}} it's unnecessary to hold-down any special key like {{KEY|Ctrl}} to achieve multiple item selection in a drawing.

Revision as of 08:20, 18 January 2021

Sketcher ConstrainCoincident

Menu location
Sketch → Sketcher constraints → Constrain coincident
Workbenches
Sketcher
Default shortcut
C
Introduced in version
-
See also
Sketcher Constrain Lock, Sketcher 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.

  1. 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).
  2. Highlighting of a drawing item is achieved by moving the mouse over the item and clicking the left-mouse-button.
  3. 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.
  4. A highlighted item will change its color to green. (This color can be customized in Editing → Preference → Display → Colors → Selection)
  5. 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.
  6. 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.

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

The Scritping Sketcher constraints in Python 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.

Alternatives to Coincident constraint

The two constrained items must be starting point (1) or end point (2) vertices, or center points (3). The coincident constraint cannot be used directly with an entire edge (0). Circles and Conics (ellipses) have a center point, but 3 cannot be used to refer to the center point of a straight Lines. The combinations which are not possible with Coincident can be emulated using other constraints:

  • The Symmetric constraint can be used to place an extremity on the midpoint of a straight line. This emulates 3 (center) for straight lines.
  • A midpoint-to-midpoint placement can be achieved by creating a new Point and using two Symmetric constraints so that it lays on the midpoint of both edges. This emulates 3 (center) for straight lines.
  • Instead of using the values 1 or 2 (vertex) and 0 (edge), a vertex can be constrained to lie along on 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. before the start point or outside of the end point).
  • Instead of using the values 0 (edge) and 0 (edge), a co-linear placement can be obtained by combining a PointOnObject constraint and a Parallel constraint
  • Instead of using the values 0 (edge) and 0 (edge), two edges can be made identical by using two Coincident constraint, one for each pair of extremities.
  • Instead of using the values 0 (edge) and 0 (edge), two Circle can be made identical by creating a new Line and using two Coincident constraint to place both centers on one extremity of the line, and two PointOnObject constraints to place the other extremity on the circumference of both circles. To get rid of the extra degree of freedom, a horizontal or vertical constraint can be used to lock the line in place.