Sketcher ConstrainPerpendicular/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/pl
{{Docnav/pl
|[[Sketcher_ConstrainVertical/pl|Wiązanie pionowe]]
|[[Sketcher_ConstrainParallel/pl|Wiązanie równoległości]]
|[[Sketcher_ConstrainParallel/pl|Wiązanie równoległości]]
|[[Sketcher_ConstrainTangent/pl|Wiązanie styczności]]
|[[Sketcher_Workbench/pl|Szkicownik]]
|[[Sketcher_Workbench/pl|środowisko pracy Szkicownik]]
|IconL=Constraint_Vertical.png
|IconL=Sketcher_ConstrainParallel.svg
|IconR=Sketcher_ConstrainTangent.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
|IconR=Constraint_Parallel.png
}}
}}


{{GuiCommand/pl
{{GuiCommand/pl
|Name=Sketcher ConstrainPerpendicular
|Name=Sketcher ConstrainPerpendicular
|Name/pl=Sketcher: Wiązanie prostopodłości
|Name/pl=Szkicownik: Wiązanie prostopadłości
|MenuLocation=Szkic → Wiązania szkicownika → Wiązanie prostopadłości
|Workbenches=[[Sketcher_Workbench/pl|Szkicownik]]
|Workbenches=[[Sketcher_Workbench/pl|Szkicownik]]
|MenuLocation=Sketch → Wiązania Szkicownika → Wiązanie prostopadłości
|Shortcut={{KEY|N}}
|Shortcut={{KEY|N}}
|SeeAlso=[[Sketcher_ConstrainAngle/pl|Szkicownik: Wiązanie kąta]]
|SeeAlso=[[Sketcher_ConstrainAngle/pl|Szkicownik: Wiązanie kąta]]
}}
}}


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


The Perpendicular Constraint makes two lines to be perpendicular to each other, or two curves to be perpendicular at their intersection. Lines are treated infinite, and arcs are treated as full circles/ellipses. The constraint is also capable of connecting two curves, forcing them perpendicular at the joint, similarly to {{Button|[[File:Sketcher_ConstrainTangent.svg|16px]] [[Sketcher_ConstrainTangent|Constraint tangent]]}}.
Wiązanie prostopadłości tworzy dwie linie, które prostopadłe ''(tzn. ortogonalne)'' do siebie, lub dwie krzywe, które prostopadłe na ich przecięciu. Linie traktowane jako nieskończone, a łuki traktowane jako pełne okręgi/elipsy. Wiązanie może również łączyć dwie krzywe, wymuszając ich prostopadłość w miejscu połączenia, podobnie jak w przypadku {{Button|[[File:Sketcher_ConstrainTangent.svg|16px]] [[Sketcher_ConstrainTangent/pl|Wiązanie styczności]]}}.


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


Istnieją cztery różne sposoby zastosowania tego wiązania:
There are four different ways the constraint can be applied:
# pomiędzy dwoma krzywymi ''(dostępne nie dla wszystkich krzywych)'',
# between two curves (available not for all curves)
# pomiędzy dwoma punktami końcowymi krzywej,
# between two endpoints of a curve
# pomiędzy krzywą a punktem końcowym innej krzywej,
# between a curve and an endpoint of another curve
# pomiędzy dwoma krzywymi w punkcie zdefiniowanym przez użytkownika.
# between two curves at user-defined point


Aby zastosować wiązanie prostopadłości, należy wykonać następujące czynności:
To apply perpendicular constraint, one should the follow the steps:
* Wybierz dwie lub trzy pozycje na szkicu.
* Select two or three entities in the sketch.
* Wywołaj wiązanie, klikając jego ikonę na pasku narzędzi, wybierając element menu lub używając skrótu klawiaturowego.
* Invoke the constraint by clicking its icon on the toolbar, or selecting the menu item, or using keyboard shortcut.


