Std LinkMake/pl

Opis
Narzędzie tworzy obiekt App: Łącze (klasa ), typ obiektu, który odwołuje się lub łączy z innym obiektem, w tym samym dokumencie lub w innym dokumencie. Jest specjalnie zaprojektowany do wydajnego wielokrotnego powielania pojedynczego obiektu, co pomaga w tworzeniu skomplikowanych złożeń z mniejszych złożeń podrzędnych i wielu komponentów wielokrotnego użytku, takich jak śruby, nakrętki i podobne elementy złączne.

Obiekt App: Łącze został nowo wprowadzony w wersji 0.19. W przeszłości proste duplikowanie obiektów można było osiągnąć za pomocą, ale jest to mniej wydajne rozwiązanie ze względu na jego implementację, która zasadniczo tworzy kopię wewnętrznego kształtu obiektu źródłowego. Z drugiej strony, obiekt Łącze odwołuje się bezpośrednio do oryginalnego Kształtu, więc jest bardziej wydajny pamięciowo.

Sam obiekt Łącze może zachowywać się jak szyk, powielając swój obiekt bazowy wiele razy. Można to zrobić, ustawiając jego właściwość na wartość  lub większą. Ten obiekt "Szyk łączy" może być również tworzony za pomocą różnych narzędzi do tworzenia szyków w środowisku pracy Rysunek Roboczy, na przykład, , oraz.

W przypadku korzystania ze środowiska Projekt Części, Łącza są przeznaczone do użycia z obiektem, więc zaleca się ustawienie  na wrtość  w celu wybrania cech całej Zawartości, a nie indywidualnych cech. Aby utworzyć szyk wewnętrznych cech, użyj narzędzi, , oraz.

Narzędzie nie jest definiowane przez konkretne środowisko pracy, ale przez system bazowy, dlatego znajduje się na pasku narzędzi, który jest dostępny we wszystkich środowiskach pracy. Obiekt Łącze, używany w połączeniu z do grupowania różnych obiektów, stanowi podstawę środowiska pracy  Złożenie 3 i  Złożenie 4.

Użycie
Przy użyciu zaznaczenia:
 * 1) Wybierz obiekt w oknie widoku drzewa lub widoku 3D, dla którego chcesz utworzyć Łącze.
 * 2) Naciśnij przycisk . Utworzony obiekt ma taką samą ikonę jak oryginalny obiekt, ale posiada strzałkę wskazującą, że jest to Łącze.

Bez użycia zaznaczenia:
 * 1) Jeśli żaden obiekt nie jest zaznaczony, naciśnij przycisk, aby utworzyć puste Link.svg Łącze.
 * 2) Przejdź do edytora właściwości, następnie kliknij na właściwość, aby otworzyć okienko dialogowe Wybór obiektu i wybrać obiekt, a następnie naciśnij.
 * 3) Zamiast wybierać cały obiekt w oknie Widoku drzewa, można również wybrać elementy podrzędne (wierzchołki, krawędzie lub ściany) pojedynczego obiektu w oknie widoku 3D. W takim przypadku Łącze powieli tylko te elementy podrzędne, a ikonka strzałki będzie inna. Można to również zrobić za pomocą narzędzia.





Użycie: dokumenty zewnętrzne

 * 1) Zacznij od dokumentu, który ma co najmniej jeden obiekt, który będzie źródłem łącza.
 * 2) Otwórz nowy lub istniejący dokument. Dla łatwiejszej obsługi, użyj opcji, aby wyświetlić oba dokumenty w oknie Widoku drzewa. Zanim przejdziesz dalej, zapisz oba dokumenty. Łącze nie będzie w stanie znaleźć swojego źródła i celu, jeśli oba dokumenty nie zostaną zapisane na dysku.
 * 3) W pierwszym dokumencie wybierz obiekt, który chcesz powiązać. Następnie przełącz zakładki w głównego obszaru widoku, aby przejść do drugiego dokumentu.
 * 4) Naciśnij przycisk . Utworzony obiekt ma taką samą ikonę jak oryginalny obiekt, ale ma dodatkową nakładkę ze strzałką wskazującą, że jest to łącze pochodzące z zewnętrznego dokumentu.


 * Podczas zapisywania dokumentu z łączem, program poprosi również o zapisanie dokumentu źródłowego zawierającego oryginalny obiekt.
 * Aby dołączyć oryginalny obiekt do dokumentu z łączem, należy użyć przycisku lub.
 * Narzędzie może być użyte na istniejącym obiekcie łącza, w celu utworzenia łącza do łącza, które ostatecznie prowadzi do oryginalnego obiektu w dokumencie źródłowym. Można tego użyć z, aby wybrać tylko określone elementy podrzędne.





Przeciąganie i upuszczanie
Zamiast przełączać zakładki dokumentów, można tworzyć Łącza wykonując operację przeciągnij i upuść w oknie Widoku drzewa: wybierz obiekt źródłowy z pierwszego dokumentu, przeciągnij go, a następnie upuść na nazwę drugiego dokumentu przytrzymując klawisz na klawiaturze.

