Sketcher ConstrainTangent/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "Obie linie są współliniowe.")
 
(86 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav|[[Sketcher_ConstrainPerpendicular|Perpendicular]]|[[Sketcher_ConstrainEqual|Equal Length]]|[[Sketcher_Workbench|Sketcher]]|IconL=Constraint_Perpendicular.png|IconC=Workbench_Sketcher.svg|IconR=Constraint_EqualLength.png}}
{{Docnav/pl
|[[Sketcher_ConstrainPerpendicular/pl|Wiązanie prostopadłości]]
|[[Sketcher_ConstrainEqual/pl|Wiązanie równości]]
|[[Sketcher_Workbench/pl|środowisko pracy Szkicownik]]
|IconL=Sketcher_ConstrainPerpendicular.svg
|IconR=Sketcher_ConstrainEqual.png
|IconC=Workbench_Sketcher.svg
}}


{{GuiCommand/pl
{{GuiCommand/pl
|Name=Sketcher ConstrainTangent
|Name=Sketcher ConstrainTangent
|Name/pl=Sketcher ConstrainTangent
|Name/pl=Szkicownik: Wiązanie styczności
|MenuLocation=Sketch → Wiązania szkicownika → Wiązanie styczności
|Workbenches=[[Sketcher Workbench/pl|Sketcher]]
|Workbenches=[[Sketcher_Workbench/pl|Szkicownik]]
|MenuLocation=Sketch → Sketcher constraints → Constrain tangent
|Shortcut=T
|Shortcut={{KEY|T}}
|SeeAlso=
|SeeAlso=[[Sketcher ConstrainPointOnObject/pl|Constraint point on object]]
}}
}}


==Description==
<span id="Description"></span>
==Opis==


Narzędzie [[Image:Sketcher_ConstrainTangent.svg|24px]] '''Wiązanie styczności''' umożliwia ustawienie dwóch krawędzi lub osi jako stycznych. Linie są traktowane jako nieskończone, a otwarte krzywe są również praktycznie rozszerzone. Wiązanie może również łączyć dwie krawędzie, wymuszając ich styczność w miejscu połączenia. Jeśli wybrane zostaną dwie linie lub linia i punkt końcowy innej linii, linie te staną się współliniowe.
Tangent Constraint makes two curves to touch each other (be tangent). Lines are treated infinite, and arcs are treated as full circles/ellipses. The constraint is also capable of connecting two curves, forcing them tangent at the joint, thus making the joint smooth.


==Usage==
<span id="Usage"></span>
==Użycie==


Zapoznaj się również z informacjami na stronie [[Sketcher_Workbench/pl#Pomoce_kreślarskie|Pomoce kreślarskie]].
There are four different ways the constraint can be applied:
# between two curves (available not for all curves)
# between two endpoints of a curve, making a smooth joint
# between a curve and an endpoint of another curve
# between two curves at user-defined point


<span id="Continue_mode"></span>
To apply tangent constraint, one should the follow the steps:
===[[Sketcher_Workbench/pl#Tryby_kontynuacji|Tryb kontynuacji]]===
* Select two or three entities in the sketch.
* Invoke the constraint by clicking its icon on the toolbar, or selecting the menu item, or using keyboard shortcut.


# Upewnij się, że nie ma zaznaczenia.
===Between two curves (direct tangency)===
# Istnieje kilka sposobów wywołania narzędzia:
[[Image:Sketcher ConsraintTangent mode1.png|600px]]
#* Naciśnij przycisk {{Button|[[Image:Sketcher_ConstrainTangent.svg|16px]] '''Wiązanie styczności lub współliniowe'''}}.
#* Wybierz z menu {{MenuCommand|Szkic → Wiązania szkicownika → [[Image:Sketcher_ConstrainTangent.svg|16px]] Wiązanie styczności lub współliniowe}}.
#* {{Version|1.0}}: Kliknij prawym przyciskiem myszy w [[3D_view|widoku 3D]] i wybierz {{MenuCommand|Wiązanie → [[Image:Sketcher_ConstrainTangent.svg|16px]] Wiązanie styczności lub współliniowe}} z menu podręcznego.
#* Użyj skrótu klawiaturowego: {{KEY|T}}.
# Kursor zmieni się w krzyżyk z ikoną narzędzia.
# Wykonaj jedną z następujących czynności:
#* Wybierz dwie krawędzie. Krawędzie mogą być dowolne z wyjątkiem krawędzi krzywej złożonej.
#* Wybierz punkt i dwie krawędzie ''(w tej kolejności)''.
#* Wybierz krawędź, punkt i inną krawędź ''(w tej samej kolejności)''.
# Dodawane jest wiązanie styczne. Jeśli wybrano punkt i dwie krawędzie, można również dodać maksymalnie dwa wiązania [[Sketcher_ConstrainPointOnObject/pl|punkt na obiekcie]]. Zobacz akapit [[#Między_dwiema_krawędziami|z przykładem]].
# Opcjonalnie kontynuuj tworzenie wiązań.
# Aby zakończyć, kliknij prawym przyciskiem myszy lub naciśnij {{KEY|Esc}}, lub uruchom inne narzędzie do tworzenia geometrii lub wiązań.


<span id="Run-once_mode"></span>
Two curves will be made tangent, and the point of tangency will be implicit. This mode is applied if two curves were selected.
===Tryb jednorazowy===


# Wykonaj jedną z następujących czynności:
'''Accepted selection:'''
#* Wybierz dwie krawędzie ''(patrz wyżej)''.
* line + line, circle, arc, ellipse, arc-of-ellipse
#* Wybierz dwa punkty końcowe należące do różnych krawędzi.
* circle, arc + circle, arc
#* Wybierz krawędź i punkt końcowy innej krawędzi ''(w dowolnej kolejności)''.
If direct tangency between selected curves is not supported (e.g. between a circle and an ellipse), a helper point will be added to sketch automatically, and tangency-via-point will be applied.
#* Wybierz punkt i dwie krawędzie ''(analogicznie)''.
# Wywołaj narzędzie jak wyjaśniono powyżej lub z następującą dodatkową opcją:
#* {{Version|1.0}}: Kliknij prawym przyciskiem myszy w [[3D_view/pl|widoku 3D]] i wybierz {{MenuCommand|[[Image:Sketcher_ConstrainTangent.svg|16px]] Wiązanie styczności lub współliniowe}} z menu podręcznego.
# Zostanie dodane wiązanie styczności. Jeśli wybrano punkt i dwie krawędzie, można również dodać maksymalnie dwa wiązania [[Sketcher_ConstrainPointOnObject/pl|punkt na obiekcie]]. Zobacz akapit [[#Między_dwiema_krawędziami|z przykładem]].


<span id="Examples"></span>
It is not recommended to reconstruct the point of tangency by creating a point and constraining it to lie on both curves. It will work, but the convergence will be seriously slower, jumpier, and will require about twice as many iterations to converge than normal. Use other modes of this constraint if the point of tangency is needed.
==Przykłady==


<span id="Between_two_edges"></span>
===Between two endpoints (point-to-point tangency)===
===Między dwiema krawędziami===
[[Image:Sketcher ConsraintTangent mode2.png|600px]]


[[Image:Sketcher_ConsraintTangent_mode1.png|400px]]
In this mode, the endpoints are made coincident, and the joint is made tangent (C1-smooth, or "sharp", depending on the placement of curves before the constraint is applied). This mode is applied when two endpoints of two curves were selected.


Dwie krawędzie stają się styczne. Jeśli jedna z krawędzi jest [[Sketcher_Workbench/pl#Sketcher_CompCreateConic|stożkiem]], dodawany jest [[Sketcher_CreatePoint/pl|obiekt punktu]], który ma [[Sketcher_ConstrainPointOnObject/pl|wiązanie punk na obiekcie]] z obiema ''(przedłużonymi)'' krawędziami.
'''Accepted selection:'''
* endpoint of line/arc/arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., two endpoints of any two curves)


Nie zaleca się rekonstrukcji punktu styczności poprzez ręczne utworzenie punktu i związanie go tak, aby leżał na obu krzywych. Będzie to działać, ale zbieżność będzie znacznie wolniejsza, bardziej skokowa i będzie wymagać około dwa razy więcej iteracji niż normalnie. Jeśli potrzebny jest punkt styczny, wybierz dwie krawędzie i istniejący punkt.
===Between curve and endpoint (point-to-curve tangency)===
[[Image:Sketcher ConsraintTangent mode3.png|600px]]


<span id="Between_two_endpoints"></span>
In this mode, an endpoint of one curve is constrained to lie on the other curve, and the curves are forced tangent at the point. This mode is applied when a curve and an endpoint of another curve were selected.
===Między dwoma punktami końca===


[[Image:Sketcher_ConsraintTangent_mode2.png|400px]]
'''Accepted selection:'''
* line, circle, arc, ellipse, arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., any curve + endpoint of any curve)


Punkty końcowe są zbieżne, a kąt między krawędziami w tym punkcie jest ustawiony na 180° ''(gładkie połączenie)'' lub 0° ''(ostre połączenie)'', w zależności od położenia krawędzi przed zastosowaniem wiązania.


<span id="Between_edge_and_endpoint"></span>
===Between two curves at point (tangent-via-point) (v0.15)===
===Między krawędzią a punktem końcowym===
[[Image:Sketcher ConsraintTangent mode4.png|600px]]


[[Image:Sketcher_ConsraintTangent_mode3.png|400px]]
In this mode, two curves are made tangent, and the point of tangency is tracked. This mode is applied when two curves and a point were selected.


Punkt końcowy jednej krawędzi jest związany tak, aby leżał na drugiej krawędzi, a krawędzie są styczne w tym punkcie.
'''Accepted selection:'''
* any line/curve + any line/curve + any point
"Any point" can be a lone point, or a point of something, e.g. a center of a circle, an endpoint of an arc, or the origin.


<span id="Between_two_edges_at_point"></span>
For the constraint to work correctly, the point must be on both curves. So, as the constraint is invoked, the point will be automatically constrained onto both curves ([[Sketcher helper constraint|helper constraints]] will be added, if necessary), and the curves will be forced tangent at the point. These [[Sketcher helper constraint|helper constraints]] are plain regular constraints. They can be added manually, or deleted.
===Między dwiema krawędziami w punkcie===


[[Image:Sketcher_ConsraintTangent_mode4.png|400px]]
Compared to direct tangency, this constraint is slower, because there are more degrees of freedom involved, but if the point of tangency is needed, it is the recommended mode because it offers better convergence compared to direct tangency + point on two curves.


Dwie krawędzie są styczne w danym punkcie. Punktem może być dowolny punkt, np. środek okręgu, punkt końcowy krawędzi lub początek, może on należeć do jednej z krawędzi, a także może być [[Sketcher_CreatePoint/pl|obiektem punktu]]. W razie potrzeby dodawane są wiązania [[Sketcher_ConstrainPointOnObject/pl|punkt na obiekcie]], aby zapewnić, że punkt leży na obu ''(przedłużonych)'' krawędziach. Te dodatkowe wiązania nazywane są [[Sketcher_helper_constraint/pl|wiązaniami pomocniczymi]].
The placement of the point before the constraint is applied is a hint for the solver for where the tangency should be. With this constraint, one can constrain two ellipses to touch each other in two places.


W porównaniu z bezpośrednią stycznością, to wiązanie jest wolniejsze, ponieważ wiąże się z nim więcej stopni swobody, ale jeśli punkt styczności jest potrzebny, jest to zalecane, ponieważ zapewnia lepszą zbieżność.
==Scripting==


<span id="Between_two_lines"></span>
Tangent Constraint can be created from [[macros]] and from the python console by using the following:
===Pomiędzy dwiema liniami===

[[Image:Sketcher_ConstraintTangent_mode5.png|400px]]

Obie linie są współliniowe.

<span id="Scripting"></span>
==Tworzenie skryptów==

Wiązanie styczności może być utworzone przez [[Macros/pl|makropolecenie]] i z konsoli [[Python/pl|Python]] za pomocą następującej funkcji:
{{Code|code=
{{Code|code=
# direct tangency
# direct tangency
Line 87: Line 118:
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))
}}
}}
gdzie:
where:
:* {{incode|Sketch}} is a sketch object
:* {{incode|Sketch}} jest obiektem typu szkic
:* {{incode|icurve1}}, {{incode|icurve2}} are two integers identifying the curves to be made tangent. The integers are indexes in the sketch (the value, returned by {{incode|Sketch.addGeometry}}).
:* {{incode|icurve1}}, {{incode|icurve2}} dwiema liczbami całkowitymi określającymi krzywe, które mają być styczne. Liczby całkowite to indeksy w szkicu ''(wartość zwracana przez{{incode|Sketch.addGeometry}})''.
:* {{incode|pointpos1}}, {{incode|pointpos2}} should be 1 for start point and 2 for end point.
:* {{incode|pointpos1}}, {{incode|pointpos2}} powinny wynosić 1 dla punktu początkowego i 2 dla punktu końcowego.
:* {{incode|geoidpoint}} and {{incode|pointpos}} in {{incode|TangentViaPoint}} are the indexes specifying the point of tangency.
:* {{incode|geoidpoint}} oraz {{incode|pointpos}} w {{incode|TangentViaPoint}} indeksami określającymi punkt styczności.


Strona [[Sketcher_scripting/pl|Skrypty szkicownika]] wyjaśnia wartości, które mogą być używane dla {{incode|incurve1}}, {{incode|incurve2}}, {{incode|pointpos1}}, {{incode|pointpos2}}, {{incode|geoidpoint}} i {{incode|pointpos}}, a także zawiera kolejne przykłady tworzenia wiązań za pomocą skryptów języka Python.
{{Docnav|[[Sketcher_ConstrainPerpendicular|Perpendicular]]|[[Sketcher_ConstrainEqual|Equal Length]]|[[Sketcher_Workbench|Sketcher]]|IconL=Constraint_Perpendicular.png|IconC=Workbench_Sketcher.svg|IconR=Constraint_EqualLength.png}}


{{Docnav/pl
|[[Sketcher_ConstrainPerpendicular/pl|Wiązanie prostopadłości]]
|[[Sketcher_ConstrainEqual/pl|Wiązanie równości]]
|[[Sketcher_Workbench/pl|środowisko pracy Szkicownik]]
|IconL=Sketcher_ConstrainPerpendicular.svg
|IconR=Sketcher_ConstrainEqual.png
|IconC=Workbench_Sketcher.svg
}}


{{Sketcher Tools navi{{#translation:}}}}
{{Sketcher_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 16:11, 24 April 2024

Szkicownik: Wiązanie styczności

Lokalizacja w menu
Sketch → Wiązania szkicownika → Wiązanie styczności
Środowisko pracy
Szkicownik
Domyślny skrót
T
Wprowadzono w wersji
-
Zobacz także
brak

Opis

Narzędzie Wiązanie styczności umożliwia ustawienie dwóch krawędzi lub osi jako stycznych. Linie są traktowane jako nieskończone, a otwarte krzywe są również praktycznie rozszerzone. Wiązanie może również łączyć dwie krawędzie, wymuszając ich styczność w miejscu połączenia. Jeśli wybrane zostaną dwie linie lub linia i punkt końcowy innej linii, linie te staną się współliniowe.

Użycie

Zapoznaj się również z informacjami na stronie Pomoce kreślarskie.

Tryb kontynuacji

  1. Upewnij się, że nie ma zaznaczenia.
  2. Istnieje kilka sposobów wywołania narzędzia:
    • Naciśnij przycisk Wiązanie styczności lub współliniowe.
    • Wybierz z menu Szkic → Wiązania szkicownika → Wiązanie styczności lub współliniowe.
    • introduced in version 1.0: Kliknij prawym przyciskiem myszy w widoku 3D i wybierz Wiązanie → Wiązanie styczności lub współliniowe z menu podręcznego.
    • Użyj skrótu klawiaturowego: T.
  3. Kursor zmieni się w krzyżyk z ikoną narzędzia.
  4. Wykonaj jedną z następujących czynności:
    • Wybierz dwie krawędzie. Krawędzie mogą być dowolne z wyjątkiem krawędzi krzywej złożonej.
    • Wybierz punkt i dwie krawędzie (w tej kolejności).
    • Wybierz krawędź, punkt i inną krawędź (w tej samej kolejności).
  5. Dodawane jest wiązanie styczne. Jeśli wybrano punkt i dwie krawędzie, można również dodać maksymalnie dwa wiązania punkt na obiekcie. Zobacz akapit z przykładem.
  6. Opcjonalnie kontynuuj tworzenie wiązań.
  7. Aby zakończyć, kliknij prawym przyciskiem myszy lub naciśnij Esc, lub uruchom inne narzędzie do tworzenia geometrii lub wiązań.

Tryb jednorazowy

  1. Wykonaj jedną z następujących czynności:
    • Wybierz dwie krawędzie (patrz wyżej).
    • Wybierz dwa punkty końcowe należące do różnych krawędzi.
    • Wybierz krawędź i punkt końcowy innej krawędzi (w dowolnej kolejności).
    • Wybierz punkt i dwie krawędzie (analogicznie).
  2. Wywołaj narzędzie jak wyjaśniono powyżej lub z następującą dodatkową opcją:
  3. Zostanie dodane wiązanie styczności. Jeśli wybrano punkt i dwie krawędzie, można również dodać maksymalnie dwa wiązania punkt na obiekcie. Zobacz akapit z przykładem.

Przykłady

Między dwiema krawędziami

Dwie krawędzie stają się styczne. Jeśli jedna z krawędzi jest stożkiem, dodawany jest obiekt punktu, który ma wiązanie punk na obiekcie z obiema (przedłużonymi) krawędziami.

Nie zaleca się rekonstrukcji punktu styczności poprzez ręczne utworzenie punktu i związanie go tak, aby leżał na obu krzywych. Będzie to działać, ale zbieżność będzie znacznie wolniejsza, bardziej skokowa i będzie wymagać około dwa razy więcej iteracji niż normalnie. Jeśli potrzebny jest punkt styczny, wybierz dwie krawędzie i istniejący punkt.

Między dwoma punktami końca

Punkty końcowe są zbieżne, a kąt między krawędziami w tym punkcie jest ustawiony na 180° (gładkie połączenie) lub 0° (ostre połączenie), w zależności od położenia krawędzi przed zastosowaniem wiązania.

Między krawędzią a punktem końcowym

Punkt końcowy jednej krawędzi jest związany tak, aby leżał na drugiej krawędzi, a krawędzie są styczne w tym punkcie.

Między dwiema krawędziami w punkcie

Dwie krawędzie są styczne w danym punkcie. Punktem może być dowolny punkt, np. środek okręgu, punkt końcowy krawędzi lub początek, może on należeć do jednej z krawędzi, a także może być obiektem punktu. W razie potrzeby dodawane są wiązania punkt na obiekcie, aby zapewnić, że punkt leży na obu (przedłużonych) krawędziach. Te dodatkowe wiązania nazywane są wiązaniami pomocniczymi.

W porównaniu z bezpośrednią stycznością, to wiązanie jest wolniejsze, ponieważ wiąże się z nim więcej stopni swobody, ale jeśli punkt styczności jest potrzebny, jest to zalecane, ponieważ zapewnia lepszą zbieżność.

Pomiędzy dwiema liniami

Obie linie są współliniowe.

Tworzenie skryptów

Wiązanie styczności może być utworzone przez makropolecenie i z konsoli Python za pomocą następującej funkcji:

# direct tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,icurve2))

# point-to-point tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2,pointpos2))

# point-to-curve tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2))

# tangent-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))

gdzie:

  • Sketch jest obiektem typu szkic
  • icurve1, icurve2 są dwiema liczbami całkowitymi określającymi krzywe, które mają być styczne. Liczby całkowite to indeksy w szkicu (wartość zwracana przezSketch.addGeometry).
  • pointpos1, pointpos2 powinny wynosić 1 dla punktu początkowego i 2 dla punktu końcowego.
  • geoidpoint oraz pointpos w TangentViaPoint są indeksami określającymi punkt styczności.

Strona Skrypty szkicownika wyjaśnia wartości, które mogą być używane dla incurve1, incurve2, pointpos1, pointpos2, geoidpoint i pointpos, a także zawiera kolejne przykłady tworzenia wiązań za pomocą skryptów języka Python.