Dynamo – Introducción

¿Qué es Dynamo?

Dynamo es un entorno de programación visual desarrollado en un inicio para ser el equivalente a Grasshopper sobre Revit pero que ha evolucionado hacia un motor independiente para la familia de productos de Autodesk que se asocia con varias aplicaciones (Revit, Navisworks, Robot) y que a la vez permite la generación y gestión de lógicas matemáticas y geométricas de forma independiente.  Dicho de otro modo, Dynamo es un estudio para el diseño paramétrico fundamentalmente geométrico y matemático que permite también interactuar con los elementos y parámetros propios de diferentes aplicaciones.

La ventaja fundamental que proporciona Dynamo es que pone una interfaz sencilla y amigable a las APIs de los programas que maneja (creación de elementos, asignación de parámetros) así como a los componentes básicos de la lógica de programa (variables, condicionales, listas), las funciones matemáticas y operadores (aritmética, lógica booleana, trigonometría) y las funciones geométricas (sistemas de referencia, punto, curva, superficie y operaciones asociadas).

Las definiciones de Dynamo son conjuntos de componentes, cada uno con datos de entrada, una función y resultados de salida, que se conectan configurando circuitos por los que la información fluye siempre en el mismo sentido, dando lugar al programa o utilidad deseada.

Dynamo es un proyecto de código libre gratuito para usuarios con licencia de Revit y soportado principalmente por Autodesk y por una comunidad de usuarios que aportan sus definiciones y sus componentes en forma de paquetes descargables. Nació en septiembre de 2011 de la mano de Ian Keough y está en continua evolución. Todavía no es una herramienta cerrada aunque Autodesk ya ofrece una versión Stand-alone (Dynamo Studio).

Para poder utilizarlo hay que descargar el instalador de la página www.dynamobim.org La versión más reciente a fecha de hoy es la 0.9.0 En algunas actualizaciones de Revit 2015 ha sido incluido sin necesidad de instaladores.

REFERENCIAS

www.dynamobim.org

thebuildingcoder.typepad.com

www.grasshopper3d.com

¿Por qué automatizar procesos?

Mejora de rendimiento

En ocasiones el trabajo sobre modelos grandes se puede volver impracticable. Entender el funcionamiento y la gestión de la información de los archivos de Revit nos puede llevar a encontrar soluciones a estos problemas de rendimiento.

Por ejemplo, un número muy elevado de habitaciones dentro de un modelo puede ralentizar la regeneración del modelo, por lo que se puede determinar una posible estrategia consistente en almacenar todos los parámetros y ubicación de las habitaciones en un archivo externo, y cuando sea necesario regenerarlas en el modelo.

2

Automatización de tareas repetitivas

Frecuentemente nos encontramos con jornadas enteras de trabajo realizando la misma acción una y otra vez, con el agravante de la posibilidad de que en un futuro nuestro trabajo tenga que ser modificado por completo.

La detección de estas situaciones nos debería a ayudar a pensar en procesos de automatización.

Gestión de modelos y generación de nueva geometría

La información del modelo puede provenir de diferentes fuentes. Por ejemplo, el promotor puede tener una concepción de los materiales que quiere usar en su proyecto. Desde una etapa muy temprana delo proyecto, a partir de una tabla que relacione espacios y materiales, ya se puede obtener un presupuesto aproximado de la obra.

Si vamos un poco más allá y somos ambiciosos, ¿podríamos modelar los acabados automáticamente con esta información?

Eliminación del error por factor humano en la entrada de datos

La entrada de datos en el modelo es una tarea tediosa y aburrida. Por este motivo es una de las tareas más susceptibles de generar errores.

Un ejemplo muy claro puede ser la creación de las diferentes vistas necesarias para describir un proyecto. Tendremos que hacer numerosos duplicados y renombrados, un juego de planos para cada disciplina. Cuanto más grande es el proyecto y mayor es el número de entregables, más importante es tener una buena gestión de la información.

Tratamiento de geometrías complejas. Elección de un correcto workflow

A parte de la gestión de la información y la automatización de procesos, otro aspecto que no se debe obviar es la optimización de los flujos de trabajo.

Cada  vez más los proyectos son elaborados por programas informáticos de muy diversa índole, y se hace necesario conocer su funcionamiento para poder prescribir cual es la mejor manera de abordar el proyecto para lograr resultados satisfactorios, usando el programa adecuado en cada momento y teniendo en cuenta el objetivo final.

3

Ejemplos de aplicación

