gpt4 book ai didi

c# - Revit C# 运行代码 "OnShutDown"和 "OnStartup"

转载 作者:行者123 更新时间:2023-11-30 19:59:32 25 4
gpt4 key购买 nike

“AIPAppStartup”的 Revit SDK 示例已为执行的“OnShutDown”(关闭 Revit session 时)或“OnStartup”(启动 Revit session 时)的代码预构建部分,但我希望能够为每个代码运行代码文档加载。具体来说,我希望 Revit 清除与加载的特定模型关联的临时文件。

我尝试创建一个新结果,public Autodesk.Revit.UI.Result OnLoad(UIControlledApplication application),这没有用。我还尝试了另外几个 On**** 可能性(OnOpen 等),但也失败了。

是否有特定的“On*****”结果可供使用来实现我的愿望?

最佳答案

您正在寻找的事件是 OnDocumentOpened,如果您希望它在模型打开后运行,或者如果您希望它在模型打开之前运行,则为 OnDocumentOpening。

您需要将事件处理程序添加到应用程序的 OnStartup 方法中:

public Result OnStartup(UIControlledApplication application)  {
application.ControlledApplication.DocumentOpened += OnDocOpened;
//Rest of your code here...
return Result.Succeeded;
}

private void OnDocOpened(object sender, DocumentOpenedEventArgs args) {
Autodesk.Revit.ApplicationServices.Application app = (Autodesk.Revit.ApplicationServices.Application)sender;
Document doc = args.Document;
//Your code here...
}

您还应该删除应用程序的 OnShutdown 方法中的事件处理程序:

public Result OnShutdown(UIControlledApplication application) {
application.ControlledApplication.DocumentOpened -= OnDocOpened;
//Rest of your code here...
return Result.Succeeded;
}

关于c# - Revit C# 运行代码 "OnShutDown"和 "OnStartup",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com