<span id="Between_two_curves_(direct_perpendicularity)"></span>
===Between two curves (direct perpendicularity)===
===Pomiędzy dwoma krzywymi ''(prostopadłość bezpośrednia)''===


[[Image:Sketcher ConsraintPerpendicular mode1.png|600px]]
[[Image:Sketcher ConsraintPerpendicular mode1.png|600px]]


Dwie krzywe zostaną wykonane prostopadle w punkcie ich przecięcia ''(rzeczywiste lub przedłużenia krzywych)'', a punkt przecięcia będzie domyślny. Tryb ten jest stosowany, jeśli zostały wybrane dwie krzywe.
Two curves will be made perpendicular at point of their intersection (either real, or of curves' extensions), and the point of intersection will be implicit. This mode is applied if two curves were selected.


'''Accepted selection:'''
'''Zaakceptowany wybór:'''
* line + line, circle, arc
* linia + linia, koło, łuk
* circle, arc + circle, arc
* okrąg, łuk + okrąg, łuk
Jeśli bezpośrednia prostopadłość między wybranymi łukami nie jest obsługiwana (np. między linią a elipsą), do szkicu zostanie automatycznie dodany punkt pomocniczy i zastosowany zostanie punkt prostopadły-przejściowy.
If direct perpendicularity between selected curves is not supported (e.g. between a line and an ellipse), a helper point will be added to sketch automatically, and perpendicular-via-point will be applied.


W przeciwieństwie do styczności, rekonstrukcja punktu prostopadłości przez utworzenie punktu i związanie jego położenia na obu łukach ''(ograniczając w ten sposób punkt do punktu przecięcia)'' jest całkowicie poprawna.
Unlike for tangency, it is perfectly fine to reconstruct the point of perpendicularity by creating a point and constraining it to lie on both curves (thus constraining the point to the intersection).


<span id="Between_two_endpoints_(point-to-point_perpendicularity)"></span>
===Between two endpoints (point-to-point perpendicularity)===
===Między dwoma punktami końcowymi ''(prostopadłość między punktami)''===


[[Image:Sketcher ConsraintPerpendicular mode2.png|600px]]
[[Image:Sketcher ConsraintPerpendicular mode2.png|600px]]


W tym trybie zbierzne są punkty końcowe, a połączenie jest wykonane pod kątem prostym. Tryb ten jest stosowany, gdy wybrane zostały dwa punkty końcowe dwóch krzywych.
In this mode, the endpoints are made coincident, and the joint is made to be right angle. This mode is applied when two endpoints of two curves were selected.


"Zaakceptowany wybór:
'''Accepted selection:'''
* punkt końcowy linii/łuku/łuku-ellipsy + punkt końcowy linii/łuku/łuku-ellipsy ''(tj. dwa punkty końcowe dowolnych dwóch krzywych)''
* endpoint of line/arc/arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., two endpoints of any two curves)


<span id="Between_curve_and_endpoint_(point-to-curve_perpendicularity)"></span>
===Between curve and endpoint (point-to-curve perpendicularity)===
===Między krzywą a punktem końcowym ''(prostopadłość punktu do krzywej)''===


[[Image:Sketcher ConsraintPerpendicular mode3.png|600px]]
[[Image:Sketcher ConsraintPerpendicular mode3.png|600px]]


W tym trybie, punkt końcowy jednej krzywej jest związany z położeniem na drugiej, a krzywe są ustawione prostopadle do punktu. Tryb ten jest stosowany, gdy zostały wybrane krzywa i punkt końcowy innej krzywej.
In this mode, an endpoint of one curve is constrained to lie on the other curve, and the curves are forced perpendicular at the point. This mode is applied when a curve and an endpoint of another curve were selected.


