Sketcher ConstrainCoincident/cs: Difference between revisions

From FreeCAD Documentation
(Created page with "V praxi je tento nástroj užitečný když je např. mezera mezi dvěma koncovými body přímek, které mají být spojeny - vazba totožnosti na jejich koncové body tuto m...")
(Updating to match new version of source page)
 
(22 intermediate revisions by 2 users 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/cs
{{GuiCommand/cs
|Icon=Constraint PointOnPoint.svg
|Icon=Constraint PointOnPoint.svg
Line 8: Line 19:
|SeeAlso=[[Sketcher_ConstrainLock/cs|Constraint Lock]], [[Sketcher ConstrainPointOnObject/cs|Vazba Bod na objekt]]
|SeeAlso=[[Sketcher_ConstrainLock/cs|Constraint Lock]], [[Sketcher ConstrainPointOnObject/cs|Vazba Bod na objekt]]
}}
}}
</div>


==Description==
"Vytváří vazbu totožnosti na vybrané položce"
====Popis====


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).
Tento vazbový nástroj vezme dva body jako své argumenty a slouží k tomu, že je udělá ''totožné''. (Znamená to, že je udělá jako-jeden-bod).


{{Version|1.0}}: 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|preferences]].
V praxi je tento nástroj užitečný když je např. mezera mezi dvěma koncovými body přímek, které mají být spojeny - vazba totožnosti na jejich koncové body tuto mezeru uzavře.


====Použití====
==Usage==
Jak je uvedeno výše, tento nástroj přijímá dva argumenty - oba jsou to body.
#Nejdříve je nutné vysvítit dva různé body. (Připomínám, že to nebude fungovat jestli se např. pokusíte vybrat počáteční a koncový bod jedné přímky).
#Vysvícení nakreslených položek dosáhnete posunem myši nad položku a kliknutím levým tlačítkem myši.
#Vysvícená položka změní barvu na zelenou.
#následující položky mohou být vysvíceny opakováním výše uvedeného postupu POZNÁMKA: není potřeba zároveň držet stisknutou nějakou další klávesu, jako např. CTRL, abychom dosáhli vícenásobného výběru položek na výkrese.
#Jakmile máte vybrány dva body, kliknutím levým tlačítkem myši na vazbu 'BodNaBod' zajistí, že se body stanou ''totožné'' a jsou nahrazeny jedním bodem.
POZNÁMKA: Kvůli nastavení totožnosti bodů, musí FreeCAD nutně posunout jeden nebo oba původní body.


See also: [[Sketcher_Workbench#Drawing_aids|Drawing aids]].
NOTE: In order to make two points coincident, FreeCAD must necessarily move one, or both, of the original points.


===[[Sketcher_Workbench#Continue_modes|Continue mode]]===
==Scripting==


# Make sure there is no selection.
===General scripting===
# There are several ways to invoke the tool:
The constraint can be created from macros and from the python console by using the following command:
#* Press the {{Button|[[Image:Sketcher_ConstrainCoincident.svg|16px]] [[Sketcher_ConstrainCoincident|Constrain coincident]]}} button.
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
#* Select the {{MenuCommand|Sketch → Sketcher constraints → [[Image:Sketcher_ConstrainCoincident.svg|16px]] Constrain coincident}} option from the menu.
where :
#* Use the keyboard shortcut: {{KEY|C}}.
*Sketch is a sketch object
# The cursor changes to a cross with the tool icon.
*LineFixed is the number of the line, that will not move by applying the constraint
# Do one of the following:
*PointOfLineFixed is the number of the vertex of the line LineFixed that has to fulfilled the constraint
#* Select two points.
*LineMoving is the number of the line, that will move by applying the constraint
#* Select two edges of circles, arcs, ellipses or arcs of ellipses.
*PointOfLineMoving is the number of the line LineMoving, that has to fulfilled the constraint
# 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===
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.


# Do one of the following:
The next paragraph will explain you how to identify the numbering of a line and of a vertex of a line.
#* 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==
===Identifying the numbering of a line===


* {{Version|1.0}}: Points with Coincident constraints are marked with the '''Constraint symbols''' [[Sketcher_Preferences#Display|color]].
I have drawn three lines as shown in the following figure.


==Scripting==
[[File:PartDesignConstraintPointOnPointScriptingFigure1.jpg|600px]]


The constraint can be created from [[Macros|macros]] and from the [[Python|Python]] console by using the following command:
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.


{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
[[File:PartDesignConstraintPointOnPointScriptingFigure2.jpg|600px]]


where :
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.
* {{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.
===Identifying the numbering of the vertices of a line===


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.
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]]


<div class="mw-translate-fuzzy">
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.
[[Category:Sketcher/cs]]
</div>


{{Sketcher_Tools_navi{{#translation:}}}}
=== Example ===
{{Userdocnavi{{#translation:}}}}

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/cs]]
{{clear}}

Latest revision as of 14:50, 23 April 2024

Constraint PointOnPoint

Umístění Menu
Sketch → Sketcher constraints → Constrain coincident
Pracovní stoly
Náčrt
Výchozí zástupce
C
Představen ve verzi
-
Viz také
Constraint Lock, Vazba Bod na objekt

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 1.0: This tool is replaced by the Sketcher ConstrainCoincidentUnified tool if the Unify Coincident and PointOnObject option is selected in the 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 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

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.