Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Una potente funzionalità di Dynamo è la possibilità di modificare i parametri su un livello parametrico. Ad esempio, un algoritmo generativo o i risultati di una simulazione possono essere utilizzati per determinare i parametri di una serie di elementi. In questo modo, un gruppo di istanze della stessa famiglia può avere proprietà personalizzate nel progetto di Revit.
I parametri di istanza definiscono l'apertura dei pannelli sulla superficie del tetto, che prevedono un rapporto di apertura compreso tra 0.1 e 0.4.
I parametri basati sul tipo vengono applicati ad ogni elemento della superficie in quanto si tratta dello stesso tipo di famiglia. Il materiale di ciascun pannello, ad esempio, può essere determinato da un parametro basato sul tipo.
Se in precedenza è stata configurata una famiglia di Revit, ricordarsi che è necessario assegnare un tipo di parametro (stringa, numero, quota e così via). Assicurarsi di utilizzare il tipo di dati corretto durante l'assegnazione di parametri da Dynamo.
È inoltre possibile utilizzare Dynamo in combinazione con i vincoli parametrici definiti nelle proprietà di una famiglia di Revit.
Come rapido ripasso dei parametri in Revit, si ricorda che sono presenti parametri di tipo e di istanza. Entrambi possono essere modificati da Dynamo, ma nell'esercizio riportato di seguito verranno utilizzati i parametri di istanza.
Mentre si rileva l'applicazione estesa della modifica di parametri, potrebbe essere necessario modificare una grande quantità di elementi in Revit con Dynamo. Questa operazione può essere costosa dal punto di vista computazionale , ovvero può risultare lenta. Se si modifica un numero elevato di elementi, è possibile utilizzare la funzionalità Congela del nodo per interrompere l'esecuzione delle operazioni di Revit durante lo sviluppo del grafico. Per ulteriori informazioni sul congelamento dei nodi, controllare la sezione Congelamento nel capitolo sui solidi.
A partire dalla versione 0.8, Dynamo è fondamentalmente senza unità. Ciò consente a Dynamo di rimanere un ambiente di programmazione visiva astratto. I nodi di Dynamo che interagiscono con le quote di Revit faranno riferimento alle unità del progetto di Revit. Ad esempio, se si imposta un parametro della lunghezza in Revit da Dynamo, il numero in Dynamo per il valore corrisponderà alle unità di default nel progetto di Revit. L'esercizio riportato di seguito è basato sui metri.
Per una conversione rapida delle unità, utilizzare il nodo Convert Between Units. Questo è un comodo strumento per la conversione delle unità di lunghezza, area e volume al volo.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
L'esercizio riportato di seguito è basato sui metri.
Questo esercizio si concentra sulla modifica degli elementi di Revit senza eseguire un'operazione geometrica in Dynamo. Qui non si sta importando la geometria di Dynamo, ma si stanno modificando solo i parametri in un progetto di Revit. Questo è un esercizio di base e, per gli utenti più avanzati di Revit, notare che si tratta di parametri di istanza di una massa, ma la stessa logica può essere applicata ad una serie di elementi per la personalizzazione su larga scala. Tutto questo viene eseguito con il nodo "Element.SetParameterByName".
Iniziare con il file di esempio di Revit per questa sezione. Sono stati rimossi gli elementi strutturali e le travi reticolari adattive della sezione precedente. In questo esercizio, ci si concentrerà su una piattaforma petrolifera parametrica in Revit e sulla manipolazione in Dynamo.
Selezionando la massa dell'edificio in Revit, si vedono una serie di parametri di istanza nel gruppo Proprietà.
In Dynamo, è possibile recuperare i parametri selezionando l'elemento di destinazione.
Selezionare la massa dell'edificio con il nodo Select Model Element.
È possibile eseguire una query su tutti i parametri di questa massa con il nodo Element.Parameters. Ciò include i parametri di tipo e istanza.
Fare riferimento al nodo Element. Parameters per trovare i parametri di destinazione. In alternativa, è possibile visualizzare il gruppo Proprietà del passaggio precedente per scegliere i nomi dei parametri da modificare. In questo caso, si stanno cercando i parametri che influenzano i grandi movimenti geometrici sulla massa dell'edificio.
Verranno apportate modifiche all'elemento di Revit utilizzando il nodo Element.SetParameterByName.
Utilizzare C_ode Block per_ definire un elenco di parametri, con virgolette intorno ad ogni elemento per indicare una stringa. È inoltre possibile utilizzare il nodo List.Create con una serie di nodi string collegati a più input, ma Code Block è più veloce e più semplice. Assicurarsi che la stringa corrisponda al nome esatto in Revit, specifico per le maiuscole e minuscole:
{"BldgWidth","BldgLength","BldgHeight", "AtriumOffset", "InsideOffset","LiftUp"};
Si desidera inoltre designare i valori per ogni parametro. Aggiungere sei dispositivi di scorrimento di numeri interi all'area di disegno e rinominarli in base al parametro corrispondente nell'elenco. Inoltre, impostare i valori di ciascun dispositivo di scorrimento sull'immagine riportata sopra. In ordine dall'alto verso il basso: 62, 92, 25, 22, 8, 12.
Definire un altro Code Block con un elenco della stessa lunghezza dei nomi dei parametri. In questo caso, vengono denominate variabili (senza virgolette) che creano input per Code Block. Collegare i dispositivi di scorrimento a ciascun rispettivo input:
{bw,bl,bh,ao,io,lu};
.Collegare Code Block all'input del valore Element.SetParameterByName*. Con l'opzione Automatico selezionata, i risultati verranno visualizzati automaticamente.
*Questa dimostrazione funziona con i parametri di istanza, ma non con i parametri di tipo.
Come in Revit, molti di questi parametri dipendono l'uno dall'altro. Ci sono naturalmente delle combinazioni in cui la geometria può interrompersi. È possibile risolvere questo problema con formule definite nelle proprietà dei parametri oppure è possibile configurare una logica simile con operazioni matematiche in Dynamo (questa è una difficoltà aggiuntiva se si desidera espandere l'esercizio).
Questa combinazione conferisce una nuova bizzarra progettazione alla massa dell'edificio: 100, 92, 100, 25, 13, 51.
Si vedrà ora come modificare la facciata utilizzando un processo simile.
Copiare il grafico e concentrarsi sulla vetrata della facciata che ospiterà il sistema di travi reticolari. In questo caso, vengono isolati quattro parametri:
{"DblSkin_SouthOffset","DblSkin_MidOffset","DblSkin_NorthOffset","Facade Bend Location"};
.Inoltre, creare dispositivi di scorrimento numerici e rinominarli in base ai parametri appropriati. I primi tre dispositivi di scorrimento dall'alto verso il basso devono essere riassociati ad un dominio di [0,10], mentre il dispositivo di scorrimento finale Facade Bend Location deve essere riassociato ad un dominio di [0,1]. Questi valori, dall'alto verso il basso, dovrebbero iniziare con questi valori (sebbene siano arbitrari): 2.68, 2.64, 2.29, 0.5.
Definire un nuovo Code Block e collegare i dispositivi di scorrimento:
{so,mo,no,fbl};
.
Modificando i dispositivi di scorrimento in questa parte del grafico, è possibile ingrandire di molto la vetrata della facciata: 9.98, 10.0, 9.71, 0.31.
Revit è un ambiente ricco di dati. Offre un'ampia gamma di funzionalità di selezione che va oltre il semplice "puntamento e clic". È possibile eseguire una query sul database di Revit e collegare dinamicamente gli elementi di Revit alla geometria di Dynamo durante l'esecuzione di operazioni parametriche.
La libreria di Revit nell'interfaccia utente offre la categoria Selection, che consente di selezionare la geometria in più modi.
Per selezionare correttamente gli elementi di Revit, è importante comprendere a fondo la gerarchia degli elementi di Revit. Si desidera selezionare tutti i muri di un progetto? Selezionarli per categoria. Si desidera selezionare ogni sedia Eames nel moderno ingresso di metà secolo? Selezionarla per famiglia.
Eseguire una rapida revisione della gerarchia di Revit.
Vi ricordate la tassonomia in biologia? Regno, phylum, classe, ordine, famiglia, genere, specie? Gli elementi di Revit vengono suddivisi in categorie simili. Ad un livello di base, la gerarchia di Revit può essere suddivisa in categorie, famiglie, tipi* e istanze. Un'istanza è un singolo elemento del modello (con un ID univoco), mentre una categoria definisce un gruppo generico (ad esempio "muri" o "pavimenti"). Con il database di Revit organizzato in questo modo, è possibile selezionare un elemento e scegliere tutti gli elementi simili in base al livello specificato nella gerarchia.
*I tipi in Revit vengono definiti in modo diverso dai tipi della programmazione. In Revit, un tipo fa riferimento ad un ramo della gerarchia, anziché ad un "tipo di dati".
Nelle tre immagini riportate di seguito sono mostrate le categorie principali per la selezione di elementi di Revit in Dynamo. Si tratta di strumenti straordinari da utilizzare in combinazione e alcuni di questi strumenti verranno esaminati negli esercizi seguenti.
Puntamento e clic è il modo più semplice per selezionare direttamente un elemento di Revit. È possibile selezionare un elemento del modello completo o parti della relativa topologia (ad esempio una superficie o un bordo). Questo rimane collegato dinamicamente a tale oggetto di Revit, pertanto quando il file di Revit ne aggiorna la posizione o i parametri, l'elemento di Dynamo di riferimento viene aggiornato nel grafico.
I menu a discesa consentono di creare un elenco di tutti gli elementi accessibili in un progetto di Revit. È possibile utilizzare questa opzione per fare riferimento ad elementi di Revit che non sono necessariamente visibili in una vista. Questo è un ottimo strumento per eseguire una query su elementi esistenti o crearne di nuovi in un Editor di famiglie o in un progetto di Revit.
![](../.gitbook/assets/selecting _database_navigation_with_dynamo_nodes_02.png)
È inoltre possibile selezionare un elemento di Revit in base a livelli specifici nella gerarchia di Revit. Si tratta di un'opzione potente per la personalizzazione di grandi serie di dati in preparazione della documentazione o della creazione di istanze generative e della personalizzazione.
Tenendo presenti le tre immagini riportate sopra, si esaminerà un esercizio che consente di selezionare elementi da un progetto di Revit di base in preparazione delle applicazioni parametriche che verranno create nelle sezioni restanti di questo capitolo.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
In questo file di Revit di esempio, ci sono tre tipi di elementi di un semplice edificio. Si utilizzerà questo file come esempio per la selezione di elementi di Revit nel contesto della gerarchia di Revit.
Massa dell'edificio
Travi (telaio strutturale)
Travi reticolari (componenti adattivi)
Quali conclusioni è possibile trarre dagli elementi attualmente presenti nella vista di progetto di Revit? E di quanti livelli nella gerarchia occorre scendere per selezionare gli elementi appropriati? Naturalmente, questa operazione diventerà un'attività più complessa quando si lavora ad un progetto di grandi dimensioni. Sono disponibili numerose opzioni: è possibile selezionare elementi per categorie, livelli, famiglie, istanze e così via.
Poiché si sta utilizzando un'impostazione di base, selezionare la massa dell'edificio scegliendo Massa nel nodo a discesa Categories. Questo file si trova nella scheda Revit > Selezione.
L'output della categoria Massa è solo la categoria stessa. È necessario selezionare gli elementi. A tale scopo, utilizzare il nodo All Elements of Category.
A questo punto, non sarà presente alcuna geometria in Dynamo. È stato selezionato un elemento di Revit, ma l'elemento non è stato convertito nella geometria di Dynamo. Si tratta di una separazione importante. Se si selezionano numerosi elementi, si sconsiglia di visualizzarne l'anteprima in Dynamo, in quanto ciò rallenterebbe le prestazioni del sistema. Dynamo è uno strumento per gestire un progetto di Revit senza necessariamente eseguire operazioni di geometria. Ciò sarà descritto nella sezione successiva di questo capitolo.
In questo caso, si sta utilizzando una geometria semplice, pertanto si desidera importare la geometria nell'anteprima di Dynamo. Accanto al valore BldgMass nel nodo di controllo riportato sopra è presente un numero verde. Rappresenta l'ID dell'elemento e indica che si sta utilizzando un elemento di Revit, non la geometria di Dynamo. Il passaggio successivo consiste nel convertire questo elemento di Revit nella geometria in Dynamo.
Utilizzando il nodo Element.Faces, viene visualizzato un elenco di superfici che rappresentano ciascuna superficie della massa di Revit. Ora è possibile vedere la geometria nella finestra di Dynamo e iniziare a fare riferimento alla superficie per le operazioni parametriche.
Ecco un metodo alternativo. In questo caso, non si esegue la selezione tramite la gerarchia di Revit (All Elements of Category) e si sceglie di selezionare esplicitamente la geometria in Revit.
Utilizzando il nodo Select Model Element, fare clic sul pulsante *Seleziona *(o Modifica). Nella finestra di Revit, selezionare l'elemento desiderato. In questo caso, selezionare la massa dell'edificio.
Anziché Element.Faces, è possibile selezionare l'intera massa come geometria solida utilizzando Element.Geometry. In questo modo viene selezionata tutta la geometria contenuta all'interno della massa.
Utilizzando Geometry.Explode è possibile ottenere di nuovo l'elenco delle superfici. Questi due nodi funzionano allo stesso modo di Element.Faces, ma offrono opzioni alternative per fare ricerche nella geometria di un elemento di Revit.
Utilizzando alcune operazioni di base con gli elenchi, è possibile eseguire una query su una superficie di interesse.
Innanzitutto, generare gli elementi selezionati da una versione precedente al nodo Element.Faces.
Quindi, utilizzare il nodo List.Count per mostrare che si stanno utilizzando 23 superfici nella massa.
Facendo riferimento a questo numero, è possibile modificare il valore massimo di *Integer Slider *in 22.
Utilizzando List.GetItemAtIndex, immettere gli elenchi e dei valori in *Integer Slider * per index. Scorrendo il dispositivo con l'elemento selezionato, fermarsi quando si ottiene index 9 e viene isolata la facciata principale che ospita le travi reticolari.
Il passaggio precedente era un po' complicato. È possibile eseguire questa operazione molto più rapidamente con il nodo Select Face. Questo consente di isolare una superficie che di per sé non è un elemento nel progetto di Revit. La stessa interazione si applica a Select Model Element, tranne per il fatto che è stata selezionata la superficie anziché l'elemento completo.
Si supponga di voler isolare i muri della facciata principale dell'edificio. Per eseguire questa operazione, è possibile utilizzare il nodo Select Faces. Fare clic sul pulsante Seleziona, quindi selezionare le quattro facciate principali in Revit.
Dopo aver selezionato i quattro muri, assicurarsi di fare clic sul pulsante Termina in Revit.
Le facce vengono ora importate in Dynamo come superfici.
Ora, osservare le travi sopra l'atrio.
Utilizzando il nodo Select Model Element, selezionare una delle travi.
Collegare l'elemento trave al nodo Element.Geometry, così ora la trave è presente nella finestra di Dynamo.
È possibile eseguire lo zoom avanti della geometria con un nodo Watch3D. Se la trave non è visibile in Watch3D, fare clic con il pulsante destro del mouse e selezionare Adatta alla finestra.
Una domanda che potrebbe sorgere spesso nei workflow di Revit/Dynamo: com'è possibile selezionare un elemento e ottenere tutti gli elementi simili? Poiché l'elemento di Revit selezionato contiene tutte le relative informazioni gerarchiche, è possibile eseguire una query sul tipo di famiglia e selezionare tutti gli elementi di quel tipo.
Collegare l'elemento trave ad un nodo Element.ElementType.
Il nodo Watch mostra che l'output è ora un simbolo di famiglia anziché un elemento di Revit.
Element.ElementType è una query semplice, così è possibile eseguire questa operazione in Code Block con la stessa facilità di
x.ElementType;
e ottenere gli stessi risultati.
Per selezionare le travi rimanenti, utilizzare il nodo All Elements of Family Type.
Il nodo di controllo mostra che sono stati selezionati cinque elementi di Revit.
È possibile convertire anche tutti questi cinque elementi nella geometria di Dynamo.
E se ci fossero 500 travi? La conversione di tutti questi elementi nella geometria di Dynamo risulterebbe davvero lenta. Se Dynamo richiede molto tempo per il calcolo dei nodi, è possibile utilizzare la funzionalità del nodo Congela per mettere in pausa l'esecuzione delle operazioni di Revit durante lo sviluppo del grafico. Per ulteriori informazioni sul congelamento dei nodi, controllare la sezione Congelamento nel capitolo sui solidi.
In ogni caso, se si dovessero importare 500 travi, sono necessarie tutte le superfici per eseguire l'operazione parametrica desiderata? Oppure è possibile estrarre le informazioni di base dalle travi ed eseguire attività generative con la geometria fondamentale? Questa è una domanda che verrà tenuta a mente mentre si procede in questo capitolo. Ad esempio, osservare il sistema di travi reticolari successivo.
Utilizzando lo stesso grafico dei nodi, selezionare l'elemento trave reticolare anziché l'elemento trave. Prima di eseguire questa operazione, eliminare il nodo Element.Geometry del passaggio precedente.
A questo punto, è possibile estrarre alcune informazioni di base dal tipo di famiglia di travi reticolari.
Nel nodo Watch è presente un elenco di componenti adattivi selezionati da Revit. Si desidera estrarre le informazioni di base, quindi si inizia con i punti adattivi.
Collegare il nodo All Elements of Family Type al nodo AdaptiveComponent.Location. In questo modo si ottiene un elenco di elenchi, ciascuno con tre punti che rappresentano le posizioni dei punti adattivi.
Il collegamento di un nodo Polygon.ByPoints restituisce una PolyCurve. Questo è visibile nella finestra di Dynamo. Con questo metodo, è stata visualizzata la geometria di un elemento ed è stata astratta la geometria della serie rimanente di elementi (che potrebbe essere maggiore di numero rispetto a questo esempio).
Suggerimento Se si fa clic sul numero verde di un elemento di Revit in Dynamo, la finestra di Revit eseguirà lo zoom di tale elemento.
Sebbene Dynamo sia un ambiente flessibile, progettato per il trasferimento in un'ampia gamma di programmi, è stato originariamente creato per l'utilizzo con Revit. Un programma visivo crea opzioni efficienti per il Building Information Modeling (BIM). Dynamo offre un'intera suite di nodi appositamente progettata per Revit, nonché librerie di terze parti provenienti da una vivace comunità AEC. Questo capitolo si concentra sulle nozioni di base per l'utilizzo di Dynamo in Revit.
È possibile creare una serie di elementi di Revit in Dynamo con controllo parametrico completo. I nodi di Revit in Dynamo offrono la possibilità di importare elementi da geometrie generiche in tipi di categoria specifici (come muri e pavimenti). In questa sezione, si esaminerà l'importazione di elementi parametricamente flessibili con componenti adattivi.
Un componente adattivo è una categoria di famiglia flessibile che si presta bene alle applicazioni generative. Al momento della creazione dell'istanza, è possibile creare un elemento geometrico complesso che sia controllato dalla posizione fondamentale dei punti adattivi.
Di seguito è riportato un esempio di un componente adattivo a tre punti nell'Editor di famiglie. Questo genera una trave reticolare definita dalla posizione di ciascun punto adattivo. Nell'esercizio seguente, si utilizzerà questo componente per generare una serie di travi reticolari su una facciata.
Il componente adattivo è un buon esempio di procedure ottimali di interoperabilità. È possibile creare una serie di componenti adattivi definendo i punti adattivi fondamentali. Inoltre, quando si trasferiscono questi dati in altri programmi, è possibile ridurre la geometria in dati semplici. L'importazione e l'esportazione con un programma come Excel seguono una logica simile.
Si supponga che un consulente per le facciate voglia conoscere la posizione degli elementi della trave reticolare senza dover eseguire l'analisi attraverso una geometria completamente articolata. In preparazione alla fabbricazione, il consulente può fare riferimento alla posizione dei punti adattivi per rigenerare la geometria in un programma come Inventor.
Il workflow che si imposterà nell'esercizio seguente consente di accedere a tutti questi dati durante la generazione della definizione per la creazione di elementi di Revit. Con questo processo, è possibile unire la concettualizzazione, la documentazione e la fabbricazione in un workflow senza problemi. Ciò crea un processo più intelligente ed efficiente per l'interoperabilità.
Nel primo esercizio riportato di seguito viene illustrato come Dynamo fa riferimento ai dati per la creazione di elementi di Revit. Per generare più componenti adattivi, è necessario definire un elenco di elenchi, dove ogni elenco contiene tre punti che rappresentano ciascun punto del componente adattivo. Questo aspetto è importante da tenere presente quando si gestiscono le strutture di dati in Dynamo.
Un altro metodo per importare la geometria di Dynamo parametrica in Revit è con DirectShape. In breve, l'elemento DirectShape e le classi correlate supportano la possibilità di memorizzare forme geometriche create esternamente in un documento di Revit. La geometria può includere mesh o solidi chiusi. DirectShape è principalmente destinato all'importazione di forme da altri formati di dati, ad esempio IFC o STEP, dove non sono disponibili informazioni sufficienti per creare un elemento di Revit "reale". Analogamente al workflow IFC e STEP, la funzionalità DirectShape funziona correttamente con l'importazione di geometrie create da Dynamo nei progetti di Revit come elementi reali.
Si esaminerà dettagliatamente il secondo esercizio per importare la geometria di Dynamo come DirectShape nel progetto di Revit. Utilizzando questo metodo, è possibile assegnare la categoria, il materiale e il nome di una geometria importata, mantenendo comunque un collegamento parametrico al grafico di Dynamo.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
A partire dal file di esempio di questa sezione (o proseguendo con il file di Revit della sessione precedente), viene visualizzata la stessa massa di Revit.
Questo è il file aperto.
Questo è il sistema di travi reticolari creato con Dynamo, collegato in modo intelligente alla massa di Revit.
Sono stati utilizzati i nodi Select Model Element e Select Face. Ora si scenderà di un ulteriore livello nella gerarchia della geometria e si utilizzerà Select Edge. Con il risolutore Dynamo impostato sull'esecuzione Automatico, il grafico viene aggiornato costantemente in base alle modifiche apportate nel file di Revit. Il bordo selezionato viene collegato dinamicamente alla topologia dell'elemento di Revit. Se la topologia* non cambia, la connessione tra Revit e Dynamo rimane intatta.
Selezionare la curva più in alto della facciata con vetrate. Questa si estende per l'intera lunghezza dell'edificio. Se non si riesce a selezionare il bordo, ricordarsi di scegliere la selezione in Revit passando il cursore del mouse sul bordo e premendo TAB finché il bordo desiderato non viene evidenziato.
Utilizzando due nodi Select Edge, selezionare ogni bordo che rappresenta l'inclinazione al centro della facciata.
Ripetere la stessa operazione per i bordi inferiori della facciata in Revit.
I nodi Watch mostrano che ora sono presenti linee in Dynamo. Questo valore viene convertito automaticamente nella geometria di Dynamo poiché i bordi stessi non sono elementi di Revit. Queste curve sono i riferimenti che verranno utilizzati per creare un'istanza di travi reticolari adattive nella facciata.
*Per mantenere una topologia coerente, si sta facendo riferimento ad un modello che non ha facce o bordi supplementari aggiunti. Sebbene i parametri possano modificarne la forma, il modo in cui è stata creata rimane coerente.
È necessario innanzitutto unire le curve e accorparle in un elenco. In questo modo è possibile "raggruppare" le curve per eseguire operazioni di geometria.
Creare un elenco per le due curve al centro della facciata.
Unire le due curve in una PolyCurve collegando il componente List.Create in un nodo Polycurve.ByJoinedCurves.
Creare un elenco per le due curve nella parte inferiore della facciata.
Unire le due curve in una PolyCurve collegando il componente List.Create in un nodo Polycurve.ByJoinedCurves.
Infine, unire le tre curve principali (una linea e due PolyCurve) in un elenco.
Si desidera sfruttare la curva superiore, che è una linea, e rappresenta l'estensione completa della facciata. Verranno creati piani lungo questa linea per intersecare il gruppo di curve raggruppate in un elenco.
Con un Code Block, definire un intervallo utilizzando la sintassi:
0..1..#numberOfTrusses;
.Collegare un *integer slider *all'input per il Code Block. Come si poteva immaginare, questo rappresenterà il numero di travi reticolari. Notare che il dispositivo di scorrimento controlla il numero di elementi nell'intervallo definito da *0 *a 1.
Collegare il blocco di codice all'input param di un nodo Curve.PlaneAtParameter e collegare il bordo superiore all'input curve. Questo fornirà dieci piani, distribuiti uniformemente nell'estensione della facciata.
Un piano è un elemento di geometria astratto, che rappresenta uno spazio bidimensionale infinito. I piani sono ideali per le curve di livello e l'intersezione, come vengono impostati in questo passaggio.
Utilizzando il nodo Geometry.Intersect (impostare l'opzione Collegamento su Globale), collegare Curve.PlaneAtParameter all'input entity del nodo Geometry.Intersect. Collegare il nodo List.Create principale all'input geometry. Nella finestra di Dynamo vengono ora visualizzati i punti che rappresentano l'intersezione di ogni curva con i piani definiti.
Notare che l'output è un elenco di elenchi di elenchi. Sono troppi elenchi per gli scopi desiderati. Si intende eseguire una riduzione di livelli parziale qui. Occorre scendere di un livello nell'elenco e ridurre i livelli del risultato. A tale scopo, è necessario utilizzare l'operazione List.Map, come illustrato nel capitolo dell'elenco della guida introduttiva.
Collegare il nodo Geometry.Intersect all'input list di List.Map.
Collegare un nodo Flatten all'input f(x) di List.Map. I risultati forniscono 3 elenchi, ciascuno con un conteggio uguale al numero di travi reticolari.
Occorre modificare questi dati. Per creare un'istanza della trave reticolare, è necessario utilizzare lo stesso numero di punti adattivi definiti nella famiglia. Si tratta di un componente adattivo a tre punti, pertanto anziché tre elenchi con 10 elementi ciascuno (numberOfTrusses), si desidera ottenere 10 elenchi di tre elementi ciascuno. In questo modo è possibile creare 10 componenti adattivi.
Collegare List.Map ad un nodo List.Transpose. Ora si dispone dell'output di dati desiderato.
Per verificare che i dati siano corretti, aggiungere un nodo Polygon.ByPoints all'area di disegno e controllare con l'anteprima di Dynamo.
Allo stesso modo in cui sono stati creati i poligoni, disporre i componenti adattivi.
Aggiungere un nodo AdaptiveComponent.ByPoints all'area di disegno, collegare il nodo List.Transpose all'input points.
Utilizzando un nodo Family Types, selezionare la famiglia AdaptiveTruss e collegarla all'input FamilyType del nodo AdaptiveComponent.ByPoints.
In Revit, ora le dieci travi reticolari presentano una spaziatura uniforme sulla facciata.
Adattando il grafico, aumentare il valore numberOfTrusses a 30 modificando il dispositivo di scorrimento. Molte travi reticolari non sono molto realistiche, ma il collegamento parametrico funziona. Una volta eseguita la verifica, impostare numberOfTrusses su 15.
E per il test finale, selezionando la massa in Revit e modificando i parametri di istanza, è possibile modificare la forma dell'edificio e osservare come la trave reticolare fa la stessa cosa. Ricordarsi che questo grafico di Dynamo deve essere aperto per poter visualizzare questo aggiornamento e il collegamento verrà interrotto non appena verrà chiuso.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
Per iniziare, aprire il file di esempio per questa lezione: ARCH-DirectShape-BaseFile.rvt.
Nella vista 3D, si utilizza la massa dell'edificio della lezione precedente.
Lungo il bordo dell'atrio vi è una curva di riferimento, che verrà utilizzata come curva di riferimento in Dynamo.
Lungo il bordo opposto dell'atrio vi è un'altra curva di riferimento, a cui si farà riferimento anche in Dynamo.
Per fare riferimento alla geometria in Dynamo, verrà utilizzato Select Model Element per ogni membro in Revit. Selezionare la massa in Revit e importare la geometria in Dynamo utilizzando Element.Faces. La massa dovrebbe ora essere visibile nell'anteprima di Dynamo.
Importare una curva di riferimento in Dynamo utilizzando Select Model Element e CurveElement.Curve.
Importare l'altra curva di riferimento in Dynamo utilizzando Select Model Element e CurveElement.Curve.
Eseguendo lo zoom indietro e la panoramica a destra nel grafico di esempio, viene visualizzato un gruppo esteso di nodi; si tratta di operazioni geometriche che generano la struttura del tetto a pergolato visibile nell'anteprima di Dynamo. Questi nodi vengono generati utilizzando la funzionalità Nodo da aggiungere al codice, come descritto nella sezione del blocco di codice della guida introduttiva.
La struttura è gestita da tre parametri principali: Diagonal Shift, Camber e Radius.
Zoom con un'occhiata ravvicinata ai parametri per questo grafico. È possibile adattarli per ottenere diversi output della geometria.
Se si trascina il nodo DirectShape.ByGeometry nell'area di disegno, è possibile notare che presenta quattro input: geometry, category, material e name.
La geometria sarà il solido creato dalla parte di creazione della geometria del grafico.
L'input della categoria viene scelto tramite il nodo Categories dell'elenco a discesa. In questo caso si utilizzerà Telaio strutturale.
L'input del materiale viene selezionato attraverso la serie di nodi riportata sopra, anche se in questo caso può essere definito più semplicemente come "Default".
Dopo aver eseguito Dynamo, tornando in Revit, il progetto contiene la geometria importata sul tetto. Si tratta di un elemento del telaio strutturale, anziché di un modello generico. Il collegamento parametrico a Dynamo rimane intatto.
Mentre in precedenza è stata esaminata la modifica della massa di un edificio di base, si vuole approfondire ulteriormente il collegamento di Dynamo/Revit modificando un numero elevato di elementi in un'unica operazione. La personalizzazione su larga scala diventa più complessa, poiché le strutture di dati richiedono operazioni con gli elenchi più avanzate. Tuttavia, i principi alla base della loro esecuzione sono fondamentalmente gli stessi. Verranno esaminate alcune opportunità per l'analisi da un gruppo di componenti adattivi.
Si supponga di aver creato un'ampia gamma di componenti adattivi e di voler modificare i parametri in base alle relative posizioni dei punti. I punti, ad esempio, potrebbero controllare un parametro di spessore correlato all'area dell'elemento. Oppure potrebbero controllare un parametro di opacità correlato all'esposizione solare durante tutto l'anno. Dynamo consente il collegamento dell'analisi ai parametri in pochi semplici passaggi. Verrà analizzata una versione di base nell'esercizio riportato di seguito.
Eseguire una query sui punti adattivi del componente adattivo selezionato utilizzando il nodo AdaptiveComponent.Locations. Questo consente di utilizzare una versione astratta di un elemento di Revit per l'analisi.
Estraendo la posizione dei punti dei componenti adattivi, è possibile eseguire un'ampia gamma di analisi per tale elemento. Un componente adattivo a quattro punti consentirà, ad esempio, di studiare la deviazione dal piano di un determinato pannello.
Utilizzare il rimappaggio per associare un gruppo di dati ad un intervallo di parametri. Questo è uno strumento fondamentale utilizzato in un modello parametrico e verrà dimostrato nell'esercizio riportato di seguito.
Utilizzando Dynamo, le posizioni dei punti dei componenti adattivi possono essere utilizzate per creare un piano di adattamento per ogni elemento. È possibile anche eseguire una query sulla posizione del sole nel file di Revit e studiare l'orientamento relativo del piano rispetto al sole confrontandolo con altri componenti adattivi. Eseguire l'impostazione nell'esercizio riportato di seguito creando un tetto algoritmico.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
Questo esercizio verterà sulle tecniche illustrate nella sezione precedente. In questo caso, verrà definita una superficie parametrica degli elementi di Revit, saranno create istanze di componenti adattivi a quattro punti, che verranno poi modificati in base all'orientamento rispetto al sole.
Iniziare selezionando due spigoli con il nodo Select Edge. I due spigoli sono i tratti lunghi dell'atrio.
Combinare i due spigoli in un elenco con il nodo List.Create.
Creare una superficie tra i due spigoli con Surface.ByLoft.
Utilizzando Code Block, definire un intervallo da 0 a 1 con 10 valori a spaziatura uniforme:
0..1..#10;
.Collegare Code Block agli input *u *e v di un nodo Surface.PointAtParameter e collegare il nodo Surface.ByLoft all'input surface. Fare clic con il pulsante destro del mouse sul nodo e modificare Collegamento in Globale. In questo modo si ottiene una griglia di punti sulla superficie.
Questa griglia di punti funge da punti di controllo per una superficie definita in modo parametrico. Si desidera estrarre le posizioni u e v di ciascuno di questi punti in modo da poterle collegare ad una formula parametrica e mantenere la stessa struttura di dati. A tale scopo, è possibile eseguire una query sulle posizioni dei parametri dei punti appena creati.
Aggiungere un nodo Surface.ParameterAtPoint all'area di disegno e collegare gli input come mostrato in precedenza.
Eseguire una query sui valori u di questi parametri con il nodo UV.U.
Eseguire una query sui valori v di questi parametri con il nodo UV.V.
Gli output mostrano i valori u e v corrispondenti per ogni punto della superficie. Ora è disponibile un intervallo compreso tra 0 e 1 per ogni valore, nella struttura di dati corretta, pertanto è possibile applicare un algoritmo parametrico.
Aggiungere Code Block all'area di disegno e immettere il codice:
Math.Sin(u*180)*Math.Sin(v*180)*w;
. Si tratta di una funzione parametrica che crea una protuberanza sinusoidale da una superficie piana.Collega UV.U all'input u e UV.V all'input v.
L'input w rappresenta l'ampiezza della forma, pertanto si associa Number Slider ad esso.
Ora è disponibile un elenco di valori come definito dall'algoritmo. Utilizzare questo elenco di valori per spostare i punti verso l'alto nella direzione +Z. Utilizzando Geometry.Translate, collegare *Code Block *a zTranslation e Surface.PointAtParameter all'input geometry. I nuovi punti dovrebbero essere visualizzati nell'anteprima di Dynamo.
Infine, creare una superficie con il nodo NurbsSurface.ByPoints, collegando il nodo del passaggio precedente all'input points. Si ottiene una superficie parametrica. È possibile trascinare il dispositivo di scorrimento per restringere e ingrandire la protuberanza.
Con la superficie parametrica, si vuole definire un modo per suddividerla in pannelli al fine di creare la serie di componenti adattivi a quattro punti. Dynamo non dispone di funzionalità predefinite per la suddivisione della superficie in pannelli, pertanto è possibile accedere alla community per i pacchetti di Dynamo utili.
Passare a Pacchetti > Cerca pacchetto.
Cercare LunchBox e installare LunchBox for Dynamo. Si tratta di un insieme veramente utile di strumenti per le operazioni di geometria come questa.
Dopo il download, si dispone ora dell'accesso completo alla suite LunchBox. Cercare Quad Grid e selezionare LunchBox Quad Grid By Face. Collegare la superficie parametrica all'input Surface e impostare le divisioni U e V su 15. Nell'anteprima di Dynamo dovrebbe essere visualizzata una superficie in quattro pannelli.
Se si desidera conoscere la relativa impostazione, è possibile fare doppio clic sul nodo Lunch Box e vedere come viene eseguita.
Tornando a Revit, si darà un rapido sguardo al componente adattivo utilizzato qui. Non occorre seguirlo, ma questo è il pannello del tetto di cui verrà creata un'istanza. Si tratta di un componente adattivo a quattro punti, che è una rappresentazione approssimata di un sistema ETFE. L'apertura del vuoto centrale si trova su un parametro denominato Aperture Ratio.
Verrà creata un'istanza di molti elementi della geometria in Revit. Assicurarsi quindi di impostare il risolutore Dynamo su Manuale.
Aggiungere un nodo Family Types all'area di disegno e selezionare ROOF-PANEL-4PT.
Aggiungere un nodo AdaptiveComponent.ByPoints all'area di disegno, collegare Panel Pts dall'output LunchBox Quad Grid by Face all'input points. Collegare il nodo Family Types all'input familySymbol.
Fare clic su Esegui. La creazione della geometria in Revit richiederà un po' di tempo. Se richiede troppo tempo, ridurre il valore 15 di Code Block ad un numero inferiore. In questo modo si riduce il numero di pannelli sul tetto.
Nota: se Dynamo richiede molto tempo per il calcolo dei nodi, potrebbe essere necessario utilizzare la funzionalità del nodo Congela per mettere in pausa l'esecuzione delle operazioni di Revit durante lo sviluppo del grafico. Per ulteriori informazioni sul congelamento dei nodi, controllare la sezione Congelamento nel capitolo sui solidi.
Tornando in Revit, ecco la serie di pannelli sul tetto.
Eseguendo lo zoom avanti, è possibile osservare più da vicino la qualità della superficie.
Continuando dal passaggio precedente, proseguire e controllare l'apertura di ogni pannello in base alla sua esposizione al sole. Se si esegue lo zoom in Revit e si seleziona un pannello, sulla barra delle proprietà viene visualizzato il parametro Aperture Ratio. La famiglia è impostata in modo che l'apertura sia compresa, approssimativamente, tra 0.05 e 0.45.
Se si osserva il percorso solare, è possibile vedere la posizione corrente del sole in Revit.
È possibile fare riferimento a questa posizione del sole utilizzando il nodo SunSettings.Current.
Collegare le impostazioni del sole a Sunsetting.SunDirection per ottenere il vettore solare.
Dal nodo Panel Pts utilizzato per creare i componenti adattivi, utilizzare Plane.ByBestFitThroughPoints per approssimare un piano per il componente.
Eseguire una query sulla normale di questo piano.
Utilizzare il prodotto scalare per calcolare l'orientamento solare. Il prodotto scalare è una formula che determina il possibile grado di parallelismo o antiparallelismo dei due vettori. Quindi utilizzare la normale del piano di ogni componente adattivo e confrontarla con il vettore solare per simulare approssimativamente l'orientamento solare.
Utilizzare il valore assoluto del risultato. In questo modo si garantisce che il prodotto scalare sia preciso se la normale del piano è rivolta verso la direzione inversa.
Fare clic su Esegui.
Osservando il prodotto scalare, si hanno diversi numeri. Si desidera utilizzare la distribuzione relativa, ma è necessario comprimere i numeri nell'intervallo appropriato del parametro Aperture Ratio che si intende modificare.
Math.RemapRange è uno strumento eccezionale per questa funzione. Prevede un elenco di input e ne riassocia i limiti a due valori obiettivo.
Definire i valori obiettivo come 0.15 e_0.45_ in Code Block.
Fare clic su Esegui.
Collegare i valori riassociati ad un nodo Element.SetParameterByName.
Collegare la stringa Aperture Ratio all'input parameterName.
Collegare AdaptiveComponent all'input element.
Fare clic su Esegui.
Tornando in Revit, da lontano è possibile notare l'effetto dell'orientamento solare sull'apertura dei pannelli ETFE.
Eseguendo lo zoom avanti, si può vedere che i pannelli ETFE sono più vicini alla superficie del sole. L'obiettivo è ridurre il surriscaldamento derivante dall'esposizione solare. Se si desidera far passare più luce in base all'esposizione solare, occorre solo cambiare il dominio in Math.RemapRange.
Dynamo per Revit estende il Building Information Modeling (BIM) con l'ambiente di dati e logica di un editor di algoritmi grafici. La sua flessibilità, abbinata ad un solido database di Revit, offre una nuova prospettiva per il BIM.
Questo capitolo si concentra sui workflow di Dynamo per il BIM. Le sezioni sono principalmente basate sugli esercizi, poiché il passaggio diretto ad un progetto è il modo migliore per acquisire familiarità con un editor di algoritmi grafici per il BIM. Ma occorre prima parlare degli inizi del programma.
Poiché sia Revit che Dynamo continuano ad evolvere, è possibile che la versione di Revit utilizzata non sia compatibile con la versione di Dynamo per Revit installata nel computer in uso. Di seguito sono descritte le versioni di Dynamo per Revit compatibili con Revit.
Con un team dedicato di sviluppatori e una comunità appassionata, il progetto ne ha fatta di strada dalle sue umili origini.
Dynamo è stato originariamente creato per ottimizzare i workflow di AEC in Revit. Sebbene Revit crei un solido database per ogni progetto, può risultare difficile per un utente medio accedere a queste informazioni al di fuori dei vincoli dell'interfaccia. Revit ospita un'API (Application Program Interface) completa che consente agli sviluppatori di terze parti di creare strumenti personalizzati. I programmatori utilizzano questa API da anni, ma lo scripting basato su testo non è accessibile a tutti. In Dynamo si cerca di democratizzare i dati di Revit tramite un editor di algoritmi grafici accessibile.
Utilizzando i nodi di Dynamo principali in combinazione con quelli di Revit personalizzati, un utente può espandere in modo sostanziale i workflow parametrici per l'interoperabilità, la documentazione, l'analisi e la generazione. Con Dynamo noiosi workflow possono essere automatizzati, mentre esplorazioni della progettazione possono prosperare.
In un progetto o un editor di famiglie di Revit, individuare i moduli aggiuntivi e fare clic su Dynamo.*
*Dynamo verrà eseguito solo nel file in cui è stato aperto.
Quando si apre Dynamo in Revit, è presente una nuova categoria denominata Revit. Questa è un'aggiunta completa all'interfaccia utente che offre nodi specifici per i workflow di Revit.*
*Utilizzando la famiglia di nodi specifica di Revit, il grafico di Dynamo funzionerà solo durante l'apertura in Dynamo per Revit. Se, ad esempio, viene aperto un grafico di Dynamo per Revit in Dynamo Sandbox, i nodi di Revit risulteranno mancanti.
Poiché Revit è una piattaforma che offre una gestione affidabile dei progetti, le operazioni parametriche in Dynamo possono essere complesse e lente da calcolare. Se Dynamo richiede molto tempo per il calcolo dei nodi, è possibile utilizzare la funzionalità del nodo Congela per mettere in pausa l'esecuzione delle operazioni di Revit durante lo sviluppo del grafico.
È possibile leggere ulteriori informazioni sul congelamento dei nodi nella sezione Nodi e fili.
Poiché Dynamo è stato originariamente creato per AEC, la sua vasta e crescente comunità è una grande risorsa da cui imparare e per connettersi con gli esperti del settore. La comunità di Dynamo è composta da architetti, ingegneri, programmatori e progettisti che hanno tutti passione per la condivisione e la creazione.
Dynamo è un progetto open source in costante evoluzione e molti sviluppi sono correlati a Revit. Se non si conosce il programma, accedere al forum di discussione e iniziare a pubblicare domande. Se si è programmatori e si desidera essere coinvolti nello sviluppo di Dynamo, consultare il repository su Github. Inoltre, una risorsa eccezionale per le librerie di terze parti è Dynamo Package Manager. Molti di questi pacchetti sono stati concepiti per AEC e si darà uno sguardo a pacchetti di terze parti per la suddivisione in pannelli in questo capitolo.
Dynamo gestisce anche un blog attivo. Per scoprire gli ultimi sviluppi, leggere i post recenti.
La modifica dei parametri per la documentazione segue le lezioni apprese nelle sezioni precedenti. In questa sezione verrà esaminata la modifica dei parametri che non hanno effetto sulle proprietà geometriche di un elemento, ma piuttosto si prepara un file di Revit per la documentazione.
Nell'esercizio riportato di seguito, verrà utilizzata una deviazione di base dal nodo del piano per creare una tavola di Revit per la documentazione. Ogni pannello della struttura del tetto definita in modo parametrico ha un valore diverso per la deviazione e si desidera chiamare l'intervallo di valori utilizzando il colore e includendo nell'abaco i punti adattivi da consegnare ad un consulente per le facciate, un ingegnere o un appaltatore.
La deviazione dal nodo del piano calcolerà la distanza con cui l'insieme di quattro punti varia dal piano di adattamento tra di loro. Questo è un modo rapido e semplice per studiare l'edificabilità.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
Iniziare con il file di Revit per questa sezione (o continuare dalla sezione precedente). Questo file presenta una serie di pannelli ETFE sul tetto. Per questo esercizio, si farà riferimento a questi pannelli.
Aggiungere un nodo Family Types all'area di disegno e scegliere ROOF-PANEL-4PT.
Collegare il nodo ad un nodo di selezione All Elements of Family Type per caricare tutti gli elementi da Revit in Dynamo.
Eseguire una query sulla posizione dei punti adattivi per ogni elemento con il nodo AdaptiveComponent.Locations.
Creare un poligono da questi quattro punti con il nodo Polygon.ByPoints. Notare che ora è disponibile una versione astratta del sistema con pannelli in Dynamo senza dover importare la geometria completa dell'elemento di Revit.
Calcolare la deviazione planare con il nodo Polygon.PlaneDeviation.
Per divertimento, come nell'esercizio precedente, impostare il rapporto di apertura di ogni pannello in base alla sua deviazione planare.
Aggiungere un nodo Element.SetParameterByName all'area di disegno e collegare i componenti adattivi all'input element. Collegare un Code Block che riporta Aperture Ratio all'input parameterName.
Non è possibile collegare direttamente i risultati della deviazione all'input value perché è necessario riassociare i valori all'intervallo di parametri.
Utilizzando Math.RemapRange, riassociare i valori di deviazione ad un dominio compreso tra 0.15 e 0_._45 immettendo
0.15; 0.45;
nel Code Block.Collegare questi risultati all'input value per Element.SetParameterByName.
Tornando in Revit, è possibile in un certo senso sfruttare la modifica dell'apertura sulla superficie.
Eseguendo lo zoom avanti, diventa più chiaro che i pannelli chiusi sono ponderati verso gli angoli della superficie. Gli angoli aperti sono verso la parte superiore. Gli angoli rappresentano aree di maggiore deviazione mentre la bombatura ha una curvatura minima, pertanto ciò è utile.
L'impostazione del rapporto di apertura non mostra chiaramente la deviazione dei pannelli sul tetto; inoltre si sta modificando la geometria dell'elemento effettivo. Si supponga di voler semplicemente studiare la deviazione dal punto di vista della fattibilità della fabbricazione. Sarebbe utile colorare i pannelli in base all'intervallo di deviazione per la documentazione. È possibile farlo con la serie di passaggi riportata di seguito e con un processo molto simile a quello descritto sopra.
Rimuovere Element.SetParameterByName e i relativi nodi di input e aggiungere Element.OverrideColorInView.
Aggiungere un nodo Color Range all'area di disegno e collegarlo all'input color di Element.OverrideColorInView. Per creare la sfumatura, è ancora necessario collegare i valori della deviazione all'intervallo di colori.
Posizionando il cursore del mouse sull'input value, è possibile vedere che i valori per l'input devono essere compresi tra 0 e 1 per assegnare un colore a ciascun valore. È necessario riassociare i valori della deviazione a questo intervallo.
Utilizzando Math.RemapRange, riassociare i valori della deviazione planare ad un intervallo compreso tra* 0* e 1. Nota È anche possibile utilizzare il nodo MapTo per definire un dominio di origine.
Collegare i risultati ad un nodo Color Range.
Notare che l'output è un intervallo di colori anziché un intervallo di numeri.
Se l'opzione è impostata su Manuale, fare clic su Esegui. Dovrebbe essere possibile procedere facilmente da questo momento in poi avendo impostato l'opzione su Automatico.
In Revit, si nota una sfumatura molto più leggibile che è rappresentativa della deviazione planare basata sull'intervallo di colori. Ma se si vogliono personalizzare i colori? Notare che i valori della deviazione minima sono rappresentati in rosso, che sembra essere l'opposto di ciò che ci si aspetterebbe. Si desidera visualizzare la deviazione massima in rosso, con la deviazione minima rappresentata da un colore più tenue. Tornare in Dynamo e modificare questo aspetto.
Utilizzando un Code Block, aggiungere due numeri su due righe diverse:
0;
e255;
.Creare un colore rosso e blu collegando i valori appropriati a due nodi Color.ByARGB.
Creare un elenco da questi due colori.
Collegare questo elenco all'input colors di Color Range e osservare l'aggiornamento dell'intervallo di colori personalizzato.
Tornando in Revit, è ora possibile distinguere meglio le aree di deviazione massima negli angoli. Ricordarsi che questo nodo serve per sostituire un colore in una vista, così può essere davvero utile disporre di una tavola specifica nel gruppo di disegni che si concentra su un particolare tipo di analisi.
Selezionando un pannello ETFE in Revit, si noterà che sono presenti quattro parametri di istanza, XYZ1, XYZ2, XYZ3 e XYZ4. Questi sono tutti vuoti dopo la loro creazione. Si tratta di parametri basati sul testo che richiedono valori. Verrà utilizzato Dynamo per scrivere le posizioni dei punti adattivi su ciascun parametro. Ciò consente l'interoperabilità se la geometria deve essere inviata ad un ingegnere o un consulente per le facciate.
In una tavola di esempio, è presente un abaco di grandi dimensioni vuoto. I parametri XYZ sono parametri condivisi nel file di Revit, il che consente di aggiungerli all'abaco.
Se si esegue lo zoom avanti, i parametri XYZ devono ancora essere immessi. I primi due parametri vengono gestiti da Revit.
Per scrivere questi valori, verrà eseguita un'operazione sugli elenchi complessa. Il grafico stesso è semplice, ma i concetti si basano in modo significativo sul mappaggio degli elenchi, come discusso nel capitolo sugli elenchi.
Selezionare tutti i componenti adattivi con due nodi.
Estrarre la posizione di ciascun punto con AdaptiveComponent.Locations.
Convertire questi punti in stringhe. Ricordarsi che il parametro è basato sul testo, quindi occorre immettere il tipo di dati corretto.
Creare un elenco delle quattro stringhe che definiscono i parametri da modificare: XYZ1, XYZ2, XYZ3 e XYZ4.
Collegare questo elenco all'input parameterName di Element.SetParameterByName.
Collegare Element.SetParameterByName all'input combinator di List.Combine. Collegare i componenti adattivi a list1. Collegare String from Object a list2.
Qui si sta eseguendo il mappaggio degli elenchi, poiché si stanno scrivendo quattro valori per ogni elemento, il che crea una struttura dei dati complessa. Il nodo List.Combine definisce un'operazione di un livello più basso nella gerarchia dei dati. Per questo motivo, gli input element e value di Element.SetParameterByName restano vuoti. List.Combine collega i sottoelenchi dei relativi input agli input vuoti di Element.SetParameterByName, in base all'ordine in cui sono collegati.
Selezionando un pannello in Revit, notare che sono presenti valori di stringa per ogni parametro. Realisticamente, è necessario creare un formato più semplice per scrivere un punto (X, Y, Z). Questa operazione può essere eseguita con operazioni di stringa in Dynamo, ma in questo caso viene ignorata per rimanere all'interno dell'ambito di questo capitolo.
Vista dell'abaco di esempio con i parametri compilati.
Ogni pannello ETFE ora dispone delle coordinate XYZ scritte per ogni punto adattivo, che rappresentano gli angoli di ogni pannello per la fabbricazione.
Versione di Revit | Prima versione di Dynamo stabile | Ultima versione di Dynamo per Revit supportata |
---|---|---|
2013
2014
2015
2016
2017
2018
2019
2020
2.1.0 - Revit 2020 e versioni successive include ora Dynamo e riceve gli aggiornamenti come Revit.
N/A