'''Accepted selection:'''
'''Zaakceptowany wybór:'''
* linia, okrąg, łuk, elipsa, łuk elipsy + punkt końcowy linii/łuku/łuku elipsy ''(tzn. każda krzywa + punkt końcowy każdej krzywej)''.
* line, circle, arc, ellipse, arc-of-ellipse + endpoint of line/arc/arc-of-ellipse (i.e., any curve + endpoint of any curve)




===Between two curves at point (perpendicular-via-point) (v0.15)===
<span id="Between_two_curves_at_point_(perpendicular-via-point)_(v0.15)"></span>
===Pomiędzy dwoma krzywymi w punkcie ''(prostopadłym do punktu) (v0.15)''===


[[Image:Sketcher ConsraintPerpendicular mode4.png|600px]]
[[Image:Sketcher ConsraintPerpendicular mode4.png|600px]]


W tym trybie, dwie krzywe są wykonane prostopadle, a punkt prostopadłości znajduje się na trasie. Tryb ten jest stosowany w przypadku wybrania dwóch krzywych i punktu.
In this mode, two curves are made perpendicular, and the point of perpendicularity is tracked. This mode is applied when two curves and a point were selected.


'''Accepted selection:'''
'''Zaakceptowany wybór:'''
* każda linia/krzywizna + każda linia/krzywizna + każdy punkt
* any line/curve + any line/curve + any point
"Każdy punkt" może być samotnym punktem, albo punktem jakiegoś obiektu, np. środkiem okręgu, punktem końcowym łuku, albo początkiem.
"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.


Aby wiązanie działało prawidłowo, punkt musi znajdować się na obu krzywych. Tak więc, w miarę wywoływania wiązania, punkt będzie automatycznie związany z obiema krzywymi ''([[Sketcher_helper_constraint|wiązanie pomocnicze]] zostanie dodane, jeśli jest to konieczne)'', a krzywe zostaną wymuszone w punkcie prostopadłym. Te [[Sketcher_helper_constraint|wiązania pomocnicze]] są zwykłymi regularnymi wiązaniami. Mogą być dodane ręcznie lub usunięte.
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 perpendicular at the point. These [[Sketcher helper constraint|helper constraints]] are plain regular constraints. They can be added manually, or deleted.


W porównaniu do trybu bezpośredniego prostopadłego, to wiązanie jest wolniejsze, ponieważ istnieją stopnie swobody, ale obsługuje elipsy.
Compared to direct perpendicular, this constraint is slower, because there are mode degrees of freedom involved, but it supports ellipses.


Umieszczenie punktu przed zastosowaniem wiązania jest wskazówką dla rozwiązania, które określa, gdzie powinna znajdować się prostopadłość.
The placement of the point before the constraint is applied is a hint for the solver for where the perpendicularity should be.


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


Ograniczenie prostopadłe może być utworzone przez [[makros|makropolecenie]] i z konsoli Pyton za pomocą następujących narzędzi:
Ograniczenie prostopadłe może być utworzone przez [[Macros/pl|makropolecenie]] i z konsoli Pyton za pomocą następujących narzędzi:
{{Code|code=
{{Code|code=
# direct perpendicularity
# direct perpendicularity
Line 98: Line 106:
Sketch.addConstraint(Sketcher.Constraint('PerpendicularViaPoint',icurve1,icurve2,geoidpoint,pointpos))
Sketch.addConstraint(Sketcher.Constraint('PerpendicularViaPoint',icurve1,icurve2,geoidpoint,pointpos))
}}
}}
Gdzie:
where:
:* <tt>Sketch</tt> is a sketch object
:* {{incode|Sketch}} jest obiektem szkicu
:* <tt>icurve1, icurve2</tt> are two integers identifying the curves to be made perpendicular. The integers are indexes in the sketch (the value, returned by Sketch.addGeometry).
:* {{incode|icurve1}}, {{incode|icurve2}} dwiema liczbami całkowitymi określającymi krzywe, które mają być wykonane prostopadle. Liczby całkowite indeksami w szkicu ''(wartość zwracana przez Sketch.addGeometry)''.
:* <tt>pointpos1, pointpos2</tt> should be 1 for start point and 2 for end point.
:* {{incode|pointpos1}}, {{incode|pointpos2}} powinny mieć wartość {{incode|1}} dla punktu początkowego i {{incode|2}} dla końcowego.
:* <tt>geoidpoint</tt> and <tt>pointpos</tt> in PerpendicularViaPoint are the indexes specifying the point of perpendicularity.
:* {{incode|geoid point}} i {{incode|pointpos}} w PerpendicularViaPoint indeksami określającymi punkt prostopadłościanu.

