使用 pyRevit 的 Revit API 个事件

Revit API events with pyRevit

我正在尝试在我的 iron python 插件上使用 revit api 事件(使用 pyRevit 添加功能区和按钮),但我真的不知道该怎么做。

我找到了这段代码,但我无法让它工作。对于初学者,我想在每次激活视图时打印 "View activated"

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 语言中都是相同的。