Sketcher ConstrainCoincident/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav/pl
{{Docnav/pl
|[[Sketcher_ToggleConstruction|Construction Mode]]
|[[Sketcher_ToggleConstruction|Tryb konstrukcji]]
|[[Sketcher ConstrainPointOnObject|Point On Object]]
|[[Sketcher ConstrainPointOnObject|Punk na obiekcie]]
|[[Sketcher_Workbench|Środowisko pracy Sketcher]]
|[[Sketcher_Workbench|Środowisko pracy Szkicownik]]
|IconL=Sketcher_ToggleConstruction.svg
|IconL=Sketcher_ToggleConstruction.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg
Line 27: Line 27:
==Użycie==
==Użycie==


Jak stwierdzono powyżej, narzędzie to przyjmuje dwa argumenty - oba są punktami.
As stated above, this tool takes two arguments - both are points.
# Po pierwsze, konieczne jest zaznaczenie dwóch różnych punktów. ''({{Emphasis|Uwaga:}} to nie zadziała, jeżeli na przykład spróbujemy wybrać punkt początkowy i końcowy tej samej linii)''.
# 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 line).
# Podświetlenie elementu rysunku uzyskuje się poprzez umieszczenie na nim kursora myszki i kliknięcie lewym przyciskiem myszy.
# 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 its color to green. (This color can be customized in {{MenuCommand|EditingPreferenceDisplayColorsSelection}})
# Podświetlony element zmieni swój kolor na zielony. ''(Kolor ten można dostosować do własnych potrzeb w {{MenuCommand|EdycjaPreferencjeWyświetlanieKoloryZaznaczanie}})''.
# Kolejne punkty mogą być podświetlone poprzez powtórzenie powyższych procedur. {{Emphasis|Uwaga"}} Nie trzeba przytrzymywać żadnego specjalnego klawisza, jak {{KEY|Ctrl}} aby uzyskać wielokrotny wybór pozycji na rysunku.
# 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.
# Po podświetleniu dwóch punktów, można wywołać komendę za pomocą kilku metod:
# 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.
#* Wciskając przycisk wiązania na pasku przyborów {{Button|[[File:Sketcher_ConstrainCoincident.svg|16px]] [[Sketcher_ConstrainCoincident/pl|Wiązanie zbieżności]]}}.
#* Using the {{KEY|C}} keyboard shortcut.
#* Użycie skrótu klawiszy {{KEY|C}} przy pomocy klawiatury.
#* Using the {{MenuCommand|SketchSketcher constraintsConstrain coincident}} entry in the top menu.
#* Użycie polecenia w górnym menu {{MenuCommand|SzkicownikWiązania szkicownikaWiązanie zbieżności}}.
{{Emphasis|Result:}} the command will cause the two points to become ''coincident'' and be replaced by a single point.
{{Emphasis|Wynik:}} polecenie to spowoduje, że dwa punkty staną się ''nałożone na siebie'' i zostaną zastąpione jednym punktem.


{{Emphasis|Note:}} In order to make two points coincident, FreeCAD must out of necessity move one (or both) of the original points.
{{Emphasis|Uwaga:}} Aby uczynić dwa punkty zbieżnymi, FreeCAD musi z konieczności przenieść jeden ''(lub oba)'' z oryginalnych pozycji.


==Tworzenie skryptów==
==Scripting==


===Ogólne zasady tworzenia skryptów===
===General scripting===
Wiązanie może być utworzone zarówno przez makrodefinicje jak i z konsoli Python za pomocą następującego polecenia:
The constraint can be created from macros and from the python console by using the following command:
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
{{Code|code=Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving)) }}
gdzie:
where :
* {{incode|Sketch}} is a sketch object
* {{incode|Sketch}} jest obiektem szkicu,
* {{incode|LineFixed}} is the number of the line, that will not move by applying the constraint
* {{incode|LineFixed}} to numer linii, która nie przesunie się po zastosowaniu wiązania,
* {{incode|PointOfLineFixed}} is the number of the vertex of the line {{incode|LineFixed}} that has to fulfilled the constraint
* {{incode|PointOfLineFixed}} to numer wierzchołka linii {{incode|LineFixed}}, która spełniłaby warunek wiązania,
* {{incode|LineMoving}} is the number of the line, that will move by applying the constraint
* {{incode|LineMoving}} to numer linii, która ulegnie przesunięciu przez zastosowanie wiązania,
* {{incode|PointOfLineMoving}} is the number of the line {{incode|LineMoving}}, that has to fulfilled the constraint
* {{incode|PointOfLineMoving}} jest numerem linii {{incode|LineMoving}}, która ma spełnić warunek wiązania.


Głównym problemem przy użyciu tej funkcji jest poprawna identyfikacja numeru linii i numeru wierzchołka linii, które mają być przetwarzane.
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.


