El camino más rápido para crear herramientas personalizadas dentro de Revit usando Python e IronPython. Sin compilar, sin Visual Studio.
pyRevit es un
framework de código abierto que permite crear extensiones para Revit
usando Python (IronPython).
No necesitas Visual Studio, C# ni compilar DLLs. Simplemente
escribes scripts
.py, los colocas en una estructura de carpetas específica, y pyRevit
los convierte automáticamente en botones dentro de la interfaz de
Revit.
Para un ingeniero estructural que viene del mundo del cálculo y el diseño, este es el camino de menor resistencia para empezar a automatizar su trabajo en Revit.
La estructura de carpetas ES el código. pyRevit lee los nombres de las carpetas para crear la interfaz de usuario automáticamente.
Desde la idea hasta el botón funcional en Revit. Sigue estos pasos para crear cualquier herramienta:
¿Qué tarea repetitiva te roba tiempo? Cuantifica: "Paso X horas haciendo Y manualmente".
Escribe en lenguaje natural lo que quieres. Un prompt claro es la mitad del trabajo.
Usa Gemini, Claude o ChatGPT. Pégale tu prompt + el contexto de la API que necesitas.
Crea
.extension
→
.tab
→
.panel
→
.pushbutton.
script.py
Coloca el código generado dentro de la carpeta
.pushbutton.
Abre Revit → Pestaña pyRevit → "Reload". Tu botón aparece automáticamente.
Si falla, lee el error, ajusta el script, y recarga. Ciclo rápido de feedback.
Diferentes herramientas para diferentes objetivos. Elige según tu caso de uso:
Ideal para automatizaciones rápidas, prototipos, herramientas internas y scripting diario.
Ideal para productos comerciales, plugins complejos con UI avanzada, y rendimiento crítico.
Copia este prompt y pégalo en tu chat con Gemini, Claude o ChatGPT para generar tu primer script de pyRevit:
Actúa como un experto en pyRevit y la API de Revit con IronPython. Necesito un script.py que haga lo siguiente: TAREA: [Describe tu tarea aquí] CONTEXTO: - Uso Revit 2024/2025 - pyRevit 4.8+ instalado - El script será un pushbutton REQUISITOS: - Importar los módulos necesarios (clr, Autodesk.Revit.DB, etc.) - Usar TransactionGroup o Transaction según corresponda - Incluir manejo de errores básico (try/except) - Mostrar un TaskDialog con el resultado al finalizar - Código comentado en español Dame el script.py completo y listo para usar.