The Back-End
Revit
The Basics
Architecture

The Architecture

The main class

This class is the entrypoint of our code. That's why the .addin file in the project is configured to use this class as the entrypoint.

It is responsible for a couple of important things:

  • It adds the buttons to the Revit ribbon toolbar
  • It initializes the dependency injected classes we use throughout the application
  • It sets up the logging system

The main class looks as follows: TODO

C-Sharp projects

We split up our codebase into different projects to keep things organized. The project containing the specific addin and startup code is called <CompanyName>.<ProjectName>.AddIn

Examples of our other projects are:

  • ASRR.Core - This project contains all the core functionality that is not specific to Revit. This includes things like logging, dependency injection, etc.
  • ASRR.Revit.Core - This project contains the code that is responsible for the Revit specific functionality. This includes things like reading the Revit model, converting it to our own format, etc.
  • ASRR.Revit.Exporter - This project contains the code that is responsible for exporting the Revit model to a format that can be used by our application. This includes things like reading the Revit model, converting it to our own format, etc.