Następny akapit wyjaśni, w jaki sposób można zidentyfikować numerację linii i wierzchołka linii.
The next paragraph will explain you how to identify the numbering of a line and of a vertex of a line.


===Identyfikacja numerów linii===
===Identifying the numbering of a line===


Narysowałem trzy linie, jak pokazano na poniższym rysunku.
I have drawn three lines as shown in the following figure.


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


Przesuwając kursor myszy nad linią jej numer można zobaczyć w lewym dolnym rogu okna programu FreeCAD, patrz następny rysunek.
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]]
[[File:PartDesignConstraintPointOnPointScriptingFigure2.jpg|600px]]


Niestety numeracja wyświetlana w oknach programu FreeCAD zaczyna się od 1, podczas gdy numeracja linii użytej w skrypcie zaczyna się od 0: oznacza to, że za każdym razem, gdy chcesz odwołać się do linii, należy pobrać tylko jedną z nich.
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.


===Identyfikacja numerów wierzchołków linii===
===Identifying the numbering of the vertices of a line===


Wierzchołki jednej linii mogą mieć tylko wartość 1 lub 2. ''(Zauważ, że numeracja wierzchołków nie zaczyna się od 0, ponieważ w przypadku wiązania 0 = krawędź stąd nie jest to wierzchołek, 1 = punkt początkowy, 2 = punkt końcowy, 3 = środek, który nie jest wierzchołkiem)'' Wierzchołki są numerowane zgodnie z kolejnością ich tworzenia. Aby ustalić kolejność ich tworzenia ''(jeśli masz dużo linii, nie możesz zapamiętać, którą z nich stworzyłeś jako pierwszą)'', wystarczy przesunąć kursor myszy nad dwoma wierzchołkami jednej linii, patrz poniższy rysunek.
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]]
[[File:PartDesignConstraintPointOnPointScriptingFigure3.jpg|600px]]


Jeśli odczytasz np. 4 i 5, oznacza to, że w poleceniu skryptowym do punktu 4 zostanie Przypisana liczba 1, a do punktu 5 - liczba 2. Itd.
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 ===
===Przykład===


Weźmy przykład z poprzednich trzech linijek. Kolejna cyfra wskazuje numerację każdej linii i ich wierzchołków zgodnie z konwencją dotyczącą skryptów.
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.


[[Image:PartDesignConstraintPointOnPointScriptingFigure3Bis.jpg|600px]]
[[Image:PartDesignConstraintPointOnPointScriptingFigure3Bis.jpg|600px]]
{{Caption|<b>blue text:</b> numbering of line, <b>black text:</b> numbering of vertices}}
{{Caption|<b>blue text:</b> numeracja linii, <b>black text:</b> numeracja wierzchołków}}


The command {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))}} yields following result:
Polecenie {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))}} daje następujący wynik:


[[Image:PartDesignConstraintPointOnPointScriptingFigure4.jpg|600px|center]]
[[Image:PartDesignConstraintPointOnPointScriptingFigure4.jpg|600px|center]]


The command {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))}} yields following result:
Polecenie {{incode|Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2))}} daje następujący wynik:


[[Image:PartDesignConstraintPointOnPointScriptingFigure5.jpg|600px|center]]
[[Image:PartDesignConstraintPointOnPointScriptingFigure5.jpg|600px|center]]


