We are testing Rhynamo, a great beta tool for Dynamo, developed by Case. In particular, we focused on the importing nodes, that allow you to import elements from Rhinoceros to Dynamo.
Importing nodes: Breps, Nurbs Curves, Points, Polylines, Mesh, Arcs, Lines, Polycurves, NurbSurfaces, Curves, Circles.
We used each of these nodes and most of the time it worked very well with simple Rhino objects made by us.
Here is a list of some of the successes:
SUCCESS:
Extruded curve:
Curve Type: open NURBS
Curve degree: 3
Rhynamo nodes:
Trimmed Surface:
Curve Type: open NURBS
Curve degree: 3
Rhynamo node:
Pimitive Box:
Polysurface
Rhynamo node:
Extruded solid:
Polysurface
Rhynamo nodes:
_failed
_Success
EAU Pavillon - Milan Expo 2015:
Finally we also tried to import a model of the GRC panels of the UAE pavillon of Expo 2015 by Foster and Partners, but the import failed.
Description of the process:
We had to make a Revit BIM model of the GRC panels and to link it in the structural model. For this purpose we received the final Rhino model of the panels, in wich all the panels were polysurfaces separated each other, but it was impossible to receive the source geometry. So it was more difficult to repeat the generative process of the panels in Revit.
Image: model of the panels in Rhinoceros
At first we tried to import the panels in Dynamo through the Rhynamo nodes. We aimed to import the geometry and then to extract the panel vertices through Dynamo and apply adaptive panels to these points, but in this case Rhynamo unexpectedly didn’t work. We tried using various importing nodes and also isolating geometries, but still didn't work.
Images: model of the panels in Rhinoceros
So in order to have a first fast model we imported the .sat file in a mass family and modeled the panels as walls by face.
Image: first Revit model, walls by face
In a second step we modeled the source geometries of the walls as masses and subdivided it with perpendicular plans generated in Dynamo, and then we applied six points panels for single curved panels and nine points panels for double curved ones, and then we cut the panels for passages and floors.
Images: portion of a wall (mass family), six points adaptive panel
Image: panels cut for passages and floors
This final model was fine and the panels were schedulable, but we had long working to check the correspondence between the two models and to adjust the exceptions.
Image: final Revit model
We are still trying to understand why Rhynamo didn’t work. In fact we tihink the workflow could be faster and more precise with it.
Mar, 21/10/2014 - 19:35Dopo aver sperimentato con i curtain wall, sto continuando ad utilizzare Dynamo per creare relazioni tra parametri di istanza degli elementi caricati nel progetto.
Si tratta di uno dei modi più semplici per realizzare geometrie complesse nello spazio di progetto di Revit. Un altro metodo, forse più versatile, consiste nell’utilizzare Dynamo per controllare i punti delle famiglie adattive.
Il metodo delle famiglie adattive è caratterizzato da una corrispondenza visiva tra lo spazio di Dynamo e quello di Revit e quindi c’è un controllo geometrico della modellazione. Mentre nel metodo dei parametri di istanza c’è per necessità un approccio esclusivamente matematico alla modellazione e spesso anche un effetto a sorpresa finale.
Variazione di elementi posti lungo una curva:
una delle variazioni possibili, ottenibili con questo metodo è la ripetizione lungo una curva di elementi a sezione variabile.
Prima prova con un semplice pannello triangolare:
1: modellazione della famiglia, in cui la posizione del vertice è variabile con parametri di istanza.
2.Creazione di una curva su 3 punti: la posizione del puntocentrale lungo l’asse y è variabile con un double slider.
3. Suddivisione della curva in punti:
4. Utilizzando il nodo FamilyInstance.ByPoint, creo automaticamente un pannello posizionato su ognuno dei punti creati.
5. Modifico uno dei due parametri per ogni elemento della lista di elementi creati. In questo caso creo una successione numerica lineare, compresa tra 19 e x (modificabile con lo slider). E ripeto la stessa cosa con l’altro parametro.
Ecco un po’ di risultati:
Seconda prova: modellazione di una pensilina.
Ho utilizzato lo stesso tool creato per il pannello triangolare, per modellare una pensilina, la cui sezione è costituita da tre aste incernierate tra di loro e con il punto esterno a coordinate variabili.
In questo caso ho variato il parametro con funzioni di secondo grado:
Ecco un paio di variazioni:
Generiamo con dynamo una curva da una sequenza di punti ricordando che per definire un punto nello spazio abbiamo bisogno di 3 coordinate x,y,z. Cominciamo con il generare una sequenza di valori quindi ricerchiamo i nodi come compaiono in immagine.
Number sequence consente appunto di generare una lista di valori, richiede un valore dal quale cominciare, la quantità di valori richiesta e il loro passo.Questi appena generati saranno i valori che assumerà la nostra varibile della funzione parametrica che necessita quindi di valori x,y,z.
Prendiamo i nodi formula che saranno le nostre funzioni generanti ognuna una lista di punti: cos(x) saranno i punti sull’asse x, sin(x) saranno i punti sull’asse y e per ora lavoriamo in due dimensioni quindi non ci sono valri che si muovono sull’asse z. Vediamo come i punti precedentemente generati vengono sostituiti contemporaneamente alla variabile di due funzioni generando a loro volta due liste differenti.
Adesso abbiamo bisogno di convogliare questi valori in un unico sistema di che genererà i punti come coordinate e per fare ciò ci avvaliamo del nodo Point by coordinates e colleghiamo i valori generati dalle funzioni coseno e seno agli input x,y,z. Si vede come i punti seguano l’andamento di una circonferenza e aumentando i valori della quantità di punti e variando il passo riusciamo a modificare la distrubuzione dei punti.
Se a questo punto inseriamo la variabile x per la coordinata z, i punti si muoveranno anche su quest’asse. Possiamo ora creare la curva definita da queste coordinate utilizzando il nodo Nurbs Curve by Control Points.
pagina del github dedicata all’apprendimento di Dynamo.
serie di video tutorial per partire da zero con dynamo. Soprattutto i primi sono molto utili per conoscere l’interfaccia e capire qual è la logica del programma. Ad esempio molte delle cose che in Revit e Vasari spesso usiamo implicitamente, come coordinate cartesiane nello spazio e codici ID degli oggetti, spesso con Dynamo sono più esplicite, essendo i principali strumenti di dialogo tra i due software.
blog di Zach Kron, uno degli sviluppatori: c’è una lunga serie di post su Dynamo, la maggior parte riguarda la creazione di geometrie complesse.
FACCIATA CONTINUA CON VUOTI CASUALI:
Ho voluto modellare una facciata continua simile a quella del nuovo teatro dell’opera di Firenze dello studio ABDR, con doghe di laterizio disposte a giunti verticali alternati, ma mancanti di alcuni elementi con una logica casuale.
Poi ho assegnato il parametro di istanza “visibilità 1” alla doga superiore e “visibilità 2” alla doga inferiore.
Una volta caricato nel progetto il risultato è questo, con le doghe tutte visibili e quindi il rivestimento di facciata pieno:
A questo punto ho aperto il plug-in Dynamo dal pannello add-in. Per prima cosa ho selezionato tutte le istanze dello stesso tipo con il nodo “get family instances by type”, in questo modo le modifiche successive saranno assegnate a tutte le istanze.
Poi ho usato il nodo “Random number list”, ripetuto tante volte quante sono le istanze. In questo modo ho creato una lista di numeri casuali compresi tra 0,00 e 1,00 e, applicando il nodo “round” li ho arrotondati e trasformati in numeri interi, cioè in una serie fatta di numeri 1 oppure 0. 1 e 0 corrispondono a Yes or Not e quindi ho potuto assegnare questi valori al parametro “visibilità 1”, con il nodo “set family instance parameter” (notare come questo nodo e anche gran parte degli altri nodi può essere assegnato sia ad un singolo oggetto sia ad una lista di oggetti, come in Grasshopper).
Pur non conoscendo l’algoritmo che genera i numeri casuali, posso notare che il numero di pieni e vuoti si equivale, ma non ho ancora modo di agire sul grado di apertura del rivestimento di facciata. Per farlo aggiungo un “number slider” con un dominio compreso tra -0,5 e 0,5 e poi lo sommo alla lista di numeri generati dal “random number list”. in questo modo facendo scorrere lo slider posso decidere di aumentare la quantità di 1 rispetto a 0 e viceversa. Cioè posso decidere di aumentare o diminuire il numero di vuoti.
Slider almost to a maximum:
Ciao,
Ho fatto delle prime piccole sperimentazioni con Dynamo, che vorrei condividere con voi.
Dynamo è un progetto open source sviluppato da Ian Keough ( http://iankeough.com/wordpress/?cat=3 ), ed è tutt’ora in fase di sviluppo. E’ un’interfaccia (nato per project Vasari, ma adesso disponibile anche per Revit), che - attraverso l’uso di nodi e connessioni - consente di creare relazioni parametriche e di svolgere funzioni. E’ molto simile a Grasshopper per Rhino.
Da qui è possibile scaricare l’ultimissima versione che viene continuamente aggiornata: https://github.com/ikeough/Dynamo
Purtroppo non sono ancora riuscito a installarla, perché, essendo in fase di sviluppo, bisogna convertire alcuni file .cs in .dll (o almeno credo che sia questo il problema). C’è qualcuno che lo sa fare?
Quindi ho dovuto ripiegare su una versione più vecchia, dove mancano la maggior parte dei nodi, scaricabile da qui:http://wikihelp.autodesk.com/Vasari/enu/Community/Works_in_Progress/Dynamo_for_Vasari/Installation_and_Getting_Started
Un aspetto molto interessante di Dynamo è la sua interfaccia intuitiva in grado di compiere operazioni complesse senza dover ricorrere ai linguaggi di programmazione. E, ancora più importante, grazie alla visualizzazione grafica dei nodi e delle connessioni, è possibile condividere e replicare i lavori di altri anche solo attraverso uno screenshot. Ad esempio è così che si fa la tassellazione di una superficie:
Immagine presa da: http://autodeskvasari.com/forum/topics/watch-3d
Sono stati creati anche dei nodi che ci consentono di mettere in relazione i nostri modelli con Arduino, sia in input che in otput ( http://www.youtube.com/watch?v=IyLq6ZnHzDA ). Sarebbe molto interessante fare qualche prova!
Per lanciare dynamo si deve andare nel pannello Add-Ins e si può utilizzare sia nell’ambiente di progetto, sia nelle famiglie, sia nelle conceptual mass.
Questi sono i miei primissimi passi con Dynamo (sia per la mia inesperienza, sia per il fatto che in questa versione mancano un sacco di nodi, ho potuto fare solo cose molto semplici):
Questo è un array disposto lungo una spline:
Quando cambio il numero degli elementi (number) o modifico la spline, basta che poi clicco su RUN e il modello si aggiorna.
Qui invece ho disposto automaticamente delle istanze della stessa famiglia su una griglia di punti:
Se avessi avuto una versione aggiornata, avrei voluto mettere in relazione - attraverso una funzione matematica - il parametro di istanza “altezza” di tutti gli elementi, in maniera che fossero tutti di altezze diverse, ma non casuali.
Mar, 21/10/2014 - 19:18