Table of Contents
Comprendere Dynamo per Revit
I flussi di lavoro di Building Information Modeling (BIM) in Revit spesso comportano compiti ripetitivi e manuali che rallentano la consegna del progetto e aumentano il rischio di errore umano. Architetti, ingegneri e manager BIM spesso si trovano a posizionare innumerevoli elementi, aggiornare i parametri tra centinaia di famiglie, o esportare dati per la segnalazione.
Dynamo, un ambiente di programmazione visiva che si integra direttamente con Revit per automatizzare questi processi noiosi. Dynamo consente agli utenti di creare script, chiamati “grafi” – utilizzando un’interfaccia basata sul nodo. Invece di scrivere codice da zero, si trascina, si trascina e si collegano nodi che rappresentano elementi Revit, operazioni di geometria, logica matematica o flussi di dati.
Cos'è Dynamo?
Dynamo è una piattaforma di programmazione visiva open source sviluppata da Autodesk, che viene utilizzata come componente aggiuntivo per Revit (e altri strumenti Autodesk) e fornisce il proprio ambiente di esecuzione. Un grafico Dynamo è essenzialmente un insieme di nodi collegati tra loro per definire una sequenza di operazioni. Ogni nodo riceve input, elabora e produce risultati. Il grafico esegue da sinistra a destra e i risultati possono essere spostati indietro nel modello Revit.
La piattaforma supporta un grande ecosistema di pacchetti con contenuti comunitari che ampliano le sue capacità, con nodi pronti per attività come la manipolazione avanzata di liste, algoritmi di ottimizzazione o l'integrazione con Excel e altri strumenti esterni. Dynamo include anche un nodo di script Python, dandovi pieno accesso all'API Revit quando hai bisogno di logica oltre i blocchi di costruzione visiva.
Come Dynamo si integra con Revit
Dynamo funziona all'interno dello stesso processo di Revit, il che significa che può leggere e modificare direttamente il documento Revit attivo. Quando si apre Dynamo dalla scheda “Manage” o “Add‐ins”, una finestra separata appare sopra l'interfaccia Revit. Il grafico che si costruisce può fare riferimento a qualsiasi elemento nel modello attuale per categoria, famiglia, tipo o valori dei parametri.
Questa stretta integrazione significa che qualsiasi cambiamento fatto da Dynamo si riflette immediatamente nel modello Revit, proprio come se avessi fatto il cambio manualmente. È possibile creare, eliminare o modificare elementi, impostare valori dei parametri e rigenerare le visualizzazioni. Lo stesso coordinamento e avvisi che si applicano alle modifiche manuali si applicano anche alle modifiche generate da Dynamo, in modo che l’integrità del modello rimanga intatta.
Il Paradigm di programmazione visiva
La programmazione visiva con Dynamo differisce da scrittura tradizionale. Invece di scrivere linee di codice, si costruisce una portata di operazioni. Ogni nodo ha un nome (ad esempio, “Wall.ByLocationAndHeight”) e porte di ingresso chiaramente etichettate e porte di uscita. Si collegano fili tra porte per passare i dati. Ad esempio, si potrebbe alimentare un elenco di curve di posizione in un nodo che crea pareti, quindi collegare l'output a un altro tipo.
Questo approccio visivo rende facile comprendere la logica a colpo d'occhio, incoraggia anche la sperimentazione: è possibile modificare rapidamente l'ingresso di un nodo o scambiare un nodo per un altro senza riscrivere il codice.
Vantaggi chiave di Dynamo Automation
L'adozione di Dynamo per l'automazione Revit consente di ottenere miglioramenti misurabili in diverse dimensioni, in particolare i principali vantaggi con esempi concreti.
- Risparmio di tempo drammatico:[] Compiti che richiedono ore quando fatto manualmente possono essere completati in pochi secondi con un grafico ben scritto. Ad esempio, posizionando 500 lastre di pavimenti unici con diversi offset e parametri potrebbe richiedere un giorno manualmente; un grafico Dynamo può finire in meno di un minuto.
- Consistenza costante:[] I processi manuali sono soggetti a sovratensione – un elemento qui con un parametro sbagliato, una parete non allineata alla griglia. Dynamo applica le stesse regole ogni volta, eliminando la variabilità. Questo è fondamentale per il controllo della qualità in grandi progetti in cui più membri del team contribuiscono allo stesso modello.
- La geometria complessa è facile:[ Alcune esplorazioni di design, come le facciate parametriche, le forme di tetto organico o i modelli di pavimenti a guida dati, sono impraticabili per modellare a mano. I nodi geometrici di Dynamo combinati con gli strumenti robusti di Revit consentono di generare forme complesse algoritmicamente.
- Gestione dei dati standard:[] Estrarre le informazioni da un modello Revit per la segnalazione, la stima dei costi o il coordinamento è spesso noioso. Con Dynamo, è possibile esportare i programmi, le proprietà degli elementi e i valori dei parametri direttamente ai file Excel o CSV.
- Ripetibilità e riutilizzabilità:[] Una volta creato un grafico, è possibile riutilizzarlo su qualsiasi progetto con una minima modifica. Molte aziende costruiscono librerie di grafici standard per compiti comuni, come l'impostazione di modelli di visualizzazione, la creazione di fogli, o la pulizia di file CAD importati.
Iniziare con il tuo primo script
Per iniziare a automatizzare le attività in Revit con Dynamo, seguire i passaggi sottostanti. Il processo è lo stesso se si utilizza Revit 2021 o l'ultima versione.
Installazione e configurazione
Le versioni recenti di Revit (2019 e successive) includono Dynamo for Revit come add-in integrato. Puoi lanciarlo direttamente dalla scheda “Manage” sotto “Visual Programming” > “Dynamo.” Se stai usando una versione precedente o hai bisogno dell’ultima versione Dynamo, scarica il programma di installazione dal sito web ufficiale Dynamo]].
Navigando l'interfaccia Dynamo
Quando si apre Dynamo, si vede una tela di spazio di lavoro, un pannello di libreria a sinistra, e una barra degli strumenti in alto. Il pannello della libreria classifica tutti i nodi disponibili per libreria (ad esempio, “Geometria,” “Revit,” “Data”, “Display”). È possibile cercare i nodi per nome. La barra degli strumenti include pulsanti per eseguire il grafico (automatico o manuale), salvare e accedere al gestore del pacchetto.
Fare clic con il pulsante destro del mouse sulla tela per aggiungere rapidamente nodi, creare blocchi di codice (per brevi espressioni Python o DesignScript), o gestire gruppi. Una pratica efficace è quella di raggruppare parti correlate del grafico con un sovrapposizione di testo (un nodo “Gruppo”) per documentare il suo scopo.
Costruire un semplice grafico
Un classico primo script: posizionare livelli selezionati con lastre di pavimento.
- Aggiungi un nodo “Categories” e seleziona “Floors” e “Levels” dal menu a tendina.
- Utilizzare “All Elements of Categoria” per ottenere tutti gli elementi di livello nel modello.
- Estrarre l'altezza di ogni livello con "Level.GetElevation".
- Creare una curva rettangolo a ogni livello utilizzando “Rectangle.ByWidthLength.” Collegare l’altezza per impostare l’altezza del piano.
- Utilizzare “Floor.ByOutlineTypeAndLevel” per creare una lastra di pavimento per ogni livello. Fornire un tipo di pavimento (ad esempio, “Generic 12””) selezionandolo da un nodo “Floor Types”.
- Dynamo metterà un piano ad ogni livello del modello.
Questo semplice grafico introduce il flusso di dati di base: ottenere elementi → proprietà di estrazione → creare geometria → spingere i risultati a Revit.
Test e debug
Prima di applicare un grafico a un progetto live, provarlo su una copia del modello o un piccolo campione. Dynamo fornisce diversi aiuti di debug: i nodi di orologio mostrano i dati che passano attraverso un filo; congelare i nodi temporaneamente sospendere l'esecuzione; e "Is" nodi verificare le condizioni.
Tecniche di automazione avanzate
Una volta che sei a tuo agio con i grafici di base, puoi sbloccare l'automazione più potente incorporando script, pacchetti di terze parti e chiamate API dirette.
Utilizzo dei nodi di script Python
Dynamo include un nodo “Python Script” che consente di scrivere il codice Python con accesso completo all’API Revit. Questo è utile per la logica che sarebbe ingombrante o impossibile con i nodi visivi da solo, come la ramificazione condizionale complessa, i loop sulle liste di elementi con operazioni personalizzate, o i calcoli di memoria-intensivi. L’ambiente Python in Dynamo include le librerie standard (ad esempio, math, files, JAPI, configura
Ad esempio, per aggiornare in batch il parametro “Commenti” su tutte le porte con una condizione specifica, alcune linee di Python all’interno di un nodo di script possono essere più mantenuti di un tangle di List.Filter e Code Block nodes.
Gestione del pacchetto Dynamo
Il Dynamo Package Manager[[]] ospita centinaia di pacchetti sviluppati dalla comunità che estendono le capacità di Dynamo.
- Clockwork:[] Fornisce nodi aggiuntivi per le operazioni di elenco, la gestione degli elementi di Revit e la creazione della geometria.
- DataShapes:[ Abilita forme avanzate basate sui dati e l'interfaccia utente.
- Optimo:[ Per l'ottimizzazione e la formazione-finanza evolutiva.
- Rhythm:[] Automatizza la visualizzazione e la gestione dei fogli Revit.
Per installare un pacchetto, vai alla barra degli strumenti Dynamo e seleziona “Packages” > “Cerca un pacchetto”. Digitare il nome (ad esempio, “Clockwork”), fare clic su installazione e riavviare Dynamo. I nodi del pacchetto compariranno nella libreria sotto la loro categoria.
Lavorare con l'API Revit tramite Dynamo
Dynamo espone una grande parte dell'API Revit, ma non tutti i metodi sono disponibili come nodo visivo. I nodi di script Python ti danno l'accesso completo alle API. Puoi usare le transazioni per creare, eliminare o modificare gli elementi; sottoscrivere gli eventi dell'interfaccia utente o anche eseguire processi esterni. Ad esempio, puoi usare l'API Revit per duplicare le visualizzazioni con impostazioni specifiche, esportare i file DWG utilizzando opzioni di esportazione personalizzate o analizzare le intersezioni degli elementi.
Un tipico script Python in Dynamo inizia ottenendo il riferimento del documento Revit:
Quindi è possibile utilizzare metodi API standard all'interno del framework di transazione di Dynamo (spingere il codice in una Transazione). L'output del nodo Python viene inviato come oggetto Dynamo.
Caso di utilizzo dell'automazione comune
I seguenti esempi del mondo reale mostrano ciò che Dynamo può fare nel lavoro quotidiano Revit.
Pavimenti e Parete automatizzati
Usare la rinfusa crea stanze e pavimenti: Da un foglio di calcolo Excel elenca nomi delle camere, aree e livelli, Dynamo può leggere i dati, creare stanze nel modello e assegnare finiture del pavimento a ogni stanza in base al tipo di utilizzo.
Aggiornamenti del parametro Batch
Uno scenario comune: un produttore rilascia una nuova linea di prodotti e le corrispondenti famiglie Revit hanno bisogno dei parametri “Model Number”, “Cost”, “URL” e “Cost”, aggiornati, invece di aprire ogni famiglia e modificare manualmente i parametri, è possibile scrivere un grafico Dynamo che itera attraverso tutte le istanze di quel tipo familiare nel progetto e impostare i nuovi valori, garantendo coerenza e risparmio ore di lavoro.
Estrazione dati a Excel
Per la valutazione dei costi e dei report, estrarre i dati degli elementi, gli orari delle porte con dimensioni, materiali, valutazioni dei fuochi e set hardware, a Excel. Il “Data.ExportCSV” di Dynamo o i nodi del pacchetto Excel possono scrivere in un foglio di calcolo formattato. È inoltre possibile tirare i dati da Excel in Dynamo per guidare la geometria, creando elementi di visualizzazione dei dati come diagrammi di bolla o piani di pavimento colorati basati su metriche di camera.
Pulitura e Audit del modello
I modelli di grandi dimensioni Revit spesso accumulano strati, gruppi o elementi duplicati non utilizzati. Dynamo può scansionare il modello per condizioni come pareti sovrapposte, elementi senza classificazione, o gruppi non purificati. Può quindi eliminarli o contrassegnarli con un parametro condiviso. Questo è particolarmente utile per la conformità BIM prima di inviare un modello a un client o a un modello federato.
Migliori Pratiche per gli script di produzione
Per garantire che i grafici Dynamo siano affidabili, manutenbili e performanti, segui queste linee guida.
Controllo della versione e documentazione
Tratta i file .dyn come codice: memorizzarli in un sistema di controllo delle versioni (ad esempio, Git) per monitorare i cambiamenti e la collaborazione. Utilizzare nomi e annotazioni di gruppo descrittivi sulla tela per spiegare lo scopo del grafico e gli input.
Gestione degli errori
Le assunzioni codificate con i codici rigidi (ad esempio, l’aspettativa di un elemento specifico da esistere) possono causare un guasto del grafico. Utilizzare nodi come “Object.IsNull” e “List.FilterByBoolMask” per gestire i dati mancanti con grazia. Per gli script Python, avvolgere le sezioni critiche nei blocchi di prova e lasciare messaggi di errore come uscite.
Ottimizzazione delle prestazioni
I modelli Revit possono essere grandi, quindi i grafici inefficienti possono rallentare drasticamente. Ad esempio, evitare di usare “All Elements of Categoria” all’interno di un loop se hai bisogno solo di un sottoinsieme. Invece, raccogliere tutti gli elementi una volta e poi filtrare.
Conclusioni
Automatizzazione delle attività Revit con Dynamo non è solo un hacker della produttività, ma è un cambiamento fondamentale nel modo in cui i professionisti del BIM si avvicinano al loro lavoro. Sostituendo processi manuali, incerti con flussi di lavoro ripetibili, scritti, si libera l'energia mentale per l'innovazione progettuale e il coordinamento del progetto. La curva di apprendimento iniziale paga rapidamente i dividendi: anche un semplice grafico che consente di risparmiare 30 minuti al giorno aggiunge fino a oltre 120 ore all'anno.
Scegli un compito ripetitivo che fai spesso, magari mettendo grigliate o esportando programmi, e costruisci un grafico che lo automatizza. Come la tua fiducia cresce, esplora il gestore dei pacchetti, immergeti in Python e condividi i tuoi grafici con il tuo team. La comunità intorno a Dynamo è vibrante e disponibile; risorse come il Dynamo Primer e il [Dynamo]
L'automazione BIM non è più opzionale in un settore competitivo. Con Dynamo, hai gli strumenti per lavorare più intelligente, non più difficile, e fornire modelli di qualità superiore in meno tempo.