{{Docnav/pl
{{Docnav/pl
|[[Sketcher_ToggleConstruction|Construction Mode]]
|[[Sketcher_ToggleConstruction|Tryb konstrukcji]]
|[[Sketcher ConstrainPointOnObject|Point On Object]]
|[[Sketcher ConstrainPointOnObject|Punk na obiekcie]]
|[[Sketcher_Workbench|Sketcher]]
|[[Sketcher_Workbench|Środowisko pracy Szkicownik]]
|IconL=Sketcher_ToggleConstruction.svg
|IconL=Sketcher_ToggleConstruction.svg
|IconC=Workbench_Sketcher.svg
|IconC=Workbench_Sketcher.svg

Revision as of 16:19, 24 October 2020

Wiązanie spójności punktów

Lokalizacja w menu
Sketch → Wiązania szkicownika → Wiązanie zgodności
Środowisko pracy
Sketcher
Domyślny skrót
C
Wprowadzono w wersji
-
Zobacz także
Constraint Lock, Constraint Point onto Object

Opis

Stwórz wiązanie zbieżności z wybraną pozycją.

Narzędzie to przyjmuje dwa punkty jako swój argument i służy do nadania tym dwóm punktom "zbieżności". (To znaczy, że są one tylko jednym punktem).

W praktyce narzędzie to jest użyteczne w przypadku przerwania profilu, na przykład gdy dwie linie kończą się blisko siebie i muszą zostać połączone - wiązanie zbieżności w punkcie końcowym doprowadzi do zlikwidowania tej przerwy.

Użycie

Jak stwierdzono powyżej, narzędzie to przyjmuje dwa argumenty - oba są punktami.

  1. Po pierwsze, konieczne jest zaznaczenie dwóch różnych punktów. (Uwaga: to nie zadziała, jeżeli na przykład spróbujemy wybrać punkt początkowy i końcowy tej samej linii).
  2. Podświetlenie elementu rysunku uzyskuje się poprzez umieszczenie na nim kursora myszki i kliknięcie lewym przyciskiem myszy.
  3. Podświetlony element zmieni swój kolor na zielony. (Kolor ten można dostosować do własnych potrzeb w Edycja → Preferencje → Wyświetlanie → Kolory → Zaznaczanie).
  4. Kolejne punkty mogą być podświetlone poprzez powtórzenie powyższych procedur. Uwaga" Nie trzeba przytrzymywać żadnego specjalnego klawisza, jak Ctrl aby uzyskać wielokrotny wybór pozycji na rysunku.
  5. Po podświetleniu dwóch punktów, można wywołać komendę za pomocą kilku metod:
    • Wciskając przycisk wiązania na pasku przyborów Wiązanie zbieżności.
    • Użycie skrótu klawiszy C przy pomocy klawiatury.
    • Użycie polecenia w górnym menu Szkicownik → Wiązania szkicownika → Wiązanie zbieżności.

Wynik: polecenie to spowoduje, że dwa punkty staną się nałożone na siebie i zostaną zastąpione jednym punktem.

Uwaga: Aby uczynić dwa punkty zbieżnymi, FreeCAD musi z konieczności przenieść jeden (lub oba) z oryginalnych pozycji.

Tworzenie skryptów

Ogólne zasady tworzenia skryptów

Wiązanie może być utworzone zarówno przez makrodefinicje jak i z konsoli Python za pomocą następującego polecenia:

Sketch.addConstraint(Sketcher.Constraint('Coincident',LineFixed,PointOfLineFixed,LineMoving,PointOfLineMoving))

gdzie:

  • Sketch jest obiektem szkicu,
  • LineFixed to numer linii, która nie przesunie się po zastosowaniu wiązania,
  • PointOfLineFixed to numer wierzchołka linii LineFixed, która spełniłaby warunek wiązania,
  • LineMoving to numer linii, która ulegnie przesunięciu przez zastosowanie wiązania,
  • PointOfLineMoving jest numerem linii LineMoving, która ma spełnić warunek wiązania.

Głównym problemem przy użyciu tej funkcji jest poprawna identyfikacja numeru linii i numeru wierzchołka linii, które mają być przetwarzane.

Następny akapit wyjaśni, w jaki sposób można zidentyfikować numerację linii i wierzchołka linii.

Identyfikacja numerów linii

Narysowałem trzy linie, jak pokazano na poniższym rysunku.

Przesuwając kursor myszy nad linią jej numer można zobaczyć w lewym dolnym rogu okna programu FreeCAD, patrz następny rysunek.

Niestety numeracja wyświetlana w oknach programu FreeCAD zaczyna się od 1, podczas gdy numeracja linii użytej w skrypcie zaczyna się od 0: oznacza to, że za każdym razem, gdy chcesz odwołać się do linii, należy pobrać tylko jedną z nich.

Identyfikacja numerów wierzchołków linii

Wierzchołki jednej linii mogą mieć tylko wartość 1 lub 2. (Zauważ, że numeracja wierzchołków nie zaczyna się od 0, ponieważ w przypadku wiązania 0 = krawędź stąd nie jest to wierzchołek, 1 = punkt początkowy, 2 = punkt końcowy, 3 = środek, który nie jest wierzchołkiem) Wierzchołki są numerowane zgodnie z kolejnością ich tworzenia. Aby ustalić kolejność ich tworzenia (jeśli masz dużo linii, nie możesz zapamiętać, którą z nich stworzyłeś jako pierwszą), wystarczy przesunąć kursor myszy nad dwoma wierzchołkami jednej linii, patrz poniższy rysunek.

Jeśli odczytasz np. 4 i 5, oznacza to, że w poleceniu skryptowym do punktu 4 zostanie Przypisana liczba 1, a do punktu 5 - liczba 2. Itd.

Przykład

Weźmy przykład z poprzednich trzech linijek. Kolejna cyfra wskazuje numerację każdej linii i ich wierzchołków zgodnie z konwencją dotyczącą skryptów.

blue text: numeracja linii, black text: numeracja wierzchołków

Polecenie Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) daje następujący wynik:

Polecenie Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,2,2)) daje następujący wynik: