publicinterfaceIExternalApplication
{
Autodesk.Revit.UI.Result OnShutdown(UIControlledApplication application);
Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application);
}
开发者可以通过实现IExternalApplications来添加自己开发的Revit应用。Revit通过后缀为“.addin”的文件来识别和加载实现IExternalApplication的外部插件。
lExternalApplication的接口要实现两个抽象函数:OnStartup和OnShutdown。用户可以通过这两个函数实现在Revit启动和关闭的时候定制所需的功能。
OnStartup 和 OnShutdown 兩数的参数均为 UIControlledApplication 类型。 UIControlledApplication 类是一种特殊的应用类,它不提供访问Revit的功能。 因为UIControlledApplication只在OnStartup和OnShutdown函数范围内起作用,在这个 作用域区间内用户是无法拿到Revit的文档并对其操作的。
UIComrolledApplication类提供访问定制UI和注册事件的方法
publicAutodesk.Revit.UI.Result OnStartup(UIControlledApplication application)
{
//添加一个新的Ribbon面板
RibbonPanel ribbonPanel = application.CreateRibbonPanel("NewRibbonPanel");
//在新的Ribbon面板上添加一个按钮
PushButton pushButton = ribbonPanel.AddItem(newPushButtonData("HelloRevit","HelloRevit", @"D:\Projects\HelloRevit\HelloRevit.dll","HelloRevit.Classl"))asPushButton;
returnResult.Succeeded;
}
publicResult OnShutdown(UIControlledApplication application)
{
//UI定制不耑要特别在OnShutdown方法中做处理
returnResult.Succeeded;
}
【数据库(DB)级别的外部应用】
数据库(DB)级别的外部应用与一般外部应用不同的是,它没有提供任何访问Revit UI的接口。它一般用于事件处理,开发者可以通过实现IExternalDBApplication来添加所需的DB基本的外部应用。
同 lExternalApplication 一样,lExternalDBApplication 接 口也有两个抽象函数 OnStartup和OnShutdown。
定义:
publicinterfacelExternalDBApplication
{
Autodesk.Revit.DB.ExternalDBApplicationResult OnShutdown(UIControlledApplication application);
Autodesk.Revit.DB.ExternalDBApplicationResult OnStartup(UIControlledApplication application);
}
领取专属 10元无门槛券
私享最新 技术干货