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.



Dragging and dropping
Instead of switching document tabs, you can create Links by performing a drag and drop operation in the tree view: select the source object from the first document, drag it, then drop it into the second document's name while holding the key in the keyboard.

Dragging and dropping results in different actions depending on the modifier key that is held.
 * Without modifier key it simply moves the object from one document to the other; an inclined arrow is shown in the cursor.
 * Holding the key copies the object; a plus sign is shown in the cursor.
 * Holding the key creates a Link; a pair of chain links is shown in the cursor.

For the and  modifiers, dragging and dropping can also be done with a single document. That is, dragging an object and dropping it into the same document's name can be used to create multiple copies or multiple Links to it.

Groups
can be used on in order to quickly duplicate groups of objects positioned in space, that is, assemblies.



A regular does not possess a  property, so it cannot control the position of the objects inside of it. However, when is used with, the resulting Link behaves essentially like a , and can also be moved in space.



A Link to a will keep the visibility of the objects synchronized with the original Part; so if you hide one object in a Link, it will be hidden in all Links and in the original object. On the other hand a Link to a will allow independent control of the visibilities.



Overriding appearance
When a Link is created, by default the is, so the Link will have the same appearance as the original.

When is set to, the  property will now control the appearance of the Link.

Regardless of the state of, it is possible to individually set the appearance of the subelements (vertices, edges, faces) of a Link.
 * 1) Select the Link in the tree view. Open the context menu (right-click), and pick.
 * 2) Now pick the individual subelements that you want in the 3D view, press, and change the properties including transparency.
 * 3) To remove the custom attributes, select the elements in the list, and press.
 * 4) When you are satisfied with the result, press  to close the dialog.

as of v0.19, the coloring of the subelements is subject to the topological naming problem so it should be done as the last modelling step, when the model is not subject to change any more.





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.


 * : a custom class associated with this object. This only exists for the Python version. See Scripting.

The App Link object will additionally show the properties of the original, so the property editor may have groups of properties like , , , etc.

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.