Autodesk Dynamo + Vasari / Programación visual aka “Grasshopper para Revit”

facade solar rotate 5

Hace unas semanas atrás participé del workshop “WS5. Conceptual Design Through Visual Programming” del Sigradi 2013, en la UTFSM de Valparaíso. En este worshop se nos enseñó el plugin gratis de Autodesk llamado “Dynamo”, que sirve para Revit 2013/2014 y el “revit recortado” llamado Vasari. Dynamo permite modelar, diseñar y parametrizar elementos de revit, a través de una interfaz visual, conectando nodos tal cual lo hace el plugin Grasshopper para Rhinoceros. 

La gracia de todo esto, es que Vasari y Dynamo son gratis por ser beta (softwares de pruebas) y nos permite realizar modelos con relaciones paramétricas/geométricas directamente en un entorno BIM como es Revit (Vasari utiliza el mismo formato de archivo de Revit). El workshop fue realizado por Ian Keough, el mismo creador del software Dynamo, lo que nos permitió realizar y pedir cosas directamente al creador (cosas importantes como “¿Por qué esto no se parece mas a Grasshopper”? XD). Dejando las bromas a un lado, Ian fue muy atento tratando de responder y satisfacer todas las inquietudes de los asistentes al workshop y sus distintos proyectos: Conectar Dynamo con Arduino, herramientas para importar y modelar topografías, Python scripting, componentes adaptativos, simulaciones de restricciones (constraint) geométricas o físicas y el uso de los análisis ofrecidos por Vasari (como el análisis de radiación solar).

dynamo definition random version

Mis apreciaciones son que Dynamo todavía esta en fase beta, pero ha avanzado muy rápido en estos años (mucho más rápido que Grasshopper) y se nota que esta detrás el apoyo de Autodesk. Son frecuentes las caídas o congelamientos del programa, sobretodo cuando uno hace lo que no debe hacer y que el software no espera que uno haga, como conectar y mezclar nodos de distintas variables (típica fase de aprendizaje de “funcionará si hago esto y esto…” XD), pero en la página de github tienen un foro especial para publicar bugs/errores/problemas/pedidos/etc… con seguimiento y staff dedicado a responder y solucionar los distintos asuntos (no sólo es Ian Keough detrás del software sino que hay todo un equipo… a diferencia de lo que pasa con Grasshopper que uno siente que David Rutten se lleva todo el saco al hombro :D).

Otro punto a favor de Dynamo es el “Online Package Search”  integrado al software, donde uno puede descargar “Custom Nodes” subidos por otros usuarios y también colaborar subiendo custom nodes propios que quedan disponibles para los demás (se pueden actualizar, colocar numero de versión y colocar una breve descripción). Lo malo, es que le falta un poquito de orden como separar por categorías, incorporar un sistema de comentarios o incorporar una imagen que sirva de referencia de como utilizar el “custom node” (a veces la descripción no es suficiente para saber que tipos de inputs se necesitan).

Juega en contra la interfaz del menú de solo texto, en el cual uno se “marea” buscando un comando específico en una lista interminable, la herramienta de búsqueda ayuda, pero tener que mover el mouse al cuadro especifico de búsqueda a cada instante para cada nodo es un poco agotador… (se hecha de menos la implementación de Grasshopper de realizar doble click en cualquier lugar para buscar un nodo/componente).

En cuanto al manejo de los datos, a diferencia de Grasshopper que “inventó” su propio sistema de manejo de listas y sublistas, Dynamo esta fuertemente marcado por una base y estructura de un lenguaje de programación. Es así como los datos se almacenan en arrays y listas (ya sean simples o multidimensionales) y los nodos que realizan operaciones se pueden aplicar de manera similar a como uno aplica una función en programación (ejemplo de ello es el nodo “Map”, donde uno conecta los inputs a los cuales quiere aplicar una función y de manera aparte se conecta la función a aplicar. Diferente a lo que pasa en Grasshopper, donde se conecta directamente los inputs a la función u operación). Además los “Custom Nodes” que uno crea, se pueden aplicar como nuevas funciones a utilizar (similar a crear una función o métodos en programación) y existe la posibilidad de colocar un nodo dentro de si mismo para realizar operaciones recursivas (similar a llamar una función dentro de la misma función). Además al igual que Grasshopper, permite realizar nodos con scripts de Python.

