How dynamods/dynamorevit works
Dynamo for Revit is a Revit add-in and a library of Dynamo nodes. Its principal workflow is: Revit loads the add-in, the add-in starts a Revit-aware Dynamo model, and graph nodes read or modify the active Revit document; element wrappers and geometry conversion connect Dynamo values to Revit objects. The README also documents selecting a Dynamo Core runtime, and the tree shows UI controls, graphics, schedules, filters, and broad element coverage. Several subsystem links are based on documented purpose and tree paths; unsampled implementation details are not inferred.
Main entry points: RevitDynamoModel.cs Revit model · Element.cs Element wrappers · DocumentManager.cs Document manager · DynamoRevit.cs Add-in entry
Components 18
Revit integration
- Add-in entry
src/DynamoRevit/DynamoRevit.cs - Revit app
src/DynamoRevit/DynamoRevitApp.cs
Dynamo model
- Revit model
src/DynamoRevit/Models/RevitDynamoModel.cs - Revit watch
src/DynamoRevit/ViewModel/RevitWatchHandler.cs
Revit services
- Document manager
src/Libraries/RevitServices/Persistence/DocumentManager.cs - Transaction manager
src/Libraries/RevitServices/Transactions/TransactionManager.cs - Element binder
src/Libraries/RevitServices/Persistence/ElementBinder.cs - Element lifecycle
src/Libraries/RevitServices/Persistence/ElementIDLifecycleManager.cs - Revit event proxy
src/Libraries/RevitServices/Events/EventHandlerProxy.cs
Revit nodes
- Element wrappers
src/Libraries/RevitNodes/Elements/Element.cs - Element node library
src/Libraries/RevitNodes/Elements - Geometry conversion
src/Libraries/RevitNodes/GeometryConversion - Schedules and filters
src/Libraries/RevitNodes/Schedules - Revit graphics
src/Libraries/RevitNodes/Graphics/GraphicsManager.cs
UI and graphics
- Revit selectors
src/Libraries/RevitNodesUI/RevitDropDown.cs - Revit UI
src/DynamoRevit/ViewModel/DynamoRevitViewModel.cs
Other components
- Revit host
- Dynamo Core
Connections 19
- Revit host → Add-in entry: loads add-in
- Add-in entry → Revit model: starts model
- Add-in entry → Dynamo Core: loads runtime
- Add-in entry → Revit app: uses app services
- Revit model → Document manager: reads active document
- Revit model → Revit event proxy: handles host events
- Revit model → Revit watch: sets watch handler
- Revit model → Revit UI: coordinates UI
- Revit model → Element wrappers: reconciles elements
- Revit model → Revit host: updates host model
- Element wrappers → Document manager: uses current document
- Element wrappers → Transaction manager: manages changes
- Element wrappers → Element binder: tracks element trace
- Element wrappers → Element lifecycle: registers wrappers
- Element wrappers → Geometry conversion: converts geometry
- Document manager → Transaction manager: opens transaction
- Revit selectors → Document manager: queries document
- Revit watch → Document manager: selects elements
- Revit graphics → Revit host: renders mesh data