Strona [[Sketcher_scripting|skrypty szkicownika]] wyjaśnia wartości, które mogą być użyte do {{incode|icurve1}}, {{incode|icurve2}}, {{incode|pointpos1}}, {{incode|pointpos2}} i {{incode|geoidpoint}}, i zawiera dalsze przykłady, jak tworzyć wiązania ze skryptów Python.



{{Docnav/pl
{{Docnav/pl
|[[Sketcher_ConstrainVertical/pl|Wiązanie pionowe]]
|[[Sketcher_ConstrainParallel/pl|Wiązanie równoległości]]
|[[Sketcher_ConstrainParallel/pl|Wiązanie równoległości]]
|[[Sketcher_ConstrainTangent/pl|Wiązanie styczności]]
|[[Sketcher_Workbench/pl|Szkicownik]]
|[[Sketcher_Workbench/pl|środowisko pracy Szkicownik]]
|IconL=Constraint_Vertical.png
|IconL=Sketcher_ConstrainParallel.svg
|IconR=Sketcher_ConstrainTangent.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
|IconR=Constraint_Parallel.png
}}
}}


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

Latest revision as of 11:04, 10 April 2023

Szkicownik: Wiązanie prostopadłości

Lokalizacja w menu
Szkic → Wiązania szkicownika → Wiązanie prostopadłości
Środowisko pracy
Szkicownik
Domyślny skrót
N
Wprowadzono w wersji
-
Zobacz także
Szkicownik: Wiązanie kąta

Opis

Wiązanie prostopadłości tworzy dwie linie, które są prostopadłe (tzn. ortogonalne) do siebie, lub dwie krzywe, które są prostopadłe na ich przecięciu. Linie są traktowane jako nieskończone, a łuki są traktowane jako pełne okręgi/elipsy. Wiązanie może również łączyć dwie krzywe, wymuszając ich prostopadłość w miejscu połączenia, podobnie jak w przypadku Wiązanie styczności.

Użycie

Istnieją cztery różne sposoby zastosowania tego wiązania:

  1. pomiędzy dwoma krzywymi (dostępne nie dla wszystkich krzywych),
  2. pomiędzy dwoma punktami końcowymi krzywej,
  3. pomiędzy krzywą a punktem końcowym innej krzywej,
  4. pomiędzy dwoma krzywymi w punkcie zdefiniowanym przez użytkownika.

Aby zastosować wiązanie prostopadłości, należy wykonać następujące czynności:

  • Wybierz dwie lub trzy pozycje na szkicu.
  • Wywołaj wiązanie, klikając jego ikonę na pasku narzędzi, wybierając element menu lub używając skrótu klawiaturowego.

Pomiędzy dwoma krzywymi (prostopadłość bezpośrednia)

Dwie krzywe zostaną wykonane prostopadle w punkcie ich przecięcia (rzeczywiste lub przedłużenia krzywych), a punkt przecięcia będzie domyślny. Tryb ten jest stosowany, jeśli zostały wybrane dwie krzywe.

Zaakceptowany wybór:

  • linia + linia, koło, łuk
  • okrąg, łuk + okrąg, łuk

