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.

Gdy tworzone jest Łącze, domyślnie jego wynosi, więc tylko pojedynczy obiekt Łącze będzie widoczny w Widoku drzewa.

Biorąc pod uwagę, że wartość jest domyślnie ustawiona na, gdy  jest ustawiona na  lub więcej, automatycznie więcej obiektów Łącze zostanie utworzonych poniżej pierwszego. Każdy nowy obiekt Łącze może zostać umieszczony w żądanej pozycji poprzez zmianę jego własnej właściwości.

W podobny sposób każdy element szyku może mieć zmieniony wygląd, albo przez właściwości i, albo przez użycie menu  na całym szyku, a następnie wybranie poszczególnych ścian. Zostało to opisane w akapicie Kontrola wyglądu.



Gdy jesteś zadowolony z rozmieszczenia i właściwości elementów Łącza w szyku, możesz zmienić wartość właściwości na, aby ukryć poszczególne Łącza w oknie Widoku drzewa. Ma to tę zaletę, że system jest bardziej dynamiczny, zwłaszcza jeśli w dokumencie znajduje się wiele obiektów.

Tworząc tego typu szyk Łączy, musisz umieścić każdy z elementów samodzielnie. Jeśli jednak chcesz użyć określonych wzorców do umieszczenia kopii, możesz użyć narzędzi szyku w środowisku pracy Rysunek Roboczy, takich jak, , oraz. Polecenia te mogą tworzyć normalne kopie lub kopie Łącz w zależności od opcji w czasie tworzenia.

Widoczność
Gdy właściwość ma wartość, a poszczególne elementy są wyświetlane w Widoku drzewa w szyku łączy, każde Łącze można wyświetlić lub ukryć, naciskając klawisz  na klawiaturze.

Innym sposobem na ukrycie poszczególnych elementów jest użycie menu.
 * 1) Wybierz szyk, otwórz z menu podręcznego  (kliknij prawym przyciskiem myszy).
 * 2) W oknie widoku 3D wybierz dowolny element podrzędny z dowolnego Łącza w szyku.
 * 3) Naciśnij . Powinna pojawić się ikona oka Invisible.svg wskazująca, że ten element został ukryty w widoku 3D. Obiekt tymczasowo pokaże się, gdy kursor najedzie na ikonę Invisible.svg.
 * 4) Możesz kliknąć, aby potwierdzić operację i zamknąć okno dialogowe. Łącze pozostanie ukryte, nawet jeśli jest wyświetlane jako widoczne w widoku drzewa.



Jeśli chcesz przywrócić widoczność tego elementu szyku, wejdź ponownie do okna dialogowego, wybierz ikonę oka, a następnie kliknij, aby usunąć status ukrycia, i kliknij , aby potwierdzić i zamknąć okno dialogowe. Element będzie ponownie widoczny w oknie widoku 3D.

Gdy Łącze odnosi się do obiektu lub, narzędzie z menu  działa podobnie jak w przypadku szyków. Pozwala kontrolować kolor ściany, kolor całego obiektu i widoczność obiektów w grupie.



Właściwości
Obiekt App: Łącze (klasa ) wywodzi się z podstawowej klasy App: DocumentObject , dlatego posiada podstawowe właściwości tej ostatniej, takie jak i.

Są to właściwości dostępne w edytorze właściwości. Ukryte właściwości można wyświetlić za pomocą polecenia w menu podręcznym edytora właściwości.

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
Obiekt App: Łącze jest formalnie instancją klasy, której rodzicem jest podstawowy App: DocumentObject (klasa ). Jest to obiekt bardzo niskiego poziomu, który może być używany z większością innych obiektów dokumentów.



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.