Std: Utwórz łącze

From FreeCAD Documentation
Revision as of 12:45, 21 May 2023 by Kaktus (talk | contribs) (Created page with "Niezależnie od stanu właściwości {{PropertyView|Zastępuj materiał}}, możliwe jest indywidualne ustawienie wyglądu elementów podrzędnych (wierzchołków, krawędzi, ścian) dla obiektu Łącza. # Wybierz obiekt Łącza w oknie Widoku drzewa. Otwórz menu kontekstowe ''(kliknij prawym przyciskiem myszy)'' i wybierz {{MenuCommand|Zastąp kolory ...}}. # Teraz wybierz w oknie widoku 3D poszczególne elementy podrzędne, których chcesz...")

Std: Utwórz łącze

Lokalizacja w menu
brak
Środowisko pracy
wszystkie
Domyślny skrót
brak
Wprowadzono w wersji
0.19
Zobacz także
Część, Grupa, Zawartość

Opis

Narzędzie Utwórz łącze tworzy obiekt App: Łącze (klasa App::Link), 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ą Klonu, 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ść DANEIlość elementów na wartość 1 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 Szyk ortogonalny, Szyk biegunowy, oraz Szyk kołowy.

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

Narzędzie Utwórz łącze nie jest definiowane przez konkretne środowisko pracy, ale przez system bazowy, dlatego znajduje się na pasku narzędzi Konstrukcja, który jest dostępny we wszystkich środowiskach pracy. Obiekt Łącze, używany w połączeniu z Częścią 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 Utwórz Łącze. 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 Utwórz łącze, aby utworzyć puste Łącze.
  2. Przejdź do edytora właściwości, następnie kliknij na właściwość DANEPowiązane obiekty, aby otworzyć okienko dialogowe Wybór obiektu i wybrać obiekt, a następnie naciśnij OK.
  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 Utwórz łącze względne.

(1) obiekt, (2) puste łącze, (3) pełne łącze do pierwszego obiektu (z nadrzędnym materiałem) i (4) łącze tylko do niektórych elementów podrzędnych obiektu. Puste łącze nie jest powiązane z rzeczywistym obiektem, więc nie jest wyświetlane w oknie widoku 3D.

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 Wiele dokumentów, 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 Utwórz link. 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.

Uwaga:

  • 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 Importuj łącza lub Importuj wszystkie łącza.
  • Narzędzie Utwórz łącze 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 Utwórz łącze względne, aby wybrać tylko określone elementy podrzędne.

(1, 2) dwa obiekty z dokumentu źródłowego połączone z dokumentem docelowym, (3) łącze do drugiego łącza (z nadrzędnym materiałem) oraz (4) łącze do elementów podrzędnych drugiego łącza.

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 Alt 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 Ctrl kopiuje obiekt. Na kursorze wyświetlany jest znak plus.
  • Przytrzymanie klawisza Alt tworzy łącze. Na kursorze wyświetlana jest para ogniw łańcucha.

W przypadku modyfikatorów Ctrl i Alt, 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

Utwórz łącze można użyć na obiekcie Część w celu szybkiego duplikowania grup obiektów umieszczonych w przestrzeni, czyli złożeniach.

Łącze utworzone z obiektu Część. Obiekty nie są duplikowane, ale są przedstawione pod oryginalną zawartością i pod zawartością Łącze.

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

Łącze utworzone z Grupy. Obiekty nie są duplikowane, ale są wymienione pod oryginalną zawartością i pod zawartością Łącza. Łącze (z nadrzędnym materiałem) może być przesuwane w przestrzeni, tak jak obiekt Część.

Łącze do Części 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 Grupy pozwoli na niezależną kontrolę widoczności.

Po lewej: Część z dwoma obiektami i dwoma linkami do Części, gdzie widoczność obiektów jest zsynchronizowana. Po prawej: Grupa z dwoma obiektami i dwoma linkami do Grupy, gdzie widoczność obiektów jest kontrolowana niezależnie w każdej grupie.

Kontrola wyglądu

Gdy tworzone jest łącze, domyślnie właściwość WIDOKZastępuj materiał ma wartość FAŁSZ, więc obiekt łącza będzie miał taki sam wygląd jak oryginalny DANEPołączony obiekt.

Gdy właściwość WIDOKZastępuj materiał jest ustawione na PRAWDA, właściwość WIDOKMateriał kształtu będzie teraz kontrolować wygląd obiektu Łącza.

