Std LinkMake/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "Altri "link" vari su Link includono: * Dynamic linked object - Un pattern con Link e assembly che mira a ridurre la duplicazione della logica correlata all'assembly come l'orientamento, il posizionamento o il numero di istanze.")
 
(75 intermediate revisions by 5 users not shown)
Line 4: Line 4:
|[[Std_Group/it|Gruppo]]
|[[Std_Group/it|Gruppo]]
|[[Std_LinkMakeRelative/it|Crea un link relativo]]
|[[Std_LinkMakeRelative/it|Crea un link relativo]]
|[[Std_Base/it|Base standard]]
|[[Std_Base/it|Menu di Base]]
|IconL=Std_Group.svg
|IconL=Std_Group.svg
|IconR=Std_LinkMakeRelative.svg
|IconR=Std_LinkMakeRelative.svg
Line 16: Line 16:
|Workbenches=Tutti
|Workbenches=Tutti
|Version=0.19
|Version=0.19
|SeeAlso=[[Std_Part/it|Parte standard]], [[Std_Group/it|Gruppo standard]], [[PartDesign_Body/it|Corpo di PartDesign]]
|SeeAlso=[[Std_Part/it|Parte]], [[Std_Group/it|Gruppo]], [[PartDesign_Body/it|Corpo di PartDesign]]
}}
}}


<span id="Description"></span>
==Descrizione==
==Descrizione==


Line 25: Line 26:
L'oggetto [[App_Link/it|App Link]] è stato introdotto di recente nella versione 0.19; in passato, si poteva ottenere una semplice duplicazione di oggetti con {{Button|[[File:Draft_Clone.svg|16px]] [[Draft_Clone/it|Clona]]}} di Draft, ma questa è una soluzione meno efficiente a causa della sua implementazione che essenzialmente crea una copia della [[Part_TopoShape/it|Forma (Shape)]] interna dell'oggetto sorgente. Invece, un link fa riferimento direttamente alla forma originale, quindi è più efficiente in termini di memoria.
L'oggetto [[App_Link/it|App Link]] è stato introdotto di recente nella versione 0.19; in passato, si poteva ottenere una semplice duplicazione di oggetti con {{Button|[[File:Draft_Clone.svg|16px]] [[Draft_Clone/it|Clona]]}} di Draft, ma questa è una soluzione meno efficiente a causa della sua implementazione che essenzialmente crea una copia della [[Part_TopoShape/it|Forma (Shape)]] interna dell'oggetto sorgente. Invece, un link fa riferimento direttamente alla forma originale, quindi è più efficiente in termini di memoria.


Di per sé l'oggetto [[App_Link/it|Link]] può comportarsi come un array, duplicando più volte il suo oggetto base; questo può essere fatto impostando la sua proprietà {{PropertyData|Element Count}} su {{Value|1}} o più grande. Questo oggetto "[[Std_LinkMake/it#Link_Array|Link_Array]]" può essere creato anche con i diversi strumenti dell'array [[File:Workbench_Draft.svg|24px]] [[Draft_Module/it|Ambiente Draft]], per esempio, {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/it|Draft Serie ortogonale]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/it|Draft Serie polare]]}}, and {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/it|Draft Serie circolare]]}}.
Di per sé l'oggetto [[App_Link/it|Link]] può comportarsi come una serie (array), duplicando più volte il suo oggetto base; questo può essere fatto impostando la sua proprietà {{PropertyData|Element Count}} su {{Value|1}} o più grande. Questo oggetto "[[Std_LinkMake/it#Link_Array|Link_Array]]" può essere creato anche con i diversi strumenti dell'array [[File:Workbench_Draft.svg|24px]] [[Draft_Workbench/it|Ambiente Draft]], per esempio, {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/it|Draft Serie ortogonale]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/it|Draft Serie polare]]}}, and {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/it|Draft Serie circolare]]}}.


Quando si lavora con l'[[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench/it|Ambiente Part Design]], i link sono destinati ad essere utilizzati con i {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/it|Corpo di Part Design]]}}, quindi si consiglia di impostare la modalità {{PropertyView/it|Display Mode Body}} su {{Value|Tip}} per selezionare le caratteristiche dell'intero corpo, e non le singole caratteristiche.
Quando si lavora con l'[[File:Workbench_PartDesign.svg|24px]] [[PartDesign_Workbench/it|Ambiente Part Design]], i link sono destinati ad essere utilizzati con i {{Button|[[File:PartDesign_Body.svg|16px]] [[PartDesign_Body/it|Corpo di Part Design]]}}, quindi si consiglia di impostare la modalità {{PropertyView/it|Display Mode Body}} su {{Value|Tip}} per selezionare le caratteristiche dell'intero corpo, e non le singole caratteristiche.
Per creare array di elementi interni [[PartDesign_Feature/it|Funzioni di PartDesign]], utilizzare {{Button|[[File:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/it|PartDesign Serie lineare]]}}, {{Button|[[File:PartDesign_PolarPattern.svg|16px]] [[PartDesign_PolarPattern/it|PartDesign Serie polare]]}}, e {{Button|[[File:PartDesign_MultiTransform.svg|16px]] [[PartDesign_MultiTransform/it|PartDesign Multitransformazione]]}}.
Per creare array di elementi interni [[PartDesign_Feature/it|Funzioni di PartDesign]], utilizzare {{Button|[[File:PartDesign_LinearPattern.svg|16px]] [[PartDesign_LinearPattern/it|PartDesign Serie lineare]]}}, {{Button|[[File:PartDesign_PolarPattern.svg|16px]] [[PartDesign_PolarPattern/it|PartDesign Serie polare]]}}, e {{Button|[[File:PartDesign_MultiTransform.svg|16px]] [[PartDesign_MultiTransform/it|PartDesign Multitransformazione]]}}.


Lo strumento {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} non è definito da un particolare banco di lavoro, ma dal sistema di base, quindi si trova nella {{MenuCommand|Struttura della barra degli strumenti}} che è disponibile in tutti gli [[Workbenches/it|ambienti di lavoro]]. L'oggetto Link, usato insieme a {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte standard]]}} per raggruppare vari oggetti, costituisce la base di [[File:Assembly3_workbench_icon.svg|24px]] [[Assembly3_Workbench/it|Assembly3]] e [[File:Assembly4_workbench_icon.svg|24px]] [[Assembly4_Workbench/it|Assembly4 Workbenches]].
Lo strumento {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} non è definito da un particolare banco di lavoro, ma dal sistema di base, quindi si trova nella {{MenuCommand|Struttura della barra degli strumenti}} che è disponibile in tutti gli [[Workbenches/it|ambienti di lavoro]]. L'oggetto Link, usato insieme a {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}} per raggruppare vari oggetti, costituisce la base di [[File:Assembly3_workbench_icon.svg|24px]] [[Assembly3_Workbench/it|Assembly3]] e [[File:Assembly4_workbench_icon.svg|24px]] [[Assembly4_Workbench/it|Assembly4 Workbenches]].


<span id="Usage"></span>
== Utilizzo ==
== Utilizzo ==