Przeciąganie i upuszczanie powoduje różne działania w zależności od trzymanego klawisza modyfikatora.
 * Bez klawisza modyfikatora po prostu przenosi obiekt z jednego dokumentu do drugiego. Na kursorze wyświetlana jest pochylona strzałka.
 * Przytrzymanie klawisza kopiuje obiekt. Na kursorze wyświetlany jest znak plus.
 * Przytrzymanie klawisza tworzy łącze. Na kursorze wyświetlana jest para ogniw łańcucha.

W przypadku modyfikatorów i, przeciąganie i upuszczanie może być również wykonywane w pojedynczym dokumencie. Oznacza to, że przeciągnięcie obiektu i upuszczenie go na nazwę tego samego dokumentu może być użyte do utworzenia wielu kopii lub wielu linków do niego.

Grupy
można użyć na obiekcie w celu szybkiego duplikowania grup obiektów umieszczonych w przestrzeni, czyli złożeniach.



Zwykła nie posiada właściwości, więc nie może kontrolować pozycji obiektów wewnątrz niego. Jednakże, gdy narzędzie zostanie użyte z, wynikowe łącze zachowuje się zasadniczo jak obiekt , a także może być przemieszczane w przestrzeni.



Łącze do utrzyma widoczność obiektów zsynchronizowaną z oryginalnym obiektem Część, więc jeśli ukryjesz jeden obiekt w Łączu, będzie on ukryty we wszystkich Łączach i w oryginalnym obiekcie. Z drugiej strony, łącze do pozwoli na niezależną kontrolę widoczności.





Kontrola wyglądu
Gdy tworzone jest łącze, domyślnie właściwość ma wartość, więc obiekt łącza będzie miał taki sam wygląd jak oryginalny.

Gdy właściwość jest ustawione na, właściwość  będzie teraz kontrolować wygląd obiektu Łącza.

Niezależnie od stanu właściwości, możliwe jest indywidualne ustawienie wyglądu elementów podrzędnych (wierzchołków, krawędzi, ścian) dla obiektu Łącza.
 * 1) Wybierz obiekt Łącza w oknie Widoku drzewa. Otwórz menu kontekstowe (kliknij prawym przyciskiem myszy) i wybierz.
 * 2) Teraz wybierz w oknie widoku 3D poszczególne elementy podrzędne, których chcesz użyć, naciśnij  i zmień właściwości, w tym przezroczystość.
 * 3) Aby usunąć niestandardowe atrybuty, zaznacz elementy na liście i naciśnij.
 * 4) Gdy wynik będzie zadowalający, naciśnij, aby zamknąć okno dialogowe.

od wersji 0.19 kolorowanie elementów podrzędnych podlega regułom problemu nazewnictwa topologicznego, więc powinno być wykonywane jako ostatni krok modelowania, gdy model nie podlega już zmianom.





Szyk łączy
Szyk ortogonalny.

When a Link is created, by default its is, so only a single Link object will be visible in the tree view.

Given that is  by default, when  is set to  or more, automatically more Links will be created below the first one; each new Link can be placed in the desired position by changing its own  property.

In similar way, each element of the array can have its own appearance changed, either by the and  properties, or by using the  menu on the entire array and then selecting individual faces; this is described in Overriding appearance.



Once you are satisfied with the placement and properties of the Link elements in the array, you may change to  in order hide the individual Links in the tree view; this has the benefit of making the system more responsive, particularly if you have many objects in the document.

When creating this type of Link array, you must place each of the elements manually; however, if you would like to use specific patterns to place the copies, you may use the array tools of the Draft Workbench, like, , and ; these commands can create normal copies or Link copies depending on the options at creation time.

Visibility
When is  and individual elements are listed in the tree view in a Link Array, each Link can be shown or hidden by pressing the  bar in the keyboard.

Another way to hide the individual elements is using the menu.
 * 1) Select the array, open the  menu (right click).
 * 2) In the 3D view, pick any subelement from any Link in the array.
 * 3) Press . An icon of an eye Invisible.svg should appear, indicating that this element has been hidden from the 3D view. The object will temporarily show itself when the cursor hovers over the Invisible.svg icon.
 * 4) You can click  to confirm the operation and close the dialog. The Link will remain hidden even if it is shown as visible in the tree view.



If you wish to restore the visibility of this array element, enter the dialog once more, pick the eye icon, then click on to remove the hidden status, and click  to confirm and close the dialog. The element will be visible in the 3D view again.

When the Link is for a or a, the  menu works in similar way as with arrays; it allows controlling the face color, entire object color, and visibility of the objects in the group.



Właściwości
An App Link ( class) is derived from the basic App DocumentObject ( class), therefore it has the latter's basic properties like and.