Otra gran ventaja de Dynamo con respecto a Grasshopper, es que como trabaja con un software que de por si tiene elementos o familias paramétricos (controlados por parámetros), uno puede intervenir directamente estos elementos en el entorno revit/vasari en cualquier momento (no te gusto que el valor entregado por Dynamo de tal componente fuera 10? bueno lo tomas en revit/vasari y lo cambias a lo que quieras, sin quebrar las relaciones parámetricas/geométricas producidas con Dynamo).

Revit para modelar es lento y muy demandante de poder de procesamiento del computador comparado a otros softwares de modelación (si, por todo el asunto BIM y lo que lleva detrás todo eso… a pesar que una linea es una linea en cualquier software, pero eso da para otro tema ;-)), pero Dynamo esta incorporando su propia “tecnología” para crear geometría (sobretodo geometría de referencia) y que funciona mucho mas rápido e incluso incorpora su propio “visualizador 3D” de estos elementos creados con Dynamo.

Resumiendo, sufre de algunos problemas de interfaz que son completamente solucionables y se hecha de menos algunos nodos en la librería (sobretodo comparando con Grasshopper que lleva años de ventaja agregando componentes, funcionalidades, interfaz, etc.), pero tiene todo un potencial por delante y va creciendo a pasos agigantados.

¿Qué es lo que necesitan para empezar? Bueno ir a la página de Vasari http://autodeskvasari.com/ y descargar Vasari y Dynamo. En la página de Dynamo encontrarán links a video tutoriales, al foro de dynamo y el link a la pagina de Github para el tema de bugs,errores, peticiones, etc. Cabe mencionar que Dynamo se actualiza de manera “diaria” por lo que existen las versiones estables oficiales que se actualizan solo de vez en cuando y las daily development builds  que se actualizan tan pronto como arreglan algún error o bug. Les recomiendo estas últimas a menos que ustedes tengan un error muy grave y que crean que es un problema de versión.

A continuación algunas imágenes de lo que yo realicé en el workshop. Modelé un componente adaptativo  como un panel vertical flexible de fachada, con parámetros que controlaban la rotación en diversos puntos de este panel. La rotación fue controlada usando valores aleatorios, funciones matemáticas o aprovechando el análisis de radiación solar de Vasari (el análisis se exportó como archivo excel y luego se “leyó” devuelta en Dynamo).

imagen1facade solar rotate 7facade solar rotate 1random_image3random_more_1sin values 2sin values 2Asin values 4Bsin values 6

Anuncios

4 comentarios en “Autodesk Dynamo + Vasari / Programación visual aka “Grasshopper para Revit”

  1. Pingback: Dynamo / Vasari. Custom node Multiples Closest Point to Point Collection. | mwaraya arq

  2. Hola, quisiera saber cuales fueron los pasos que seguiste para crear esa fachada. Podrias enviarme los detalles o un video o el modelo? Muchas gracias!

    • Hola,
      Son dos familias genericas, una dentro de otra. Una familia es una linea horizontal que tiene un parametro de instancia para controlar la rotación. Luego la segunda familia, tiene importada esta familia de linea con un array vertical, con el cual se hace un loft vertical con cada linea (cada uno de los parametros de rotaciones estan linkeados a un parametro nuevo de rotacion1, rotacion2, etc).
      Luego en Vasari se creo una superficie y en Dynamo se subdividio, se colocó esta familia y se controlaron los parametros de rotacion de cada familia.
      No puedo colocarte un tutorial paso a paso, ya que hice esto hace mucho tiempo. Si es para un proyecto real y necesitas asesoría, en el menu donde dice About estan mis datos de contacto.
      Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s