"All this he saw, for one moment breathless and intense, vivid on the morning sky; and still, as he looked, he lived; and still, as he lived, he wondered."

Revit: Catalogo Visivo Materiali

Pubblico questo workflow su richiesta dei ragazzi del Masterkeen 7, cui appartiene la prima parte dello script.

1. Premessa

Siamo in un ambito di applicazione abbastanza tradizionale di Dynamo, ovvero il suo utilizzo per la creazione di un file catalogo come quelli in figura.

Task1_Creazione del contenitore_RVT

Catalogo vegetazione, per la gioia del paesaggista.

1.2

Catalogo pilastri, per la gioia dello strutturista.

 

Schermata 2019-06-12 alle 17.25.16

Catalogo materiali, per la gioia di tutti.

La richiesta è sorta, nello specifico, da parte del team che si occupava di creare un catalogo materiali e che, come in figura, ha pensato di farlo creando una sequenza di famiglie schematiche cui associa i materiali presenti nel progetto.

04_Dynamo_script

Questo lo script del gruppo: se vorranno condividervi il file originale lo faranno loro.

Il gruppo poi bloccava una vista tridimensionale e associava dei tag al parametro condiviso del materiale.

Ma posso associare un Model Text?

Sì e no. Esiste un nodo che crea un Model Text, ovvero quello in figura, ma funziona solo nell’ambiente delle famiglie. Come mi comporto, quindi? Una cosa per volta.

ModelText

Ecco il nodo, ma non funziona in ambiente di progetto il maledetto).

2. Gestione materiali

Per far funzionare il nodo è quindi necessario passare tutti i materiali nell’ambiente di una famiglia e la cosa è fattibile in due modi:

Copyright(c) 2015, Konrad K Sobon @arch_laboratory, http://archi-lab.net

Copyright(c) 2015, Konrad K Sobon
@arch_laboratory, http://archi-lab.net

3. Creazione elementi e associazione Model Text

Il resto è semplice. Potete utilizzare nella famiglia lo stesso script che posizionava i cubi e associava i materiali all’interno del progetto: il funzionamento sarà identico. Nota: i nodi Material.All e Material.Class nello script dei Masterkeener usano il package Clockwork. La cosa si può anche risolvere senza, pescando i materiali come categoria e semplicemente usando “All elements of Category”, dato che i materiali vengono letti da Dynamo a livello delle istanze (qui la mia variante dello script).

Una volta posizionati i cubi nella famiglia, potreste riscontrare due necessità:

  • posizionare dei Model Text sulla superficie dei cubi, compilandoli con un valore corrispondente al nome del materiale associato al cubo stesso;
  • posizionare dei Model Text in testa alle file, compilandole con un valore corrispondente alla classe (dato che è il criterio secondo il quale sono stati compilati i materiali).

Le due necessità si assolvono in modo analogo: è solo questione di pescare il parametro giusto e posizionare il testo nel punto desiderato.

  1. Selezionare per categoria gli elementi “host” cui sono applicati i materiali per visualizzazione: nel mio caso, gli elementi sono dei Casework e ne ho bisogno sia dal punto di vista delle istanze (All Elements of Category) che dal punto di vista dei tipi (Element.ElementType);
  2. Estrarre il materiale associato ai cubi e, in particolare, il parametro “Name”: è quello con cui dovremo compilare il Model Text che si posizionerà sulla faccia dei cubi stessi;
  3. Dato che voglio posizionare il Model Text sulla superficie superiore del cubo, un modo di farlo è estrarne il parametro altezza e utilizzarlo per traslare a quell’altezza il piano orizzontale su cui voglio posizionare i testi;
  4. Il nodo ModelText.ByTextSketchPlaneAndPosition ha bisogno di sapere:
    – text: il contenuto del testo (e lo compiliamo estraendo il parametro “Name” dal materiale associato);
    – sketchPlane: il piano di lavoro su cui volete adagiare il vostro testo (attenzione: se avete un normale piano di lavoro avete un Plane e dovete trasformarlo in uno sketchPlane con il nodo SketchPlane.ByPlane);
    xCoordinateInPlaneyCoordinateInPlane è la posizione dell’origine del testo (spigolo in basso a sinistra, salvo alfabeti buffi);
    textDepth è lo spessore del testo (che in Revit è parametro di istanza);
    – modelTextType è il tipo di Model Text (che io ho associato con un semplice ModelTextType.ByName e una string, ma si può fare in modo più raffinato).

Attenzione perché per filtrare le classi ho utilizzato il nodo List.UniqueItems, che spero sia chiaro.

ModelText_001

Lo script ultimato: si può ancora ripulire, ma tutto sommato funziona.

Lo script originale è scaricabile qui.

art and fashion

Rediscovering the Magic of Practical Effects

The Infinite Art of Practical Effects, at the museum venue called Fabbrica del Vapore, is an invitation to embark on a nostalgic journey through how movies used to be made, and it’s closing this week-end, on May 18. This unique showcase pays homage to a movie

Read More »
books and literature

Werewolves Wednesday: The Wolf-Leader (12)

A werewolf story by Alexandre Dumas père. Chapter XII: Wolves in the Sheep Fold The forest was not far from the Bailiff’s house, and in two bounds Thibault found himself on the further side of Les Fosses, and in the wooded path leading to the brickyard.

Read More »
art and fashion

Still Lives: A Casoratian Walk Through Milan

After seeing the splendid exhibition dedicated to Casorati here in Milan, I was reminded by an old-time friend that once upon a time I used to organise themed visits around Milan and bring them about. It was nice, so here I am. Have you been

