蔡龙,谌红杰,刘旭升,黄家俊
(1.湖南工程职业技术学院,湖南 长沙 410151;2.中建五局创新研究院,湖南 长沙 410000)
随着建筑工业化进程的不断加快,建筑信息化的要求也越来越高,BIM 技术的快速发展,给建筑业带来了技术革命,Revit 作为BIM 技术的主要建模平台,在建模的过程中出现了建模效率低、耗时长、操作复杂、出现冲突和许多不合理的地方,基于API 的二次开发给人员带来了福音,但目前二次开发的各类插件往往专注个别项目,解决小范围的问题,有效的插件传播效率也不高,导致开发成本高,效果却被局限等问题,如何通过桥梁纽带,搜罗和开发各类插件,予以加工和完美并集中到统一平台,方便用户随时下载和使用,在解决开发效率低等问题的同时促进BIM 行业的发展,是亟待深入解决的问题。研究团队针对上述问题进行设计优化与路径实现,设计构思并实现基于Revit 平台的插件管理平台,从问题分析、现状研究、开发思路、技术框架、开发流程五个方面进行阐述。
BIM 技术是近年来在建筑领域辅助设计的一种新技术,BIM 技术能是提高建筑信息化、集成化的基础,以建筑工程中相关的信息数据为基础,建立信息化的建筑模型,集成项目信息,建议一个完整的、高度集成的模型,它可涉及建筑全生命周期,包括设计、施工、管理以及后期运维等阶段的管理。而Revit 是BIM 技术的主要应用软件,Revit 在建模阶段的是其他软件不可比拟的,但面对体型巨大、构件繁杂、技术规范不一的建筑物,Revit 的建模总存在各种缺陷和不便,如何解决这样的问题,基于Revit 接口二次开发的插件能很好的解决局部存在的问题。然而问题产生的速度远快于插件的开发速度,开发的插件也很难被适用者发现并运用,那么中间的衔接平台就显得尤为重要。BIM 插件平台能为Revit 使用者提供设计的必要插件,从而实现缩短BIM 设计的制作过程,实现效率的最大化。
Revit 作为BIM 技术在三维设计方面的代表,由于其出色的建模表现和先进的设计理念和思想,成为了当前工程设计领域杰出代表,Revit 在建模的基础上也涉及到后期的运维、管理等一系列生态链。随着BIM 技术的发展,多专业协同成为了发展必然,要解决不同专业中的冲突和不合理的地方,还有很长的路要走。Revi 软件将构件参数化及属性信息嵌入模型,为数据统计和后期运维管理等提供了依据。同时,由于建筑设计的多样化及不同专业系统的差异化,使得Revit 软件原有的功能并不能完全满足建筑工程设计中的所有需求,基于这些考虑,Revit 提供了适用性更强的API 接口,并向用户开放,具有一定开发能力的用户可以在API 的基础上来扩展和增强新功能,甚至生成插件应用来弥补软件一定要来的不足。
随着设计人员对效率要求的提高,插件就显得尤为重要,插件是Revit 的一个重要组成部分,能够提高设计者的设计效率,完成本来需要很长时间才能完成的工作,对于企业来说,在建模过程中有效的使用插件能大量的节约时间和金钱成本,不同类型的插件还可为设计者提供新的设计灵感,在提高效率的同时提高设计质量。建立一个属于自己的插件库,并在此基础进行有效的运用,能明显提高企业的建模的速度和准确性。
BIM 插件市场目前还处于一个初始阶段,有许多有开发能力的设计者正在努力开发能解决不同问题的各类插件,但都注重于解决工程中的具体问题,虽然市面上有一些插件出现 ,但由于建筑行业的快速发展,现有的部分插件并不能满足各异的市场需求。目前还主要存在功能和内容不够丰富,操作复杂适用性不强,很多功能的实现需要重复操作,工作效率低下,建筑业发展迅速,需求变化快,但平台功能方案迭代慢等问题。随着建模速度和精度要求越来越高,而作为BIM 技术的主要软件的Revit,本身并没有开发出提高速度的精度的模块,这些需求如果 被 忽视,那势必导致建模效率低下、错误多、耗时长等一系列问题。目前市场上面并不能找到适用不同需求的插件,在使用过程中用户很难找到令人满意的插件,急需开发一款具备统筹和评价的系统 来帮助管理不同插件。
二次开发插件来解决实际建模和使用过程中的问题,国内外都非常重视,有许多研究案例,但都是以结合某些具体的建筑实例为主,通用性不强,还处于解决个别问题阶段。例如在刘泛凡等在Revit 基础上进行二次开发对某装配式建筑项目的深化设计方面进行研究开发,由于在装配式建筑设计领域没有相关的专用模块导致建模效率低下等问题,通过二次开发,大量的减少了重复性的工作,使深化设计效率有效提高,让工作如期完成。在2019年,乔恩懋、丁琦等在Revit 开放的API 接口上进行二次开发,用开发的相应插件解决了空间网架建模难的问题,让建模流程实现了自动化,进行自动干涉和遗漏检查 ,大大提高了建模的效率和准确度,让建模效率提高了41%。王博等在地铁围护桩的创建过程中发现,通过将桩定位线的偏移得到桩中心线,从而快速得到桩基础轮廓,可以精确的计算桩相对坐标,实现自动布置桩,通过开发插件实现了CAD 底图读取、智能排布功能,定位算法等功能。在国外,例如肖贝等利用Revit进行二次开发,在深基坑案例中,利用二次开发程序实现了深基坑开挖模式的建立,程序的有效运用使土方量的计算得以实现。Elena Ignatova 等使用C#代码编辑器编写宏,利用Revit 软件开发的插件批量的提取和处理建筑信息模型数据并将数据传输到其他开发的程序,进而分析建筑物的参数。Mehrdad Mirshokraei 等将BIM 技术和AR 技术结合,实现了Web 与AR 的链接,增强了在BIM 模型中提取信息的效率,减少了返工,避免缺陷,改善和加快了决策速度。但目前Revit 二次开发的插件主要集中在参数化设计、某些设计阶段开发应用、施工深化开发应用等个别案例,注重解决个别问题,没有研究者去研究如何运用大众的力量去推动BIM 技术的发展,偿试将所有的插件集合起来,形成一个桥梁纽带,让每位开发者和使用者都能自由的上传和下载插件。
目前用户没有一定的程序开发能力,想要解决具体的工作效率问题,就需要去网上寻找或者购买各类插件。但市场上面插件零散不一,功能各异,对于解决实际问题的作用并不太理想。一是适用性不足。以往的插件开发者主要针对具体项目来开发的插件,插件可变化性较小,并不能解决普遍性存在的问题。二是插件参数化设置不足。插件开发时考虑到设置参数界面比较复杂,并未考虑将参数直接显示在用户界面,而是选择后台修改代码,这对普通用户并不友好。三是开发规范性不足。插件开发人员,并不是以一定的开发标准来定义插件,而是根据具体项目和个人思路来开发设计。
一是系统集成化。以“模块化”的形式组织插件,以“集约化”的模式组织开发者的力量,让普通用户从“插件平台”中按需要自取,以新的模式,为普通用户和开发者服务。二是用户便捷化。普通用户可以在插件平台中,结合自己的需求,试用插件、收藏插件,并且可以为收藏的插件设置快捷键。整个过程和微信小程序类似,轻量快捷的服务普通用户。三是开发简洁化。开发者可以在插件平台中,结合客户的需求,开发、上架入驻插件平台、更新维护插件、删除插件仅在一个界面中,开发者可以管理好自己所有的插件,插件平台的整个架构拟采用高端云服务器,为用户提供轻量快捷的云端服务。
平台全部采用阿里云服务。客户端分为用户和开发者两大群里,两大群体通过组织,或强或弱的联系在一起。用户在插件宝上可以使用插件、收藏插件、为插件设置快捷键。由开发者维护插件的全生命周期,包括发布、更新、删除插件,设计总体框架如图1所示,界面设计如图2所示。
图1 设计总体框架
图2 平台界面设计
开发环境可以使用Windows 系统,WIN7、WIN10 等,软件版本可以使用Revit 2014-2021;Visual Studio 2017 以上的各版本均可,但Visual Studio 各版本略有不同;结合使用AddinManagar 和Revit Lookup,AddinManagar 主要用于测试开发的插件;Revit Lookup 主要用于查看Revit 元素的属性;在“C:ProgramDataAutodeskRevitAddins2018”(版本不同操作不一样),结合自己的安装的Revit 版本,复制到对应的位置。进去后,会在Revit 的附加模块菜单栏出现,外部工具以及“Revit Lookup”;调用RevitAPI 和RevitAPIUI,Revit 常用的二次开发接口库
第一步,打开Visual Studio 2017,文件=>新建=>项目,Visual C#下Windows 桌面下修改类库(.NET Framework)内容为ClassLibrary4。
第二步,添加引用,在鼠标右键“引用”,点击“添加引用”,浏览添加RevitAPI 和RevitAPIUI
第三步,录入通用核心代码,通过改变代码,来和Revit 交互操作;
第四步,点击“生成”,创建Dll 文件,会在下方路径中生成一个Dll 文件,手动复制这个路径,在Revit 外部命令中使用“Add-In Manager(Manual Mode)”命令=>使用“Load”加载复制的Dlly 文件路径,会解析得到Dll 文件中的外部命令=>选中其中一个命令,点击“Run”=>弹出对话框,显示你在程序中输入的内容。
第五步,将自己开发的插件上传至平台使用;录入必要信息,上传。
为保护开发者的合法权益,平台同时要考虑开放和保护的功能。在以下几种情况下的作品将被视为盗版:一是插件安装包的哈希值相同,认定为盗版。二是插件的命令类的类名相同,认定为盗版。三是在插件的代码中加入和插件宝绑定的代码,当它被移植其他地方,这个插件将无法使用。
插件平台管理主界面与插件发布主界面的效果与具体功能说明如图3、图4所示。
图3 插件平台管理主界面
图4 插件发布主界面
BIM 技术是建造业的新兴计算机辅助设计技术,近来来得到了快速的发展,为未来建筑工业化、工业4.0、建筑精细化生产、数字存档等提供有力的技术支撑,Autodesk 公司开发的Revit 是目前主流的建模软件,在BIM 快速发展过程中,设计开发出现了效率低、耗时长、冲突和错误等问题,为解决这些具体问题,Revit 公司开放了API 接口,以便决更多具体实际的建模问题,但基于API 开发的插件传播率低,导致许多不必要的重复开发和浪费,创建一个统一的平台是亟待解决的问题,本文提供了平台二次开发的思路,并做了具体的设计,提供部分代码,以及防止盗版的解决方案等,为后续平台开发提供强有力的基础支撑。