Niezależnie od stanu właściwości WIDOKZastępuj materiał, 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 Zastąp kolory ....
  2. Teraz wybierz w oknie widoku 3D poszczególne elementy podrzędne, których chcesz użyć, naciśnij Edycja i zmień właściwości, w tym przezroczystość.
  3. Aby usunąć niestandardowe atrybuty, zaznacz elementy na liście i naciśnij Usuń.
  4. Gdy wynik będzie zadowalający, naciśnij OK, aby zamknąć okno dialogowe.

Note: 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.

(1) An original object, (2) a Link with overriding material, and (3) a second Link with individual modified subelements.

Szyk łączy

Zobacz również: Szyk ortogonalny.

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

Given that DANEShow Element is true by default, when DANEElement Count is set to 1 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 DANEPlacement property.

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

(1) Original object, and (2, 3, 4) a Link array with three elements, each in a different position. The first Link has overridden material and transparent faces, the other two have custom face colors.

Once you are satisfied with the placement and properties of the Link elements in the array, you may change DANEShow Element to false 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 Draft OrthoArray, Draft PolarArray, and Draft CircularArray; these commands can create normal copies or Link copies depending on the options at creation time.

Visibility

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

Another way to hide the individual elements is using the Override colors menu.

  1. Select the array, open the Override colors menu (right click).
  2. In the 3D view, pick any subelement from any Link in the array.
  3. Press Hide. An icon of an eye 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 icon.
  4. You can click OK to confirm the operation and close the dialog. The Link will remain hidden even if it is shown as visible in the tree view.

Element color dialog that is available when opening the context menu of a Link object 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 Remove to remove the hidden status, and click OK to confirm and close the dialog. The element will be visible in the 3D view again.

When the Link is for a Std Part or a Std Group, the Override colors 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.

A Std Part containing three objects, and a Link to that Part; in the Link, (1) the first object is made invisible, (2) the second object has some subelements with different colors, (3) the entire third object has a different color and level of transparency.

Właściwości

An App Link (App::Link class) is derived from the basic App DocumentObject (App::DocumentObject class), therefore it has the latter's basic properties like DANELabel and DANELabel2.

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

Dane

Link

  • DANELinked Object (XLink): it indicates the source object of the App Link; this can be an entire object, or a subelement of it (vertex, edge, or face).
  • DANELink Transform (Bool): it defaults to false, in which case the Link will override the DANELinked Object's own placement. If it is set to true, the Link will be placed in the same position as the DANELinked Object, and its placement will be relative to the DANELinked Object's placement. This can also be achieved with Std LinkMakeRelative.
  • DANEPlacement (Placement): the placement of the Link in absolute coordinates.
  • DANE (Hidden)Link Placement (Placement): it is an offset applied on top of the DANEPlacement of the DANELinked Object. This property is normally hidden but appears if DANELink Transform is set to true; in this case, DANEPlacement now becomes hidden.
  • DANEShow Element (Bool): it defaults to true, in which case the tree view will show the individual Link copies, as long as DANEElement Count is 1 or larger.
  • DANEElement Count (IntegerConstraint): it defaults to 0. If it is 1 or larger, the App Link will behave like an array, and will duplicate the same DANELinked Object many times. If DANEShow Elements is true, each element in the array will be displayed in the tree view, and each can have its own DANEPlacement modified. Each Link copy will have a name based on the Link's Name, augmented by _iN, where N is a number starting from 0. For example, with a single Link, the copies will be named Link_i0, Link_i1, Link_i2, etc.
  • DANELink Execute (String): name of the execute function that will run for this particular Link object. It defaults to 'appLinkExecute'. Set it to 'None' to disable it.
  • DANE (Hidden)Colored Elements (LinkSubHidden): list of Link elements that have had their color overriden.
  • DANEScale (Float): it defaults to 1.0. It is a factor for uniform scaling in each direction X, Y, and Z. For example, a cube of 2 mm x 2 mm x 2 mm, that is scaled by 2.0, will result in a shape with dimensions 4 mm x 4 mm x 4 mm.
  • DANE (Hidden)Scale Vector (Vector): the scale factor for each component (X, Y, Z) for all Link elements when DANEElement Count is 1 or larger. If DANEScale is other than 1.0, this same value will be used in the three components.
  • DANEScale List (VectorList): the scale factor for each Link element.
  • DANE (Hidden)Visibility List (BoolList): (read-only) the visibility state of each Link element, either true or false.
  • DANE (Hidden)Placement List (PlacementList): (read-only) the placement for each Link element.
  • DANE (Hidden)Element List (LinkList): the list of Link elements.
  • DANE (Hidden)_LinkTouched (Bool):
  • DANE (Hidden)_ChildCache (LinkList):