Line 47: Line 49:
{{Caption|(1) Un oggetto, (2) Un Link vuoto, (3) un Link completo del primo oggetto (con materiale di rivestimento), (4) un collegamento solo ad alcuni sottoelementi dell'oggetto. Il Link vuoto non è legato all'oggetto reale, quindi non viene visualizzato nella [[3D_view/it|vista 3D]].}}
{{Caption|(1) Un oggetto, (2) Un Link vuoto, (3) un Link completo del primo oggetto (con materiale di rivestimento), (4) un collegamento solo ad alcuni sottoelementi dell'oggetto. Il Link vuoto non è legato all'oggetto reale, quindi non viene visualizzato nella [[3D_view/it|vista 3D]].}}


<span id="Usage:_external_documents"></span>
== Utilizzo: documenti esterni ==
== Utilizzo: documenti esterni ==


Line 63: Line 66:
{{Caption|(1, 2) Due oggetti di un documento sorgente collegati in un documento di destinazione, (3) un Link al secondo Link (con materiale di sovrascrittura), e (4) un Link ai sotto elementi del secondo Link.}}
{{Caption|(1, 2) Due oggetti di un documento sorgente collegati in un documento di destinazione, (3) un Link al secondo Link (con materiale di sovrascrittura), e (4) un Link ai sotto elementi del secondo Link.}}


<span id="Dragging_and_dropping"></span>
=== Drag and drop ===
=== Drag and drop ===


Line 74: Line 78:
Per i modificatori {{KEY|Ctrl}} e {{KEY|Alt}}, il trascinamento può essere fatto anche con un singolo documento. Ovvero, trascinando un oggetto e rilasciandolo nel nome dello stesso documento si possono creare più copie o più link ad esso.
Per i modificatori {{KEY|Ctrl}} e {{KEY|Alt}}, il trascinamento può essere fatto anche con un singolo documento. Ovvero, trascinando un oggetto e rilasciandolo nel nome dello stesso documento si possono creare più copie o più link ad esso.


<span id="Groups"></span>
== Gruppi ==
== Gruppi ==


{{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} può essere usato su {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte standard]]}} al fine di duplicare rapidamente gruppi di oggetti posizionati nello spazio, cioè [[assembly/it|assemblaggi]].
{{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} può essere usato su {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}} al fine di duplicare rapidamente gruppi di oggetti posizionati nello spazio, cioè [[assembly/it|assemblaggi]].


[[File:Std_Link_tree_Std_Part_example.png]]
[[File:Std_Link_tree_Std_Part_example.png]]


{{Caption|Link creato da una [[Std_Part/it|Parte standard]]; gli oggetti non sono duplicati, ma sono elencati sotto il contenitore originale e sotto il Link contenitore.}}
{{Caption|Link creato da una [[Std_Part/it|Parte]]; gli oggetti non sono duplicati, ma sono elencati sotto il contenitore originale e sotto il Link contenitore.}}


Un regolare {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo standard]]}} non possiede una proprietà {{PropertyData/it|Placement}}, quindi non può controllare la posizione degli oggetti al suo interno. Tuttavia, quando {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} è usato con {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo standard]]}}, il Link risultante si comporta essenzialmente come una {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte standard]]}} e può anche essere spostata nello spazio.
Un regolare {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo]]}} non possiede una proprietà {{PropertyData/it|Placement}}, quindi non può controllare la posizione degli oggetti al suo interno. Tuttavia, quando {{Button|[[File:Std_LinkMake.svg|16px]] [[Std_LinkMake/it|Crea link]]}} è usato con {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo]]}}, il Link risultante si comporta essenzialmente come una {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}} e può anche essere spostata nello spazio.


[[File:Std_Link_tree_Std_Group_example.png]] [[File:Std_Link_Std_Group_example.png]]
[[File:Std_Link_tree_Std_Group_example.png]] [[File:Std_Link_Std_Group_example.png]]


{{Caption|Link creato da un [[Std_Group/it|Gruppo standard]]; gli oggetti non sono duplicati ma sono elencati sotto il contenitore originale e sotto il contenitore Link. Il Link (con materiale di sovrascrittura) può essere spostato nello spazio, proprio come una [[Std_Part|Parte standard]].}}
{{Caption|Link creato da un [[Std_Group/it|Gruppo]]; gli oggetti non sono duplicati ma sono elencati sotto il contenitore originale e sotto il contenitore Link. Il Link (con materiale di sovrascrittura) può essere spostato nello spazio, proprio come una [[Std_Part|Parte]].}}


Un collegamento a una {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte standard]]}} manterrà la visibilità degli oggetti sincronizzati con la Parte originale; quindi se si nasconde un oggetto in un Link, esso sarà nascosto in tutti i Link e nell'oggetto originale. Invece un Link ad un {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo standard]]}} consentirà il controllo indipendente delle visibilità.
Un collegamento a una {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}} manterrà la visibilità degli oggetti sincronizzati con la Parte originale; quindi se si nasconde un oggetto in un Link, esso sarà nascosto in tutti i Link e nell'oggetto originale. Invece un Link ad un {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo]]}} consentirà il controllo indipendente delle visibilità.


[[File:Std_Link_tree_Std_Part_visibility.png]] [[File:Std_Link_tree_Std_Group_visibility.png]]
[[File:Std_Link_tree_Std_Part_visibility.png]] [[File:Std_Link_tree_Std_Group_visibility.png]]


{{Caption|Sinistra: [[Std_Part/it|Parte standard]] con due oggetti, e due Links alla Parte; la visibilità degli oggetti è sincronizzata. Destra: [[Std_Group/it|Gruppo Standard]] con due oggetti, e due Links al Gruppo; la visibilità degli oggetti è controllata indipendentemente in ogni gruppo.}}
{{Caption|Sinistra: [[Std_Part/it|Parte]] con due oggetti, e due Links alla Parte; la visibilità degli oggetti è sincronizzata. Destra: [[Std_Group/it|Gruppo]] con due oggetti, e due Links al Gruppo; la visibilità degli oggetti è controllata indipendentemente in ogni gruppo.}}


<span id="Overriding_appearance"></span>
== Aspetto dominante ==
== Aspetto dominante ==


Line 101: Line 107:


