Revit API Developer con C# e Inteligencia Artificial
Acerca de este curso
Desarrollo profesional de Add-ins y automatización BIM
Aprende a desarrollar herramientas reales para Autodesk Revit con C#, Revit API, WPF, MVVM e Inteligencia Artificial. El programa avanza desde los fundamentos hasta arquitectura profesional, agentes, MCP y automatización con Autodesk Platform Services.
La ruta completa comprende 72 horas organizadas en tres niveles de 24 horas:
- Revit API Developer Fundamentals: C# aplicado a BIM, consultas, parámetros, transacciones, creación de elementos, geometría, QA/QC e intercambio de datos.
- Professional Revit Add-in Development: WPF, MVVM, External Events, eventos, IUpdater, Dockable Panels, arquitectura, rendimiento y compatibilidad entre versiones.
- AI and Agentic BIM Development: IA generativa, programación asistida, RAG, MCP, agentes BIM, Autodesk Platform Services y automatización cloud.
Aprendizaje basado en productos
Cada bloque combina concepto, problema BIM, Revit API, código, demostración, ejercicio, reto y evaluación. Desarrollarás proyectos progresivos como Element Inspector, Parameter Manager, Sheet Generator, BIM QA/QC Checker, Revit Data Exporter, WPF BIM Manager y Dockable BIM Panel.
Proyecto integrador BIM Auditor AI
Construirás una aplicación profesional capaz de analizar elementos, validar reglas, mostrar incidencias, navegar al modelo, exportar resultados y generar recomendaciones. Las funciones de IA, MCP o servicios en Preview/Beta se identificarán expresamente y se validarán con documentación oficial.
Compatibilidad: el curso explica las diferencias entre Revit 2024, 2025, 2026, 2026.5 y 2027, incluyendo la transición de .NET Framework 4.8 a .NET 8 y .NET 10.
¿Qué aprenderás?
- Desarrollar automatizaciones BIM funcionales con C# y Revit API.
- Configurar entornos de desarrollo compatibles con Revit 2024, 2025, 2026 y 2027.
- Consultar, filtrar, crear y modificar elementos, parámetros, vistas, láminas y familias.
- Gestionar transacciones, errores, eventos y actualizadores de forma segura.
- Trabajar con geometría, modelos vinculados e intercambio de datos CSV, Excel y JSON.
- Crear interfaces profesionales con WPF, MVVM, External Events y Dockable Panels.
- Diseñar Add-ins mantenibles aplicando SOLID, servicios, configuración, logging y buenas prácticas.
- Optimizar el rendimiento y compartir código entre distintas versiones de Revit y .NET.
- Construir herramientas BIM de QA/QC mediante reglas y validación de información.
- Usar IA para generar, explicar, depurar y probar código sin inventar métodos de Revit API.
- Comprender RAG, MCP, agentes BIM y Autodesk Platform Services, diferenciando funciones estables y experimentales.
- Desarrollar progresivamente el proyecto profesional BIM Auditor AI.
Contenido del curso
NIVEL I · Módulo 01: Introducción al desarrollo BIM y Revit API
Comprende el ecosistema Revit, las diferencias entre scripting y desarrollo de software, y la ruta Dynamo, Python, C#, Revit API, pyRevit y Autodesk Platform Services. Incluye la evolución reciente de .NET en Revit.
-
01. ¿Qué es la programación BIM?
-
01.2 Qué problemas conviene automatizar
-
01.3 Dynamo, Python, pyRevit y C#: cuándo usar cada uno
-
01.4 Arquitectura general de Revit API
-
01.5 Ruta del BIM Developer y proyecto integrador
-
01.6 Instalación del entorno profesional
-
01.7 Primer diagnóstico de automatización
Módulo 02: C# moderno aplicado a Revit
Aprende C# con problemas BIM reales: tipos, control de flujo, métodos, clases, interfaces, colecciones, LINQ, lambdas, eventos, nullable, excepciones, extensión y async/await con las limitaciones de threading de Revit.
-
02.1 Sintaxis C# aplicada a datos BIM
-
Sintaxis básica de C#
16:18 -
02.2 Variables, tipos y conversiones
-
Variables y tipos de datos
08:17 -
02.3 Tipos por valor y por referencia
-
Tipos por valor vs. tipos por referencia en C#
10:46 -
02.4 Condicionales y bucles con elementos BIM
-
Control de flujo (if, loops)
28:57 -
02.5 Métodos, parámetros y valores de retorno
-
Colecciones (List)
00:00 -
02.6 Clases, objetos y constructores
-
Linq (Básico)
00:00 -
02.7 Encapsulación, interfaces y polimorfismo
-
Clases y objetos
00:00 -
02.8 Colecciones genéricas
-
02.9 LINQ para consultas BIM
-
02.10 Nullability y manejo de excepciones
-
Constructores
00:00 -
Encapsulación
00:00 -
Manejo de null
00:00
Módulo 03: Fundamentos de Revit API
Configura Visual Studio, archivos .addin, RevitLookup y depuración. Trabaja con Application, UIApplication, UIDocument, Document, Element, ElementId, Category, parámetros, selección, IExternalCommand e IExternalApplication.
-
03.1 RevitAPI.dll y RevitAPIUI.dll
-
03.2 Visual Studio y referencias de Revit
-
03.3 Anatomía de un archivo .addin
-
03.4 IExternalCommand y Execute
-
03.5 ExternalCommandData, UIApplication y UIDocument
-
03.6 Document, Element y ElementId
-
03.7 RevitLookup y exploración del modelo
-
03.8 Depuración y Journal Files
Módulo 04: FilteredElementCollector y consulta del modelo
Consulta tipos e instancias mediante filtros por categoría y clase, filtros lógicos, ElementFilter y LINQ. Desarrolla consultas eficientes aplicadas a casos BIM.
-
04.1 FilteredElementCollector: fundamentos
-
04.2 OfClass y OfCategory
-
04.3 Tipos frente a instancias
-
04.4 Filtros rápidos y filtros lentos
-
04.5 ElementClassFilter y ElementCategoryFilter
-
04.6 Filtros lógicos AND, OR y NOT
-
04.7 ElementParameterFilter
-
04.8 Filtros por propietario, diseño y fase
-
04.9 LINQ después de los filtros nativos
-
04.10 ToElements, ToElementIds y FirstElement
Módulo 05: Parámetros y datos BIM
Lee, valida y modifica parámetros de instancia, tipo, proyecto y compartidos. Trabaja con StorageType, unidades, conversiones, BuiltInParameter, LookupParameter y procesos de QA/QC.
-
05.1 Selección con PickObject
-
05.2 Selección múltiple con PickObjects
-
05.3 PickPoint, PickBox y PickElementsByRectangle
-
05.4 ObjectType.Element, Face y Edge
-
05.5 ISelectionFilter por categoría
-
05.6 ISelectionFilter por propiedad
-
05.7 Cancelación con OperationCanceledException
Módulo 06: Transacciones y modificación del modelo
Modifica el modelo de forma segura con Transaction, SubTransaction, TransactionGroup, Commit, RollBack y FailureHandling. Aplica operaciones CRUD sobre elementos de Revit.
-
06.1 Category, Family, Symbol, Type e Instance
-
06.2 Obtener ElementType desde una instancia
-
06.3 BuiltInCategory y CategoryId
-
06.4 ElementId, UniqueId y referencias estables
-
06.5 Parámetros de instancia y de tipo
-
06.6 StorageType y lectura segura
-
06.7 BuiltInParameter frente a LookupParameter
-
06.8 Parámetros compartidos por GUID
-
06.9 ForgeTypeId y conversión de unidades
-
06.10 Escritura y parámetros de solo lectura
Módulo 07: Creación y automatización de elementos
Crea muros, pisos, familias, habitaciones, niveles, vistas, filtros, láminas y viewports. Automatiza documentación y aplica las transacciones estudiadas.
-
07.1 Transaction y TransactionStatus
-
07.2 SubTransaction
-
07.3 TransactionGroup y Assimilate
-
07.4 Commit, RollBack y manejo de errores
-
07.5 Crear muros con Wall.Create
-
07.6 Crear pisos y perfiles cerrados
-
07.7 Crear niveles y rejillas
-
07.8 Cargar y activar FamilySymbol
-
07.9 Crear FamilyInstance
-
07.10 Crear habitaciones y áreas
Módulo 08: Geometría con Revit API
Trabaja con XYZ, vectores, curvas, planos, caras, aristas, sólidos, BoundingBoxXYZ y Transform. Analiza intersecciones, distancias, orientación y modelos vinculados.
-
08.1 XYZ, vectores y operaciones
-
08.2 Line, Arc y CurveLoop
-
08.3 Options y GeometryElement
-
08.4 GeometryInstance y Transform
-
08.5 Solid, Face, Edge y Mesh
-
08.6 BoundingBoxXYZ
-
08.7 Intersección de sólidos
-
08.8 ReferenceIntersector
-
08.9 Geometría de modelos vinculados
Módulo 09: Automatización BIM y QA/QC
Construye herramientas para detectar parámetros faltantes, nombres incorrectos, duplicados, familias no autorizadas e información incompleta mediante un Rule Engine básico.
-
09.1 Reglas BIM y criterios verificables
-
09.2 Parámetros obligatorios
-
09.3 Nombres y codificación
-
09.4 Familias y tipos autorizados
-
09.5 Detección de duplicados
-
09.6 Severidad, evidencia y recomendación
-
09.7 Navegar, seleccionar y colorear incidencias
Módulo 10: Intercambio de datos
Conecta Revit con CSV, Excel, JSON y bases de datos. Introduce serialización, deserialización, validación y trazabilidad de información BIM.
-
10.1 UniqueId como identificador externo
-
10.2 Exportación CSV
-
10.3 Exportación Excel
-
10.4 Serialización JSON
-
10.5 Importación con vista previa
-
10.6 Validación y conflictos
NIVEL II · Módulo 11: Interfaces profesionales con WPF
Evoluciona desde TaskDialog hacia interfaces con XAML, controles, Grid, DataGrid, binding, ObservableCollection, ICommand, estilos, recursos y ventanas modeless.
-
11.1 TaskDialog y comandos simples
-
11.2 XAML, Window, Grid y controles
-
11.3 Binding y DataContext
-
11.4 ObservableCollection
-
11.5 DataGrid para elementos BIM
-
11.6 ICommand y RelayCommand
-
11.7 Estilos, recursos y validación visual
Módulo 12: MVVM aplicado a Revit
Separa View, ViewModel, servicios y Revit API. Organiza Commands, Services, Models, ViewModels y Utilities para evitar concentrar la lógica en Execute.
-
12.1 Responsabilidades de View y ViewModel
-
12.2 Models y DTO BIM
-
12.3 Commands y Services
-
12.4 INotifyPropertyChanged
-
12.5 Inyección de dependencias
-
12.6 Validación y estado de la interfaz
Módulo 13: External Events
Integra interfaces modeless con Revit mediante ExternalEvent.Raise e IExternalEventHandler. Desarrolla un flujo WPF a External Event a Revit API completamente funcional.
-
13.1 Por qué WPF modeless no puede modificar Revit directamente
-
13.2 IExternalEventHandler
-
13.3 ExternalEvent.Create y Raise
-
13.4 Cola de solicitudes
-
13.5 Resultados, errores y actualización de la UI
Módulo 14: Eventos de Revit
Aplica DocumentOpened, DocumentClosing, DocumentChanged, ViewActivated, Idling y eventos de aplicación y documento, comprendiendo casos de uso y limitaciones.
-
14.1 IExternalApplication
-
14.2 OnStartup y OnShutdown
-
14.3 Crear pestañas, paneles y botones Ribbon
-
14.4 PushButtonData e iconos
-
14.5 DocumentOpened y DocumentClosing
-
14.6 DocumentChanged
Módulo 15: IUpdater
Configura IUpdater, triggers y ChangeType para responder a cambios del modelo. Compara IUpdater con DocumentChanged mediante una automatización real.
-
15.1 Contrato IUpdater
-
15.2 UpdaterId y registro
-
15.3 AddTrigger y ElementFilter
-
15.4 ChangeType y cambios observados
-
15.5 Execute y prevención de recursión
Módulo 16: Dockable Panels
Construye una herramienta profesional integrada en Revit con WPF, MVVM, ExternalEvent, DockablePane y acceso controlado a Revit API.
-
16.1 IDockablePaneProvider
-
16.2 RegisterDockablePane
-
16.3 Estado y ciclo de vida
-
16.4 DockablePane con MVVM
-
16.5 DockablePane con ExternalEvent
Módulo 17: Arquitectura profesional para Add-ins
Aplica SOLID, separación de responsabilidades, servicios, interfaces, inyección de dependencias, logging, configuración, JSON y manejo de errores en Add-ins reales.
-
17.1 Arquitectura por capas
-
17.2 Principios SOLID para add-ins
-
17.3 Servicios y repositorios
-
17.4 Configuración JSON
-
17.5 Logging y diagnóstico
-
17.6 Manejo global de excepciones
Módulo 18: Performance y buenas prácticas
Optimiza filtros, LINQ, geometría, transacciones y procesamiento de modelos grandes. Introduce profiling, memoria y reducción de llamadas innecesarias.
-
18.1 Filtros nativos frente a LINQ
-
18.2 Coste de geometría y regeneración
-
18.3 Transacciones por lote
-
18.4 Stopwatch y profiling
-
18.5 Caché e invalidación
Módulo 19: Compatibilidad entre versiones de Revit
Diseña una estrategia profesional para compartir código entre Revit 2024, 2025, 2026, 2026.5 y 2027 considerando .NET Framework 4.8, .NET 8 y .NET 10.
-
19.1 Matriz Revit y .NET
-
19.2 Multi-targeting y proyectos por versión
-
19.3 Constantes de compilación
-
19.4 Adaptadores de API
-
19.5 Referencias y rutas de compilación
NIVEL III · Módulo 20: IA para desarrolladores BIM
Relaciona IA, Machine Learning, IA generativa, LLM, tokens, contexto, prompts, alucinaciones, grounding, RAG, embeddings, tool calling, agentes y Agent Skills con Revit API.
-
20.1 IA generativa y LLM para BIM
-
20.2 Tokens, contexto y límites
-
20.3 Prompting técnico verificable
-
20.4 Grounding y alucinaciones
Módulo 21: Programación de Revit asistida por IA
Usa asistentes de desarrollo para generar, explicar, refactorizar, depurar, probar y documentar código. Valida siempre métodos y clases contra documentación oficial de Revit API.
-
21.1 Generar código Revit con IA
-
21.2 Verificar clases y métodos
-
21.3 Explicar y refactorizar código
-
21.4 Depuración asistida
Módulo 22: Contexto de Revit API para agentes de IA
Construye contexto especializado a partir de RevitAPI.dll, RevitAPIUI.dll y documentación técnica para crear Agent Skills y agentes de programación más confiables.
-
22.1 Fuentes de conocimiento de Revit API
-
22.2 Extracción y versionado de documentación
-
22.3 Contexto especializado para agentes
-
22.4 Agent Skills de Revit
Módulo 23: RAG aplicado a BIM
Implementa el flujo documentos, chunking, embeddings, base vectorial, recuperación y LLM para consultar estándares BIM, BEP, requisitos y documentación técnica.
-
23.1 Arquitectura RAG
-
23.2 Chunking de documentación BIM
-
23.3 Embeddings y búsqueda vectorial
-
23.4 Respuestas con citas
Módulo 24: Model Context Protocol MCP
Comprende el flujo LLM, MCP Client, MCP Server, Tool y Revit. Compara MCP con una API tradicional y analiza el problema de interoperabilidad que resuelve.
-
24.1 Arquitectura de MCP
-
24.2 Tools, resources y prompts
-
24.3 Transporte, permisos y seguridad
-
24.4 Diseñar herramientas BIM de solo lectura
Módulo 25: Revit y MCP
Explora Revit MCP con lenguaje natural y herramientas, separando claramente capacidades estables, Preview, Beta, experimentales, comunitarias y no oficiales.
-
25.1 Estado de Revit Public MCP Server
-
25.2 Herramientas Read
-
25.3 Herramientas Write y confirmaciones
-
25.4 Funciones experimentales
Módulo 26: Agentes de IA para BIM
Diferencia chatbot, copilot y agente. Construye un agente sencillo que razona, selecciona varias herramientas, consulta Revit y devuelve resultados verificables.
-
26.1 Chatbot, copiloto y agente
-
26.2 Selección de herramientas
-
26.3 Memoria, estado y límites
-
26.4 Agente BIM con varias herramientas
Módulo 27: Autodesk Platform Services
Introduce autenticación, Data Management, Viewer, Automation APIs y Revit Automation. Compara Revit Desktop API con Revit Automation API.
-
27.1 Autodesk Platform Services
-
27.2 Autenticación segura
-
27.3 Data Management API
-
27.4 Viewer y Model Derivative
Módulo 28: Automatización BIM en la nube
Procesa archivos RVT en la nube mediante un Add-in C# para QA/QC, extracción, normalización y generación masiva de entregables. Consolida el proyecto BIM Auditor AI.
-
28.1 App bundles
-
28.2 Activities
-
28.3 Work items
-
28.4 Almacenamiento y callbacks
Valoraciones y reseñas de estudiantes
Únete a la comunidad CEMA Campus
Contacto
Teléfono
Dirección