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.