带有pyRevit的Revit API事件

问题描述 投票:0回答:2

[我正在尝试在我的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)

谢谢,

python ironpython revit-api pyrevit
2个回答
-1
投票

您是否已查看最新的documentation

根据Wiki,您只需要在名为hook的文件夹下创建一个.py / .cs文件,并将该文件命名为您要使用的event


1
投票

您可以查看Revit SDK示例Events / EventsMonitor。它显示了如何在C#中订阅许多Revit事件,包括ViewActivating。在所有.NET语言中,订阅机制和功能都是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.