Read More »
Share on LinkedIn
Throw on Reddit
Roll on Tumblr
Mail it
11 Comments
  • FABIO ALESSANDRO DE AGOSTINI
    Posted at 09:57h, 15 June Reply

    Ciao Chiara, se pensi sia utile potrei fare il blocchetto che crea model text anche in ambiente di progetto.
    Personalmente uso molto di rado il model text, ma se a qualcuno aiuta benvenga

    • FABIO ALESSANDRO DE AGOSTINI
      Posted at 11:19h, 15 June Reply

      Edit: le API non permettono di farlo per cui, la strada più intelligente è posizionare una famiglia con un parametro stringa, copiarla assieme ai cubetti e passargli il valore del materiale ;)

      • shelidon
        Posted at 16:53h, 15 June Reply

        Ciao Fabio, grazie dei commenti.
        So che le API non lo consentono e anch’io non uso mai il Model Text, ma in questo caso siamo nell’ambito della documentazione visiva, quindi ho pensato che potessimo anche concedercelo. Lo script al momento crea un catalogo in ambiente di famiglia, che poi si può posizionare in ambiente di progetto. Dato che tanto sono elementi “finti”, che servono solo per visionare i materiali, penso che ci si possa anche concedere questa licenza poetica.

  • Paolo Zecchini
    Posted at 07:10h, 18 June Reply

    Buongiorno Chiara,
    penso che in questo caso possa essere anche essere utile il package di ian.keough “Dynamo Text”, funziona in ambiente di progetto e converte una stringa in una serie chiusa di linee che possono essere convertite in linee di modello (e nel qual caso sceglierei come host una delle facce dei cubi) oppure estruse in geometria 3D (anche se poi si dovrebbe utilizzare il nodo di Springs che converte delle geometrie in istanze di famiglia, con tutti i pro e i contro).
    Tu cosa ne pensi?
    Ciao, Paolo :-)

    • shelidon
      Posted at 18:48h, 18 June Reply

      Buongiorno Paolo, come stai?
      Il package di Ian è straordinario (ovviamente) però non mi piace quello che fa nel modello. Mi piace ancora meno dell’idea di fare una FAMIGLIONA (il maiuscolo era d’obbligo) in cui inserire il catalogo materiali con model text. La verità è che non c’è un workflow ottimale ma, se ci pensi, non è ottimale nemmeno il dover fare un file catalogo perché l’esplorazione all’interno del browser di Revit è poco amichevole ai non tecnici. Si fa quel che si può.

      • Paolo Zecchini
        Posted at 13:41h, 25 June Reply

        Buongiorno a te Chiara,
        a me procede tutto molto bene e spero che anche per te sia così.
        Ti ringrazio per il tuo prezioso feedback, mi trovi d’accordo con te sia sulla straordinarietà del package di Ian che su quanto espresso a seguire.
        Valentina sabato mi ha portato i tuoi saluti, li condivido e contraccambio :-)
        Buon pomeriggio e buon lavoro,
        Paolo.

  • armando
    Posted at 08:48h, 17 September Reply

    Salve, io avrei la necessità di creare un catalogo di oggetti con materiali e codici, ho provato a ricostruire la sequenza di nodi, ma non trovo Material All, se foste così gentili da darmi delle idee, ve ne sarei eternamente grato

    • shelidon
      Posted at 09:01h, 17 September Reply

      Buongiorno Armando, forse non ho capito la domanda: nel paragrafo 3 dell’articolo dovrebbero esserci le informazioni che cerca, ovvero:
      “Nota: i nodi Material.All e Material.Class nello script dei Masterkeener usano il package Clockwork. La cosa si può anche risolvere senza, pescando i materiali come categoria e semplicemente usando “All elements of Category”, dato che i materiali vengono letti da Dynamo a livello delle istanze (qui la mia variante dello script).”

      Non so se sia cambiato il package Clockwork, ma “All elements of Category” è nel pacchetto base di nodi.

      • Armando Urru
        Posted at 11:09h, 18 September Reply

        Salve, grazie per la risposta, volevo chiedere se c’è la possibilità di avere uno script già pronto e scaricabile, tipo quello dei cubi con i codici, ho cercato in rete ma non trovo tutorial adatti.

        • shelidon
          Posted at 08:10h, 21 September Reply

          Come scrivevo nell’articolo, proprio nella didascalia dello screenshot, lo script originale è stato sviluppato da alcuni studenti, non è mio, e per questo non è condiviso. Credo però che dallo screenshot e dalle indicazioni ulteriori non sia difficile ricostruirlo.

          • Armando Urru
            Posted at 12:59h, 22 September

            Grazie mille per le indicazioni, proverò e vi saprò dire, complimenti per il lavoro che svolgete 👍

Post A Reply to Paolo Zecchini Cancel Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

RELATED POSTS

Rediscovering the Magic of Practical Effects

The Infinite Art of Practical Effects, at the museum venue called Fabbrica del Vapore, is an invitation to embark on a nostalgic journey through how movies used to be made, and it’s closing this week-end, on May 18. This unique showcase pays homage to a movie

Read More

Werewolves Wednesday: The Wolf-Leader (12)

A werewolf story by Alexandre Dumas père. Chapter XII: Wolves in the Sheep Fold The forest was not far from the Bailiff’s house, and in two bounds Thibault found himself on the further side of Les Fosses, and in the wooded path leading to the brickyard.

Read More

Still Lives: A Casoratian Walk Through Milan

After seeing the splendid exhibition dedicated to Casorati here in Milan, I was reminded by an old-time friend that once upon a time I used to organise themed visits around Milan and bring them about. It was nice, so here I am. Have you been

Read More