Search code examples
autodesk-forgerevit

Does command that implements IExternalDBApplication need working instance of Revit application?


Actually, I want to find a way to work with .rvt file without starting Revit Application. I want to create monitoring plugin to track changes in Revit Document Model. I suppose it can be made with Application events DocumentChanged. But it may slow the work with model for users. So I'm trying to find a way to work with .rvt file without starting Revit. So, does command that implements IExternalDBApplication need working instance of Revit application?


Solution

  • Your question is confusing.

    I assume you are confused.

    There are two ways (and two ways only) to access Revit API functionality:

    • Install Revit on the desktop and launch an interactive end user session. Within that session, you can set up a .NET Revit add-in to subscribe to certain events and make use of the Revit API functionality within those event handlers.
    • Make use of the Forge Design Automation API for Revit.

    In the latter case, you do not have Revit installed locally.

    Instead, you upload your application to the Forge system and make use of the Forge API via HTTP requests to launch a Revit engine in the cloud and process your Revit API functionality.

    In both cases, however, there is a running instance of the Revit application somewhere providing the Revit API functionality you make use of. This cannot be avoided.

    Some helpful links for you:

    I hope this clarifies.