现如今Revit软件还无法满足所有领域的工作需求,然而其二次开发技术能够适应用户个性化的定制要求,来扩展软件功能或对其功能进行修正。
为了更大程度上方便二次开发,开发商将集成的数据库函数封装到Revit的API (Application Programming Interface,应用程序编程接口)接口中,通过调用接口来访问、创建、修改模型元素,完成构建族参数、检索信息、传输数据、连接数据库等功能。下面介绍Revit API的应用方法:
(1)开发环境: Revit API允许使用者通过任何与.NET Framework兼容的语言来编程,通常所采用的计算机语言为C#,主要是因为其在扩展层面开发有着良好的兼容性,同时采用Python语言用于解决不同Revit版本间开发插件的通用性。选择的开发软件工具为 Visual Studio(简称VS)。
(2)开发方式:通过 Revit API扩展其功能模块,主要有两种特殊的接口派生类:外部命令(IExternalCommand)和外部应用(IExternalApplications)。前者在两次外部命令执行之间,数据不能保持在对象中,即运行过程中的数据需要设定返回值来输出结果;后者的时效持续整个开发插件的活动周期,在 Revit启动和关闭的时候利用OnStartup()函数和 OnShutdown()函数定制所需的功能,一般用来创建插件的菜单栏。因此,开发时在外部命令中添加相应的功能代码,依附于外部应用的框架,再利用.addin注册文件共同控制着外部插件的识别和加载。如图1所示为Revit 调用外部命令和外部应用的流程。
(3)开发流程:在Revit sDK (Software Development Kit,软件开发包)中包含编程所需引用的Revit APL.dll和Revit APIUI.dll两大程序集。Revit API.dlI提供了各种访问数据库级别的Application(程序)、Document(文档)、Element (图元)、Parameter