What the Revit API can automate
| Area | Examples |
|---|---|
| Documentation | Create sheets, place views, apply view templates, number sheets |
| Data | Fill parameters from Excel or databases, export schedules |
| Modelling | Place families from data, create rooms, walls, openings |
| Quality | Check naming, parameters, warnings and standards |
| Coordination | Sleeves and openings at clashes between disciplines |
| Exports | Batch PDF, DWG, IFC and NWC exports |
| Families | Batch edit parameters and types across family libraries |
Dynamo, pyRevit or add-ins?
- Dynamo: visual scripting for BIM users; great for one-off tasks and prototypes.
- pyRevit: Python scripts with a toolbar; popular for in-house tools.
- C# add-ins: professional, fast, testable tools with rich UI, ideal for company-wide deployment.
- Design Automation for Revit: cloud processing without desktop Revit.
Example: create sheets from Excel
using var t = new Transaction(doc, "Create sheets");
t.Start();
foreach (var row in ReadSheetList("sheets.xlsx"))
{
var sheet = ViewSheet.Create(doc, titleBlockTypeId);
sheet.SheetNumber = row.Number;
sheet.Name = row.Name;
sheet.LookupParameter("Discipline")?.Set(row.Discipline);
}
t.Commit();
Typical benefits
- Sheet setup in minutes instead of days on large projects.
- Consistent parameters for asset handover and COBie.
- Fewer model errors reaching coordination meetings.
- Automated weekly exports for consultants and clients.
Things to know
- Revit 2025 and later use .NET 8; earlier versions use .NET Framework.
- All model changes must be inside transactions.
- Modeless tools need external events to modify the model safely.
- Large models require efficient filtered element collectors.
BIM automation pays off fastest on large, repetitive projects and standard building types.
Revit development with ENGIMANDI
See Revit customisation, automation and integration and our Revit API automation guide.