Std LinkMake/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "* {{PropertyView|Proxy|PythonObject|Ukryte}}: klasa własna związana z tym obiektem. Istnieje wyłącznie dla wersji środowiska Python. Zobacz sekcję tworzenie skryptów.")
No edit summary
 
(42 intermediate revisions by the same user not shown)
Line 106: Line 106:


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.
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 [[Tree_view|Widoku drzewa]]. Otwórz menu kontekstowe ''(kliknij prawym przyciskiem myszy)'' i wybierz {{MenuCommand|Zastąp kolory ...}}.
# Wybierz obiekt Łącza w oknie [[Tree_view/pl|Widoku drzewa]]. Otwórz menu kontekstowe ''(kliknij prawym przyciskiem myszy)'' i wybierz {{MenuCommand|Zastąp kolory ...}}.
# Teraz wybierz w oknie [[3D_view/pl|widoku 3D]] poszczególne elementy podrzędne, których chcesz użyć, naciśnij {{Button|Edycja}} i zmień właściwości, w tym przezroczystość.
# Teraz wybierz w oknie [[3D_view/pl|widoku 3D]] poszczególne elementy podrzędne, których chcesz użyć, naciśnij {{Button|Edycja}} i zmień właściwości, w tym przezroczystość.
# Aby usunąć niestandardowe atrybuty, zaznacz elementy na liście i naciśnij {{Button|Usuń}}.
# Aby usunąć niestandardowe atrybuty, zaznacz elementy na liście i naciśnij {{Button|Usuń}}.
Line 122: Line 122:
{{Emphasis|Zobacz również:}} [[Draft_OrthoArray/pl|Szyk ortogonalny]].
{{Emphasis|Zobacz również:}} [[Draft_OrthoArray/pl|Szyk ortogonalny]].


When a Link is created, by default its {{PropertyData|Element Count}} is {{Value|0}}, so only a single Link object will be visible in the [[tree_view|tree view]].
Gdy tworzone jest Łącze, domyślnie jego {{PropertyData|Liczba elementów}} wynosi {{Value|0}}, więc tylko pojedynczy obiekt Łącze będzie widoczny w [[Tree_view/pl|Widoku drzewa]].


Given that {{PropertyData|Show Element}} is {{TRUE}} by default, when {{PropertyData|Element Count}} is set to {{Value|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 {{PropertyData|Placement}} property.
Biorąc pod uwagę, że wartość {{PropertyData|Wyświetl element}} jest domyślnie ustawiona na {{TRUE}}, gdy {{PropertyData|Liczba elementów}} jest ustawiona na {{Value|1}} 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 {{PropertyData|Umiejscowienie}}.


In similar way, each element of the array can have its own appearance changed, either by the {{PropertyView|Override Material}} and {{PropertyView|Shape Material}} properties, or by using the {{MenuCommand|Override colors}} menu on the entire array and then selecting individual faces; this is described in [[#Overriding_appearance|Overriding appearance]].
W podobny sposób każdy element szyku może mieć zmieniony wygląd, albo przez właściwości {{PropertyView|Zastępuj materiał}} i {{PropertyView|Materiał kształtu}}, albo przez użycie menu {{MenuCommand|Zastąp kolory ...}} na całym szyku, a następnie wybranie poszczególnych ścian. Zostało to opisane w akapicie [[#Kontrola_wyglądu|Kontrola wyglądu]].


[[File:Std_Link_tree_array_example.png]] [[File:Std_Link_array_example.png|500px]]
[[File:Std_Link_tree_array_example.png]] [[File:Std_Link_array_example.png|500px]]


{{Caption|(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.}}
{{Caption|(1) Oryginalny obiekt i (2, 3, 4) szyk Łączy z trzema elementami, każdy w innej pozycji. Pierwszy obiekt Łącza ma nadpisany materiał i przezroczyste ściany, a dwa pozostałe mają niestandardowe kolory ścian.}}


Gdy jesteś zadowolony z rozmieszczenia i właściwości elementów Łącza w szyku, możesz zmienić wartość właściwości {{PropertyData|Wyświetl element}} na {{FALSE/pl}}, aby ukryć poszczególne Łącza w oknie [[Tree_view/pl|Widoku drzewa]]. Ma to tę zaletę, że system jest bardziej dynamiczny, zwłaszcza jeśli w dokumencie znajduje się wiele obiektów.
Once you are satisfied with the placement and properties of the Link elements in the array, you may change {{PropertyData|Show Element}} to {{FALSE}} in order hide the individual Links in the [[tree_view|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 [[File:Workbench_Draft.svg|24px]] [[Draft_Workbench|Draft Workbench]], like {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray|Draft OrthoArray]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray|Draft PolarArray]]}}, and {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray|Draft CircularArray]]}}; these commands can create normal copies or Link copies depending on the options at creation time.
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 [[File:Workbench_Draft.svg|24px]] [[Draft_Workbench/pl|Rysunek Roboczy]], takich jak {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/pl|Szyk ortogonalny]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/pl|Szyk biegunowy]]}}, oraz {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/pl|Szyk kołowy]]}}. Polecenia te mogą tworzyć normalne kopie lub kopie Łącz w zależności od opcji w czasie tworzenia.


== Visibility ==
<span id="Visibility"></span>
==Widoczność==


When {{PropertyData|Show Element}} is {{TRUE}} and individual elements are listed in the [[Tree_view|tree view]] in a [[#Link_Array|Link Array]], each Link can be shown or hidden by pressing the {{KEY|Space}} bar in the keyboard.
Gdy właściwość {{PropertyData|Wyświetl element}} ma wartość {{TRUE}}, a poszczególne elementy wyświetlane w [[Tree_view/pl|Widoku drzewa]] w [[#Szyk_łączy|szyku łączy]], każde Łącze można wyświetlić lub ukryć, naciskając klawisz {{KEY|Spacja}} na klawiaturze.


Another way to hide the individual elements is using the {{MenuCommand|Override colors}} menu.
Innym sposobem na ukrycie poszczególnych elementów jest użycie menu {{MenuCommand|Zastąp kolory ...}}.
# Select the array, open the {{MenuCommand|Override colors}} menu (right click).
# Wybierz szyk, otwórz z menu podręcznego {{MenuCommand|Zastąp kolory ...}} ''(kliknij prawym przyciskiem myszy)''.
# In the [[3D_view|3D view]], pick any subelement from any Link in the array.
# W oknie [[3D_view/pl|widoku 3D]] wybierz dowolny element podrzędny z dowolnego Łącza w szyku.
# Press {{Button|Hide}}. An icon of an eye [[File:Invisible.svg|24px]] should appear, indicating that this element has been hidden from the [[3D_view|3D view]]. The object will temporarily show itself when the cursor hovers over the [[File:Invisible.svg|24px]] icon.
# Naciśnij {{Button|Ukryj}}. Powinna pojawić się ikona oka [[File:Invisible.svg|24px]] wskazująca, że ten element został ukryty w [[3D_view/pl|widoku 3D]]. Obiekt tymczasowo pokaże się, gdy kursor najedzie na ikonę [[File:Invisible.svg|24px]].
# Możesz kliknąć {{Button|OK}}, aby potwierdzić operację i zamknąć okno dialogowe. Łącze pozostanie ukryte, nawet jeśli jest wyświetlane jako widoczne w [[Tree_view/pl|widoku drzewa]].
# You can click {{Button|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|tree view]].


[[File:Std_Link_array_visibility_example.png]]
[[File:Std_Link_array_visibility_example.png]]


{{Caption|Element color dialog that is available when opening the context menu of a Link object in the tree view.}}
{{Caption|Okno dialogowe koloru elementu dostępne po otwarciu menu kontekstowego obiektu Łącze w Widoku drzewa.}}


If you wish to restore the visibility of this array element, enter the dialog once more, pick the eye icon, then click on {{Button|Remove}} to remove the hidden status, and click {{Button|OK}} to confirm and close the dialog. The element will be visible in the [[3D_view|3D view]] again.
Jeśli chcesz przywrócić widoczność tego elementu szyku, wejdź ponownie do okna dialogowego, wybierz ikonę oka, a następnie kliknij {{Button|Usuń}}, aby usunąć status ukrycia, i kliknij {{Button|OK}}, aby potwierdzić i zamknąć okno dialogowe. Element będzie ponownie widoczny w oknie [[3D_view/pl|widoku 3D]].


When the Link is for a {{Button|[[File:Std_Part.svg|16px]] [[Std_Part|Std Part]]}} or a {{Button|[[File:Std_Group.svg|16px]] [[Std_Part|Std Group]]}}, the {{MenuCommand|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.
Gdy Łącze odnosi się do obiektu {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/pl|Część]]}} lub {{Button|[[File:Std_Group.svg|16px]] [[Std_Part/pl|Grupa]]}}, narzędzie z menu {{MenuCommand|Zastąp kolory ...}} działa podobnie jak w przypadku szyków. Pozwala kontrolować kolor ściany, kolor całego obiektu i widoczność obiektów w grupie.


[[File:Std_Link_Std_Part_visibility_example.png]] [[File:Std_Link_Std_Part_visibility_example_3D.png]]
[[File:Std_Link_Std_Part_visibility_example.png]] [[File:Std_Link_Std_Part_visibility_example_3D.png]]


{{Caption|A [[Std_Part|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.}}
{{Caption|Obiekt [[Std_Part|Część]] zawierający trzy obiekty i Łącze do tej części. W Łączu (1) pierwszy obiekt jest niewidoczny, (2) drugi obiekt ma kilka elementów podrzędnych o różnych kolorach, (3) cały trzeci obiekt ma inny kolor i poziom przezroczystości.}}


<span id="Properties"></span>
<span id="Properties"></span>
==Właściwości==
==Właściwości==


An [[App_Link|App Link]] ({{incode|App::Link}} class) is derived from the basic [[App_DocumentObject|App DocumentObject]] ({{incode|App::DocumentObject}} class), therefore it has the latter's basic properties like {{PropertyData|Label}} and {{PropertyData|Label2}}.
Obiekt [[App_Link/pl|App: Łącze]] ''(klasa {{incode|App::Link}})'' wywodzi się z podstawowej klasy [[App_DocumentObject/pl|App: DocumentObject]] ''({{incode|App::DocumentObject}})'', dlatego posiada podstawowe właściwości tej ostatniej, takie jak {{PropertyData|Etykieta}} i {{PropertyData|Etykieta2}}.


The following are the specific properties available in the [[Property_editor|property editor]]. Hidden properties can be shown by using the {{MenuCommand|Show all}} command in the context menu of the [[Property_editor|property editor]].
to właściwości dostępne w [[Property_editor/pl|edytorze właściwości]]. Ukryte właściwości można wyświetlić za pomocą polecenia {{MenuCommand|Wyświetl wszystko}} w menu podręcznym [[Property_editor/pl|edytora właściwości]].


<span id="Data"></span>
<span id="Data"></span>
===Dane===
===Dane===


{{TitleProperty| Link}}
{{TitleProperty|Łącze}}


* {{PropertyData|Linked Object|XLink}}: it indicates the source object of the [[App_Link|App Link]]; this can be an entire object, or a subelement of it (vertex, edge, or face).
* {{PropertyData|Powiązane Obiekty|XLink}}: wskazuje obiekt źródłowy [[App_Link/pl|App: Łącze]]. Może to być cały obiekt lub jego element ''(wierzchołek, krawędź lub ściana)''.
* {{PropertyData|Link Transform|Bool}}: it defaults to {{FALSE}}, in which case the Link will override the {{PropertyData|Linked Object}}'s own placement. If it is set to {{TRUE}}, the Link will be placed in the same position as the {{PropertyData|Linked Object}}, and its placement will be relative to the {{PropertyData|Linked Object}}'s placement. This can also be achieved with {{Button|[[File:Std_LinkMakeRelative.svg|16px]] [[Std_LinkMakeRelative|Std LinkMakeRelative]]}}.
* {{PropertyData|Przekształcanie łączy|Bool}}: domyślnie ustawiona na wartość {{FALSE/pl}}, w którym to przypadku Łącze zastąpi własne położenie {{PropertyData|Powiązaniem Obiektu}}. Jeśli właściwość jest ustawiona na {{TRUE/pl}}, Łącze zostanie umieszczone w tej samej pozycji co {{PropertyData|Powiązane Obiekty}}, a jego położenie będzie względne w stosunku do położenia {{PropertyData|Powiązanych Obiektów}}. Można to również osiągnąć za pomocą narzędzia {{Button|[[File:Std_LinkMakeRelative.svg|16px]]. [[Std_LinkMakeRelative/pl|Utwórz łącze względne]]}}.
* {{PropertyData|Placement|Placement}}: the placement of the Link in absolute coordinates.
* {{PropertyData|Umiejscowienie|Placement}}: umiejscowienie odnośnika we współrzędnych bezwzględnych.
* {{PropertyData|Link Placement|Placement|Hidden}}: it is an offset applied on top of the {{PropertyData|Placement}} of the {{PropertyData|Linked Object}}. This property is normally hidden but appears if {{PropertyData|Link Transform}} is set to {{TRUE}}; in this case, {{PropertyData|Placement}} now becomes hidden.
* {{PropertyData|Umiejscowienie łącza|Placement|Ukryte}}: jest to przesunięcie nałożone na {{PropertyData|Umiejscowienie}} {{PropertyData|Powiązanego obiektu}}. Ta właściwość jest normalnie ukryta, ale pojawia się, jeśli właściwość {{PropertyData|Przekształcanie łączy}} jest ustawiona na wartość {{TRUE/pl}}. W tym przypadku właściwość {{PropertyData|Umiejscowienie}} staje się teraz ukryta.
* {{PropertyData|Show Element|Bool}}: it defaults to {{TRUE}}, in which case the [[tree_view|tree view]] will show the individual Link copies, as long as {{PropertyData|Element Count}} is {{Value|1}} or larger.
* {{PropertyData|Wyświetl element|Bool}}: właściwość domyślnie ustawiona na wartość {{TRUE/pl}}, w którym to przypadku [[Tree_view/pl|widok drzewa]] pokaże poszczególne kopie Łącza, tak długo jak właściwość {{PropertyData|Liczba elementów}} jest równa {{Value|1}} lub większa.
* {{PropertyData|Element Count|IntegerConstraint}}: it defaults to {{Value|0}}. If it is {{Value|1}} or larger, the [[App_Link|App Link]] will behave like an array, and will duplicate the same {{PropertyData|Linked Object}} many times. If {{PropertyData|Show Elements}} is {{TRUE}}, each element in the array will be displayed in the [[tree_view|tree view]], and each can have its own {{PropertyData|Placement}} modified. Each Link copy will have a name based on the Link's [[Object_name|Name]], augmented by {{incode|_iN}}, where {{incode|N}} is a number starting from {{incode|0}}. For example, with a single {{incode|Link}}, the copies will be named {{incode|Link_i0}}, {{incode|Link_i1}}, {{incode|Link_i2}}, etc.
* {{PropertyData|Liczba elementów|IntegerConstraint}}: domyślnie {{Value|0}}. Jeśli wartość wynosi {{Value|1}} lub jest większa, obiekt [[App_Link|App: Łącze]] będzie zachowywać się jak szyk i powieli ten sam {{PropertyData|Powiązany obiekt}} wiele razy. Jeśli właściwość{{PropertyData|Wyświetl element}} ma wartość {{TRUE/pl}}, każdy element w tablicy będzie wyświetlany w [[Tree_view/pl|Widoku drzewa]], a każdy z nich może mieć zmodyfikowane własne {{PropertyData|Umiejscowienie}}. Każda kopia Łącza będzie miała nazwę opartą na właściwości [[Object_name|Nazwa]] Łącza, powiększoną o {{incode|_iN}}, gdzie {{incode|N}} jest liczbą zaczynającą się od {{incode|0}}. Na przykład, z pojedynczym obiektem {{incode|Łącze}}, kopie będą miały nazwy {{incode|Link_i0}}, {{incode|Link_i1}}, {{incode|Link_i2}} itd.
* {{PropertyData|Link Execute|String}}: name of the execute function that will run for this particular Link object. It defaults to {{Value|'appLinkExecute'}}. Set it to {{Value|'None'}} to disable it.
* {{PropertyData|Link Execute|String}}: nazwa funkcji execute, która zostanie uruchomiona dla tego konkretnego obiektu Łącza. Domyślnie jest to {{Value|'appLinkExecute'}}. Ustaw na {{Value|'None'}}, aby wyłączyć.
* {{PropertyData|Colored Elements|LinkSubHidden|Hidden}}: list of Link elements that have had their color overriden.
* {{PropertyData|Colored Elements|LinkSubHidden|Ukryte}}: lista elementów Łącza, których kolor został nadpisany.
* {{PropertyData|Scale|Float}}: it defaults to {{Value|1.0}}. It is a factor for uniform scaling in each direction {{incode|X}}, {{incode|Y}}, and {{incode|Z}}. For example, a cube of {{Value|2 mm}} x {{Value|2 mm}} x {{Value|2 mm}}, that is scaled by {{Value|2.0}}, will result in a shape with dimensions {{Value|4 mm}} x {{Value|4 mm}} x {{Value|4 mm}}.
* {{PropertyData|Skala|Float}}: domyślnie przyjmuje wartość {{Value|1.0}}. Jest to współczynnik równomiernego skalowania w każdym kierunku {{incode|X}}, {{incode|Y}} i {{incode|Z}}. Na przykład, sześcian o wymiarach {{Value|2 mm}} x {{Value|2 mm}} x {{Value|2 mm}}, który jest skalowany przez {{Value|2.0}}, da w wyniku kształt o wymiarach {{Value|4 mm}} x {{Value|4 mm}} x {{Value|4 mm}}.
* {{PropertyData|Scale Vector|Vector|Hidden}}: the scale factor for each component {{incode|(X, Y, Z)}} for all Link elements when {{PropertyData|Element Count}} is {{Value|1}} or larger. If {{PropertyData|Scale}} is other than {{Value|1.0}}, this same value will be used in the three components.
* {{PropertyData|Wektor skali|Vector|Ukryte}}: współczynnik skali dla każdego elementu {{incode|(X, Y, Z)}} dla wszystkich elementów Łącza, gdy właściwość {{PropertyData|Liczba elementów}} ma wartość {{Value|1}} lub większą. Jeśli {{PropertyData|Skala}} ma wartość inną niż {{Value|1.0}}, ta sama wartość zostanie użyta w trzech komponentach.
* {{PropertyData|Scale List|VectorList}}: the scale factor for each Link element.
* {{PropertyData|Lista skali|VectorList}}: współczynnik skali dla każdego elementu Łącza.
* {{PropertyData|Visibility List|BoolList|Hidden}}: {{emphasis|(read-only)}} the visibility state of each Link element, either {{TRUE}} or {{FALSE}}.
* {{PropertyData|Lista wyświetlania|BoolList|Ukryte}}: {{emphasis|(tylko do odczytu)}} stan widoczności każdego elementu Łącza, każdy element przyjmuje wartości albo {{TRUE/pl}} albo {{FALSE/pl}}.
* {{PropertyData|Placement List|PlacementList|Hidden}}: {{emphasis|(read-only)}} the placement for each Link element.
* {{PropertyData|Lista umiejscowienia|PlacementList|Ukryte}}: {{emphasis|(tylko do odczytu)}} the placement for each Link element.
* {{PropertyData|Element List|LinkList|Hidden}}: the list of Link elements.
* {{PropertyData|Lista elementów|LinkList|Ukryte}}: lista elementów Łącza.
* {{PropertyData|_LinkTouched|Bool|Hidden}}:
* {{PropertyData|_LinkTouched|Bool|Ukryte}}:
* {{PropertyData|_ChildCache|LinkList|Hidden}}:
* {{PropertyData|_ChildCache|LinkList|Ukryte}}:


{{TitleProperty|Podstawowe}}
{{TitleProperty|Podstawa}}


* {{PropertyView|Proxy|PythonObject|Ukryte}}: klasa własna związana z tym obiektem. Istnieje wyłącznie dla wersji środowiska [[Python/pl|Python]]. Zobacz sekcję [[#Tworzenie_skrypt.C3.B3w|tworzenie skryptów]].
* {{PropertyView|Proxy|PythonObject|Ukryte}}: klasa własna związana z tym obiektem. Istnieje wyłącznie dla wersji środowiska [[Python/pl|Python]]. Zobacz sekcję [[#Tworzenie_skrypt.C3.B3w|tworzenie skryptów]].


The [[App_Link|App Link]] object will additionally show the properties of the original {{PropertyData|Linked Object}}, so the [[property_editor|property editor]] may have groups of properties like {{TitleProperty|Attachment}}, {{TitleProperty|Box}}, {{TitleProperty|Draft}}, etc.
Obiekt [[App_Link/pl|App: Łącze]] będzie dodatkowo pokazywał właściwości oryginalnego {{PropertyData|Powiązanego obiektu}}, więc [[Property_editor/pl|edytor właściwości]] może mieć grupy właściwości takie jak {{TitleProperty|Dołączenie}}, {{TitleProperty|Sześcian}}, {{TitleProperty|Draft}}, itd.


<span id="View"></span>
<span id="View"></span>
===Widok===
===Widok===


{{TitleProperty| Link}}
{{TitleProperty|Łącze}}


* {{PropertyView|Draw Style|Enumeration}}: it defaults to {{Value|None}}; it can be {{value|Solid}}, {{value|Dashed}}, {{value|Dotted}}, {{value|Dashdot}}; defines the style of the edges in the [[3D_view|3D view]].
* {{PropertyView|Styl kreślenia|Enumeration}}: domyślnie {{Value|Brak}}. Może przyjąć wartości {{value|Pełna}}, {{value|Kreskowana}}, {{value|Kropkowana}}, {{value|Kreska Kropka}}. Definiuje styl krawędzi w oknie [[3D_view/pl|widoku 3D]].
* {{PropertyView|Line Width|FloatConstraint}}: a float that determines the width in pixels of the edges in the [[3D_view|3D view]]. It defaults to {{value|2.0}}.
* {{PropertyView|Szerokość linii|FloatConstraint}}: wartość zmiennoprzecinkowa określająca szerokość w pikselach krawędzi w oknie [[3D_view/pl|widoku 3D]]. Domyślnie {{value|2.0}}.
* {{PropertyView|Override Material|Bool}}: it defaults to {{FALSE}}; if set to {{TRUE}} it will override the {{PropertyData|Linked Object}}'s material, and it will display the colors defined in {{PropertyView|Shape Material}}.
* {{PropertyView|Zastępuj materiał|Bool}}: wartość domyślna to {{FALSE/pl}}. Jeśli zostanie ustawiona na {{TRUE/pl}}, zastąpi materiał {{PropertyData|Połączonego Obiektu}} i wyświetli kolory zdefiniowane w właściwości {{PropertyView|Materiał kształtu}}.
* {{PropertyView|Point Size|FloatConstraint}}: similar to {{PropertyView|Line Width}}, defines the size of the vertices.
* {{PropertyView|Rozmiar punktu|FloatConstraint}}: podobnie jak {{PropertyView|Szerokość linii}}, definiuje rozmiar wierzchołków.
* {{PropertyView|Selectable|Bool}}: if it is {{TRUE}}, the object can be picked with the pointer in the [[3D_view|3D view]]. Otherwise, the object cannot be selected until this option is set to {{TRUE}}.
* {{PropertyView|Wybieralność|Bool}}: jeśli przyjmie wartość {{TRUE/pl}}, obiekt może zostać wybrany w oknie [[3D_view/pl|widoku 3D]] za pomocą kursora. W przeciwnym razie obiekt nie może zostać wybrany, dopóki wartość tej opcji nie zostanie ustawiona na {{TRUE/pl}}.


* {{PropertyView|Shape Material|Material}}: this property includes sub-properties that describe the appearance of the object.
* {{PropertyView|Materiał kształtu|Material}}: Ta właściwość zawiera właściwości podrzędne, które opisują wygląd obiektu.
** {{PropertyView|Diffuse Color}}, it defaults to {{value|(0.4, 1.0, 1.0)}}, which is displayed as {{value|[102, 255, 255]}} on base 255, <span style="background-color:#6ff; color:#222; width:3em; height:12pt; padding: 2px 1em 2px;"> light blue </span>.
** {{PropertyView|Barwa rozproszenia}}, domyślnie {{value|(0.4, 1.0, 1.0)}}, co jest wyświetlane jako {{value|[102, 255, 255]}} na bazie 255, <span style="background-color:#6ff; color:#222; width:3em; height:12pt; padding: 2px 1em 2px;"> light blue </span>.
** {{PropertyView|Ambient Color}}, it defaults to {{value|(0.2, 0.2, 0.2)}}, which is displayed as {{value|[51, 51, 51]}} on base 255, <span style="background-color:#333; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> dark gray </span>.
** {{PropertyView|Barwa otoczenia}}, wartość domyślna to {{value|(0.2, 0.2, 0.2)}}, co jest wyświetlane jako {{value|[51, 51, 51]}} na bazie 255, <span style="background-color:#333; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> dark gray </span>.
** {{PropertyView|Specular Color}}, it defaults to {{value|(0.0, 0.0, 0.0)}}, which is displayed as {{value|[0, 0, 0]}} on base 255, <span style="background-color:#000; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> black </span>.
** {{PropertyView|Barwa odbicia}}, wartość domyślna to {{value|(0.0, 0.0, 0.0)}}, co jest wyświetlane jako {{value|[0, 0, 0]}} ona bazie 255, <span style="background-color:#000; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> black </span>.
** {{PropertyView|Emissive Color}}, it defaults to {{value|(0.0, 0.0, 0.0)}}, which is displayed as {{value|[0, 0, 0]}} on base 255, <span style="background-color:#000; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> black </span>.
** {{PropertyView|Kolor emisji}}, wartość domyślna to {{value|(0.0, 0.0, 0.0)}}, co jest wyświetlane jako {{value|[0, 0, 0]}} na bazie 255, <span style="background-color:#000; color:#eee; width:3em; height:12pt; padding: 2px 1em 2px;"> black </span>.
** {{PropertyView|Shininess}}, it defaults to {{Value|0.2}}
** {{PropertyView|Stopień połysku}}, wartość domyślna to {{Value|0.2}}
** {{PropertyView|Transparency}}, it defaults to {{Value|0.0}}.
** {{PropertyView|Przezroczystość}}, wartość domyślna to {{Value|0.0}}.


{{TitleProperty|Podstawowe}}
{{TitleProperty|Podstawa}}


* {{PropertyView|Child View Provider|PersistentObject|Hidden}}:
* {{PropertyView|Child View Provider|PersistentObject|Ukryte}}:
* {{PropertyView|Material List|MaterialList|Hidden}}: {{Emphasis|(read-only)}} if individual materials have been added, they will be listed here.
* {{PropertyView|Material List|MaterialList|Ukryte}}: {{Emphasis|(tylko do odczytu)}} jeśli poszczególne materiały zostały dodane, będą one wymienione tutaj.
* {{PropertyView|Override Color List|ColorList|Hidden}}: {{Emphasis|(read-only)}} if the individual faces or edges of the link have been overridden they will be listed here.
* {{PropertyView|Override Color List|ColorList|Ukryte}}: {{Emphasis|(tylko do odczytu)}} jeśli poszczególne ściany lub krawędzie łącza zostały nadpisane, zostaną one wymienione tutaj.
* {{PropertyView|Override Material List|BoolList|Hidden}}: {{Emphasis|(read-only)}} if the individual materials of the link have been overridden they will be listed here.
* {{PropertyView|Override Material List|BoolList|Ukryte}}: {{Emphasis|(tylko do odczytu)}} jeśli poszczególne materiały Łącza zostały nadpisane, zostaną one wymienione tutaj.


{{TitleProperty|Opcje wyświetlania}}
{{TitleProperty|Opcje wyświetlania}}


* {{PropertyView|Display Mode|Enumeration}}: {{Value|'Link'}} or {{Value|'ChildView'}}.
* {{PropertyView|Tryb wyświetlania|Enumeration}}: przyjmuję wartości {{Value|'Link'}} lub {{Value|'ChildView'}}.
* {{PropertyView|Show In Tree|Bool}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Wyświetl w Drzewie|Bool}}: zobacz informacje na stronie [[App_FeaturePython/pl|Właściwości Python]].
* {{PropertyView|Visibility|Bool}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Widoczność|Bool}}: zobacz informacje na stronie [[App_FeaturePython/pl|Właściwości Python]].


{{TitleProperty|Wybieranie}}
{{TitleProperty|Wybieranie}}


* {{PropertyView|On Top When Selected|Enumeration}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Na wierzchu po zaznaczeniu|Enumeration}}: zobacz informacje na stronie [[App_FeaturePython/pl|Właściwości Python]].
* {{PropertyView|Selection Style|Enumeration}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Styl zaznaczenia|Enumeration}}: zobacz informacje na stronie [[App_FeaturePython/pl|Właściwości Python]].


It will additionally show the view properties of the original {{PropertyData|Linked Object}}.
Dodatkowo wyświetli właściwości widoku oryginalnego {{PropertyData|Powiązanego obiektu}}.


<span id="Inheritance"></span>
<span id="Inheritance"></span>
==Dziedziczenie==
==Dziedziczenie==


An [[App_Link|App Link]] is formally an instance of the class {{incode|App::Link}}, whose parent is the basic [[App_DocumentObject|App DocumentObject]] ({{incode|App::DocumentObject}} class). It is a very low level object, which can be used with most other document objects.
Obiekt [[App_Link/pl|App: Łącze]] jest formalnie instancją klasy {{incode|App::Link}}, której rodzicem jest podstawowy [[App_DocumentObject/pl|App: DocumentObject]] ''(klasa {{incode|App::DocumentObject}})''. Jest to obiekt bardzo niskiego poziomu, który może być używany z większością innych obiektów dokumentów.


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Uproszczony schemat zależności pomiędzy głównymi obiektami w programie. Obiekt {{incode|App::Link}} jest głównym składnikiem systemu, nie zależy on od żadnego środowiska pracy, a może być użyty z większością obiektów stworzonych we wszystkich środowiskach pracy.}}
{{Caption|Simplified diagram of the relationships between the core objects in the program. The {{incode|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.}}


<span id="Scripting"></span>
<span id="Scripting"></span>
==Tworzenie skryptów==
==Tworzenie skryptów==


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]], and [[scripted_objects|scripted objects]].
{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|Podstawy tworzenia skryptów FreeCAD]], oraz [[Scripted_objects/pl|Obiekty skryptowe]].


See [[Part_Feature|Part Feature]] for the general information.
Zapoznaj się z artykułem [[Part_Feature/pl|Część: Cecha]], aby uzyskać ogólne informacje.


An App Link is created with the {{incode|addObject()}} method of the document. It can define its {{PropertyData|Linked Object}} by overriding its {{incode|LinkedObject}} attribute, or by using its {{incode|setLink}} method.
Obiekt App Łącze jest tworzony za pomocą metody {{incode|addObject()}} dokumentu. Może on zdefiniować swój {{PropertyData|Połączony obiekt}} poprzez nadpisanie atrybutu {{incode|LinkedObject}} lub poprzez użycie metody {{incode|setLink}}.
{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 269: Line 270:
}}
}}


The basic {{incode|App::Link}} doesn't have a Proxy object so it can't be fully used for sub-classing.
Podstawowy {{incode|App::Link}} nie ma obiektu Proxy, więc nie może być w pełni wykorzystany do tworzenia klas podrzędnych.


Therefore, for [[Python|Python]] subclassing, you should create the {{incode|App::LinkPython}} object.
Dlatego też, dla klasy podrzędnej [[Python/pl|Python]], powinieneś stworzyć obiekt {{incode|App::LinkPython}}.


{{Code|code=
{{Code|code=
Line 284: Line 285:
==Dodatkowe informacje==
==Dodatkowe informacje==


The [[App_Link|App Link]] object was introduced after 2 years of development and prototyping. This component was thought and developed almost single-handedly by user {{Emphasis|realthunder}}. The motivations and design implementations behind this project are described in his GitHub page, [https://github.com/realthunder/FreeCAD_assembly3/wiki/Link Link]. In order to accomplish this feature, several core changes to FreeCAD were made; these were also extensively documented in [https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes Core-Changes].
Obiekt [[App_Link/pl|App Łącze]] został wprowadzony po 2 latach rozwoju i prototypowania. Komponent ten został wymyślony i opracowany niemal samodzielnie przez użytkownika {{Emphasis|realthunder}}. Motywacje i implementacje stojące za tym projektem zostały opisane na jego stronie GitHub, [https://github.com/realthunder/FreeCAD_assembly3/wiki/Link Link]. Aby wdrożyć funkcję, wprowadzono kilka podstawowych zmian w programie FreeCAD. Zostały one również obszernie udokumentowane w artykule [https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes Core-Changes].


Projekt związany z App Łącze rozpoczął się po tym, jak przeprojektowanie środowiska pracy [[PartDesign_Workbench/pl|Projekt Części]] zostało ukończone w wersji 0.17. Historię App Łącze można prześledzić w kilku istotnych wątkach na forum:
The App Link project started after the redesign of the [[PartDesign Workbench|PartDesign Workbench]] was complete in v0.17. The history of App Link can be traced to some essential forum threads:
* [https://forum.freecadweb.org/viewtopic.php?f=19&t=21505 Why an object can only be inside one App::Part?] (March 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=19&t=21505 Dlaczego obiekt może znajdować się tylko w jednym App::Part?] ''(marzec 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=21586 Introducing App::Link/XLink] (March 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=21586 Wprowadzenie App::Link/XLink] ''(marzec 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=22216 Links] (May 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=22216 Linki] ''(maj 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=23015 Realthunder Link implementation: Architecture discussion] (June 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=23015 Implementacja Realthunder Link: Dyskusja o architekturze] ''(czerwiec 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23419 PR #876: Link, stage one, context aware selection] (July 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23419 PR #876: Link, etap pierwszy, wybór świadomy kontekstu] ''(lipiec 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23626 Preview: Link, stage two, API groundwork] (July 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=23626 Preview: Link, etap drugi, podstawy API] ''(lipiec 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=25712 Assembly3 preview] (December 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=25712 Podgląd Assembly3] ''(grudzień 2017)''
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=29542 Merging of my Link branch] (June 2018)
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=29542 Scalanie mojej gałęzi Link] ''(czerwiec 2018)''


Finally, the pull request and merge happened:
W końcu nastąpiło zgłoszenie pull request i scalenie:
* [https://forum.freecadweb.org/viewtopic.php?f=27&t=38621 App::Link: the big merge], old thread (July 2019), [https://github.com/FreeCAD/FreeCAD/pull/2350 pull request #2350] (the BIG merge), [https://github.com/realthunder/FreeCAD/tree/LinkMerge LinkMerge branch].
* [https://forum.freecadweb.org/viewtopic.php?f=27&t=38621 App::Link: the big merge], stary wątek (lipiec 2019), [https://github.com/FreeCAD/FreeCAD/pull/2350 pull request #2350] (the BIG merge), [https://github.com/realthunder/FreeCAD/tree/LinkMerge LinkMerge branch].
* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37757 App::Link: the big merge], main thread (July 2019)
* [https://forum.freecadweb.org/viewtopic.php?f=8&t=37757 App::Link: the big merge], główny wątek (lipiec 2019)
* [https://forum.freecadweb.org/viewtopic.php?p=329054#p329054 A simple path description of Link, 019, Link stage, Asm3, merge?] (August 2019)
* [https://forum.freecadweb.org/viewtopic.php?p=329054#p329054 Prosty opis ścieżki Link, 019, Link stage, Asm3, merge?] (sierpień 2019)
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=39672 PR#2559: expose link and navigation actions], an introduction to the Link feature in 0.19 (September 2019).
* [https://forum.freecadweb.org/viewtopic.php?f=17&t=39672 PR#2559: ujawnienie linków i akcji nawigacyjnych], wprowadzenie do funkcji Link w wersji 0.19 (wrzesień 2019).


Inne różne "odnośniki internetowe" dotyczące Łącza obejmują:
Other miscellaneous "links" about Link include:
* [[Dynamic_linked_object|Obiekty łączone dynamicznie]] - Wzorzec z Łączem i złożeniami, który ma na celu zmniejszenie duplikacji logiki związanej ze złożeniem, takiej jak orientacja, pozycjonowanie lub liczba instancji.
* [[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.





Latest revision as of 16:38, 29 November 2023

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.

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

(1) Oryginalny obiekt, (2) obiekt Łącza z nadrzędnym materiałem i (3) drugi obiekt Łącza ze zmodyfikowanymi poszczególnymi elementami podrzędnymi.

Szyk łączy

Zobacz również: Szyk ortogonalny.

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

Biorąc pod uwagę, że wartość DANEWyświetl element jest domyślnie ustawiona na true, gdy DANELiczba elementów jest ustawiona na 1 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 DANEUmiejscowienie.

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

(1) Oryginalny obiekt i (2, 3, 4) szyk Łączy z trzema elementami, każdy w innej pozycji. Pierwszy obiekt Łącza ma nadpisany materiał i przezroczyste ściany, a dwa pozostałe mają niestandardowe kolory ścian.

Gdy jesteś zadowolony z rozmieszczenia i właściwości elementów Łącza w szyku, możesz zmienić wartość właściwości DANEWyświetl element na FAŁSZ, 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 Szyk ortogonalny, Szyk biegunowy, oraz Szyk kołowy. Polecenia te mogą tworzyć normalne kopie lub kopie Łącz w zależności od opcji w czasie tworzenia.

Widoczność

Gdy właściwość DANEWyświetl element ma wartość true, 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 Spacja na klawiaturze.

Innym sposobem na ukrycie poszczególnych elementów jest użycie menu Zastąp kolory ....

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

Okno dialogowe koloru elementu dostępne po otwarciu menu kontekstowego obiektu Łącze w Widoku drzewa.

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

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

Obiekt Część zawierający trzy obiekty i Łącze do tej części. W Łączu (1) pierwszy obiekt jest niewidoczny, (2) drugi obiekt ma kilka elementów podrzędnych o różnych kolorach, (3) cały trzeci obiekt ma inny kolor i poziom przezroczystości.

Właściwości

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

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 Wyświetl wszystko w menu podręcznym edytora właściwości.

Dane

Łącze

  • DANEPowiązane Obiekty (XLink): wskazuje obiekt źródłowy App: Łącze. Może to być cały obiekt lub jego element (wierzchołek, krawędź lub ściana).
  • DANEPrzekształcanie łączy (Bool): domyślnie ustawiona na wartość FAŁSZ, w którym to przypadku Łącze zastąpi własne położenie DANEPowiązaniem Obiektu. Jeśli właściwość jest ustawiona na PRAWDA, Łącze zostanie umieszczone w tej samej pozycji co DANEPowiązane Obiekty, a jego położenie będzie względne w stosunku do położenia DANEPowiązanych Obiektów. Można to również osiągnąć za pomocą narzędzia . Utwórz łącze względne.
  • DANEUmiejscowienie (Placement): umiejscowienie odnośnika we współrzędnych bezwzględnych.
  • DANE (Ukryte)Umiejscowienie łącza (Placement): jest to przesunięcie nałożone na DANEUmiejscowienie DANEPowiązanego obiektu. Ta właściwość jest normalnie ukryta, ale pojawia się, jeśli właściwość DANEPrzekształcanie łączy jest ustawiona na wartość PRAWDA. W tym przypadku właściwość DANEUmiejscowienie staje się teraz ukryta.
  • DANEWyświetl element (Bool): właściwość domyślnie ustawiona na wartość PRAWDA, w którym to przypadku widok drzewa pokaże poszczególne kopie Łącza, tak długo jak właściwość DANELiczba elementów jest równa 1 lub większa.
  • DANELiczba elementów (IntegerConstraint): domyślnie 0. Jeśli wartość wynosi 1 lub jest większa, obiekt App: Łącze będzie zachowywać się jak szyk i powieli ten sam DANEPowiązany obiekt wiele razy. Jeśli właściwośćDANEWyświetl element ma wartość PRAWDA, każdy element w tablicy będzie wyświetlany w Widoku drzewa, a każdy z nich może mieć zmodyfikowane własne DANEUmiejscowienie. Każda kopia Łącza będzie miała nazwę opartą na właściwości Nazwa Łącza, powiększoną o _iN, gdzie N jest liczbą zaczynającą się od 0. Na przykład, z pojedynczym obiektem Łącze, kopie będą miały nazwy Link_i0, Link_i1, Link_i2 itd.
  • DANELink Execute (String): nazwa funkcji execute, która zostanie uruchomiona dla tego konkretnego obiektu Łącza. Domyślnie jest to 'appLinkExecute'. Ustaw ją na 'None', aby ją wyłączyć.
  • DANE (Ukryte)Colored Elements (LinkSubHidden): lista elementów Łącza, których kolor został nadpisany.
  • DANESkala (Float): domyślnie przyjmuje wartość 1.0. Jest to współczynnik równomiernego skalowania w każdym kierunku X, Y i Z. Na przykład, sześcian o wymiarach 2 mm x 2 mm x 2 mm, który jest skalowany przez 2.0, da w wyniku kształt o wymiarach 4 mm x 4 mm x 4 mm.
  • DANE (Ukryte)Wektor skali (Vector): współczynnik skali dla każdego elementu (X, Y, Z) dla wszystkich elementów Łącza, gdy właściwość DANELiczba elementów ma wartość 1 lub większą. Jeśli DANESkala ma wartość inną niż 1.0, ta sama wartość zostanie użyta w trzech komponentach.
  • DANELista skali (VectorList): współczynnik skali dla każdego elementu Łącza.
  • DANE (Ukryte)Lista wyświetlania (BoolList): (tylko do odczytu) stan widoczności każdego elementu Łącza, każdy element przyjmuje wartości albo PRAWDA albo FAŁSZ.
  • DANE (Ukryte)Lista umiejscowienia (PlacementList): (tylko do odczytu) the placement for each Link element.
  • DANE (Ukryte)Lista elementów (LinkList): lista elementów Łącza.
  • DANE (Ukryte)_LinkTouched (Bool):
  • DANE (Ukryte)_ChildCache (LinkList):

Podstawa

  • WIDOK (Ukryte)Proxy (PythonObject): 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 DANEPowiązanego obiektu, więc edytor właściwości może mieć grupy właściwości takie jak Dołączenie, Sześcian, Draft, itd.

Widok

Łącze

  • WIDOKStyl kreślenia (Enumeration): domyślnie Brak. Może przyjąć wartości Pełna, Kreskowana, Kropkowana, Kreska Kropka. Definiuje styl krawędzi w oknie widoku 3D.
  • WIDOKSzerokość linii (FloatConstraint): wartość zmiennoprzecinkowa określająca szerokość w pikselach krawędzi w oknie widoku 3D. Domyślnie 2.0.
  • WIDOKZastępuj materiał (Bool): wartość domyślna to FAŁSZ. Jeśli zostanie ustawiona na PRAWDA, zastąpi materiał DANEPołączonego Obiektu i wyświetli kolory zdefiniowane w właściwości WIDOKMateriał kształtu.
  • WIDOKRozmiar punktu (FloatConstraint): podobnie jak WIDOKSzerokość linii, definiuje rozmiar wierzchołków.
  • WIDOKWybieralność (Bool): jeśli przyjmie wartość PRAWDA, obiekt może zostać wybrany w oknie widoku 3D za pomocą kursora. W przeciwnym razie obiekt nie może zostać wybrany, dopóki wartość tej opcji nie zostanie ustawiona na PRAWDA.
  • WIDOKMateriał kształtu (Material): Ta właściwość zawiera właściwości podrzędne, które opisują wygląd obiektu.
    • WIDOKBarwa rozproszenia, domyślnie (0.4, 1.0, 1.0), co jest wyświetlane jako [102, 255, 255] na bazie 255, light blue .
    • WIDOKBarwa otoczenia, wartość domyślna to (0.2, 0.2, 0.2), co jest wyświetlane jako [51, 51, 51] na bazie 255, dark gray .
    • WIDOKBarwa odbicia, wartość domyślna to (0.0, 0.0, 0.0), co jest wyświetlane jako [0, 0, 0] ona bazie 255, black .
    • WIDOKKolor emisji, wartość domyślna to (0.0, 0.0, 0.0), co jest wyświetlane jako [0, 0, 0] na bazie 255, black .
    • WIDOKStopień połysku, wartość domyślna to 0.2
    • WIDOKPrzezroczystość, wartość domyślna to 0.0.

Podstawa

  • WIDOK (Ukryte)Child View Provider (PersistentObject):
  • WIDOK (Ukryte)Material List (MaterialList): (tylko do odczytu) jeśli poszczególne materiały zostały dodane, będą one wymienione tutaj.
  • WIDOK (Ukryte)Override Color List (ColorList): (tylko do odczytu) jeśli poszczególne ściany lub krawędzie łącza zostały nadpisane, zostaną one wymienione tutaj.
  • WIDOK (Ukryte)Override Material List (BoolList): (tylko do odczytu) jeśli poszczególne materiały Łącza zostały nadpisane, zostaną one wymienione tutaj.

Opcje wyświetlania

  • WIDOKTryb wyświetlania (Enumeration): przyjmuję wartości 'Link' lub 'ChildView'.
  • WIDOKWyświetl w Drzewie (Bool): zobacz informacje na stronie Właściwości Python.
  • WIDOKWidoczność (Bool): zobacz informacje na stronie Właściwości Python.

Wybieranie

Dodatkowo wyświetli właściwości widoku oryginalnego DANEPowiązanego obiektu.

Dziedziczenie

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

Uproszczony schemat zależności pomiędzy głównymi obiektami w programie. Obiekt App::Link jest głównym składnikiem systemu, nie zależy on od żadnego środowiska pracy, a może być użyty z większością obiektów stworzonych we wszystkich środowiskach pracy.

Tworzenie skryptów

Zobacz również: Podstawy tworzenia skryptów FreeCAD, oraz Obiekty skryptowe.

Zapoznaj się z artykułem Część: Cecha, aby uzyskać ogólne informacje.

Obiekt App Łącze jest tworzony za pomocą metody addObject() dokumentu. Może on zdefiniować swój DANEPołączony obiekt poprzez nadpisanie atrybutu LinkedObject lub poprzez użycie metody setLink.

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()

Podstawowy App::Link nie ma obiektu Proxy, więc nie może być w pełni wykorzystany do tworzenia klas podrzędnych.

Dlatego też, dla klasy podrzędnej Python, powinieneś stworzyć obiekt App::LinkPython.

import FreeCAD as App

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

Dodatkowe informacje

Obiekt App Łącze został wprowadzony po 2 latach rozwoju i prototypowania. Komponent ten został wymyślony i opracowany niemal samodzielnie przez użytkownika realthunder. Motywacje i implementacje stojące za tym projektem zostały opisane na jego stronie GitHub, Link. Aby wdrożyć tę funkcję, wprowadzono kilka podstawowych zmian w programie FreeCAD. Zostały one również obszernie udokumentowane w artykule Core-Changes.

Projekt związany z App Łącze rozpoczął się po tym, jak przeprojektowanie środowiska pracy Projekt Części zostało ukończone w wersji 0.17. Historię App Łącze można prześledzić w kilku istotnych wątkach na forum:

W końcu nastąpiło zgłoszenie pull request i scalenie:

Inne różne "odnośniki internetowe" dotyczące Łącza obejmują:

  • Obiekty łączone dynamicznie - Wzorzec z Łączem i złożeniami, który ma na celu zmniejszenie duplikacji logiki związanej ze złożeniem, takiej jak orientacja, pozycjonowanie lub liczba instancji.