Table of Contents
Comprensión de Dynamo para Revit
Los flujos de trabajo de la construcción de información (BIM) en Revit a menudo implican tareas repetitivas y manuales que frenan la ejecución de proyectos y aumentan el riesgo de error humano. Arquitectos, ingenieros y administradores de BIM se encuentran con frecuencia colocando innumerables elementos, actualizando parámetros a través de cientos de familias, o exportando datos para la presentación de informes. Estas operaciones consumen tiempo que se puede gastar en la exploración del diseño, solución de problemas o comunicación cliente.
Entra Dynamo — un entorno de programación visual que se integra directamente con Revit para automatizar estos procesos tediosos. Dynamo permite a los usuarios crear scripts —llamados gráficos— utilizando una interfaz basada en nodos. En lugar de escribir código desde cero, arrastra, cae y conecta nodos que representan elementos de Revit, operaciones de geometría, lógica matemática o flujos de datos. Este enfoque hace que la automatización sea accesible a los profesionales que no tengan un fondo de programación avanzado, mientras que todavía ofrecen.
¿Qué es Dynamo?
Dynamo es una plataforma de programación visual de código abierto desarrollada por Autodesk. Funciona como complemento para Revit (y otras herramientas de Autodesk) y proporciona su propio entorno de ejecución. Un gráfico Dynamo es esencialmente un conjunto de nodos conectados para definir una secuencia de operaciones. Cada nodo recibe entradas, los procesa y los resultados de salidas. El gráfico ejecuta de izquierda a derecha, y los resultados pueden ser empujados de nuevo a los parámetros de Revit.
La plataforma soporta un gran ecosistema de paquetes contribuidos por la comunidad que extienden sus capacidades. Estos paquetes contienen nodos listos para tareas como la manipulación de listas avanzadas, algoritmos de optimización, o la integración con Excel y otras herramientas externas. Dynamo también incluye un nodo de script Python, dándole acceso completo a la API de Revit cuando necesita lógica más allá de los bloques de construcción visual.
Cómo se integra Dynamo con Revit
Dynamo se ejecuta dentro del mismo proceso que Revit, lo que significa que puede leer y modificar directamente el documento activo Revit. Cuando se abre Dynamo de la pestaña “Administrar” o “Añadir” aparece una ventana separada por encima de la interfaz Revit. El gráfico que construye puede hacer referencia a cualquier elemento en el modelo actual por categoría, familia, tipo o valores de parámetro. También puede utilizar nodos de selección para seleccionar manualmente elementos de la vista Revit.
Esta integración estrecha significa que cualquier cambio realizado por Dynamo se refleja inmediatamente en el modelo Revit, como si hubiera hecho el cambio manualmente. Puede crear, eliminar o modificar elementos, establecer valores de parámetro y regenerar vistas. La misma coordinación y advertencias que se aplican a las ediciones manuales también se aplican a los cambios generados por Dynamo, por lo que la integridad de su modelo permanece intacta.
Paradigma de programación visual
La programación visual con Dynamo difiere de la escritura tradicional. En lugar de escribir líneas de código, usted construye un diagrama de flujo de operaciones. Cada nodo tiene un nombre (por ejemplo, "Wall.ByLocationAndHeight") y puertos de entrada claramente etiquetados y puertos de salida. Usted conecta los cables entre puertos para pasar datos. Por ejemplo, puede alimentar una lista de curvas de salida asigna a un nodo que crea paredes, entonces conectan la pared.
Este enfoque visual hace que sea fácil entender la lógica de una mirada. También fomenta la experimentación: puede cambiar rápidamente la entrada de un nodo o cambiar un nodo para otro sin código de reescritura. Para la colaboración de equipo, los gráficos pueden ser compartidos como archivos .dyn y reutilizados en proyectos.
Beneficios clave de la automatización de Dynamo
Adoptar Dynamo para la automatización Revit ofrece mejoras mensurables en varias dimensiones. A continuación se presentan las principales ventajas con ejemplos concretos.
- Ahorros de tiempo dramáticos: Las tareas que requieren horas cuando se hacen manualmente se pueden completar en segundos con un gráfico bien escrito. Por ejemplo, colocar 500 tablas de piso únicas con diferentes offsets y parámetros puede tomar un día manualmente; un gráfico Dynamo puede terminar en menos de un minuto.
- Concordancia inquebrantable: Los procesos manuales son propensos a la supervisión, un elemento aquí con un parámetro equivocado, un muro que no se alinea con la red. Dynamo aplica las mismas reglas cada vez, eliminando la variabilidad. Esto es crítico para el control de calidad en grandes proyectos donde varios miembros del equipo contribuyen al mismo modelo.
- La geometría compleja se ha hecho fácil: Algunas exploraciones de diseño, como fachadas paramétricas, formas de techo orgánico o patrones de suelo basados en datos, son poco prácticas para modelar a mano. Los nodos geométricos de Dynamo combinados con las herramientas robustas de Revit le permiten generar formas complejas algorítmicamente.
- Gestión de datos estandarizada: Extracting information from a Revit model for reporting, cost estimation, or coordination is often tedious. Con Dynamo, puedes exportar horarios, propiedades de elementos y valores de parámetro directamente a archivos Excel o CSV. Por el contrario, puedes leer datos de fuentes externas (por ejemplo, una hoja de cálculo de los requisitos de programa de espacio)
- Repetibilidad y reutilizabilidad: Una vez que creas un gráfico, puedes reutilizarlo en cualquier proyecto con una modificación mínima. Muchas empresas construyen bibliotecas de gráficos estándar para tareas comunes, como configurar plantillas de vista, crear hojas o limpiar archivos CAD importados.
Comienzo con tu primer script
Para comenzar a automatizar tareas en Revit con Dynamo, siga los pasos a continuación. El proceso es el mismo si está utilizando Revit 2021 o la última versión.
Instalación y configuración
Las versiones recientes de Revit (2019 y posterior) incluyen Dynamo para Revit como complemento incorporado. Puedes lanzarlo directamente desde la pestaña “Administrar” bajo “Programación visual” > “Dynamo”. Si estás usando una versión anterior o necesitas la última versión de Dynamo, descarga el instalador del sitio web oficial de Dynamo ].
Navegando la interfaz de Dynamo
Cuando abre Dynamo, verá un lienzo de espacio de trabajo, un panel de biblioteca a la izquierda y una barra de herramientas en la parte superior. El panel de la biblioteca clasifica todos los nodos disponibles por biblioteca (por ejemplo, “Geometría”, “Revit”, “Data”, “Display”). Puede buscar nodos por nombre. La barra de herramientas incluye botones para ejecutar el gráfico (automático o manual), guardar y acceder al administrador del paquete.
El lienzo es donde construyes tu gráfico. Haga clic derecho sobre el lienzo para agregar rápidamente nodos, crear bloques de código (para expresiones cortas de Python o DesignScript), o gestionar grupos. Una práctica eficaz es agrupar partes relacionadas de tu gráfico con un texto superpuesto (un nodo de “Group”) para documentar su propósito.
Construyendo un Gráfico simple
Un clásico primer guión: colocar niveles seleccionados con losas de piso. Vamos a esbozar los pasos:
- Agregue un nodo de “Categorías” y seleccione “Flores” y “Líneas” de la desplegable.
- Use “Todos los elementos de la categoría” para obtener todos los elementos de nivel en el modelo.
- Extraiga la elevación de cada nivel con “Lista.ObtenerElevación”.
- Cree una curva rectángulo en cada nivel usando “Rectangle.ByWidthLength”. Conecta la elevación para establecer la altura del plano.
- Use “Floor.ByOutlineTypeAndLevel” para crear una losa de suelo para cada nivel. Proporcionar un tipo de piso (por ejemplo, “Generic 12”) seleccionandolo desde un nodo “Floor Tipos”.
- Dinamo colocará un piso en cada nivel del modelo.
Este gráfico sencillo introduce el flujo de datos básico: obtener elementos → propiedades de extracto → crear geometría → empujar resultados de vuelta a Revit.
Pruebas y depuración
Antes de aplicar un gráfico a un proyecto en vivo, pruébalo en una copia del modelo o una pequeña muestra. Dynamo proporciona varios ayudas de depuración: los nodos de reloj muestran los datos que pasan a través de un alambre; congelar los nodos suspender temporalmente la ejecución; y “Es” los nodos condiciones de verificación. Use “Watch 3D” previsualiza ventanas para verificar la geometría antes de que se cree en Revit.
Técnicas de automatización avanzada
Una vez que estés cómodo con gráficos básicos, puedes desbloquear una automatización más poderosa incorporando scripting, paquetes de terceros y llamadas directas de API.
Usando Nodos de script Python
Dynamo incluye un nodo “Python Script” que permite escribir código Python con acceso completo a la API Revit. Esto es útil para la lógica que sería engorroso o imposible con los nodos visuales solo, como ramificación condicional compleja, bucles sobre listas de elementos con operaciones personalizadas, o cálculos intensivos de memoria.El entorno Python en Dynamo incluye las bibliotecas estándar (por ejemplo, importación de Apocalipsis).
Por ejemplo, para poner al día el parámetro “Comentarios” en todas las puertas con una condición específica, algunas líneas de Python dentro de un nodo de script pueden ser más sostenibles que un enredo de Lista.Filter y Nodos de bloque de código.
Aprovechando el Administrador de Paquetes de Dynamo
El Dynamo Package Manager alberga cientos de paquetes desarrollados por la comunidad que amplían las capacidades de Dynamo. Los paquetes populares incluyen:
- Clockwork: Proporciona nodos adicionales para las operaciones de lista, gestión de elementos de reversión y creación de geometría.
- DataShapes: Permite formas avanzadas basadas en datos y UI.
- Optimo: Para la optimización evolutiva y la determinación de formas.
- Rhythm: Automatiza la vista y la gestión de las hojas.
Para instalar un paquete, vaya a la barra de herramientas Dynamo y seleccione “Packages” > “Buscar un paquete”. Introduzca el nombre (por ejemplo, “Clockwork”), haga clic en instalar y reiniciar Dynamo. Los nodos del paquete aparecerán en la biblioteca bajo su propia categoría.
Trabajando con la API de Revit a través de Dynamo
Dynamo expone una gran parte de la API de Revit, pero no todos los métodos están disponibles como nodo visual. Los nodos de script Python le dan acceso completo a API. Puede utilizar transacciones para crear, eliminar o modificar elementos; suscribirse a eventos de UI; o incluso ejecutar procesos externos. Por ejemplo, podría utilizar la API de Revit para duplicar opiniones con configuraciones específicas, exportar archivos DWG usando opciones de exportación personalizadas, o analizar inters secciones de elementos.
Un script típico de Python en Dynamo comienza por obtener la referencia de documento Revit:
Luego puede utilizar métodos estándar de API dentro del marco de transacción de Dynamo (recortando su código en una transacción). La salida del nodo de Python se envía de nuevo como objeto de Dynamo.
Casos comunes de uso de automatización
Los siguientes ejemplos del mundo real muestran lo que Dynamo puede hacer en el trabajo cotidiano de Revit.
Piso y alojamiento de pared automatizados
Utilice el vracs de caso crear habitaciones y pisos: Desde una hoja de cálculo Excel nombres de habitación, áreas y niveles, Dynamo puede leer los datos, crear habitaciones en el modelo, y asignar acabados de piso a cada habitación basado en el tipo de uso. De forma similar, puede generar paredes a lo largo de líneas de referencia en los offsets especificados, asignando automáticamente el tipo de pared correcto por zona.
Actualizaciones del parámetro de lotes
Un escenario común: Un fabricante libera una nueva línea de productos, y las familias Revit correspondientes necesitan sus parámetros “Número de Modelo”, “Costo” y “URL” actualizados. En lugar de abrir cada familia y editar manualmente parámetros, puede escribir un gráfico de Dynamo que se itera a través de todas las instancias de ese tipo de familia en el proyecto y establece los nuevos valores.
Extracción de datos a Excel
Para la presentación de informes y estimación de costos, los datos de elementos de extracción —los horarios de puertas con dimensiones, materiales, clasificaciones de incendios y conjuntos de hardware— a Excel. Dynamo “Data.ExportCSV” o los nodos de Excel pueden escribir en una hoja de cálculo formateada. También puede extraer datos de Excel en Dynamo para impulsar la geometría, creando elementos de visualización de datos como diagramas de burbujas o planos de suelo basados en métricas de habitación.
Limpieza y auditoría modelo
Los modelos de Revit grandes a menudo acumulan capas, grupos o elementos duplicados no utilizados. Dynamo puede escanear el modelo para condiciones como paredes superpuestas, elementos sin clasificación o grupos no purgados. Puede entonces eliminarlos o marcarlos con un parámetro compartido. Esto es especialmente útil para el cumplimiento de BIM antes de enviar un modelo a un cliente o un modelo federado.
Mejores prácticas para los scripts de producción
Para asegurar que sus gráficos Dynamo sean fiables, sostenibles y performant, siga estas pautas.
Control de Versión y Documentación
Trate de archivos .dyn como código: guárdelos en un sistema de control de versiones (por ejemplo, Git) para rastrear cambios y colaborar. Utilice nombres de grupo descriptivos y anotaciones en el lienzo para explicar el propósito y los insumos del gráfico. Dentro de los nodos de Python, añadir docstrings y comentarios. Las bibliotecas de gráficos deben incluir un archivo README con instrucciones para usar y versiones esperadas de Revit.
Manejo de errores
Las suposiciones codificadas por el duro (por ejemplo, esperando que exista un elemento específico) pueden causar que un gráfico falle.Usar nodos como “Object.IsNull” y “List.FilterByBoolMask” para manejar los datos perdidos con gracia. Para los scripts Python, envuelve secciones críticas en condiciones de intento-excepto bloques y devuelve los mensajes de error como salidas.
Optimización del rendimiento
Los modelos de reversión pueden ser grandes, por lo que los gráficos ineficientes pueden disminuir drásticamente. Por ejemplo, evitar usar “Todos los elementos de la categoría” dentro de un bucle si sólo necesita un subconjunto. En lugar de ello, recoger todos los elementos una vez y luego filtrar. Usar “List.Map” y “List.Combine” en lugar de bucles anidados.
Conclusión
Automatizar tareas Revit con Dynamo no es sólo un hack de productividad, es un cambio fundamental en cómo los profesionales de BIM se acercan a su trabajo. Al reemplazar los procesos manuales, propensas a errores con flujos de trabajo repetibles y escritos, libera energía mental para la innovación del diseño y la coordinación de proyectos. La curva de aprendizaje inicial paga rápidamente dividendos: incluso un gráfico simple que ahorra 30 minutos al día añade hasta más de 120 horas al año.
Empieza pequeña. Escoge una tarea repetitiva que haces con frecuencia —tal vez colocando cuadrículas o calendarios de exportación— y construye un gráfico que lo automatiza. A medida que tu confianza crece, explora el gestor de paquetes, sumérgete en Python, y comparte tus gráficos con tu equipo. La comunidad alrededor de Dynamo es vibrante y útil; recursos como el
La automatización BIM ya no es opcional en una industria competitiva. Con Dynamo, tienes las herramientas para trabajar más inteligente, no más difícil, y ofrecer modelos de alta calidad en menos tiempo.