Skip to content
Pawel Baran edited this page Jun 25, 2020 · 10 revisions

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 of BHoMAdapter without CRUD, which is sitting on the Revit side of the solution (see below)
  • Revit side:
    • Revit_Core_Adapter (BH.Revit.Adapter.Core) - Revit side of Revit-specific implementation of BHoMAdapter, 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.)

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:

Clone this wiki locally