The following are the specific properties available in the property editor. Hidden properties can be shown by using the command in the context menu of the property editor.

Dane

 * : it indicates the source object of the App Link; this can be an entire object, or a subelement of it (vertex, edge, or face).
 * : it defaults to, in which case the Link will override the 's own placement. If it is set to , the Link will be placed in the same position as the , and its placement will be relative to the 's placement. This can also be achieved with.
 * : the placement of the Link in absolute coordinates.
 * : it is an offset applied on top of the of the . This property is normally hidden but appears if  is set to ; in this case,  now becomes hidden.
 * : it defaults to, in which case the tree view will show the individual Link copies, as long as is  or larger.
 * : it defaults to . If it is or larger, the App Link will behave like an array, and will duplicate the same  many times. If  is, each element in the array will be displayed in the tree view, and each can have its own  modified. Each Link copy will have a name based on the Link's Name, augmented by , where  is a number starting from . For example, with a single , the copies will be named , , , etc.
 * : name of the execute function that will run for this particular Link object. It defaults to . Set it to to disable it.
 * : list of Link elements that have had their color overriden.
 * : it defaults to . It is a factor for uniform scaling in each direction, , and . For example, a cube of x  x , that is scaled by , will result in a shape with dimensions  x  x.
 * : the scale factor for each component for all Link elements when  is  or larger. If  is other than, this same value will be used in the three components.
 * : the scale factor for each Link element.
 * : the visibility state of each Link element, either  or.
 * : the placement for each Link element.
 * : the list of Link elements.


 * : klasa własna związana z tym obiektem. Istnieje wyłącznie dla wersji środowiska Python. Zobacz sekcję tworzenie skryptów.

Obiekt App: Łącze będzie dodatkowo pokazywał właściwości oryginalnego, więc edytor właściwości może mieć grupy właściwości takie jak , , , itd.

Widok

 * : it defaults to ; it can be, , , ; defines the style of the edges in the 3D view.
 * : a float that determines the width in pixels of the edges in the 3D view. It defaults to.
 * : it defaults to ; if set to it will override the 's material, and it will display the colors defined in.
 * : similar to, defines the size of the vertices.
 * : if it is, the object can be picked with the pointer in the 3D view. Otherwise, the object cannot be selected until this option is set to.


 * : this property includes sub-properties that describe the appearance of the object.
 * , it defaults to, which is displayed as on base 255, light blue.
 * , it defaults to, which is displayed as on base 255, dark gray.
 * , it defaults to, which is displayed as on base 255, black.
 * , it defaults to, which is displayed as on base 255, black.
 * , it defaults to
 * , it defaults to.


 * : if individual materials have been added, they will be listed here.
 * : if the individual faces or edges of the link have been overridden they will be listed here.
 * : if the individual materials of the link have been overridden they will be listed here.
 * : if the individual materials of the link have been overridden they will be listed here.


 * : or.
 * : see the information in App FeaturePython.
 * : see the information in App FeaturePython.


 * : see the information in App FeaturePython.
 * : see the information in App FeaturePython.

It will additionally show the view properties of the original.

Dziedziczenie
An App Link is formally an instance of the class, whose parent is the basic App DocumentObject ( class). It is a very low level object, which can be used with most other document objects.



Tworzenie skryptów
FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information.

An App Link is created with the method of the document. It can define its by overriding its  attribute, or by using its  method.

The basic doesn't have a Proxy object so it can't be fully used for sub-classing.

Therefore, for Python subclassing, you should create the object.



Dodatkowe informacje
The App Link object was introduced after 2 years of development and prototyping. This component was thought and developed almost single-handedly by user. The motivations and design implementations behind this project are described in his GitHub page, Link. In order to accomplish this feature, several core changes to FreeCAD were made; these were also extensively documented in Core-Changes.

The App Link project started after the redesign of the PartDesign Workbench was complete in v0.17. The history of App Link can be traced to some essential forum threads:
 * Why an object can only be inside one App::Part? (March 2017)
 * Introducing App::Link/XLink (March 2017)
 * Links (May 2017)
 * Realthunder Link implementation: Architecture discussion (June 2017)
 * PR #876: Link, stage one, context aware selection (July 2017)
 * Preview: Link, stage two, API groundwork (July 2017)
 * Assembly3 preview (December 2017)
 * Merging of my Link branch (June 2018)

Finally, the pull request and merge happened:
 * App::Link: the big merge, old thread (July 2019), pull request #2350 (the BIG merge), LinkMerge branch.
 * App::Link: the big merge, main thread (July 2019)
 * A simple path description of Link, 019, Link stage, Asm3, merge? (August 2019)
 * PR#2559: expose link and navigation actions, an introduction to the Link feature in 0.19 (September 2019).

Other miscellaneous "links" about Link include:
 * Dynamic linked object - A pattern with Link and assemblies that aims to reduce duplication of assembly related logic such as orientation, positioning, or number of instances.