Skip to content
Advertisement

Accessing Revit API from outside Revit

I’ve used RevitPythonShell and Dynamo, but would like to use my existing Python IDE (Eclipse) where I have my configuration for logging, debugging, GitHub integration, etc.

I’m comfortable with transactions and the overall API, and I’ve invested some time in reading about the Revit API and modeless connections, and others asking similar questions. Some of them are a few years old. Is it currently possible to interact with Revit from Python executed outside Revit?

For example, I’ve tried;

import clr
clr.AddReference(r'C:Program FilesAutodeskRevit 2016RevitAPI')
import Autodesk.Revit.DB as rvt_db
print(dir(rvt_db))

But this doesn’t seem to expose anything useful.

Advertisement

Answer

You cannot call the Revit API from another process. The API is designed to be used “in-process”, so you have to make a DLL which will be loaded by Revit into its own process.

However, this DLL can talk with other processes via a mechanism like COM for example.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement