Sketcher ConstrainCoincident: Difference between revisions

From FreeCAD Documentation
(Scripting_Sketcher_constraints_in_Python -> Sketcher_scripting)
No edit summary
 
(55 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Page_in_progress}}
<translate>
<translate>


<!--T:37-->
<!--T:37-->
{{Docnav
{{Docnav
|[[Sketcher_ConstrainCoincidentUnified|Coincident (unified)]]
|[[Sketcher_ToggleConstruction|Construction Mode]]
|[[Sketcher_ConstrainPointOnObject|Point On Object]]
|[[Sketcher_ConstrainPointOnObject|Point on object]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_ToggleConstruction.svg
|IconL=Sketcher_ConstrainCoincidentUnified.svg
|IconR=Constraint_PointOnObject.svg
|IconR=Constraint_PointOnObject.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
Line 18: Line 19:
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|Workbenches=[[Sketcher_Workbench|Sketcher]]
|Shortcut={{KEY|C}}
|Shortcut={{KEY|C}}
|SeeAlso=[[Sketcher_ConstrainLock|Sketcher Constrain Lock]], [[Sketcher ConstrainPointOnObject|Sketcher Constrain Point onto Object]]
|SeeAlso=[[Sketcher_ConstrainCoincidentUnified|Sketcher ConstrainCoincidentUnified]], [[Sketcher_ConstrainPointOnObject|Sketcher ConstrainPointOnObject]]
}}
}}


==Description== <!--T:40-->
==Description== <!--T:40-->


<!--T:2-->
<!--T:47-->
The [[Image:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher_ConstrainCoincident|Sketcher ConstrainCoincident]] tool creates a coincident constraint between points, or ({{Version|0.21}}) a concentric constraint between circles, arcs and/or ellipses (by making their centers coincident).
Create a coincident constraint on the selected item


<!--T:5-->
<!--T:49-->
{{Version|0.22}}: This tool is replaced by the [[Sketcher_ConstrainCoincidentUnified|Sketcher ConstrainCoincidentUnified]] tool if the '''Unify Coincident and PointOnObject''' option is selected in the [[Sketcher_Preferences#General|Sketcher Preferences]].
This constraint tool takes two points as its argument and serves to make the two points ''coincident''. (Meaning to make them as-one-point).


<!--T:6-->
==Usage== <!--T:41-->
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.


See also: [[Sketcher_Workbench#Drawing_aids|Drawing aids]].
==Usage== <!--T:41-->


===[[Sketcher_Workbench#Continue_modes|Continue mode]]===
<!--T:3-->
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 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 {{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.
# Once you have two points highlighted, you can invoke the command using several methods:
#* Pressing on the {{Button|[[File:Sketcher_ConstrainCoincident.svg|16px]] [[Sketcher_ConstrainCoincident|Coinstrain coincident]]}} constraint button in the toolbar.
#* Using the {{KEY|C}} keyboard shortcut.
#* Using the {{MenuCommand|Sketch → Sketcher constraints → Constrain coincident}} entry in the top menu.
{{Emphasis|Result:}} the command will cause the two points to become ''coincident'' and be replaced by a single point.


<!--T:7-->
<!--T:48-->
# Make sure there is no selection.
{{Emphasis|Note:}} In order to make two points coincident, FreeCAD must out of necessity move one (or both) of the original points.
# There are several ways to invoke the tool:
#* Press the {{Button|[[Image:Sketcher_ConstrainCoincident.svg|16px]] [[Sketcher_ConstrainCoincident|Constrain coincident]]}} button.
#* Select the {{MenuCommand|Sketch → Sketcher constraints → [[Image:Sketcher_ConstrainCoincident.svg|16px]] Constrain coincident}} option from the menu.
#* Use the keyboard shortcut: {{KEY|C}}.
# The cursor changes to a white cross with the tool icon.
# Do one of the following:
#* Select two points.
#* Select two edges of circles, arcs, ellipses or arcs of ellipses.
# A constraint is added.
# Optionally keep creating constraints.
# To finish, right-click or press {{KEY|Esc}}, or start another geometry or constraint creation tool.

===Run-once mode===

# Do one of the following:
#* Select two or more points.
#* Select two or more edges of circles, arcs, ellipses or arcs of ellipses.
# Invoke the tool as explained above.
# Depending on the selection one or more constraints are added.

==Notes==

* {{Version|0.22}}: Points with Coincident constraints are marked with the '''Constraint symbols''' [[Sketcher_Preferences#Display|color]].


== Alternatives to Coincident constraint == <!--T:42-->
== Alternatives to Coincident constraint == <!--T:42-->


<!--T:43-->
<!--T:43-->
The two constrained items of a [[Sketcher ConstrainCoincident|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:
Some combinations which are not possible with a coincident constraint can be emulated using other constraints:
* The [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[Sketcher ConstrainSymmetric|Symmetric]] constraint can be used to place a start point, end point or center point on the midpoint of a straight line.
* The [[File:Sketcher_ConstrainSymmetric.svg|16px]] [[Sketcher_ConstrainSymmetric|Symmetric constraint]] can be used to place a point on the midpoint of a straight line.
* A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new [[File:Sketcher_CreatePoint.svg|24px]] [[Sketcher CreatePoint|Point]] and using two [[File:Sketcher_ConstrainSymmetric.svg|24px]] [[Sketcher ConstrainSymmetric|Symmetric]] constraints so that it lies on the midpoint of both lines.
* A midpoint-to-midpoint placement of two straight lines can be achieved by creating a new [[File:Sketcher_CreatePoint.svg|16px]] [[Sketcher_CreatePoint|Point]] and using two [[File:Sketcher_ConstrainSymmetric.svg|16px]] [[Sketcher_ConstrainSymmetric|Symmetric constraints]] so that it lies on the midpoint of both lines.
* A vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|24px]][[Sketcher ConstrainPointOnObject|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 vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|16px]] [[Sketcher_ConstrainPointOnObject|Point on object]] 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 [[File:Sketcher_ConstrainTangent.svg|24px]] [[Sketcher ConstrainTangent|Tangent]] constraint to them, or by combining a [[File:Sketcher_ConstrainPointOnObject.svg|24px]] [[Sketcher ConstrainPointOnObject|PointOnObject]] constraint and a [[File:Sketcher_ConstrainParallel.svg|24px]] [[Sketcher ConstrainParallel|Parallel]] constraint.
* A collinear placement of two straight lines can be obtained by applying a [[File:Sketcher_ConstrainTangent.svg|16px]] [[Sketcher_ConstrainTangent|Tangent constraint]] to them, or by combining a [[File:Sketcher_ConstrainPointOnObject.svg|16px]] [[Sketcher_ConstrainPointOnObject|Point on object constraint]] and a [[File:Sketcher_ConstrainParallel.svg|16px]] [[Sketcher_ConstrainParallel|Parallel constraint]].
* Two edges can be made identical by using two [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraints, one for each pair of extremities.
* Two circles can be made identical by using a [[File:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher ConstrainCoincident|Coincident]] constraint to merge the centers, and applying an [[File:Sketcher_ConstrainEqual.svg|24px]] [[Sketcher ConstrainEqual|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== <!--T:14-->
==Scripting== <!--T:14-->


<!--T:44-->
<!--T:44-->
The constraint can be created from macros and from the python console by using the following command:
The constraint can be created from [[Macros|macros]] and from the [[Python|Python]] console by using the following command:


</translate>
</translate>
Line 87: Line 97:
<!--T:33-->
<!--T:33-->
{{Docnav
{{Docnav
|[[Sketcher_ConstrainCoincidentUnified|Coincident (unified)]]
|[[Sketcher_ToggleConstruction|Construction Mode]]
|[[Sketcher_ConstrainPointOnObject|Point On Object]]
|[[Sketcher_ConstrainPointOnObject|Point on object]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Sketcher]]
|IconL=Sketcher_ToggleConstruction.svg
|IconL=Sketcher_ConstrainCoincidentUnified.svg
|IconR=Constraint_PointOnObject.svg
|IconR=Constraint_PointOnObject.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
Line 96: Line 106:


</translate>
</translate>
{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 15:24, 11 April 2024

This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Sketcher ConstrainCoincident

Menu location
Sketch → Sketcher constraints → Constrain coincident
Workbenches
Sketcher
Default shortcut
C
Introduced in version
-
See also
Sketcher ConstrainCoincidentUnified, Sketcher ConstrainPointOnObject

Description

The Sketcher ConstrainCoincident tool creates a coincident constraint between points, or (introduced in version 0.21) a concentric constraint between circles, arcs and/or ellipses (by making their centers coincident).

introduced in version 0.22: This tool is replaced by the Sketcher ConstrainCoincidentUnified tool if the Unify Coincident and PointOnObject option is selected in the Sketcher Preferences.

Usage

See also: Drawing aids.

Continue mode

  1. Make sure there is no selection.
  2. There are several ways to invoke the tool:
    • Press the Constrain coincident button.
    • Select the Sketch → Sketcher constraints → Constrain coincident option from the menu.
    • Use the keyboard shortcut: C.
  3. The cursor changes to a white cross with the tool icon.
  4. Do one of the following:
    • Select two points.
    • Select two edges of circles, arcs, ellipses or arcs of ellipses.
  5. A constraint is added.
  6. Optionally keep creating constraints.
  7. To finish, right-click or press Esc, or start another geometry or constraint creation tool.

Run-once mode

  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. Invoke the tool as explained above.
  3. Depending on the selection one or more constraints are added.

Notes

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 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 Point on object 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 Point on object 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.