Unione di oggetti
Last updated
Last updated
Dynamo for Civil 3D contiene un meccanismo molto potente per "memorizzare" gli oggetti creati da ciascun nodo. Questo meccanismo è denominato unione di oggetti e consente di produrre un grafico di Dynamo con risultati coerenti ogni volta che viene eseguito nello stesso documento. Sebbene questo sia altamente auspicabile in molte situazioni, ce ne sono altre in cui si desidera avere un maggiore controllo sul funzionamento di Dynamo. Questa sezione aiuterà a capire come funziona il binding di oggetti e come è possibile sfruttarlo.
Considerare questo grafico che crea un cerchio nello spazio modello sul layer corrente.
Notare cosa succede quando il raggio viene modificato.
Questa è l'unione di oggetti in azione. Il funzionamento di default di Dynamo consiste nel modificare il raggio del cerchio, anziché creare un nuovo cerchio ogni volta che l'input del raggio viene modificato. Questo perché il nodo Object.ByGeometry "si ricorda" che ha creato questo cerchio specifico ogni volta che il grafico viene eseguito. Inoltre, Dynamo memorizzerà queste informazioni in modo che la volta successiva che si apre il documento di Civil 3D e si esegue il grafico, avrà esattamente lo stesso funzionamento.
Vediamo un esempio in cui si potrebbe voler cambiare il funzionamento di default di Dynamo per l'unione di oggetti. Supponiamo di voler creare un grafico che posiziona il testo al centro di un cerchio. Tuttavia, l'intento con questo grafico è quello di poterlo eseguire più volte e di inserire ogni volta un nuovo testo per qualsiasi cerchio selezionato. Ecco come potrebbe apparire quel grafico.
Tuttavia, questo è ciò che accade quando viene selezionato un cerchio diverso.
Sembra che il testo venga eliminato e ricreato ad ogni esecuzione del grafico. In realtà, la posizione del testo viene modificata a seconda del cerchio selezionato. Quindi è lo stesso testo, in un punto diverso. Per creare un nuovo testo ogni volta, è necessario modificare le impostazioni dell'unione di oggetti di Dynamo in modo che non vengano mantenuti i dati di unione (vedere #binding-settings di seguito).
Dopo aver apportato questa modifica, otteniamo il funzionamento desiderato.
Dynamo for Civil 3D consente di modificare il funzionamento di default dell'unione di oggetti tramite le impostazioni di Archivio dati di unione nel menu Dynamo.
Notare che le opzioni di Archivio dati di unione sono disponibili in Civil 3D 2022.1 e versioni successive.
Tutte le opzioni sono attivate per default. Ecco un riepilogo delle funzionalità di ciascuna opzione.
Quando questa opzione è attivata, Dynamo "dimentica" gli oggetti che ha creato l'ultima volta che il grafico è stato eseguito. Il grafico può essere eseguito in qualsiasi Carta in qualunque situazione e creerà nuovi oggetti ogni volta.
Quando utilizzare
Utilizzare questa opzione quando si desidera che Dynamo "dimentichi" tutto ciò che ha svolto nelle esecuzioni precedenti e crei nuovi oggetti ogni volta.
Questa opzione indica che i metadati dell'unione di oggetti verranno serializzati nel grafico (file .dyn) al momento del salvataggio. Se si chiude/riapre il grafico e lo si esegue nella stessa Carta, tutto dovrebbe funzionare come è stato lasciato. Se si esegue il grafico in una Carta diversa, i dati dell'unione verranno rimossi dal grafico e verranno creati nuovi oggetti. Ciò significa che se si apre la Carta originale ed si riesegue il grafico, verranno creati nuovi oggetti oltre a quelli precedenti.
Quando utilizzare
Utilizzare questa opzione quando si desidera che Dynamo "memorizzi" gli oggetti che ha creato l'ultima volta che è stato eseguito in una Carta specifica.
Questa opzione è particolarmente adatta per le situazioni in cui è possibile mantenere un rapporto 1:1 tra una Carta specifica e un grafico di Dynamo. Le opzioni 1 e 3 sono più adatte per i grafici progettati per l'esecuzione su più disegni.
Questa opzione è simile all'opzione 2, tranne per il fatto che i dati dell'unione di oggetti vengono serializzati nella Carta anziché nel grafico (file .dyn). Se si chiude/riapre il grafico e lo si esegue nella stessa Carta, tutto dovrebbe funzionare come è stato lasciato. Se il grafico viene eseguito in una Carta diversa, i dati dell'unione sono comunque mantenuti nel disegno originale poiché vengono salvati nel disegno e non nel grafico.
Quando utilizzare
Utilizzare questa opzione quando si desidera utilizzare lo stesso grafico in più Carte e fare in modo che Dynamo "memorizzi"ciò che ha svolto in ciascuno.
La prima cosa da notare con questa opzione è che non ha alcun effetto sul modo in cui il grafico interagisce con la Carta quando si esegue il grafico tramite l'interfaccia principale di Dynamo. Questa opzione è valida solo quando il grafico viene eseguito utilizzando il Lettore Dynamo.
Se non si conosce il Lettore Dynamo, consultare la sezione Lettore Dynamo.
Se si esegue il grafico utilizzando l'interfaccia principale di Dynamo e quindi si chiude ed esegue lo stesso grafico utilizzando il Lettore Dynamo, verranno creati nuovi oggetti sopra a quelli creati in precedenza. Tuttavia, una volta eseguito il grafico, il Lettore Dynamo serializzerà i dati dell'unione di oggetti nella Carta. Pertanto, se si esegue il grafico più volte tramite il Lettore Dynamo, gli oggetti verranno aggiornati anziché creati di nuovi. Se si esegue il grafico tramite il Lettore Dynamo in una Carta diversa, i dati dell'unione sono comunque mantenuti nella Carta originale poiché vengono salvati nella Carta e non nel grafico.
Quando utilizzare
Utilizzare questa opzione quando si desidera eseguire un grafico utilizzando il Lettore Dynamo in più Carte e fare in modo che "memorizzi" ciò che ha svolto in ciascuno.