使用 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 语言中都是相同的。
我正在尝试在我的 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 语言中都是相同的。