Dynamo para Revit: tus primeros 5 scripts útiles, nodo por nodo
Dynamo para Revit desde cero: dónde se abre y cinco scripts útiles, nodo por nodo: llenar parámetros, Excel de ida y vuelta, datos vacíos y nombres.
Dynamo · Revit · Primeros pasos
Cinco scripts de Dynamo para Revit que se usan desde la primera semana
Dónde se abre Dynamo, cómo se lee un grafo y cinco rutinas cortas, con los nodos exactos: llenar un parámetro en toda una categoría, exportar a Excel, devolver los cambios, encontrar datos vacíos y ordenar nombres.
¿Qué es Dynamo para Revit y dónde se abre?
Dynamo viene instalado con Revit. Se abre en la ficha Gestionar › Programación visual › Dynamo. En el mismo grupo está el Reproductor de Dynamo.
Un grafo se lee de izquierda a derecha: los nodos de la izquierda eligen elementos, los del medio leen o transforman datos y los de la derecha escriben en el modelo.
Antes de empezar, dos hábitos:
- Pon la ejecución en Manual (abajo a la izquierda) cuando el grafo escribe en el modelo. En Automático, cada cambio que hagas en el grafo vuelve a escribir.
- Prueba en una copia del modelo. Lo que escribe Dynamo suele deshacerse con Ctrl+Z en Revit, pero es mejor no depender de eso.
Script 1: ¿cómo lleno un parámetro en todos los elementos de una categoría?
Por ejemplo, escribir «Revisado» en el parámetro Comentarios de todas las puertas.
- Categories: elige la categoría Puertas.
- All Elements of Category: trae todas las puertas del modelo.
- String o Code Block: el nombre del parámetro, «Comentarios», y el valor, «Revisado».
- Element.SetParameterByName: escribe el valor en cada puerta.
Tres cosas que hacen fallar a este nodo:
- El nombre del parámetro debe ser exacto, con mayúsculas y tildes, y en el idioma de tu Revit: en Revit en español es «Comentarios»; en inglés, «Comments».
- Ejemplar o tipo. Si el parámetro es de tipo, hay que escribirlo en el tipo, no en cada elemento. El nodo Family Types elige un tipo.
- El tipo de dato. Un parámetro de número no acepta texto. Los números se escriben en las unidades del proyecto.
Script 2: ¿cómo exporto elementos y parámetros a Excel?
Desde Dynamo 2.12 hay nodos que leen y escriben archivos .xlsx sin tener Excel instalado.
- Categories y All Elements of Category: los elementos que quieres listar.
- Element.Id: el identificador de cada elemento. Va siempre en la primera columna, para poder devolver los cambios.
- Element.GetParameterValueByName: un nodo por cada parámetro, por ejemplo Marca y Comentarios.
- List.Create junta las columnas y List.Transpose las convierte en filas.
- File Path y Data.OpenXMLExportExcel: el archivo, el nombre de la hoja y los datos.
Script 3: ¿cómo devuelvo los cambios de Excel a Revit?
Es el ida y vuelta que Revit no trae.
- File Path y Data.OpenXMLImportExcel: lee la hoja editada.
- List.Transpose: separa la columna de identificadores de la de valores nuevos.
- All Elements of Category y Element.Id: vuelve a leer los elementos del modelo.
- List.IndexOf y List.GetItemAtIndex: busca, para cada fila del Excel, el elemento con ese identificador.
- Element.SetParameterByName: escribe los valores nuevos.
La regla de oro: emparejar por el identificador, nunca por el orden de las filas. Si alguien ordenó la hoja, el valor terminaría en otro elemento. Lo explicamos a fondo en exportar tablas de Revit a Excel y reimportarlas.
Script 4: ¿cómo encuentro elementos con un parámetro vacío?
El control de calidad antes de una entrega: qué puertas no tienen Marca.
- All Elements of Category y Element.GetParameterValueByName: el valor de Marca de cada puerta.
- Compara cada valor con un texto vacío y con nulo (Object.IsNull): sale una lista de verdadero y falso.
- List.FilterByBoolMask: se queda con las puertas sin dato.
- List.Count: cuántas son.
- Color.ByARGB y Element.OverrideColorInView: las pinta de rojo en la vista activa.
Script 5: ¿cómo estandarizo nombres en lote?
Por ejemplo, poner en mayúsculas los nombres de todas las habitaciones.
- Categories (Habitaciones) y All Elements of Category.
- Element.GetParameterValueByName: el parámetro Nombre.
- String.ToUpper: lo convierte a mayúsculas. Para agregar un prefijo, un Code Block con la operación
"B1-" + x. - Element.SetParameterByName: escribe el nombre nuevo.
¿Cómo hago que mi equipo los use sin abrir Dynamo?
Con el Reproductor de Dynamo:
- Guarda los scripts .dyn en una carpeta compartida.
- En cada grafo, haz clic derecho sobre los nodos que el usuario debe poder cambiar (la categoría, el valor, el archivo) y marca Es entrada.
- Abre Gestionar › Programación visual › Reproductor de Dynamo y elige esa carpeta.
El equipo ve una lista de scripts, cambia las entradas y pulsa ejecutar. Nadie toca el grafo.
¿Cuándo conviene pasar de Dynamo a un plugin?
Cuando el script se usa todos los días, lo corren muchas personas, trabaja con miles de elementos o necesita validaciones serias antes de escribir. Ahí un plugin en C# es más rápido, más robusto y no depende de quien armó el grafo. Lo comparamos en Dynamo o C#: cuál conviene en cada caso.
Fuentes
- Dynamo Primer: seleccionar elementos de Revit, editar parámetros y documentar y colorear.
- Dynamo 2.12: los nodos de Excel con OpenXML, sin Excel instalado.
- Autodesk: Reproductor de Dynamo.
Datos verificados el 23 de octubre de 2026.
Recursos relacionados
- El ida y vuelta completo: exportar tablas de Revit a Excel y reimportarlas.
- Qué automatizar primero: automatizar tareas en Revit con Dynamo y plugins.
- Lo mismo en Civil 3D: scripts de Dynamo para Civil 3D.
- Cuándo pasar a C#: Dynamo o C#, cuál conviene en cada caso.
Preguntas frecuentes sobre Dynamo para Revit
¿Dynamo viene con Revit?
Sí. Dynamo se instala con Revit y se abre en la ficha Gestionar › Programación visual › Dynamo. En el mismo grupo está el Reproductor de Dynamo, que ejecuta scripts sin abrir el grafo. No hace falta descargar nada para empezar con los nodos de Revit.
¿Por qué Element.SetParameterByName no escribe el valor?
Casi siempre por una de tres razones: el nombre del parámetro no es exacto o está en un idioma distinto al de tu Revit, el parámetro es de tipo y se intentó escribir en cada elemento, o el valor no es del tipo de dato correcto, por ejemplo texto en un parámetro de número.
¿Cómo exporto datos de Revit a Excel con Dynamo?
Con los nodos Data.OpenXMLExportExcel y Data.OpenXMLImportExcel, que desde Dynamo 2.12 leen y escriben .xlsx sin tener Excel instalado. Pon siempre el Id del elemento en la primera columna: es lo que permite devolver los cambios al elemento correcto aunque alguien haya ordenado la hoja.
¿Qué es el Reproductor de Dynamo?
Es una ventana de Revit que ejecuta scripts de Dynamo con un clic, sin abrir el grafo. Lee los archivos .dyn de una carpeta y muestra como campos editables los nodos marcados como entrada. Es la forma de que todo el equipo use los scripts sin saber Dynamo.
¿Cuándo conviene pasar de Dynamo a un plugin en C#?
Cuando el script se usa todos los días, lo corren muchas personas, trabaja con miles de elementos o necesita validaciones serias antes de escribir en el modelo. Un plugin es más rápido y robusto, y no depende de quien armó el grafo. Lo habitual es validar la idea en Dynamo y después llevarla a plugin.
Sigue leyendo sobre este tema
Desarrollo de add-ins para Revit y Civil 3D: la guía completa en español (2026)
Guía completa para desarrollar add-ins para Revit y Civil 3D: qué son, qué automatizar, C# y la API de Autodesk, cómo se distribuyen y cuánto cuestan.
Cómo crear un plugin para Civil 3D con Claude Code sin ser programador: guía end-to-end 2026
Cómo crear un plugin para Civil 3D con Claude Code sin saber programar: arquitectura, prompts que funcionan, y cómo compilarlo e instalarlo en tu oficina.
Dynamo vs C# en Civil 3D y Revit: cuándo usar cada uno + automatizaciones que ahorran horas
Dynamo o C# para automatizar Civil 3D y Revit: diferencias reales, cuándo conviene cada uno y automatizaciones que ahorran horas, con ejemplos.
¿Cuánto cuesta un add-in para Revit o Civil 3D? Guía de precios y plazos 2026
Cuánto cuesta desarrollar un add-in para Revit o Civil 3D: qué factores mueven el precio y el plazo, y cómo calcular si se paga con las horas que ahorra.