Accessing Revit API from outside Revit

2019-05-11 05:46发布

问题:

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 Files\Autodesk\Revit 2016\RevitAPI')
import Autodesk.Revit.DB as rvt_db
print(dir(rvt_db))

But this doesn't seem to expose anything useful.

回答1:

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.