我使用过RevitPythonShell和Dynamo,但希望使用我现有的Python (Eclipse),在这里,我有用于日志记录、调试、GitHub集成等的配置。
我对事务和整个API都很满意,我花了一些时间阅读Revit和无模式连接,还有其他人提出了类似的问题。其中一些是几岁的。当前是否可以与在Revit之外执行的Python中的Revit进行交互?
例如,我试过;
import clr
clr.AddReference(r'C:\Program Files\Autodesk\Revit 2016\RevitAPI')
import Autodesk.Revit.DB as rvt_db
print(dir(rvt_db))但这似乎并没有暴露出任何有用的东西。
发布于 2016-06-22 13:11:00
不能从另一个进程调用Revit。API设计为“进程内”,因此您必须创建一个DLL,该DLL将由Revit加载到它自己的进程中。
但是,这个DLL可以通过诸如COM这样的机制与其他进程对话。
发布于 2020-11-05 09:24:36
如前所述,不可能从另一个进程调用Revit。在限定的动态链接库中,您可以实现IExternalEventHandler接口,以便能够使用事件调用API。
class MyExecutionClass : IExternalEventHandler
{
public void Execute(UIApplication uiapp)
{
//your stuff
}
public string GetName()
{
return "My event executed class";
}
}
//Create event on startup
IExternalEventHandler myEventHandler = new MyExecutionClass();
ExternalEvent myExEvent = ExternalEvent.Create(myEventHandler );
//Pass event reference and raise it whenever yoo want
myExEvent.Raise();https://stackoverflow.com/questions/37964449
复制相似问题