Sketcher ConstrainCoincident/pt: Difference between revisions
(Created page with "Category:Sketcher/pt") |
(Updating to match new version of source page) |
||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{Docnav |
|||
|[[Sketcher_ConstrainCoincidentUnified|Coincident (unified)]] |
|||
|[[Sketcher_ConstrainPointOnObject|Point on object]] |
|||
|[[Sketcher_Workbench|Sketcher]] |
|||
|IconL=Sketcher_ConstrainCoincidentUnified.svg |
|||
|IconR=Constraint_PointOnObject.svg |
|||
|IconC=Workbench_Sketcher.svg |
|||
}} |
|||
<div class="mw-translate-fuzzy"> |
|||
{{GuiCommand/pt |
{{GuiCommand/pt |
||
|Icon=Constraint PointOnPoint.svg |
|Icon=Constraint PointOnPoint.svg |
||
Line 7: | Line 18: | ||
|SeeAlso=[[Sketcher_ConstrainLock/pt|Constrain Lock]], [[Sketcher ConstrainPointOnObject/pt|Constrain Point onto Object]] |
|SeeAlso=[[Sketcher_ConstrainLock/pt|Constrain Lock]], [[Sketcher ConstrainPointOnObject/pt|Constrain Point onto Object]] |
||
}} |
}} |
||
</div> |
|||
==Description== |
==Description== |
||
Create a coincident constraint on the selected item |
|||
The [[Image:Sketcher_ConstrainCoincident.svg|24px]] [[Sketcher_ConstrainCoincident|Sketcher ConstrainCoincident]] command creates a coincident constraint between points, or ({{Version|0.21}}) a concentric constraint between circles, arcs and/or ellipses (by making their centers coincident). |
|||
This constraint tool takes two points as its argument and serves to make the two points ''coincident''. (Meaning to make them as-one-point). |
|||
{{Version|0.22}}: This command is replaced by the [[Sketcher_ConstrainCoincidentUnified|Sketcher ConstrainCoincidentUnified]] command if the {{MenuCommand|Unify Coincident and PointOnObject}} option is selected in the [[Sketcher_Preferences#General|Sketcher Preferences]]. |
|||
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. |
|||
#Firstly 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 line). |
|||
#Highlighting of a drawing item is achieved by moving the mouse over the item and clicking the left-mouse-button. |
|||
#A highlighted item will change colour to green. |
|||
#Subsequent items can be highlighted by repeating the above procedure(s) NOTE: There is no-need to hold-down any special key like Ctrl to achieve multiple item selection in a drawing. |
|||
#Once you have two points highlighted, left-clicking on the 'PointOnPoint' [[Image:Constraint_PointOnPoint.png|32px]] constraint will cause the two points to become ''coincident'' and be replaced by a single point. |
|||
# Optionally do one of the following: |
|||
NOTE: In order to make two points coincident, FreeCAD must necessarily move one, or both, of the original points. |
|||
#* Select two or more points. |
|||
#* Select two or more edges of circles, arcs, ellipses or arcs of ellipses. |
|||
# There are several ways to invoke the command: |
|||
#* 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}}. |
|||
# To indicate that the command has been activated the cursor changes to a white cross with the command icon. |
|||
# Optionally keep selecting elements. You can only select two elements at a time now. |
|||
# To finish the command press {{KEY|Esc}} or the right mouse button, or start a another constraints or geometries command. |
|||
== Alternatives to Coincident constraint == |
|||
==Scripting== |
|||
Some combinations which are not possible with a coincident constraint can be emulated using other constraints: |
|||
===General scripting=== |
|||
* The [[File:Sketcher_ConstrainSymmetric.svg|16px]] [[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 constraint can be created from macros and from the python console by using the following command: |
|||
* 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. |
|||
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }} |
|||
* A vertex can be constrained to lie along an edge using a [[File:Sketcher_ConstrainPointOnObject.svg|16px]] [[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). |
|||
where : |
|||
* 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|PointOnObject]] constraint and a [[File:Sketcher_ConstrainParallel.svg|16px]] [[Sketcher_ConstrainParallel|Parallel]] constraint. |
|||
*Sketch is a sketch object |
|||
*LineFixed is the number of the line, that will not move by applying the constraint |
|||
*PointOfLineFixed is the number of the vertex of the line LineFixed that has to fulfilled the constraint |
|||
*LineMoving is the number of the line, that will move by applying the constraint |
|||
*PointOfLineMoving is the number of the line LineMoving, that has to fulfilled the constraint |
|||
==Scripting== |
|||
The main issue by using this function is to identify correctly the line number and the vertex number of the lines you want to process. |
|||
The constraint can be created from [[Macros|macros]] and from the [[Python|Python]] console by using the following command: |
|||
The next paragraph will explain you how to identify the numbering of a line and of a vertex of a line. |
|||
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }} |
|||
===Identifying the numbering of a line=== |
|||
where : |
|||
I have drawn three lines as shown in the following figure. |
|||
* {{incode|Sketch}} is a sketch object |
|||
* {{incode|LineFixed}} is the number of the line, that will not move by applying the constraint |
|||
* {{incode|PointOfLineFixed}} indicates which vertex of {{incode|LineFixed}} has to fulfill the constraint |
|||
* {{incode|LineMoving}} is the number of the line, that will move by applying the constraint |
|||
* {{incode|PointOfLineMoving}} indicates which vertex of {{incode|LineMoving}} has to fulfill the constraint |
|||
As the names {{incode|LineFixed}} and {{incode|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. |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure1.jpg|600px]] |
|||
The [[Sketcher_scripting|Sketcher scripting]] page explains the values which can be used for {{incode|LineFixed}}, {{incode|PointOfLineFixed}}, {{incode|LineMoving}} and {{incode|PointOfLineMoving}}, and contains further examples on how to create constraints from Python scripts. |
|||
By moving the cursor of the mouse above the line you can see the line number at the bottom left of the FreeCAD windows, see next figure. |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure2.jpg|600px]] |
|||
<div class="mw-translate-fuzzy"> |
|||
Unfortunately the numbering displayed on the FreeCAD windows start from 1 whereas the numbering of the line used to script start from 0: this means that you have to retrieve one each time you want to refer to a line. |
|||
[[Category:Sketcher/pt]] |
|||
</div> |
|||
{{Sketcher_Tools_navi{{#translation:}}}} |
|||
===Identifying the numbering of the vertices of a line=== |
|||
{{Userdocnavi{{#translation:}}}} |
|||
The vertices of one line can only have the value 1 or 2. (Don’t ask me, why the vertices numbering does not start from 0 …) The vertices are numbered according to their order of creation. To find out the order of their creation (If you have a lot of lines, you cannot remember which vertex you have created first), you just have to move the cursor of your mouse above the two vertices of one line, see following figure. |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure3.jpg|600px]] |
|||
If you read e.g. 4 and 5, it means that the vertex 4 will be referenced by using the number 1 in the script command and the vertex 5 will be referenced by using the number 2 in the script command. Etc. |
|||
=== Example === |
|||
Let us take the previous example of the three lines. The subsequent figure indicates the numbering of each line and their vertices according to the convention for scripting. |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure3Bis.jpg|600px]] |
|||
blue text = numbering of line, black text = numbering of vertices |
|||
The command |
|||
{{Code|code= Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) }} |
|||
yields following result: |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure4.jpg|600px]] |
|||
The command |
|||
{{Code|code= Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2)) }} |
|||
yields following result: |
|||
[[File:PartDesignConstraintPointOnPointScriptingFigure5.jpg|600px]] |
|||
[[Category:Sketcher/pt]] |
|||
{{clear}} |
Revision as of 13:58, 17 January 2024
Sketcher ConstrainCoincident |
Localização do menu |
---|
Sketch → Sketcher constraints → Constrain coincident |
Bancadas de trabalho |
Sketcher |
Atalho padrão |
Nenhum |
Introduzido na versão |
- |
Veja também |
Constrain Lock, Constrain Point onto Object |
Description
The Sketcher ConstrainCoincident command 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 command is replaced by the Sketcher ConstrainCoincidentUnified command if the Unify Coincident and PointOnObject option is selected in the Sketcher Preferences.
Usage
- Optionally do one of the following:
- Select two or more points.
- Select two or more edges of circles, arcs, ellipses or arcs of ellipses.
- There are several ways to invoke the command:
- Press the Constrain coincident button.
- Select the Sketch → Sketcher constraints → Constrain coincident option from the menu.
- Use the keyboard shortcut: C.
- To indicate that the command has been activated the cursor changes to a white cross with the command icon.
- Optionally keep selecting elements. You can only select two elements at a time now.
- To finish the command press Esc or the right mouse button, or start a another constraints or geometries command.
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 objectLineFixed
is the number of the line, that will not move by applying the constraintPointOfLineFixed
indicates which vertex ofLineFixed
has to fulfill the constraintLineMoving
is the number of the line, that will move by applying the constraintPointOfLineMoving
indicates which vertex ofLineMoving
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.
- General: Create sketch, Edit sketch, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch, Leave sketch, View sketch, View section, Toggle grid, Toggle snap, Configure rendering order, Stop operation
- Sketcher geometries: Point, Line, Arc, Arc by 3 points, Circle, Circle by 3 points, Ellipse, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, B-spline by control points, Periodic B-spline by control points, B-spline by knots, Periodic B-spline by knots, Polyline, Rectangle, Centered rectangle, Rounded rectangle, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Regular polygon, Slot, Fillet, Corner-preserving fillet, Trim, Extend, Split, External geometry, Carbon copy, Toggle construction geometry
- Sketcher constraints:
- Geometric constraints: Coincident, Point on object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal, Symmetric, Block
- Dimensional constraints: Lock, Horizontal distance, Vertical distance, Distance, Radius or weight, Diameter, Auto radius/diameter, Angle, Refraction (Snell's law)
- Constraint tools: Toggle driving/reference constraint, Activate/deactivate constraint
- Sketcher tools: Select unconstrained DoF, Select associated constraints, Select associated geometry, Select redundant constraints, Select conflicting constraints, Show/hide internal geometry, Select origin, Select horizontal axis, Select vertical axis, Symmetry, Clone, Copy, Move, Rectangular array, Remove axes alignment, 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, Show/hide B-spline control point weight, Convert geometry to B-spline, Increase B-spline degree, Decrease B-spline degree, Increase knot multiplicity, Decrease knot multiplicity, Insert knot, Join curves
- Sketcher virtual space: Switch virtual space
- Additional: Sketcher Dialog, Preferences, Sketcher scripting
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub