AutodeskRevit提供了开放的API数据接口,方便用户根据功能需求,对软件进行个性化的定制开发,可以极大地提高设计工作的效率。对Revit进行二次开发时,需要用户在插件中实现特殊的接口,其中API函数提供了两种主要的接口形式,分别是外部命令接口和外部应用接口。
(1)外部命令接口(IExternalCommand):新命令可以被放在附加模块(Add-Ins)标签下面的外部工具(ExternalTools)菜单下,该接口只有一个抽象函数Execute(),Execute函数有一个输入参数和两个输出参数。输入参数是commandData,输入参数的类型是ExternalCommandData;输出参数有message和elements,输出参数对应的类型分别是String和ElementSet,插件的功能通过重载这个函数来触发实现。
(2)外部应用接口(IExternalApplication):用户定制的新功能会在Revit启动时在附加模块(Add-Ins)标签下自动新建功能面板,该接口有两个UIControlledApplication类型的抽象函数,这两个抽象函数分别是OnStarup和OnShutdown,UIControlledApplication类不提供访问Revit文档的途径,开发者可以通过重载这两个抽象函数来实现在Revit启动和关闭时的定制功能。
Revit二次开发有两种模式,一种开发模式是在Revit软件自带的VSTA环境下通过API定义的宏来实现个性化的功能开发;另一种是在MicrosoftVisualStudio2015和Microsoft.NETFramework4.6的环境,可选用VB或者基于.NET的语言进行开发(C#、C、C++),由于C#语言结构简单,且有C++和C语言的优点,故一般采用这种语言进行Revit的二次开发。通过引用Revit软件安装目录的RevitAPI.dll和RevitAPIUI.dll两个动态链接库即可实现调用RevitAPI的函数。
- BIM学习群
- 微信扫一扫
- 微信公众号
- 微信扫一扫