Durante un año entero, fui team Dynamo puro. Todo lo automatizaba con nodos. Era mi zona de confort. Hasta que un día necesité crear una herramienta que el equipo usara diariamente: un verificador de estándares BIM que revisaba 15 parámetros en 3,000 elementos.
En Dynamo, el gráfico tenía 120 nodos. Tardaba 4 minutos en correr. Y si alguien del equipo quería modificarlo, tenía que entender mi lógica de cables.
Lo reescribí en pyRevit. 80 líneas de código. Se ejecutaba en 30 segundos. Y cualquiera podía leer el código y entender qué hacía.
Ese día aprendí que Dynamo es perfecto para prototipos, pero pyRevit es superior para herramientas de producción. Te explico por qué y cuándo usar cada uno.
La industria BIM ha superado la fase del modelado manual. En 2026, si no estás automatizando tus procesos, estás perdiendo dinero en horas hombre (Drafters y Modeladores). El gran dilema que enfrentan las oficinas técnicas (VDC) es: ¿Capacito a mi equipo en Dynamo o los mando directo a estudiar Python y la API de Revit?
Dynamo: El Rey de los Conceptos
Dynamo democratizó la programación visual. Su mayor ventaja es que no necesitas ser programador para usarlo.
Pros:
- Curva de aprendizaje suave para arquitectos e ingenieros.
- Nodos visuales que permiten explicar la lógica a los jefes de proyecto.
- Excelente para geometría paramétrica compleja (Nurb, Surfaces).
La cruda realidad (Contras):
- Cuando el archivo de Revit pasa los 500MB, abrir el Dynamo Player puede tardar 10 minutos. Es un asesino de RAM.
- Gestión de hilos (Threading): Dynamo corre en un solo hilo junto con Revit, congelando la interfaz por completo.
- Resolución de dependencias: Los famosos Custom Packages se rompen con cada actualización de Revit.
pyRevit
⚠️ 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.
(Python): La Navaja Suiza Definitiva
pyRevit es la capa que compila código Python (IronPython/CPython 3) directamente en botones nativos dentro del Ribbon de Revit.
Por qué los BIM Managers están migrando a Python:
- Velocidad bruta: Un script de Python que busca y renombra 5000 elementos corre en 3 segundos. El mismo injerto en Dynamo puede demorar 2 minutos.
- Librerías externas: Con Python puedes jalar librerías como
pandas para extraer todo el acero estructural y procesar un pivot de costos al vuelo en Excel, o requests para conectar Revit con una API Rest corporativa o un CRM.
- Distribución: Puedes crear una pestaña corporativa personalizada y distribuirla a tus 50 proyectistas con un solo clic, sin que ellos vean jamás una línea de código ni nodos espagueti.
Veredicto: Si es tu primera semana automatizando, prueba Dynamo para entender la jerarquía de las clases (Elements, Parameters, Categories). Si ya llevas meses gestionando datos serios y te duelen los tiempos muertos de procesamiento, salta a Python de inmediato.
📚 Fuentes y Referencias
La diferencia fundamental
Dynamo y pyRevit resuelven el mismo problema pero con filosofías distintas.
Dynamo es programación visual: conectas nodos con cables. Perfecto para flujos lineales donde puedes ver el proceso paso a paso.
pyRevit es Python dentro de Revit: escribes código y lo ejecutas como un comando más. Mejor para tareas complejas que requieren interacción con el usuario.
Comparación directa
| Criterio | Dynamo | pyRevit |
|---|
| Curva de aprendizaje | Baja (2-4 semanas) | Media (1-3 meses) |
| Complejidad máxima | Media | Alta (cualquier cosa que Python permita) |
| Distribución en equipo | Difícil | Fácil (se instala en carpeta de pyRevit) |
| Acceso a Revit API | Parcial | Total |
| Depuración | Preview de nodos | IDE completo, debugging real |
Cuándo elegir Dynamo
- Flujos de datos lineales: "Toma estos elementos → filtra → renombra → exporta"
- Tu equipo no sabe programar
- Prototipar rápido una idea
Cuándo elegir pyRevit
- Herramienta robusta para uso diario del equipo
- Flujos complejos con condicionales anidados
- Integración con APIs externas o bases de datos
Mi regla: si el script lo usarán más de 2 personas más de 2 veces por semana, lo paso a pyRevit.
Preguntas frecuentes
📚 Artículos relacionados que te pueden interesar:
¿Puedo usar ambos juntos?
Sí. Puedes ejecutar Dynamo desde pyRevit o llamar a Python desde Dynamo.
¿pyRevit funciona con Revit LT?
No. Revit LT no soporta add-ins ni la API de Revit.
¿Qué versión de Python usa pyRevit?
Soporta IronPython 2.7 (limitado) y CPython 3.x (recomendado, soporta cualquier librería).
Ejemplo comparativo: mismo resultado, dos enfoques
Tarea: Renombrar 200 vistas siguiendo nomenclatura ISO 19650
En Dynamo (8 nodos conectados):
- Categories → Views
- All Elements of Category
- List.Filter (solo Floor Plans)
- Element.Name
- String.Replace
- String.PadLeft
- Element.SetName
- Watch (resultado)
Tiempo de construcción: 15 minutos
Complejidad: Baja
En pyRevit (código Python):
from pyrevit import revit
from Autodesk.Revit.DB import FilteredElementCollector, View
views = FilteredElementCollector(revit.doc).OfClass(View).ToElements()
with revit.Transaction("Rename views"):
for v in views:
if v.ViewType == ViewType.FloorPlan:
v.Name = "PLANTA-" + v.GenLevel.Name
Tiempo de construcción: 20 minutos
Complejidad: Media
Reutilización: Alta (se ejecuta como botón en Revit)
Comparación de distribución
| Aspecto | Dynamo | pyRevit |
|---|
| Compartir script | Enviar archivo .dyn | Instalar en carpeta de extensiones |
| Ejecutar | Abrir Dynamo > Open | Clic en botón de la ribbon |
| Mantener versiones | Archivos separados | Git control de código |
| Curva de aprendizaje para el equipo | Baja (nodos visuales) | Media (leer código Python) |
Mi experiencia personal usando ambos
En mi flujo de trabajo actual uso ambos según la necesidad:
| Situación | Herramienta | Razón |
|---|
| Renombrar 150 vistas | Dynamo | Rápido, 8 nodos |
| Script diario del equipo | pyRevit | Distribución fácil |
| Prototipo de idea | Dynamo | Visual, rápido |
| Herramienta robusta | pyRevit | Código versionable |
| Equipo sin programar | Dynamo | Nodos intuitivos |
| Integración con API | pyRevit | Python completo |
Tabla de scripts más usados
| Script | Herramienta | Tiempo ahorrado |
|---|
| Renombrar vistas | Dynamo | 4 horas → 30 seg |
| Crear planos | pyRevit | 1 día → 2 min |
| Metrados | Dynamo | 2 días → 5 min |
| Verificar parámetros | pyRevit | 4 horas → 1 min |
| Exportar a Excel | pyRevit | 3 horas → 30 seg |
Veredicto final
No hay un ganador claro. Dynamo para prototipos rápidos y aprendizaje. pyRevit para herramientas de producción. Los equipos más eficientes usan ambos según la necesidad de cada tarea.