[我正在尝试在我的Iron python插件上使用revit api事件(使用pyRevit添加功能区和按钮),但我真的不知道该怎么做。
我找到了这段代码,但是无法正常工作。对于初学者来说,我想在每次激活视图时都打印“已激活视图”
https://github.com/eirannejad/pyRevit/issues/201
from System import EventHandler, Uri
from Autodesk.Revit.UI.Events import ViewActivatedEventArgs, ViewActivatingEventArgs
def event_handler_function(sender, args):
# do the even stuff here
# I'm using ViewActivating event here as example.
# The handler function will be executed every time a Revit view is activated:
__revit__.ViewActivating += EventHandler[ViewActivatingEventArgs](event_handler_function)
谢谢,
您是否已查看最新的documentation?
根据Wiki,您只需要在名为hook的文件夹下创建一个.py / .cs文件,并将该文件命名为您要使用的event。
您可以查看Revit SDK示例Events / EventsMonitor。它显示了如何在C#中订阅许多Revit事件,包括ViewActivating
。在所有.NET语言中,订阅机制和功能都是相同的。