Indipendentemente dallo stato della {{PropertyView/it|Override Material}}, è possibile impostare individualmente l'aspetto dei sottoelementi (vertici, bordi, facce) di un Link.
Indipendentemente dallo stato della {{PropertyView/it|Override Material}}, è possibile impostare individualmente l'aspetto dei sottoelementi (vertici, bordi, facce) di un Link.
# Selezionare il Link nella [[tree_view/it|vista ad albero]]. Aprire il menu contestuale (tasto destro del mouse) e scegliere {{MenuCommand/it|Override colors}}.
# Selezionare il Link nella [[tree_view/it|vista ad albero]]. Aprire il menu contestuale (tasto destro del mouse) e scegliere {{MenuCommand|Override colors}}.
# Ora scegliere i singoli sottoelementi che si desidera nella [[3D_view/it|vista 3D]], premere {{Button|Edit}}, e modificare le proprietà, inclusa la trasparenza.
# Ora scegliere i singoli sottoelementi che si desidera nella [[3D_view/it|vista 3D]], premere {{Button|Edit}}, e modificare le proprietà, inclusa la trasparenza.
# Per rimuovere gli attributi personalizzati, selezionare gli elementi nella lista, e premere {{Button|Remove}}.
# Per rimuovere gli attributi personalizzati, selezionare gli elementi nella lista, e premere {{Button|Remove}}.
Line 120: Line 126:
Dato che {{PropertyData/it|Show Element}} è {{TRUE}} di default, quando {{PropertyData/it|Element Count}} è impostato su {{Value|1}} o più, automaticamente verranno creati più Link sotto il primo; ogni nuovo Link può essere posizionato nella posizione desiderata cambiando la proprietà {{PropertyData/it|Placement}}.
Dato che {{PropertyData/it|Show Element}} è {{TRUE}} di default, quando {{PropertyData/it|Element Count}} è impostato su {{Value|1}} o più, automaticamente verranno creati più Link sotto il primo; ogni nuovo Link può essere posizionato nella posizione desiderata cambiando la proprietà {{PropertyData/it|Placement}}.


In modo simile, ogni elemento dell'array può avere il proprio aspetto modificato, sia con le proprietà {{PropertyView/it|Override Material}} e {{PropertyView/it|Shape Material}}, sia usando il menu {{MenuCommand/it|Override colors}} sull'intero array e quindi selezionando le singole facce; questo è descritto in [[#Aspetto_dominante|Aspetto dominante]].
In modo simile, ogni elemento dell'array può avere il proprio aspetto modificato, sia con le proprietà {{PropertyView/it|Override Material}} e {{PropertyView/it|Shape Material}}, sia usando il menu {{MenuCommand|Override colors}} sull'intero array e quindi selezionando le singole facce; questo è descritto in [[#Aspetto_dominante|Aspetto dominante]].


[[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]]
Line 128: Line 134:
Una volta che si è soddisfatti del posizionamento e delle proprietà degli elementi di collegamento nell'array, si può cambiare {{PropertyData/it|Show Element}} in {{FALSE}} per nascondere i singoli collegamenti nella [[tree_view/it|vista ad albero]]; questo ha il vantaggio di rendere il sistema più reattivo, soprattutto se si hanno molti oggetti nel documento.
Una volta che si è soddisfatti del posizionamento e delle proprietà degli elementi di collegamento nell'array, si può cambiare {{PropertyData/it|Show Element}} in {{FALSE}} per nascondere i singoli collegamenti nella [[tree_view/it|vista ad albero]]; questo ha il vantaggio di rendere il sistema più reattivo, soprattutto se si hanno molti oggetti nel documento.


Quando si crea questo tipo di array Link, è necessario posizionare manualmente ciascuno degli elementi; tuttavia, se si desidera utilizzare modelli specifici per posizionare le copie, è possibile utilizzare gli strumenti di array del [[File:Workbench_Draft.svg|24px]] [[Draft_Module/it|Ambiente Draft]], come {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/it|Draft: Serie ortogonale]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/it|Draft: Serie Polare]]}}, e {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/it|Draft: Serie circolare]]}}; questi comandi possono creare copie normali o copie Link a seconda delle opzioni al momento della creazione.
Quando si crea questo tipo di array Link, è necessario posizionare manualmente ciascuno degli elementi; tuttavia, se si desidera utilizzare modelli specifici per posizionare le copie, è possibile utilizzare gli strumenti di array del [[File:Workbench_Draft.svg|24px]] [[Draft_Workbench/it|Ambiente Draft]], come {{Button|[[File:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray/it|Draft: Serie ortogonale]]}}, {{Button|[[File:Draft_PolarArray.svg|16px]] [[Draft_PolarArray/it|Draft: Serie Polare]]}}, e {{Button|[[File:Draft_CircularArray.svg|16px]] [[Draft_CircularArray/it|Draft: Serie circolare]]}}; questi comandi possono creare copie normali o copie Link a seconda delle opzioni al momento della creazione.


<span id="Visibility"></span>
== Visibilità ==
== Visibilità ==


Line 142: Line 149:
[[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|Finestra di dialogo colore dell'elemento disponibile quando si apre il menu contestuale di un oggetto Link nella vista ad albero.}}


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.
Se si desidera ripristinare la visibilità di questo elemento array, entrare di nuovo nella finestra di dialogo, scegliere l'icona occhio, quindi cliccare su {{Button|Remove}} per rimuovere lo stato nascosto, e cliccare {{Button|OK}} per confermare e chiudere la finestra di dialogo. L'elemento sarà di nuovo visibile nella [[3D_view/it|vista 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.
Quando il Link è per una {{Button|[[File:Std_Part.svg|16px]] [[Std_Part/it|Parte]]}} o un {{Button|[[File:Std_Group.svg|16px]] [[Std_Group/it|Gruppo]]}}, il menu funziona in modo simile a quello degli array; permette di controllare il colore della faccia, il colore dell'intero oggetto e la visibilità degli oggetti del gruppo.


[[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|Una [[Std_Part/it|Parte]] contenente tre oggetti e un Link a quella Parte; nel Link, (1) il primo oggetto è reso invisibile, (2) il secondo oggetto ha alcuni sotto-elementi con colori diversi, (3) l'intero terzo oggetto ha un diverso colore e livello di trasparenza.}}


<span id="Properties"></span>
== Proprietà ==
== Proprietà ==


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}}.
Un [[App_Link/it|App Link]] ({{incode|App::Link}} class) è derivato dall'[[App_DocumentObject/it|App DocumentObject]] ({{incode|App::DocumentObject}} class) di base quindi ha le proprietà di base di quest'ultimo come {{PropertyData/it|Label}} e {{PropertyData/it|Label2}}.


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]].
Di seguito sono riportate le proprietà specifiche disponibili nell'[[Property_editor/it|editor delle proprietà]]. Le proprietà nascoste possono essere mostrate utilizzando il comando {{MenuCommand|Show all}} nel menu contestuale dell'[[Property_editor/it|editor delle proprietà]].


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


{{TitleProperty| Link}}
{{TitleProperty| Link}}


* {{PropertyData/it|Linked Object|XLink}}: indica l'oggetto sorgente dell'[[App_Link/it|App Link]]; questo può essere un oggetto intero o un sottoelemento dello stesso (vertice, bordo o faccia).
<div class="mw-translate-fuzzy">
* {{PropertyData/it|Link Transform|Bool}}: è impostato su {{FALSE}}, in questo caso il Link sovrascriverà il posizionamento del {{PropertyData/it|Linked Object}}. Se è impostato su {{TRUE}}, il Link sarà posizionato nella stessa posizione del {{PropertyData/it|Linked Object}}, e il suo posizionamento sarà relativo al posizionamento del {{PropertyData/it|Linked Object}}. Questo può essere ottenuto anche con {{Button|[[File:Std_LinkMakeRelative.svg|16px]]. [[Std_LinkMakeRelative/it|Crea un link relativo]]}}.
* {{PropertyData|Linked Object}}:
* {{PropertyData|Link Transform}}:
* {{PropertyData/it|Placement|Placement}}: il posizionamento del Link in coordinate assolute.
* {{PropertyData/it|Link Placement|Placement|Hidden}}: è un offset applicato in aggiunta al {{PropertyData/it|Placement}} dell'{{PropertyData/it|Linked Object}}. Questa proprietà è normalmente nascosta, ma appare se {{PropertyData/it|Link Transform}} è impostato su {{TRUE}}; in questo caso, {{PropertyData/it|Placement}} diventa ora nascosto.
* {{PropertyData|Placement}}:
* {{PropertyData/it|Show Element|Bool}}: è impostato di default su {{TRUE}}, nel qual caso la [[tree_view/it|vista ad albero]] mostrerà le singole copie del Link, a condizione che {{PropertyData/it|Element Count}} sia {{Value|1}} o più grande.
* {{PropertyData|Sub Elements}}:
* {{PropertyData/it|Element Count|IntegerConstraint}}: è impostato su {{Value|0}}. Se è {{Value|1}} o più grande, il [[App_Link/it|App Link]] si comporterà come un array, e duplicherà lo stesso {{PropertyData|Linked Object}} molte volte. Se {{PropertyData|Show Elements}} è {{TRUE}}, ogni elemento dell'array sarà visualizzato nella [[tree_view/it|vista ad albero]], e ognuno può avere il proprio {{PropertyData/it|Placement}} modificato. Ogni copia del Link avrà un nome basato sul Link [[Object_name/it|Nome]], incrementato da {{incode|_iN}}, dove {{incode|N}} è un numero che inizia con {{incode|0}}. Per esempio, con un singolo {{incode|Link}}, le copie saranno denominate {{incode|Link_i0}}, {{incode|Link_i1}}, {{incode|Link_i2}}, ecc.
* {{PropertyData|Show Elements}}:
* {{PropertyData/it|Link Execute|String}}:nome della funzione di esecuzione che verrà eseguita per questo particolare oggetto Link. Il suo valore predefinito è {{Value|'appLinkExecute'}}. Impostarlo su {{Value|'None'}} per disabilitarlo.
* {{PropertyData|Element Count}}:
* {{PropertyData/it|Colored Elements|LinkSubHidden|Hidden}}: elenco di link che hanno subito la sovrascrittura del loro colore.
* {{PropertyData|Scale}}:
* {{PropertyData/it|Scale|Float}}: è impostato su {{Value|1.0}}. È un fattore per una scalabilità uniforme in ogni direzione {{incode|X}}, {{incode|Y}}, e {{incode|Z}}. Per esempio, un cubo di {{Value|2 mm}} x {{Value|2 mm}} x {{Value|2 mm}}, che viene scalato da {{Value|2.0}}, risulterà in una forma con dimensioni {{Value|4 mm}} x {{Value|4 mm}} x {{Value|4 mm}}.
</div>
* {{PropertyData/it|Scale Vector|Vector|Hidden}}: il fattore di scala per ogni componente {{incode|(X, Y, Z)}} per tutti gli elementi Link quando {{PropertyData/it|Element Count}} è {{Value|1}} o più grande. Se {{PropertyData|Scale}} è diverso da {{Value|1.0}}, lo stesso valore sarà utilizzato nei tre componenti.
* {{PropertyData/it|Scale List|VectorList}}: il fattore di scala per ogni elemento Link.
* {{PropertyData/it|Visibility List|BoolList|Hidden}}: {{emphasis|(read-only)}} lo stato di visibilità di ogni elemento Link, o {{TRUE}} o {{FALSE}}.
* {{PropertyData/it|Placement List|PlacementList|Hidden}}: {{emphasis|(read-only)}} il posizionamento per ogni elemento Link.
* {{PropertyData/it|Element List|LinkList|Hidden}}: l'elenco degli elementi Link.
* {{PropertyData/it|_LinkTouched|Bool|Hidden}}:
* {{PropertyData/it|_ChildCache|LinkList|Hidden}}:


{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyData|Proxy|PythonObject|Hidden}}: a custom class associated with this object. This only exists for the [[Python|Python]] version. See [[Std_LinkMake#Scripting|Scripting]].
* {{PropertyData/it|Proxy|PythonObject|Hidden}}: una classe personalizzata associata a questo oggetto. Questa esiste solo per la versione [[Python/it|Python]]. Vedi [[Std_LinkMake/it#Scripting|Scripting]].


L'oggetto [[App_Link/it|App Link]] mostra inoltre le proprietà del {{PropertyData|Linked Object}} originale, quindi l'[[property_editor/it|editor delle proprietà]] può avere gruppi di proprietà come {{TitleProperty|Attachment}} , {{TitleProperty|Box}}, {{TitleProperty|Draft}} e così via.
L'oggetto [[App_Link/it|App Link]] mostra inoltre le proprietà del {{PropertyData|Linked Object}} originale, quindi l'[[property_editor/it|editor delle proprietà]] può avere gruppi di proprietà come {{TitleProperty|Attachment}} , {{TitleProperty|Box}}, {{TitleProperty|Draft}} e così via.


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


{{TitleProperty| Link}}
{{TitleProperty| Link}}


* {{PropertyView|Draw Style|Enumeration}}: è predefinito a {{Value|None}}; può essere {{value|Solid}}, {{value|Dashed}}, {{value|Dotted}}, {{value|Dashdot}}; definisce lo stile dei bordi nella [[3D_view/it|vista 3D]].
<div class="mw-translate-fuzzy">
* {{PropertyView|Line Width|FloatConstraint}}: un float che determina la larghezza in pixel dei bordi nella [[3D_view/it|vista 3d]]. E' predefinito a {{value|2.0}}.
* {{PropertyView|Draw Style}}:
* {{PropertyView|Override Material|Bool}}: è predefinito a {{FALSE}}; se impostato su {{TRUE}} sovrascriverà il materiale dell'{{PropertyData|Linked Object}}, e visualizzerà i colori definiti in {{PropertyView|Shape Material}}.
* {{PropertyView|Line Width}}:
* {{PropertyView|Point Size|FloatConstraint}}: simile a {{PropertyView|Line Width}}, definisce la dimensione dei vertici.
* {{PropertyView|Override Material}}:
* {{PropertyView|Selectable|Bool}}: se è {{TRUE}}, l'oggetto può essere scelto con il puntatore nella [[3D_view/it|vista 3D]]. Altrimenti, l'oggetto non può essere selezionato finché questa opzione non è impostata su {{TRUE}}.
* {{PropertyView|Point Size}}:
* {{PropertyView|Selectable}}:
* {{PropertyView|Shape Material}}:
</div>


* {{PropertyView|Shape Material|Material}}: this property includes sub-properties that describe the appearance of the object.
* {{PropertyView|Shape Material|Material}}: questa proprietà include sottoproprietà che descrivono l'aspetto dell'oggetto.
** {{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|Diffuse Color}}, è predefinito a {{value|(0.4, 1.0, 1.0)}}, viene visualizzato come {{value|[102, 255, 255]}} su base 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|Ambient Color}}, è predefinito a {{value|(0.2, 0.2, 0.2)}}, viene visualizzato come {{value|[51, 51, 51]}} su base 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|Specular Color}}, è predefinito a {{value|(0.0, 0.0, 0.0)}}, viene visualizzato come {{value|[0, 0, 0]}} su base 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|Emissive Color}}, è predefinito a {{value|(0.0, 0.0, 0.0)}}, viene visualizzato come {{value|[0, 0, 0]}} su base 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|Shininess}}, è predefinito a {{Value|0.2}}
** {{PropertyView|Transparency}}, it defaults to {{Value|0.0}}.
** {{PropertyView|Transparency}}, è predefinito a {{Value|0.0}}.