Jeśli bezpośrednia prostopadłość między wybranymi łukami nie jest obsługiwana (np. między linią a elipsą), do szkicu zostanie automatycznie dodany punkt pomocniczy i zastosowany zostanie punkt prostopadły-przejściowy.

W przeciwieństwie do styczności, rekonstrukcja punktu prostopadłości przez utworzenie punktu i związanie jego położenia na obu łukach (ograniczając w ten sposób punkt do punktu przecięcia) jest całkowicie poprawna.

Między dwoma punktami końcowymi (prostopadłość między punktami)

W tym trybie zbierzne są punkty końcowe, a połączenie jest wykonane pod kątem prostym. Tryb ten jest stosowany, gdy wybrane zostały dwa punkty końcowe dwóch krzywych.

"Zaakceptowany wybór:

  • punkt końcowy linii/łuku/łuku-ellipsy + punkt końcowy linii/łuku/łuku-ellipsy (tj. dwa punkty końcowe dowolnych dwóch krzywych)

Między krzywą a punktem końcowym (prostopadłość punktu do krzywej)

W tym trybie, punkt końcowy jednej krzywej jest związany z położeniem na drugiej, a krzywe są ustawione prostopadle do punktu. Tryb ten jest stosowany, gdy zostały wybrane krzywa i punkt końcowy innej krzywej.

Zaakceptowany wybór:

  • linia, okrąg, łuk, elipsa, łuk elipsy + punkt końcowy linii/łuku/łuku elipsy (tzn. każda krzywa + punkt końcowy każdej krzywej).


Pomiędzy dwoma krzywymi w punkcie (prostopadłym do punktu) (v0.15)

W tym trybie, dwie krzywe są wykonane prostopadle, a punkt prostopadłości znajduje się na trasie. Tryb ten jest stosowany w przypadku wybrania dwóch krzywych i punktu.

Zaakceptowany wybór:

  • każda linia/krzywizna + każda linia/krzywizna + każdy punkt

"Każdy punkt" może być samotnym punktem, albo punktem jakiegoś obiektu, np. środkiem okręgu, punktem końcowym łuku, albo początkiem.

Aby wiązanie działało prawidłowo, punkt musi znajdować się na obu krzywych. Tak więc, w miarę wywoływania wiązania, punkt będzie automatycznie związany z obiema krzywymi (wiązanie pomocnicze zostanie dodane, jeśli jest to konieczne), a krzywe zostaną wymuszone w punkcie prostopadłym. Te wiązania pomocnicze są zwykłymi regularnymi wiązaniami. Mogą być dodane ręcznie lub usunięte.

W porównaniu do trybu bezpośredniego prostopadłego, to wiązanie jest wolniejsze, ponieważ istnieją stopnie swobody, ale obsługuje elipsy.

Umieszczenie punktu przed zastosowaniem wiązania jest wskazówką dla rozwiązania, które określa, gdzie powinna znajdować się prostopadłość.

Tworzenie skryptów

Ograniczenie prostopadłe może być utworzone przez makropolecenie i z konsoli Pyton za pomocą następujących narzędzi:

# direct perpendicularity
Sketch.addConstraint(Sketcher.Constraint('Perpendicular',icurve1,icurve2))

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

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

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

Gdzie:

  • Sketch jest obiektem szkicu
  • icurve1, icurve2 są dwiema liczbami całkowitymi określającymi krzywe, które mają być wykonane prostopadle. Liczby całkowite są indeksami w szkicu (wartość zwracana przez Sketch.addGeometry).
  • pointpos1, pointpos2 powinny mieć wartość 1 dla punktu początkowego i 2 dla końcowego.
  • geoid point i pointpos w PerpendicularViaPoint są indeksami określającymi punkt prostopadłościanu.

Strona skrypty szkicownika wyjaśnia wartości, które mogą być użyte do icurve1, icurve2, pointpos1, pointpos2 i geoidpoint, i zawiera dalsze przykłady, jak tworzyć wiązania ze skryptów Python.