Algunos ejemplos de lo que se puede conseguir con la programación visual con Dynamo sobre Revit:

  • Revisar la conectividad de elementos estructurales y ajustarla.
  • Generar elementos de forma automática a partir de datos contenidos en otros modelos o en hojas de cálculo.
  • Escribir y leer datos de hojas de cálculo con formatos personalizados.
  • Posicionar elementos de forma automática, como pilares a lo largo de una curva, vigas entre dos curvas, elementos adaptativos según puntos calculados automáticamente.
  • Extracción de modelos de cálculo simplificados en formatos personalizados.
  • Generación de vistas a partir de listados, generación de planos a partir de vistas.
  • Asignación de parámetros y renombrado de elementos según posición, secuencia, otros parámetros etc.
  • Interfaz y componentes

    Para iniciar Dynamo es necesario tener un proyecto abierto en Revit. Podremos acceder a la herramienta desde la pestaña de Add-Ins.

    Los componentes en Dynamo se llaman “nodos”. Son la unidad básica de funcionamiento. Los nodos están compuestos de una entrada, una función que procesa los datos que entran y una salida. La interconexión de estos nodos a modo de circuito genera un flujo de datos procesados dando como resultado la aplicación deseada.

    La instalación proporciona numerosos nodos ordenados por categorías, pero al ser un programa de código abierto, se pueden descargar de internet paquetes (packages) de nodos desarrollados por otras personas o, incluso, puedes fabricarte tus propios componentes (custom nodes).

    Cuando iniciamos un documento nuevo, nos aparece un entorno con un gran espacio en blanco con una cuadrícula y a su izquierda, un recuadro con fondo gris con el nombre de las diferentes categorías de nodos.

    Nodos

    Son los componentes que conforman las definiciones. Cada nodo contiene unos inputs con datos de entrada, una función y resultados de salida, que se conectan configurando circuitos hasta conseguir la información deseada.

    Para la mayoría de las operaciones se puede utilizar un nodo predefinido, bien sea nativo de Dynamo o descargado de un Package, o creado por nosotros mediante un Code Block.

    6

    Estatus de los nodos

    Los nodos pueden estar seleccionados, activos, inactivos o generando algún error como se detalla en la imagen.

    Nodos principales

    Packages

    10

    Son grupos de nodos creados por usuarios experimentados que facilitan el trabajo a los usuarios finales. Los packages más comunes y útiles son:Modelical, Clockwork y LunchBox.

    Los nodos procedentes de packages se reconocen por su forma (simulación de varias pestañas abiertas) y clicando dos veces en su interior aparece la definición completa que los define.

    11

    Listas

    En Dynamo se suele actuar sobre varios elementos a la vez, que a su vez engloban otros, y  estos a otros etc. Cada grupo de elementos se denomina lista, y esa lista puede contener varias listas que a su vez contienen otras.  La gestión de listas es complicada y conviene entender bien su jerarquía.

    14

    Las operaciones con listas son muchas, aquí mostramos algunas de ellas:

    20

    Operaciones con números y textos

    Operaciones matemáticas y lógicas

    21

    22

    Operaciones con textos

    Las operaciones con textos son muy útiles para renombrar vistas, modificar parámetros o introducir información.

    Todo lo que aparece dentro de un Code Block entre comillas es un texto. Las operaciones con texto más comunes son las siguientes, utilizadas para buscar textos, reemplazarlos, o convertir conjuntos de letras o números a la categoría string.

    23

    Un ejemplo de uso sencillo es la sustitución de una parte del texto que conforma el nombre de una vista (level por nivel, o Copy 1 por Bien en este caso)

    Herramientas de selección

    Existen dos modos de selección:

    Seleccionar ciertos elementos del modelo. Siendo nosotros los que decidimos que elementos seleccionamos y cuáles no (pinchando en el modelo sobre ellos). Es una selección estática, a menos que volvamos a seleccionar, los elementos seleccionados son siempre los mismos.

    Seleccionar todos los elementos de una categoría, tipo o familia. Es un modo de selección dinámico, si se crean en el modelo de Revit más elementos de esa categoría, en el momento de correr la definición se añadirán a la lista de elementos seleccionados.

    25

    Lectura y escritura de parámetros

    Uno de las aplicaciones más sencillas y útiles de dynamo es la lectura y escritura de parámetros.

    En este caso leemos la altura de todos los muros de modelo (categoría Wall). Podríamos conectar al input “value” en el nodo “Set Parameter”  una dimensión y conseguir que todos los muros se adaptasen a la nueva altura.

    Los nodos Element.SetParameterByName y Element.GetParameterByName son esenciales.

    El parámetro tiene que estar escrito exactamente igual al mostrado en Revit. Para ello se puede consultar en el propio modelo o diretamente en Dynamo mediante el nodo Element.Parameters que te despliega una lista con todos los parámetros asociados a ese elemento.

    27

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Time limit exceeded. Please complete the captcha once again.

    • Antes de enviar tu consulta, échale un vistazo a la información básica sobre protección de datos aquí.

      Modelical.com le informa que los datos personales que usted proporcione serán tratados por MODELICAL CONSULTORIA S.L. como responsable de este sitio web.

      Finalidad de la recogida y tratamiento de los datos personales: Enviar la información que el usuario requiera a través del sitio web. - Legitimación: Consentimiento del interesado. - Destinatarios: Hosting: Gigas, hosting 100% español y 100% seguro. - Derechos: Podrá ejercer sus derechos de acceso, rectificación, limitación y supresión de los datos de unsubscribe@modelical.com así como el derecho a presentar una reclamación ante una autoridad de control.