-
Notifications
You must be signed in to change notification settings - Fork 14
Code structure
The code of Revit_Toolkit is different from standard BHoM pattern, which is caused by the fact that all code base referencing Revit API needs to run inside the Revit thread. It is split into two realms:
- BHoM side - standard BHoM toolkit structure:
-
Revit_oM (
BH.oM.Adapters.Revit
) - Revit_Toolkit-specific classes, mainly settings/config and wrappers for Revit types -
Revit_Engine (
BH.Engine.Adapters.Revit
) - methods to process the objects from Revit_oM -
Revit_Adapter (
BH.Adapter.Revit
) - BHoM side of Revit-specific implementation ofBHoMAdapter
without CRUD, which is sitting on the Revit side of the solution (see below)
-
Revit_oM (
- Revit side:
-
Revit_Core_Adapter (
BH.Revit.Adapter.Core
) - Revit side of Revit-specific implementation ofBHoMAdapter
, including adapter action methods, CRUD as well as Revit Listener plugin and event handlers -
Revit_Core_Engine (
BH.Revit.Engine.Core
) - methods to process Revit objects (filter, convert, query etc.)
-
Revit_Core_Adapter (
The relationship and interaction between Revit side and BHoM side of the Adapter is explained in Adapter Details section, including a flowchart explaining the process on high level. Similarly, each of the adapter actions is mapped out in action specific section:
-
Overview:
What is Revit_Toolkit for?
Code structure
Building from source and debugging
License
Sample scripts -
Adapter:
Basics
Revit <-> BHoM conversion
BHoM vs Revit identity
Handling of Parameters
Conventions
Setup in Revit
Setup in Grasshopper
Setup in Dynamo
Setup in Excel
Details -
Pull:
Basics
Requests and filtering
Pull of Geometry and Representation
Pull from Links
Pull in Grasshopper
Pull in Dynamo
Pull in Excel
Examples
Explicit family vs type mapping
Details -
Push:
Basics
Push modes
Updating Revit types
FamilyLibrary
Push in Grasshopper
Push in Dynamo
Push in Excel
Examples
Details -
Remove:
Basics
Remove in Grasshopper
Remove in Dynamo
Remove in Excel
Examples
Details -
References:
BHoM Wiki
BHoM Adapter