Sketcher ConstrainCoincident: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 24: Line 24:


<!--T:47-->
<!--T:47-->
The [[Image:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher_ConstrainCoincident|Sketcher ConstrainCoincident]] tool affixes a point onto (coincident with) one or more other points. {{Version|0.21}}: It also acts as a concentric constraint if two or more circles, arcs, ellipses or arcs of ellipses are selected.
The [[Image:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher_ConstrainCoincident|Sketcher ConstrainCoincident]] tool affixes a point onto (coincident with) one or more other points. {{Version|0.21}}: It can also act as a concentric constraint if two or more circles, arcs, ellipses or arcs of ellipses are selected.


{{Version|0.22}}: This tool is only available if the {{MenuCommand|Unify Coincident and PointOnObject}} option is not selected in the [[Sketcher_Preferences#General|Sketcher Preferences]].
{{Version|0.22}}: This tool is only available if the {{MenuCommand|Unify Coincident and PointOnObject}} option is not selected in the [[Sketcher_Preferences#General|Sketcher Preferences]].

Revision as of 15:05, 14 January 2024

Sketcher ConstrainCoincident

Menu location
Sketch → Sketcher constraints → Constrain coincident
Workbenches
Sketcher
Default shortcut
C
Introduced in version
-
See also
Sketcher Constrain Coincident Unified, Sketcher Constrain Point on Object

Description

The Sketcher ConstrainCoincident tool affixes a point onto (coincident with) one or more other points. introduced in version 0.21: It can also act as a concentric constraint if two or more circles, arcs, ellipses or arcs of ellipses are selected.

introduced in version 0.22: This tool is only available if the Unify Coincident and PointOnObject option is not selected in the Sketcher Preferences.

Usage

  1. Do one of the following:
    • Select two or more points.
    • Select two or more edges of circles, arcs, ellipses or arcs of ellipses.
  2. There are several ways to invoke the command:
    • Press the Constrain coincident button in the toolbar.
    • Use the C keyboard shortcut.
    • Use the Sketch → Sketcher constraints → Constrain coincident entry in the top menu.

Alternatives to Coincident constraint

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.

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.