首页/BIM专题

Revit如何二次开发?一篇文章带你了解Revit二次开发流程

发布于:2021-10-14
14294人 分享

Revit二次开发需安装必须的二次开发平台,明确开发环境、开发方式以及开发流程。

开发环境

Revit API可用与.NET Framework兼容的开发语言进行编程,.NET Framework为用户程序开发提供了一套安全模型,在此模型中可以确保使用的代码被识别,保证了编程语言的一致性。支持.NET的编程语言有C#、Visual Basic、C++等。由于CH语言.NET平台耦合度很高,且语法简洁,开发效率高,故选择C#作为开发编程语言,安装Microsoft.NET Framework 4.6。安装Revit 2018作为建模平台,选择的开发软件工具为Visual Studio 2013,在程序开发前引入RevitAPl.dIl”及“RevitAPIUI.dlI”动态链接库。

开发方式

通过Revit API 扩展其功能模块,主要有两种特殊的接口派生类:外部命令(IExternalCommand)和外部应用(IExternalApplications)。IExternalCommand是RevitAPI中实现外部扩展的命令,内含Excute函数。外部命令调用Excute函数来实现IExternalCommand,Excute 的定义方式public Autodesk.Revit.UI.Result Execute(ExternalCommandData cmdData,ref string message,ElementSet elements),分别为输入参数CommandData(ExternalCommandData)、输出参数message(string)、输出参数elements(ElementSet)。开发者可以通过实现IExternalApplications来添加自己开发的Revit应用,IExternalApplication 的接口要实现两个抽象函数:OnStartup和 OnShutdown,利用OnStartup()函数和 OnShutdown)函数定制Revit启动和关闭的时候所需的功能,开发时在外部命令中添加相应的功能代码,依附于外部应用的框架,再利用.addin注册文件共同控制着外部插件的识别和加载,一般用来创建插件的菜单栏。

腿腿教学网-Revit如何二次开发?一篇文章带你了解Revit二次开发流程 

RevitAPI为方便用户配置自己的ExternalCommand和 ExternalApplication的行为提供了多种属性,为命令类添加控制命令的事务模式和更新模式,通常选用手动(Manual)模式,Transactiori属性,用户必须在实现IExternalCommand接口时指定外面命令使用的TransactionMode属性。Regeneration用于控制外部命令或外部应用程序的再生行为。为命令类添加控制命令的事务模式和更新模式[Transaction(TransactionMode.Manual)],[Regeneration(RegenerationOption.Manual)]使用API需要用到应用类和文档类。应用类有UIApplication和 Application 。UIApplication用来提供访问UI级别接口,包括访问用户界面·RibbonPanels,获得用户界面的活动文档等能力。Application用来提供访问其他应用级别内容接口。文档类有UIDocument和 Document。

UIDocument用来提供访问UI级别接口,Document用来提供访问其他应用级别内容接口。

如图所示为Revit二次开发基本流程。

文:高建新 大连海事大学

转载请注明来源本文地址:https://www.tuituisoft/bim/23313.html

上一篇:没有了 下一篇:没有了