基于BIM的地铁站安全设备信息族库构建与应用
2021-10-13张景煜王漫漫郭晓庆
赵 强 张景煜 刘 跃 王漫漫 郭晓庆
(1.安徽建筑大学 环境与能源工程学院,合肥 230601;2. 安徽省智慧城市工程技术研究中心,合肥 230601;3. 合肥市公安局科技信息化支队,合肥 230601)
引言
地下轨道交通作为城市重要的基础设施,有着交通便捷、运输量大的优点,同时地铁站具有空间较为封闭且人员相对密集的特征,为其安全运营和管理提出了更高的要求。建筑信息模型(Building Information Modeling,BIM)具有数字化、可视化、真实化的特点,有利于轨道交通项目从设计、施工、到运营维护全生命周期实现动态可视化管理、信息共享和决策支持[1-4]。
近年来,如何应用BIM技术开展地下空间安全管理,引起了国内外学者的探讨。钟辉等人基于BIM模型二次开发,提出一套BIM数据提取与应用技术方案,解决建筑业各专业间数据使用效率低的问题[5]。赵强等人利用IFC和CityGML进行地下综合管廊模型转换研究[6]。孙少楠等人基于BIM技术,利用Revit对地铁车站进行建模,并结合Pyrosim 软件对火灾模拟分析[7]。张学钢等人利用Revit与鲁班系列软件构架BIM方案,对兰州地铁东岗站开展施工过程应用研究[8]。Mohamed Marzouk和Ahmed Abdelaty基于BIM,对地铁车站室内环境质量进行监测,建立了一套地铁车站网络全球评级系统,能够监测地铁站内的室内温度和颗粒物(PM)浓度水平[9]。
本文针对地铁站安全监管,基于建筑信息模型,利用Revit,通过自建和加载标准构件族,构建地铁站安全设备信息族库,实现地铁站安全信息设备库建立,并进行二次开发,以合肥市地铁3号线安徽大学磬苑校区站为例,进行安全设备信息族库构建以及建模应用。
1 技术路线流程
地铁站安全设备信息族库构建与应用技术路线流程如图1所示,通过Revit族的定义和类型设置、新建标准构件族、加载标准构件族构建地铁站安全设备信息族库; 然后基于Revit,进行二次开发,实现地铁站三维模型展示以及安全设备信息提取和管理。
图1 地铁站安全设备信息族库构建与应用流程Fig. 1 Construction and application flow chart of information Library of subway station safety equipment
2 安全设备信息族库构建
地铁站族库由建筑、结构、机电三大模块组成,由于Revit本身携带的系统族比较常规,无法满足需求,还需通过创建和加载来完善设备族库。完善的族库可应用于生成明细表,统计工程量; 1比1的模型比例和还原图纸的构件位置,能用于碰撞检测,在地铁站施工前发现设计缺陷,可以及时修改和优化设计,避免返工现象; 监控设备、消火栓等安全设施,赋予特定的参数并进行开发使用后,可为地铁站的安全运营提供保障。
2.1 族的定义与类型
族(Family)是构建地铁站安全设备信息的基础,是Revit项目中对构件的专用称呼,它的本质是特殊的图元组,包括了相关图形表示以及本身携带的参数信息[10]。相同的族都具有相关的图形表示和一组相同的参数(族类型参数),在Revit API中,提供了一系列的类和方法来提供管理族文档,包括族类型和族参数管理等,地铁站安全设备族库成员构件创建相关的API类如图2所示。当把指定的族类型加载到项目中后,就形成独立的族实例(FamilyInstance),族实例既具有族的属性也有其自身的独立属性。族、族类型、族实例都是元素(Element)的子类,它们的类图如图3所示。
图2 族创建的相关类Fig. 2 Relevant categories of the Family creating
图3 族类别Fig. 3 Division of the Family
2.2 新建标准构件族
地铁车站安全设备族库的许多成员形状规格比较特殊,即使是同种构件,在不同的地铁车站也可能具备不同属性,因而需要量身打造。站台层安全隔离门是地铁站安全设备族库的一个重要组成,本文通过Revit API来实现安全隔离门族的创建。Revit软件支持实体几何图元和空心几何图元的创建,并通过各种图元的结合来形成各种几何形体,图元的创建方式共五种包括拉伸、融合、旋转、放样和放样融合[11]。Revit API支持完全相同的实体和空心体的创建方式,所用的API为 Autodesk.Revit.Creation.FamilyItemFactory类。安全隔离门族的创建主要通过拉伸的方式创建,在Revti API中需要输入四个参数来创建拉伸图元,本文采用C#为开发语言,创建拉伸图元所用的方法如下:
(a)安全隔离门参数输入界面 (b)安全隔离门模型图4 安全隔离门参数输入界面及BIM模型Fig. 4 The input interface and BIM model of parameters on safety isolation doors Extrusion New Extrusion(bool is Solid, CurveArrArray profile, SketchPlane sketchPlane, double end):
第一个参数is Solid是一个bool类型的参数,用来设定该拉伸体是实体还是空心体; 第二个参数profile是CurveArrArray类型,用来确定一个平面上的二维轮廓,且轮廓必须是闭合的; 第三个参数sketchPlane是SketchPlane类型,用来确定拉伸的工作平面; 第四个参数end是double类型,用来确定拉伸的长度。编写好创建几何图元的外部命令之后通过Add-In Manager加载,就能实现安全隔离门图元的创建,参数输入界面和模型如图4所示。
2.3 加载标准构件族
城市地铁车站模型中所需的部分常见构件,可以通过从互联网加载并修改的方式获取,提高建模效率,本文以安全设备族库的监控设备族为例,进行研究。如图5所示,枪型摄像头族通过编辑族选项进入编辑界面,点击属性面板族类型命令,即可进行参数的添加与修改。通过网络上获取的该族,除了本身携带的参数外,该族还需添加的族参数有施工坐标、WGS-84坐标、设备类型、设备相对位置、设备运行状态等。全部参数添加完毕后,点击选项面板中的载入到项目选项,在项目文件中选定族实例,通过编辑类型,就可以进行对应参数的设置。监控设备族的坐标信息(如WGS-84坐标),能够准确描述族实例在地铁站中的空间位置,一旦发生险情或特殊情况(如火灾、罪犯逃逸等),可以瞬间定位事件的所处位置,并调动附近的监控画面,为应急处置方案的制定提供强力的支持。
(a)枪型摄像头模型 (b)族参数的添加图5 枪型摄像头模型及族参数Fig. 5 The model of Gun camera and addition of its family parameters
图6 地铁站安全设备族库Fig. 6 Segmental family library of subway station
2.4 安全设备租族面板开发
利用Revit API的丰富接口,运用Revit中编辑族的拉伸、融合、旋转、放样、放样融合这5大工具,辅以参照平面,同样可以创建安全设备族库的其他构件族,其他主要构件族如图5所示,为了方便安全设备的信息管理,将所创建的安全设备族全部保存到数据库中。
3 Revit二次开发
3.1 Revit功能拓展方式
Revit本身携带的功能模块通常无法符合用户的全部需要,此时用户可以通过二次开发,自行编写外部程序,进行功能拓展。基于Revit的二次开发主要需要参照Revit API(Application Programming Interface)中的类和方法进行代码的编写,能够更好地实现 BIM 技术在项目全生命周期的运用。用户能够从软件管网获取开发工具包 Revit SDK(Software Development Kit)。借助 SDK 文件可以帮助用户更好地掌握 API 的使用方式,用户也能借此进行二次开发轻松获取 BIM 模型的数据资料,然后进行查询、变更等操作。
本文基于Revit软件和Microsoft Visual Studio 2015开发平台、SQL Server 2008数据库,使用C#语言进行安全设备信息管理平台的二次开发,实现地铁站中监控设备族库管理以及信息的实时查看和管理。
基于Revit的设备插件二次开发流程图如图7所示,首先需要添加外部引用RevitAPI.dll及RevitAPIUI.dll,之后创建新的类从IExternalCommand类派生,重载父类的Execute方法,重新编写代码,代码编译完毕后,将生成的dll文件用Addin-Manager加载,最后运行程序,测试是否符合地铁站安全信息管理需求,不符合则需要修改代码重新调试。
图7 设备插件开发流程图Fig. 7 Workflow diagram for device plugin developing
使用 External Command 和 External Application两种方式进行编译与测试时,Revit.exe启动后,addin文件中的命令会被加载。本文构建的安全设备族库面板的addin 文件如下:
3.2 安全设备信息管理平台搭建
首先对地铁站所有设备族进行遍历,根据交互界面族实例名称获取摄像头ID,进而获取摄像头的X、Y、Z坐标,从而进行坐标转换,输出WGS-84坐标得到摄像头的具体位置; 同时根据ID和连接的数据库获得摄像头的相关信息,以及数据库中实时存储的摄像头监控画面,具体情况如图8所示。
图8 安全设备信息管理平台程序流程图Fig. 8 Flow chart of security equipment information management program
3.3 安全设备信息提取和管理
首先通过创建一个过滤器,将所有的监控设备族实例收纳,通过过滤,通过交互界面族实例名称的过滤,获得设备的坐标位置等参数,并将该设备在模型中标记显示。通过获取族实例的ID值,从而与存储在数据库服务器中ID值对应。之后借助DataGridView 控件并绑定数据源为对应的数据库,通过对数据库中储存的信息获取安全设备族的运行状态及位置等信息。
由于API接口原因,只能从本地读取族文件加载到项目,这就需要将数据库传递过来的族文件保存到本地后再加载,这就需要获取使用程序电脑的临时文件夹string tempPath=System.IO.Path.GetTempPath(); //获取用户临时文件夹路径将族文件保存到本地后使用LoadFamily(); 方法载入当前项目中。
在窗体信息展示设置中,通过Name或者ID参数是否等于ComboBox的选项筛选出目标信息,用foreach()函数遍历指定设备的全部信息,摄像头设备信息管理窗口如图9所示,可以实现安全设备的信息提取和管理。
图9 设备信息管理窗口Fig. 9 The management window of device information
通过Revit的ribbon界面开发,实现ribbon按钮和安全设备族库的关联连接,从而形成安全设备族库面板,创建面板如图10所示。
图10 安全设备族面板Fig. 10 Security device family panel
4 应用研究
安徽大学磬苑校区站是合肥市地铁3号线车站之一,车站为三层标准岛式车站,地下一层为站厅层,地下二层为设备层,地下三层为站台层。整个三层地下空间共囊括高清固定枪型网络摄像机5台,人脸识别摄像机16台,室内室外球型网络摄像机共9套等,根据主要工程数量清单,并结合现场采集高清图像,构造地铁站安全设备族库管理。
如图11展示了基于Revit二次开发地铁站的BIM模型,包括出口渲染效果、车站整体建筑三维展示、含有自动检票机、手扶电梯的站厅层局部三维展示、含有安全隔离门和监控设备的站台层局部三维展示。
(a)站厅层局部
(b)站台层局部图11 地铁车站BIM三维展示Fig. 11 BIM 3D display in subway station
图12展示了该地铁站安全设备—摄像头的定位分布平台管理界面,有助于整个地铁站摄像头管理和维护,为地铁站的精细化管理提供全新的技术支撑。
图12 摄像头的定位分布平台管理界面Fig. 12 Camera positioning distribution platform management interface
5 结论
本文基于Revit进行地铁站安全设备信息族库创建开发与应用,具体得到以下结论:
(1)族是实现地铁站安全设备三维可视化的基础,较为复杂的族可以借助Revit API进行开发,充分利用API以编程的方式完成一些工作量较大、规律性较强的工作,而比较常规的族可以通过Revit自身携带的族库或者互联网获取后编辑参数在投入使用。
(2)安全设备信息族库的构建和实施,可以提供设备信息提取和管理,有助于地铁站安全设备的实时高效管理。
(3)通过BIM三维可视化视角,能够将不同的视图平面相互关联,项目中的每个构件(族实例)都携带独有的参数,为后期工程量的统计以及数据库的搭建奠定了基础,与传统手段相比,工程质量和效率得到有效提高,且具有较强的应用价值。