{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyView|Child View Provider|PersistentObject|Hidden}}:
* {{PropertyView|Child View Provider|PersistentObject|Hidden}}:
* {{PropertyView|Material List|MaterialList|Hidden}}: {{Emphasis|(read-only)}} if individual materials have been added, they will be listed here.
* {{PropertyView|Material List|MaterialList|Hidden}}: {{Emphasis|(read-only)}} se sono stati aggiunti materiali individuali, saranno elencati qui.
* {{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|Hidden}}: {{Emphasis|(read-only)}} se le singole facce o i bordi del collegamento sono stati sovrascritti saranno elencati qui.
* {{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|Hidden}}: {{Emphasis|(read-only)}} se i singoli materiali del link sono stati sovrascritti saranno elencati qui.


{{TitleProperty|Display Options}}
{{TitleProperty|Opzioni di visualizzazione}}


* {{PropertyView|Display Mode|Enumeration}}: {{Value|'Link'}} or {{Value|'ChildView'}}.
* {{PropertyView|Display Mode|Enumeration}}: {{Value|'Link'}} or {{Value|'ChildView'}}.
* {{PropertyView|Show In Tree|Bool}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Show In Tree|Bool}}: vedere le informazioni in [[App_FeaturePython/it|App FeaturePython]].
* {{PropertyView|Visibility|Bool}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Visibility|Bool}}: vedere le informazioni in [[App_FeaturePython/it|App FeaturePython]].


{{TitleProperty|Selection}}
{{TitleProperty|Selezione}}


* {{PropertyView|On Top When Selected|Enumeration}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|On Top When Selected|Enumeration}}: vedere le informazioni in [[App_FeaturePython/it|App FeaturePython]].
* {{PropertyView|Selection Style|Enumeration}}: see the information in [[App_FeaturePython|App FeaturePython]].
* {{PropertyView|Selection Style|Enumeration}}: vedere le informazioni in [[App_FeaturePython/it|App FeaturePython]].


Mostra inoltre le proprietà Vista dell'originale {{PropertyData|Linked Object}}.
Mostra inoltre le proprietà Vista dell'originale {{PropertyData|Linked Object}}.


== Inheritance ==
<span id="Inheritance"></span>
==Eredità==


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.
Un [[App_Link/it|App Link]] è formalmente un'istanza della classe {{incode|App::Link}}, il cui genitore è il genitore di base [[App_DocumentObject/it|App DocumentObject]]. ({{incode|App::DocumentObject}} class). È un oggetto di livello molto basso, che può essere usato con la maggior parte degli altri oggetti documento.


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


{{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.}}
{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali del programma. L'oggetto {{incode|App::Link}} è un componente principale del sistema, non dipende da alcun ambiente, ma può essere utilizzato con la maggior parte degli oggetti creati in tutti gli ambienti.}}


== Scripting ==
<span id="Scripting"></span>
==Script==


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]], and [[scripted_objects|scripted objects]].
{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics/it|Script di base per FreeCAD]], e [[scripted_objects/it|script di oggetti]].


See [[Part_Feature|Part Feature]] for the general information.
Vedere [[Part_Feature/it|Funzione Part]] per le informazioni generali.


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.
Un App Link viene creato con il metodo {{incode|addObject()}} del documento. Questo può definire il suo {{PropertyData|Linked Object}} sovrascrivendo il suo attributo {{incode|LinkedObject}}, o usando il suo metodo {{incode|setLink}}.
{{Code|code=
{{Code|code=
import FreeCAD as App
import FreeCAD as App
Line 254: Line 270:
}}
}}


The basic {{incode|App::Link}} doesn't have a Proxy object so it can't be fully used for sub-classing.
Questo {{incode|App::Link}} non ha un oggetto Proxy, quindi non può essere pienamente utilizzato per la sotto-classe.


Therefore, for [[Python|Python]] subclassing, you should create the {{incode|App::LinkPython}} object.
Pertanto, per la sottoclasse [[Python/it|Python]], è necessario creare l'oggetto {{incode|App::LinkPython}}.


{{Code|code=
{{Code|code=
Line 266: Line 282:
}}
}}


<span id="Further_reading"></span>
== Further reading ==
== Ulteriori letture ==


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].
L'oggetto [[App_Link/it|App Link]] è stato introdotto dopo 2 anni di sviluppo e prototipazione. Questo componente è stato pensato e sviluppato quasi da solo dall'utente {{Emphasis|realthunder}}. Le motivazioni e le implementazioni progettuali alla base di questo progetto sono descritte nella sua pagina GitHub, [https://github.com/realthunder/FreeCAD_assembly3/wiki/Link Link]. Per realizzare questa funzione, sono state apportate diverse modifiche fondamentali a FreeCAD; anche queste sono state ampiamente documentati in [https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes Core-Changes].


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:
Il progetto App Link è iniziato dopo la riprogettazione del [[PartDesign Workbench/it|Ambiente PartDesign]] è stato completato nella v0.17. La storia di App Link può essere rintracciata in alcuni thread essenziali del forum:
* [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 Why an object can only be inside one App::Part?] (Marzo 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 Introducing App::Link/XLink] (Marzo 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=22216 Links] (May 2017)
* [https://forum.freecadweb.org/viewtopic.php?f=20&t=22216 Links] (Maggio 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 Realthunder Link implementation: Architecture discussion] (Giugno 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, stage one, context aware selection] (Luglio 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, stage two, API groundwork] (Luglio 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 Assembly3 preview] (Deicembre 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 Merging of my Link branch] (Giugno 2018)


Finally, the pull request and merge happened:
Infine, la richiesta di pull e il merge sono avvenuti:
* [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], vecchio thread (Luglio 2019), [https://github.com/FreeCAD/FreeCAD/pull/2350 pull request #2350] (la GRANDE fusione), [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], thread principale (Luglio 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 A simple path description of Link, 019, Link stage, Asm3, merge?] (Agosto 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: expose link and navigation actions], un'introduzione alla funzione Link in 0.19 (Settembre 2019).

Altri "link" vari su Link includono:
* [[Dynamic linked object]] - Un pattern con Link e assembly che mira a ridurre la duplicazione della logica correlata all'assembly come l'orientamento, il posizionamento o il numero di istanze.




Line 290: Line 310:
|[[Std_Group/it|Gruppo]]
|[[Std_Group/it|Gruppo]]
|[[Std_LinkMakeRelative/it|Crea un link relativo]]
|[[Std_LinkMakeRelative/it|Crea un link relativo]]
|[[Std_Base/it|Base standard]]
|[[Std_Base/it|Menu di Base]]
|IconL=Std_Group.svg
|IconL=Std_Group.svg
|IconR=Std_LinkMakeRelative.svg
|IconR=Std_LinkMakeRelative.svg

Latest revision as of 20:06, 26 May 2023

Crea link

Posizione nel menu
None
Ambiente
Tutti
Avvio veloce
Nessuno
Introdotto nella versione
0.19
Vedere anche
Parte, Gruppo, Corpo di PartDesign

Descrizione

Crea link crea un App Link (classe App::Link), che è un tipo di oggetto che fa riferimento o collega ad un altro oggetto, nello stesso documento o in un altro documento. È appositamente progettato per duplicare in modo efficiente un singolo oggetto più volte, il che aiuta nella creazione di assemblaggi complessi da sottoassiemi più piccoli e da più componenti riutilizzabili come viti, dadi e dispositivi di fissaggio simili.

L'oggetto App Link è stato introdotto di recente nella versione 0.19; in passato, si poteva ottenere una semplice duplicazione di oggetti con Clona di Draft, ma questa è una soluzione meno efficiente a causa della sua implementazione che essenzialmente crea una copia della Forma (Shape) interna dell'oggetto sorgente. Invece, un link fa riferimento direttamente alla forma originale, quindi è più efficiente in termini di memoria.

Di per sé l'oggetto Link può comportarsi come una serie (array), duplicando più volte il suo oggetto base; questo può essere fatto impostando la sua proprietà DatiElement Count su 1 o più grande. Questo oggetto "Link_Array" può essere creato anche con i diversi strumenti dell'array Ambiente Draft, per esempio, Draft Serie ortogonale, Draft Serie polare, and Draft Serie circolare.

Quando si lavora con l' Ambiente Part Design, i link sono destinati ad essere utilizzati con i Corpo di Part Design, quindi si consiglia di impostare la modalità VistaDisplay Mode Body su Tip per selezionare le caratteristiche dell'intero corpo, e non le singole caratteristiche. Per creare array di elementi interni Funzioni di PartDesign, utilizzare PartDesign Serie lineare, PartDesign Serie polare, e PartDesign Multitransformazione.

Lo strumento Crea link non è definito da un particolare banco di lavoro, ma dal sistema di base, quindi si trova nella Struttura della barra degli strumenti che è disponibile in tutti gli ambienti di lavoro. L'oggetto Link, usato insieme a Parte per raggruppare vari oggetti, costituisce la base di Assembly3 e Assembly4 Workbenches.

Utilizzo

Con selezione:

  1. Selezionare un oggetto nella vista ad albero o nella vista 3D per il quale si desidera creare un link.
  2. Premere il pulsante Crea link. L'oggetto prodotto ha la stessa icona dell'oggetto originale, ma ha una freccia sovrapposta che indica che è un collegamento.

Senza selezione:

  1. Se non viene selezionato alcun oggetto, premere il pulsante Crea link per creare un link vuoto .
  2. Vai all'editor delle proprietà, quindi clicca sulla proprietà DatiLinked Object per aprire metodi di selezione e scegliere un oggetto, poi premi OK.
  3. Invece di scegliere un intero oggetto nella vista ad albero, è anche possibile scegliere i sottoelementi (vertici, bordi o facce) di un singolo oggetto nella vista 3D. In questo caso, il Link duplicherà solo questi sottoelementi, e la sovrapposizione delle frecce sarà diversa. Questo può essere fatto anche con crea un link relativo.

(1) Un oggetto, (2) Un Link vuoto, (3) un Link completo del primo oggetto (con materiale di rivestimento), (4) un collegamento solo ad alcuni sottoelementi dell'oggetto. Il Link vuoto non è legato all'oggetto reale, quindi non viene visualizzato nella vista 3D.

Utilizzo: documenti esterni

  1. Iniziare con un documento che ha almeno un oggetto che sarà la fonte del Link.
  2. Aprire un nuovo documento o un documento esistente. Per una più facile gestione, usare Visualizza Multi documento per mostrare entrambi i documenti nella vista ad albero. Prima di procedere, salva entrambi i documenti. Il Link non sarà in grado di trovare la sua fonte e la sua destinazione a meno che entrambi i documenti non siano salvati su disco.
  3. Nel primo documento, selezionare l'oggetto che si desidera collegare; poi passare alle schede nell'area della vista principale per passare al secondo documento.
  4. Premere Crea link. L'oggetto prodotto ha la stessa icona dell'oggetto originale, ma ha una freccia aggiuntiva che indica che si tratta di un link proveniente da un documento esterno.

Notes:

  • Quando si salva il documento con il Link, verrà anche chiesto di salvare il documento di origine che contiene l'oggetto originale.
  • Per includere l'oggetto originale nel documento con il Link, utilizzare Importa un link oppure Importa tutti i link.
  • Crea link può essere utilizzato su un oggetto Link esistente, al fine di creare un Link ad un Link che si risolve in definitiva con l'oggetto originale nel documento di origine. Questo può essere utlizato con Crea un link relativo per scegliere anche solo alcuni sotto elementi.

(1, 2) Due oggetti di un documento sorgente collegati in un documento di destinazione, (3) un Link al secondo Link (con materiale di sovrascrittura), e (4) un Link ai sotto elementi del secondo Link.

Drag and drop

Invece di passare da una scheda all'altra del documento, è possibile creare dei Links eseguendo un'operazione di drag and drop nella vista ad albero: selezionare l'oggetto sorgente dal primo documento, trascinarlo, quindi rilasciarlo nel nome del secondo documento tenendo premuto il tasto Alt della tastiera.

Il trascinamento porta ad azioni diverse a seconda della tasto di modifica che si sta utilizzando.

  • Senza il tasto di modifica si sposta semplicemente l'oggetto da un documento all'altro; una freccia inclinata viene mostrata nel cursore.
  • Tenendo premuto il tasto Ctrl si copia l'oggetto; nel cursore viene mostrato un segno più.
  • Tenendo premuto il tasto Alt si crea un collegamento; una coppia di maglie di catena viene mostrata nel cursore.

Per i modificatori Ctrl e Alt, il trascinamento può essere fatto anche con un singolo documento. Ovvero, trascinando un oggetto e rilasciandolo nel nome dello stesso documento si possono creare più copie o più link ad esso.

Gruppi

Crea link può essere usato su Parte al fine di duplicare rapidamente gruppi di oggetti posizionati nello spazio, cioè assemblaggi.

Link creato da una Parte; gli oggetti non sono duplicati, ma sono elencati sotto il contenitore originale e sotto il Link contenitore.

Un regolare Gruppo non possiede una proprietà DatiPlacement, quindi non può controllare la posizione degli oggetti al suo interno. Tuttavia, quando Crea link è usato con Gruppo, il Link risultante si comporta essenzialmente come una Parte e può anche essere spostata nello spazio.

Link creato da un Gruppo; gli oggetti non sono duplicati ma sono elencati sotto il contenitore originale e sotto il contenitore Link. Il Link (con materiale di sovrascrittura) può essere spostato nello spazio, proprio come una Parte.

Un collegamento a una Parte manterrà la visibilità degli oggetti sincronizzati con la Parte originale; quindi se si nasconde un oggetto in un Link, esso sarà nascosto in tutti i Link e nell'oggetto originale. Invece un Link ad un Gruppo consentirà il controllo indipendente delle visibilità.

Sinistra: Parte con due oggetti, e due Links alla Parte; la visibilità degli oggetti è sincronizzata. Destra: Gruppo con due oggetti, e due Links al Gruppo; la visibilità degli oggetti è controllata indipendentemente in ogni gruppo.

Aspetto dominante

Quando viene creato un Link, di default la VistaOverride Material è false, quindi il Link avrà lo stesso aspetto dell'originale DatiLinked Object.

Quando la VistaOverride Material è impostato su true, la proprietà VistaShape Material controllerà l'aspetto del Link.

Indipendentemente dallo stato della VistaOverride Material, è possibile impostare individualmente l'aspetto dei sottoelementi (vertici, bordi, facce) di un Link.

  1. Selezionare il Link nella vista ad albero. Aprire il menu contestuale (tasto destro del mouse) e scegliere Override colors.
  2. Ora scegliere i singoli sottoelementi che si desidera nella vista 3D, premere Edit, e modificare le proprietà, inclusa la trasparenza.
  3. Per rimuovere gli attributi personalizzati, selezionare gli elementi nella lista, e premere Remove.
  4. Quando si è soddisfatti del risultato, premere OK per chiudere la finestra di dialogo.

Nota: A partire dalla v0.19, la colorazione dei sottoelementi è soggetta al problema di denominazione topologica, quindi dovrebbe essere fatta come ultima fase di modellazione, quando il modello non è più soggetto a modifiche.

(1) Un oggetto originale, (2) un Link con materiale di sovrascrittura e (3) un secondo Link con singoli sottoelementi modificati.

Link Array

Vedi anche: Draft: Serie ortogonale.

Quando viene creato un Link, di default il suo DatiElement Count è 0, quindi solo un singolo oggetto Link sarà visibile nella vista ad albero.

Dato che DatiShow Element è true di default, quando DatiElement Count è impostato su 1 o più, automaticamente verranno creati più Link sotto il primo; ogni nuovo Link può essere posizionato nella posizione desiderata cambiando la proprietà DatiPlacement.

In modo simile, ogni elemento dell'array può avere il proprio aspetto modificato, sia con le proprietà VistaOverride Material e VistaShape Material, sia usando il menu Override colors sull'intero array e quindi selezionando le singole facce; questo è descritto in Aspetto dominante.

(1) Oggetto di origine, e (2, 3, 4) un Link array con tre elementi, ciascuno in una posizione diversa. Il primo Link ha il materiale sovrascritto e le facce trasparenti, gli altri due hanno colori personalizzati per le facce.

Una volta che si è soddisfatti del posizionamento e delle proprietà degli elementi di collegamento nell'array, si può cambiare DatiShow Element in false per nascondere i singoli collegamenti nella vista ad albero; questo ha il vantaggio di rendere il sistema più reattivo, soprattutto se si hanno molti oggetti nel documento.

Quando si crea questo tipo di array Link, è necessario posizionare manualmente ciascuno degli elementi; tuttavia, se si desidera utilizzare modelli specifici per posizionare le copie, è possibile utilizzare gli strumenti di array del Ambiente Draft, come Draft: Serie ortogonale, Draft: Serie Polare, e Draft: Serie circolare; questi comandi possono creare copie normali o copie Link a seconda delle opzioni al momento della creazione.

Visibilità

Quando DatiShow Element è true e i singoli elementi sono elencati nella vista ad albero in un Link Array, ogni Link può essere mostrato o nascosto premendo la barra Space della tastiera.

Un altro modo per nascondere i singoli elementi è usare il menu Override colors.

  1. Selezionare l'array, aprire il menu Override colors (click destro).
  2. Nella vista 3D, scegliere qualsiasi sottoelemento da qualsiasi Link dell'array.
  3. Premere Nascondi. Dovrebbe apparire l'icona di un occhio , ad indicare che questo elemento è stato nascosto dalla vista 3D. L'oggetto si mostrerà temporaneamente quando il cursore si posiziona sopra l'icona .
  4. Si può cliccare OK per confermare l'operazione e chiudere la finestra di dialogo. Il collegamento rimarrà nascosto anche se viene mostrato come visibile nella vista ad albero.

Finestra di dialogo colore dell'elemento disponibile quando si apre il menu contestuale di un oggetto Link nella vista ad albero.

Se si desidera ripristinare la visibilità di questo elemento array, entrare di nuovo nella finestra di dialogo, scegliere l'icona occhio, quindi cliccare su Remove per rimuovere lo stato nascosto, e cliccare OK per confermare e chiudere la finestra di dialogo. L'elemento sarà di nuovo visibile nella vista 3D.

Quando il Link è per una Parte o un Gruppo, il menu funziona in modo simile a quello degli array; permette di controllare il colore della faccia, il colore dell'intero oggetto e la visibilità degli oggetti del gruppo.

Una Parte contenente tre oggetti e un Link a quella Parte; nel Link, (1) il primo oggetto è reso invisibile, (2) il secondo oggetto ha alcuni sotto-elementi con colori diversi, (3) l'intero terzo oggetto ha un diverso colore e livello di trasparenza.

Proprietà

Un App Link (App::Link class) è derivato dall'App DocumentObject (App::DocumentObject class) di base quindi ha le proprietà di base di quest'ultimo come DatiLabel e DatiLabel2.

Di seguito sono riportate le proprietà specifiche disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate utilizzando il comando Show all nel menu contestuale dell'editor delle proprietà.

Dati

Link

  • DatiLinked Object (XLink): indica l'oggetto sorgente dell'App Link; questo può essere un oggetto intero o un sottoelemento dello stesso (vertice, bordo o faccia).
  • DatiLink Transform (Bool): è impostato su false, in questo caso il Link sovrascriverà il posizionamento del DatiLinked Object. Se è impostato su true, il Link sarà posizionato nella stessa posizione del DatiLinked Object, e il suo posizionamento sarà relativo al posizionamento del DatiLinked Object. Questo può essere ottenuto anche con . Crea un link relativo.
  • DatiPlacement (Placement): il posizionamento del Link in coordinate assolute.
  • Dati (nascosto)Link Placement (Placement): è un offset applicato in aggiunta al DatiPlacement dell'DatiLinked Object. Questa proprietà è normalmente nascosta, ma appare se DatiLink Transform è impostato su true; in questo caso, DatiPlacement diventa ora nascosto.
  • DatiShow Element (Bool): è impostato di default su true, nel qual caso la vista ad albero mostrerà le singole copie del Link, a condizione che DatiElement Count sia 1 o più grande.
  • DatiElement Count (IntegerConstraint): è impostato su 0. Se è 1 o più grande, il App Link si comporterà come un array, e duplicherà lo stesso DatiLinked Object molte volte. Se DatiShow Elements è true, ogni elemento dell'array sarà visualizzato nella vista ad albero, e ognuno può avere il proprio DatiPlacement modificato. Ogni copia del Link avrà un nome basato sul Link Nome, incrementato da _iN, dove N è un numero che inizia con 0. Per esempio, con un singolo Link, le copie saranno denominate Link_i0, Link_i1, Link_i2, ecc.
  • DatiLink Execute (String):nome della funzione di esecuzione che verrà eseguita per questo particolare oggetto Link. Il suo valore predefinito è 'appLinkExecute'. Impostarlo su 'None' per disabilitarlo.
  • Dati (nascosto)Colored Elements (LinkSubHidden): elenco di link che hanno subito la sovrascrittura del loro colore.
  • DatiScale (Float): è impostato su 1.0. È un fattore per una scalabilità uniforme in ogni direzione X, Y, e Z. Per esempio, un cubo di 2 mm x 2 mm x 2 mm, che viene scalato da 2.0, risulterà in una forma con dimensioni 4 mm x 4 mm x 4 mm.
  • Dati (nascosto)Scale Vector (Vector): il fattore di scala per ogni componente (X, Y, Z) per tutti gli elementi Link quando DatiElement Count è 1 o più grande. Se DatiScale è diverso da 1.0, lo stesso valore sarà utilizzato nei tre componenti.
  • DatiScale List (VectorList): il fattore di scala per ogni elemento Link.
  • Dati (nascosto)Visibility List (BoolList): (read-only) lo stato di visibilità di ogni elemento Link, o true o false.
  • Dati (nascosto)Placement List (PlacementList): (read-only) il posizionamento per ogni elemento Link.
  • Dati (nascosto)Element List (LinkList): l'elenco degli elementi Link.
  • Dati (nascosto)_LinkTouched (Bool):
  • Dati (nascosto)_ChildCache (LinkList):

Base

  • Dati (nascosto)Proxy (PythonObject): una classe personalizzata associata a questo oggetto. Questa esiste solo per la versione Python. Vedi Scripting.

L'oggetto App Link mostra inoltre le proprietà del DatiLinked Object originale, quindi l'editor delle proprietà può avere gruppi di proprietà come Attachment , Box, Draft e così via.

Vista

Link

  • VistaDraw Style (Enumeration): è predefinito a None; può essere Solid, Dashed, Dotted, Dashdot; definisce lo stile dei bordi nella vista 3D.
  • VistaLine Width (FloatConstraint): un float che determina la larghezza in pixel dei bordi nella vista 3d. E' predefinito a 2.0.
  • VistaOverride Material (Bool): è predefinito a false; se impostato su true sovrascriverà il materiale dell'DatiLinked Object, e visualizzerà i colori definiti in VistaShape Material.
  • VistaPoint Size (FloatConstraint): simile a VistaLine Width, definisce la dimensione dei vertici.
  • VistaSelectable (Bool): se è true, l'oggetto può essere scelto con il puntatore nella vista 3D. Altrimenti, l'oggetto non può essere selezionato finché questa opzione non è impostata su true.
  • VistaShape Material (Material): questa proprietà include sottoproprietà che descrivono l'aspetto dell'oggetto.
    • VistaDiffuse Color, è predefinito a (0.4, 1.0, 1.0), viene visualizzato come [102, 255, 255] su base 255, light blue .
    • VistaAmbient Color, è predefinito a (0.2, 0.2, 0.2), viene visualizzato come [51, 51, 51] su base 255, dark gray .
    • VistaSpecular Color, è predefinito a (0.0, 0.0, 0.0), viene visualizzato come [0, 0, 0] su base 255, black .
    • VistaEmissive Color, è predefinito a (0.0, 0.0, 0.0), viene visualizzato come [0, 0, 0] su base 255, black .
    • VistaShininess, è predefinito a 0.2
    • VistaTransparency, è predefinito a 0.0.

Base

  • Vista (Hidden)Child View Provider (PersistentObject):
  • Vista (Hidden)Material List (MaterialList): (read-only) se sono stati aggiunti materiali individuali, saranno elencati qui.
  • Vista (Hidden)Override Color List (ColorList): (read-only) se le singole facce o i bordi del collegamento sono stati sovrascritti saranno elencati qui.
  • Vista (Hidden)Override Material List (BoolList): (read-only) se i singoli materiali del link sono stati sovrascritti saranno elencati qui.

Opzioni di visualizzazione

  • VistaDisplay Mode (Enumeration): 'Link' or 'ChildView'.
  • VistaShow In Tree (Bool): vedere le informazioni in App FeaturePython.
  • VistaVisibility (Bool): vedere le informazioni in App FeaturePython.

Selezione

Mostra inoltre le proprietà Vista dell'originale DatiLinked Object.

Eredità

Un App Link è formalmente un'istanza della classe App::Link, il cui genitore è il genitore di base App DocumentObject. (App::DocumentObject class). È un oggetto di livello molto basso, che può essere usato con la maggior parte degli altri oggetti documento.

Diagramma semplificato delle relazioni tra gli oggetti principali del programma. L'oggetto App::Link è un componente principale del sistema, non dipende da alcun ambiente, ma può essere utilizzato con la maggior parte degli oggetti creati in tutti gli ambienti.

Script

See also: Script di base per FreeCAD, e script di oggetti.

Vedere Funzione Part per le informazioni generali.

Un App Link viene creato con il metodo addObject() del documento. Questo può definire il suo DatiLinked Object sovrascrivendo il suo attributo LinkedObject, o usando il suo metodo 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()

Questo App::Link non ha un oggetto Proxy, quindi non può essere pienamente utilizzato per la sotto-classe.

Pertanto, per la sottoclasse Python, è necessario creare l'oggetto App::LinkPython.

import FreeCAD as App

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

Ulteriori letture

L'oggetto App Link è stato introdotto dopo 2 anni di sviluppo e prototipazione. Questo componente è stato pensato e sviluppato quasi da solo dall'utente realthunder. Le motivazioni e le implementazioni progettuali alla base di questo progetto sono descritte nella sua pagina GitHub, Link. Per realizzare questa funzione, sono state apportate diverse modifiche fondamentali a FreeCAD; anche queste sono state ampiamente documentati in Core-Changes.

Il progetto App Link è iniziato dopo la riprogettazione del Ambiente PartDesign è stato completato nella v0.17. La storia di App Link può essere rintracciata in alcuni thread essenziali del forum:

Infine, la richiesta di pull e il merge sono avvenuti:

Altri "link" vari su Link includono:

  • Dynamic linked object - Un pattern con Link e assembly che mira a ridurre la duplicazione della logica correlata all'assembly come l'orientamento, il posizionamento o il numero di istanze.