Revit的常用开发方式主要有两种:外部命令和外部应用。这两种接口均存放于Revit API.dll程序包中。
外部命令
插件开发者可以通过外部命令的接口IExternalCommand来添加自己的应用程序。Revit通过.addin文件来识别外部插件,也可以使用Addin工具对插件直接加载。通过使用外部命令设计的方式可以实现不需要重启Revit就可以重新调用插件,便于开发者在插件设计其间进行程序调试。因此,本文在设计各插件初期采用外部命令方式进行开发。
主要开发的模块有:自动创建轴网模块、自动生成基础模型模块、参数更改模块、ANSYS
数据导出模块、无筋扩展基础计算和校核模块、扩展基础计算和校核模块以及自动配筋模块。分别为每个模块编写一个基于IExternalComand接口的类,产生一个后缀名为.dll的文件。
IExternalCommand接口只有一个抽象函数Execute(),重载这个函数来实现IExternalCommand。Execute()函数将作为外部命令的主函数被调用。Execute()函数中包含了三个参数:commandData、message和element。commandData对象一般用来提取Revit当前操作文档;message用来返回执行过程中的错误信息;当外部命令返回值为Faild或者Canceled且message参数不为空的时候,elements参数控制的元素将被高亮显示。
外部应用
插件开发者同样也可以通过使用外部应用的接口IExternalApplication来添加应用程序。Revit通过.addin文件来识别外部插件。IExternalApplication接口有两个抽象函数OnStartup()和OnShutdown(),用户可以通过重载这两个方法在启动和关闭Revit时定制所需要的功能。本文主要使用了OnStartup()函数,在Revit启动时自动加载“基础创建模块”选项卡及选项卡内的按钮,使插件可以实现点击按钮后程序自动调用对应的之前创建好的IExternalCommand接口插件的功能。
为了使Revit启动时工具栏中就存在“基础创建模块”选项卡,需要将主要代码均写在OnStartup()函数中,为每个模块的.dll文件编写一个按钮,放置在“基础创建模块”选项卡中,使得通过单击按钮就可以直接调用对应的.dll文件来进行相应功能的实现。
评论前必须登录!
注册