胡亚森,陈天星,曾文驱,袁 泉,徐洪亮
(1. 西南交通大学机械工程学院,四川成都 100084;2. 广州地铁设计研究院股份有限公司,广东广州 510010)
结构化、模块化、参数化建模是建筑信息模型(BIM)技术的核心理念,而Autodesk Revit作为BIM技术的主流设计平台,其模块化、参数化建模理念的直接体现就是族的应用[1]。族是一个包含通用属性(称作参数)集和相关图形表示的图元组[2-3],作为Revit的重要组成部分,贯穿于整个建筑设计项目中[4]。由于Revit族文件存在制作程序繁琐、制作工程量大、管理混乱等缺点,其设计是Revit建模中占用时间较长的一个环节,也成为制约我国BIM技术发展的一大瓶颈[5]。
城市轨道交通建设工程是一项多专业、多单位参与,在多约束、长周期、大投入条件下建设的复杂系统工程[6]。其涉及40多个专业,包括运营组织、车辆、限界、线路、轨道、车站建筑、结构、通风空调、给排水及消防、供电、通信、自动售检票、综合监控、环境与设备监控、站台门等系统,相关构件多达上1 000种[7-8],因此在开展BIM设计时,所需的Revit族文件数量非常庞大,合理使用族库可以有效地提高建模效率。目前,城市轨道交通工程相关的BIM族库分为2 类:① 由软件厂商在BIM基础软件中提供的BIM产品库,如Revit自带族库、族库大师、鸿业族库、筑龙网族库、Revit City等;②各企业针对具体项目自己建立的BIM产品库[9]。然而,这些族库的编码与管理规则无法满足城市轨道交通行业对构件全生命周期管理的要求,也无法解决其涉及专业众多、族文件管理混乱的问题。
为此,本文提出一种基于统一编码的城市轨道交通BIM族库管理方法(以下简称“BIM族库管理方法”),并依据此方法构建城市轨道交通BIM族库管理系统(以下简称“BIM族库管理系统”),以期实现对城市轨道交通工程相关构件的全生命周期管理。
近年来,国内城市轨道交通工程快速发展,已有不少学者开展了城市轨道交通BIM构件分类编码研究。毕湘利等[10]提出了一种基于城市轨道交通资产管理的构件分类编码规则;沈小兵等[11]以城市轨道交通行业为研究对象,总结其资产编码的基本结构,并分析资产编码的作用。然而,上述构件编码规则均以资产管理为出发点,仅用于城市轨道交通工程的初步设计阶段,而并未应用到建设和运维阶段中,从而无法实现构件信息在城市轨道交通工程全生命周期的共享,无法在其生命周期的其他阶段产生效益[12]。
建立统一的构件分类编码规则,可以将城市轨道交通工程项目在设计阶段产生的构件唯一标识(UID)无缝地应用到建设、运维阶段,解决由于不同部门采用不同编码规则而导致的各阶段“信息孤岛”等问题,达到信息共享与转换的目的,进而更好地为城市轨道交通运营维护管理服务。
针对城市轨道交通工程涉及的构件数量多、层级结构复杂的特点,参考广州地铁设计研究院股份有限公司的BIM构件编码规则,本文提出一种符合城市轨道交通工程特点的BIM构件统一编码规则,采用线分类法对城市轨道交通构件进行管理。线分类法也称等级分类法,按选定的若干属性(或特征)将分类对象逐次分为若干层级,每个层级又分为若干类目;同一分支的同层级类目之间构成并列关系,不同层级类目之间构成隶属关系;同层级类目互不重复、互不交叉[13]。其编码结构如图1所示。
图1 编码结构
具体编码规则如下。
(1)整个编码结构分为三段-八级编码,共19位。三段编码为任务阶段编码、设计阶段编码以及流水号编码。
(2)任务阶段编码包含一级编码、二级编码和三级编码。其中,一级编码为城市编码,由2位字符构成,从“01”至“99”,代表构件所在城市;二级编码为线路编码,由2位字符构成,从“01”至“99”,代表构件所在的线路;三级编码为建模对象编码,表示构件所在车站、区间、车辆段等,采用3位字符,即1位字母+2位数字,如表1所示。
表1 建模对象编码
(3)设计阶段编码包含四级至七级编码。其中,四级编码为专业编码,五级编码为子系统编码,六级编码为构件编码,七级编码为构件类型编码,均由2位数字构成(经调研,城市轨道交通行业所涉及的专业、各专业涉及的子系统、各子系统包含的构件及其类型一般不超过100种,因此采用2位数字编码已经足够)。表2列举了某些专业的构件在设计阶段的编码表。
表2 某些专业的构件在设计阶段的编码表
(4)流水号编码采用十进制的计算方式,由4位数字构成,从“0000”至“9999”。但是在实际项目中,有少量构件的类型会超过9999种,如通风空调专业的风管。为弹性解决此类问题,流水号编码采用36进制作为补充,即字母(A~Z)+ 3位数字,其存储容量可比十进制扩大168倍。例如,通风空调专业某一类型风管的流水号编码达到“9999”,则下一个同类型风管流水号编码即为“A001”。
基于统一编码的BIM族库管理方法是指依据统一编码规则,对城市轨道交通工程项目的族文件进行管理,具体包括系统底层数据管理与可视化管理2方面。系统底层数据管理是指在关系型数据库中构建各级编码的层级数据表,用于管理各级编码下的具体信息;通过文件服务器对项目中涉及的族文件进行统一管理,将文件服务器中族文件的地址及其对应的编码信息存放在关系型数据库的数据表中,从而将族文件的上传下载地址与其编码绑定起来,实现仅通过族文件的编码属性获取对应族文件的功能。系统可视化管理是指在Web端和Revit端生成族库结构目录树,并设置人机交互界面以便于用户操作。
实现该管理方法的关键是,从项目开始起便使用统一编码,即在项目的设计阶段为BIM模型中的每一个构件添加统一编码。各专业设计人员在构建BIM模型时应通过BIM族库载入每一个族文件,并在载入族文件时通过Revit二次开发为每一个族文件添加对应的编码信息,并使其与关系型数据库中存储的编码信息保持一致,以保证族库管理系统的通用性、可移植性及数据一致性。
在实际工程中,构件的任务阶段编码是根据具体项目生成的。在将族文件载入Revit项目后,可通过自动编码功能将族文件实例化,此时的编码包括任务阶段编码和设计阶段编码,共15位,然后再加上4位流水号编码,最终形成19位唯一编码。以广州地铁14号线太和站为例,其任务阶段编码为“0214Z04”,建筑专业钢质密闭门的设计阶段编码为“03030604”。其对应的项目族库结构目录树如图2所示。
图2 广州地铁14号线太和站项目族库结构目录树
本章根据上文提出的BIM族库管理办法,构建BIM族库管理系统,并从系统设计及隐式自动编码2方面对其进行介绍。
BIM族库管理系统由FastDFS文件服务器、MySQL关系型数据库、Web客户端和Revit客户端4部分组成。Web和Revit客户端产生或使用结构化和非结构化数据;非结构化数据通过FastDFS文件服务器进行存储和管理;结构化数据通过MySQL关系型数据库进行存储和管理。FastDFS文件服务器在进行文件上传时产生的文件名和文件存储地址通过MySQL关系型数据库的层级数据表存储,并在Web和Revit客户端以结构目录树的形式展示。其系统架构如图3所示。
图3 系统架构图
该系统架构分为数据层、服务层、功能应用层和用户层4层结构,下面将介绍每层结构的具体内容。
4.1.1 数据层
数据层包含结构化和非结构化2种数据。结构化数据,如系统角色信息、族属性信息等,采用具有体积小、速度快、成本低、开放源代码等特点的MySQL关系型数据库进行存储[14]。非结构化数据,如相关专业的族文件及说明文档等,采用FastDFS文件服务器进行存储、同步和访问,该文件服务器是一种开源的高性能分布式文件系统,具有高容量和负载平衡的特点。
4.1.2 服务层
服务层介于数据层和功能应用层之间,负责访问和传递MySQL关系型数据库中的结构化信息及FastDFS文件服务器中族文件的相关文档。其通过调用Web和Revit客户端接口,访问FastDFS文件服务器及MySQL关系型数据库,以实现数据的流转,并保证数据库、服务器、Revit客户端及Web客户端的数据一致性。
4.1.3 功能应用层
功能应用层是BIM族库管理系统所有功能的集合,包括Web客户端功能及Revit客户端功能。
Web客户端功能够实现对族库文件的查询、审核与管理维护,其功能包括设置族库负责人、审核和管理族文件、对族文件进行下载记录等。
Revit客户端作为设计的主平台,也是BIM族库管理系统的寄生地,实现对族文件的绘制和应用,其功能包括结构目录树读取、族属性读取、缩略图显示、族文件下载和载入等,具体功能如下。
(1)结构目录树读取。结构目录树基于统一编码规则建立,并与FastDFS文件服务器上的结构目录树对应,在Revit客户端通过访问HTTP协议可访问FastDFS文件服务器的接口结构,并在Revit客户端生成结构目录树的可视化界面。
(2)族属性读取。该功能包括对族文件几何参数、设计阶段属性、施工阶段属性及运维阶段属性的读取。对族文件几何参数和设计阶段属性的读取通过Revit二次开发实现,运用RevitSDK中的RevitAPI.dll和RevitAPIUI.dll文件,并使用FamilyManager.Parameters获取所有属性参数;族文件的施工阶段属性和运维阶段属性通过与文档的映射关系存储在MySQL关系型数据库中,可通过在Revit客户端访问该数据库接口来读取。
(3)缩略图显示。通过访问FastDFS文件服务器接口,获取族文件对应的缩略图,并在Revit族库管理界面显示。
(4)族文件下载和载入。通过在Revit客户端访问FastDFS文件服务器接口,可下载选中的族文件并保存至本地默认文件夹内,同时通过Revit客户端接口提供的LoadFamily方法可实现族文件的载入。
Revit客户端界面效果如图4所示。
图4 Revit客户端界面效果图
4.1.4 用户层
用户层通过Web客户端和Revit客户端2种方式提供BIM族库管理系统的登录界面。族库负责人和族文件审核管理员通过Web客户端界面登录系统并根据权限进行相应的操作,各专业设计师通过Revit客户端界面进入系统进行相应操作,如表3所示。
表3 用户角色功能
其中,各专业设计师、族文件审核管理员及族库负责人分别负责族文件的制作、审核和维护,如图5所示。首先,由各专业设计师绘制族文件,并在绘制完成后上传族文件和进行入库申请;然后,由族文件审核管理员对上传的族文件进行专业审核,审核通过后将其存入FastDFS文件服务器中;最后,由族库负责人对族文件进行管理与维护,并发布已经通过审核的族文件。
图5 族文件管理流程图
基于统一编码规则,本文创建了一种隐式自动编码技术,通过后台代码将构件UID自动、快速地赋予每一个构件实例,以实现对构件的全生命周期统一管理。隐式自动编码技术通过以下3步实现:①获取任务信息编码,任务信息编码根据具体的工程项目族库结构目录树产生;②通过Revit二次开发将设计阶段编码添加到族属性;③添加流水号编码,并生成最终的19位编码。
具体操作如下:①在Revit项目中载入族文件后,访问MySQL关系型数据库中的项目信息表并获取7 位任务信息编码;②通过Revit二次开发获取族文件的8位设计阶段编码;③访问MySQL关系型数据库中构件属性表,判断此表中是否存在相同的任务信息和设计阶段编码,如存在,读取此表中流水号编码的最大值,在流水号值上加“1”生成最终编码,如不存在,则在此表中生成一条新数据以存储最终编码“0001”。自动编码技术流程如图 6所示。
图6 自动编码技术流程图
本文将城市轨道交通构件编码规则与BIM族库管理系统相结合,通过隐式自动编码技术为城市轨道交通BIM模型中的每个构件添加构件UID,使得设计人员能够方便快捷地从族库中提取构件属性,包括构件的几何参数、设计阶段属性、施工阶段属性、运维阶段属性。该BIM族库管理系统不仅可缩短BIM模型的建模时间,还可将族库的信息资源变为数字资产,实现族库资源的集中存储及信息流转。