Podstawowe

  • DANE (Hidden)Proxy (PythonObject): 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 DANELinked Object, so the property editor may have groups of properties like Attachment, Box, Draft, etc.

Widok

Link

  • WIDOKDraw Style (Enumeration): it defaults to None; it can be Solid, Dashed, Dotted, Dashdot; defines the style of the edges in the 3D view.
  • WIDOKLine Width (FloatConstraint): a float that determines the width in pixels of the edges in the 3D view. It defaults to 2.0.
  • WIDOKOverride Material (Bool): it defaults to false; if set to true it will override the DANELinked Object's material, and it will display the colors defined in WIDOKShape Material.
  • WIDOKPoint Size (FloatConstraint): similar to WIDOKLine Width, defines the size of the vertices.
  • WIDOKSelectable (Bool): if it is true, the object can be picked with the pointer in the 3D view. Otherwise, the object cannot be selected until this option is set to true.
  • WIDOKShape Material (Material): this property includes sub-properties that describe the appearance of the object.
    • WIDOKDiffuse Color, it defaults to (0.4, 1.0, 1.0), which is displayed as [102, 255, 255] on base 255, light blue .
    • WIDOKAmbient Color, it defaults to (0.2, 0.2, 0.2), which is displayed as [51, 51, 51] on base 255, dark gray .
    • WIDOKSpecular Color, it defaults to (0.0, 0.0, 0.0), which is displayed as [0, 0, 0] on base 255, black .
    • WIDOKEmissive Color, it defaults to (0.0, 0.0, 0.0), which is displayed as [0, 0, 0] on base 255, black .
    • WIDOKShininess, it defaults to 0.2
    • WIDOKTransparency, it defaults to 0.0.

Podstawowe

  • WIDOK (Hidden)Child View Provider (PersistentObject):
  • WIDOK (Hidden)Material List (MaterialList): (read-only) if individual materials have been added, they will be listed here.
  • WIDOK (Hidden)Override Color List (ColorList): (read-only) if the individual faces or edges of the link have been overridden they will be listed here.
  • WIDOK (Hidden)Override Material List (BoolList): (read-only) if the individual materials of the link have been overridden they will be listed here.

Opcje wyświetlania

  • WIDOKDisplay Mode (Enumeration): 'Link' or 'ChildView'.
  • WIDOKShow In Tree (Bool): see the information in App FeaturePython.
  • WIDOKVisibility (Bool): see the information in App FeaturePython.

Wybieranie

It will additionally show the view properties of the original DANELinked Object.

Dziedziczenie

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

Simplified diagram of the relationships between the core objects in the program. The App::Link object is a core component of the system, it does not depend on any workbench, but it can be used with most objects created in all workbenches.

Tworzenie skryptów

See also: FreeCAD Scripting Basics, and scripted objects.

See Part Feature for the general information.

An App Link is created with the addObject() method of the document. It can define its DANELinked Object by overriding its LinkedObject attribute, or by using its setLink method.

import FreeCAD as App

doc = App.newDocument()
bod1 = App.ActiveDocument.addObject("Part::Box", "Box")
bod2 = App.ActiveDocument.addObject("Part::Cylinder", "Cylinder")
bod1.Placement.Base = App.Vector(10, 0, 0)
bod2.Placement.Base = App.Vector(0, 10, 0)

obj1 = App.ActiveDocument.addObject("App::Link", "Link")
obj2 = App.ActiveDocument.addObject("App::Link", "Link")

obj1.LinkedObject = bod1
obj2.setLink(bod2)
obj1.Placement.Base = App.Vector(-10, -10, 0)
obj2.Placement.Base = App.Vector(10, -10, 0)
obj1.ViewObject.OverrideMaterial = True
App.ActiveDocument.recompute()

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

Therefore, for Python subclassing, you should create the App::LinkPython object.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::LinkPython", "Link")
obj.Label = "Custom label"

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 realthunder. 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:

Finally, the pull request and merge happened:

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.