El primer script de Dynamo que me funcionó fue para renombrar 87 vistas de un modelo de un hospital de 4 pisos en Huancayo. Antes de Dynamo, un practicante hubiera tardado 2-3 horas cambiando nombres a mano. Con Dynamo: 8 nodos, 30 segundos.
Pero el camino hasta ahí fue frustrante. Mi primer gráfico tenía 60 nodos, 4 listas anidadas, y un error que no pude encontrar en 3 horas. Lo borré todo y empecé de nuevo con algo más simple.
Si estás empezando y te sientes perdido mirando cables de colores, este artículo es exactamente lo que yo hubiera querido leer ese día.
La primera vez que abrí Dynamo, vi cientos de nodos de colores conectados por cables como si fuera el tablero de una nave espacial. Cerré la ventana y no la abrí en un mes.
Después, un amigo me invitó a una charla de Dynamo en el colegio de ingenieros de Lima. El expositor hizo algo simple: tomó 50 vistas, les cambió el nombre automáticamente, y exportó una tabla. Todo en 30 segundos.
Salí de esa charla convencido de que necesitaba aprender Dynamo. Pero necesitaba alguien que me lo explicara sin asumir que ya sabía programar.
Esta es la guía que yo hubiera querido tener ese día.
¿Qué es Dynamo y por qué lo necesitas?
⚠️ Ojo en obra: No confundas el modelo virtual con la estructura real. El acero modelado en Revit no es el acero que el fierrero va a doblar. Siempre hay tolerancias de campo.
Si usas Revit y todavía haces cosas manualmente que podrían automatizarse, Dynamo es la herramienta que cambiará tu flujo de trabajo para siempre.
Dynamo es un entorno de programación visual integrado en Revit (y también disponible como aplicación independiente). En lugar de escribir código, conectas nodos con cables para crear lógica de automatización. Piénsalo como un diagrama de flujo que Revit entiende y ejecuta.
¿Para qué se usa Dynamo en proyectos BIM reales?
Las aplicaciones más comunes que he visto en proyectos reales en Perú:
- Numeración automática de elementos: pilares, vigas, losas, puertas, ventanas
- Generación de parámetros personalizados en masa (marca del proyecto, responsable, fecha)
- Extracción de datos a Excel para metrados, presupuestos o verificaciones
- Colocación automatizada de elementos repetitivos (luminarias en grilla, tuberías en niveles)
- Verificación de clashes y generación de reportes
- Creación de geometría paramétrica compleja
Conceptos base que debes conocer
Antes de abrir Dynamo, entiende estos términos:
- Nodo (Node): Es el bloque básico de Dynamo. Cada nodo hace una tarea específica: obtener elementos de Revit, hacer un cálculo, cambiar un parámetro, etc.
- Wire (Cable): Conecta la salida de un nodo con la entrada de otro. Así fluye la información.
- Lista: Dynamo trabaja con listas de datos. Si tienes 50 pilares, Dynamo los procesa como una lista de 50 elementos.
- Watch node: Nodo especial para ver qué datos hay en un cable. Tu mejor amigo para depurar.
Tu primera automatización: numerar pilares por nivel
Este es uno de los ejercicios más útiles para empezar. Vamos a numerar automáticamente todos los pilares del modelo Revit, asignándoles un código del tipo P-01, P-02, P-03... por nivel.
Paso 1: Abre Dynamo desde Revit
En Revit, ve a la pestaña Administrar → Visual Programming → Dynamo. Si no ves esta opción, instala Dynamo Player desde el sitio oficial de Autodesk.
Paso 2: Obtén todos los pilares del modelo
Añade el nodo All Elements of Category y conéctalo a un nodo Categories configurado en "Structural Columns" (Pilares estructurales). Esto devuelve una lista con todos los pilares del modelo.
Paso 3: Crea los números de marca
Usa el nodo List.Count para saber cuántos pilares hay. Luego usa List.Create y String.Concat para generar cadenas de texto como "P-01", "P-02", etc., con el nodo Code Block:
"P-" + String.PadLeft(String(i+1), 2, "0");
Paso 4: Escribe el parámetro en Revit
Conecta los elementos y los valores al nodo Element.SetParameterByName. Configura el nombre del parámetro como "Mark" (Marca). Ejecuta el script y observa cómo Revit actualiza las marcas de todos los pilares instantáneamente.
Errores comunes al empezar con Dynamo
Para que no pierdas tiempo en lo que yo ya perdí:
- "Nodo en rojo / error": 90% de las veces es un problema de tipos de datos. Un nodo espera un número y le estás pasando texto.
- "Lista vacía": Verifica que los elementos que buscas existen en la vista activa o usa el filtro de categoría correcto.
- "El script funciona pero no hace nada en Revit": Asegúrate de que el modo de ejecución sea "Automática" o haz clic en "Ejecutar".
- Trabajar con subelementos de familias: algunos parámetros están en el tipo, no en la instancia. Usa Element.ElementType primero.
Recursos para seguir aprendiendo
Una vez que domines lo básico, estas son las mejores fuentes:
- Dynamo Primer (dynamoprimer.com): documentación oficial con ejemplos
- Dynamo BIM Forum: la comunidad más activa para resolver dudas
- El canal de YouTube de The Revit Kid tiene tutoriales en inglés muy claros
Y si quieres ver cómo se combina Dynamo con Python para automatizaciones más avanzadas, revisa nuestra guía de Programación BIM con pyRevit.
Conclusión
Dynamo es la puerta de entrada a la automatización BIM sin necesidad de saber programar código. Con los conceptos básicos que vimos hoy, ya puedes crear tu primera automatización real y empezar a ahorrar horas en tareas repetitivas.
El siguiente paso es practicar: abre Dynamo, repite el ejercicio de numeración que vimos, y luego intenta adaptar la lógica a otro parámetro que uses en tus proyectos.
📚 Fuentes y Referencias
Conceptos clave de Dynamo que debes entender
Lists (Listas)
Todo en Dynamo son listas. Un elemento es una lista de 1. Dos elementos es una lista de 2. Entender cómo Dynamo maneja listas es la clave para dominarlo.
| Operación | Nodo | Ejemplo |
|---|
| Crear lista | List.Create | [Elemento1, Elemento2, Elemento3] |
| Obtener item | List.GetItemAtIndex | Elemento2 (índice 1) |
| Contar items | List.Count | 3 |
| Filtrar | List.Filter | Separa por condición |
| Agrupar | List.GroupByKey | Agrupa por categoría |
Niveles de lista (Lacing)
Cuando conectas una lista de listas a un nodo, Dynamo necesita saber cómo aplicar la operación:
| Lacing | Qué hace | Cuándo usar |
|---|
| Shortest | Usa la lista más corta | Cuando ambas listas tienen el mismo largo |
| Longest | Repite el último elemento | Cuando una lista es más larga |
| Cross Product | Combina todo con todo | Para matrices completas |
Preguntas frecuentes
📚 Artículos relacionados que te pueden interesar:
¿Dynamo puede dañar mi modelo de Revit?
No. Dynamo solo modifica el modelo si ejecutas nodos de escritura. Los nodos de lectura son seguros.
¿Necesito saber programación para Dynamo?
No. Dynamo es programación visual. Conectar nodos es como armar un diagrama de flujo.
¿Cuánto tiempo toma aprender Dynamo?
Lo básico: 2-4 semanas. Nivel intermedio: 2-3 meses.
Recursos de aprendizaje gratuitos
| Recurso | Tipo | URL |
|---|
| Dynamo Primer | Guía oficial | primer.dynamobim.org |
| DynamoBIM Forum | Comunidad | forum.dynamobim.org |
| Autodesk University | Cursos | autodeskuniversity.com |
| YouTube (Dynamo BIM) | Videos | YouTube |
| Package Manager | Paquetes | package manager en Dynamo |