基于数据互操作的建筑信息模型转换与融合方法

2020-06-30 08:49逯跃锋付仲良翁宝凤张庆瑞
科学技术与工程 2020年16期
关键词:部件编码英文

刘 聪,逯跃锋,2*,闻 俏,付仲良,翁宝凤,张庆瑞

(1.山东理工大学建筑工程学院,淄博 255049;2.中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室,北京 100101;3.武汉大学遥感信息工程学院,武汉 430079;4.浙江省自然资源监测中心,杭州 311100;5.华中师范大学国家文化产业研究中心,武汉 430079)

三维地理信息系统(GIS)作为行业发展的重要方向,利用三维空间坐标对现实世界进行仿真可视化,突破了二维GIS数据表达能力的局限,三维GIS在空间位置、拓扑关系描述及空间分析进行扩展[1-3]。三维模型数据是构成三维GIS的基础,传统的三维GIS建模成本高、效率低且模型精度低[4-5],而以三维激光扫描技术、三维激光扫描和倾斜摄影测量技术难以迅速得到结构庞杂、细节层次较多的几何体[6]。建筑信息模型(BIM)为GIS提供了细节丰富、精细化程度高的建筑模型数据,三维GIS技术可满足对城市三维立体空间的可视化、分析与应用[7-8]。GIS与BIM科学集成,将建筑工程各个阶段信息统一管理,保证三维测量结果的准确性,提高通视质量,提高城市建筑结构的完整性[9],同时也为古建筑三维信息的表达及有效保护提供了可靠的技术手段[10-11]。当前BIM和GIS集成的研究主要集中在融合基础模型数据,集成现有模型数据格式[12-13],现阶段大部分研究集中在后者。国内外学者研究集中在IFC(industry foundation classes)格式文件及CityGML(city geography markup language)文件之间的融合。通过IFC为建筑专业与设备专业信息共享建立一个普遍意义的基准[14]。CityGML是用于虚拟三维城市模型数据交换与存储的格式,是表达三维城市模板的通用数据模型[15]。BIM Server只能实现BIM数据的管理与转换,无法实现应用分析,BIM和GIS模型之间的转换存在转换后模型质量差,部分细节丢失等问题[16]。目前有很多融合软件,如IFC Explorer、BIM Server等,都未实现IFC与CityGML的完整映射。IFC Explorer缺点是难以实现两类标准模型之间的无差别转换,目前仍停留在研究模型较低细节层次的转换[17]。IFC与CityGML整合的研究关注点集中在转换框架的设计、基于标准扩展机制的整合、基于数据格式的转换[18-19]。

综上所述,BIM与GIS之间的数据融合有着较大难度,存在着诸如数据标准不同、跨平台间数据不兼容、模型数据量大等一系列问题,亟须探索新的方法和技术来解决这些问题。本文提供了一种基于数据互操作的BIM模型转换与GIS融合方法,来帮助解决这些问题。

1 模型研究方法

方法主要分为两类转换方式,首先借助三方软件实现对Revit模型的转换,使用三种方式实现将IFC、FBX和skp格式模型转换为GIS能够识别的3ds格式模型,实现GIS平台上融合可视化。然后将BIM模型导出为dwg格式,通过ArcGIS和编程,利用ArcScene的数据互操作功能模块来实现模型的解析及转换,将最终转换后的模型加载到ArcScene中进行显示,实现对模型的解析、过滤、转换以及属性信息的修改,完成模型在GIS平台上的融合及可视化。GIS与BIM数据融合技术路线,如图1所示。

图1 GIS与BIM融合技术路线Fig.1 The technical route of fusion of GIS and BIM

1.1 数据互操作模型转换

借助ArcGIS的Data Interoperability功能来对模型进行解析,通过Revit将模型导出为dwg格式,然后用ArcGIS的数据互操作模块将模型转为shp格式,且各部分独立存在,不再是一个建筑整体,达到预期目标,最终将模型输出到数据库中,模型转换技术路线如图2所示。

图2 数据互操作模块模型转换技术路线Fig.2 The technical route of data interoperability module model transformation

1.1.1 转换步骤

(1)利用Revit将模型导出为DWG格式。

(2)使用ArcGIS的Data Interoperability进行模型转换。

(3)将转换后的结果加载到ArcScene中进行显示,如图3所示。

图3 加载过程及结果Fig.3 Loading progress and result

1.2 利用三方软件对BIM模型进行转换

虽然现有的软件(如IFC Explorer),针对BIM与GIS之间的转换,从IFC和CityGML的融合出发,但是转换后的CityGML不能很好地加载到ArcGIS、ArcScene中显示并进行分析。针对这个问题,现借助三方软件来支持数据格式的转换,将模型格式转换为3ds格式,加载到ArcScene中。

使用第三方软件对Revit模型导出的模型进行格式转换。用到的三方软件主要有FME、3ds Max、Sketch Up等,具体转换流程如图4所示。

图4 利用三方软件对BIM模型转换流程Fig.4 Transformation process of BIM model using third-party software

(1)Revit-FBX-3ds:使用Revit模型导出为FBX格式文件,利用3ds Max将导出的FBX文件转换为3ds格式。

(2) 使用Revit插件。实现将Revit模型导出为skp格式,被Sketch Up识别并加载,然后利用Sketch Up将其转换为3ds格式。

(3)导出为IFC格式文件:使用Revit将模型导出为IFC格式,借助Feature Manipulate Engine(FME)快速转换功能,将IFC格式文件转换为GIS识别的shp格式或者3ds格式。

(4)利用以上几种转换方法转换后的模型数据。

(5)将转换后3ds格式的模型加载到ArcScene中浏览显示,如图5所示。

图5 模型加载显示Fig.5 Model loading display

1.3 对比分析

(1)借助三方软件对模型格式的支持,实现了使用三方软件对模型格式的转换,最终将模型格式转换为GIS能够识别的3ds格式。此方法虽然避免了编程,操作简单,但有很大的缺陷,即经过格式转换后的模型变为一个整体,模型再以部件的形式出现,丢失了BIM模型特有优势,违背了模型转换的初衷,失去了BIM模型应有的意义。

(2)借助IImport3DFile接口,实现将3ds格式模型加载到展示平台上进行显示。

(3)借助Data Interoperability来对dwg格式实现了模型转换算法,且转换过后各部件单独存在,不再是一个整体,达到预期目标,实现了对各部件信息的编辑。

2 模型转换系统设计

本系统主要是对前期模型转换方法的整合。利用ArcGIS Engine以及DevExpress插件实现系统开发。首先实现模型加载、展示,加载模型主要包括使用三方转换后的模型以及后期通过编程实现转换模型。然后实现模型的浏览、属性查询等功能。最后通过二次开发,实现模型解析,过滤,转换功能。

2.1 系统结构设计

图6 系统结构Fig.6 System structure

根据结构层次划分,BIM与GIS模型融合系统结构自上而下,主要由三部分构成:数据层、三维GIS展示平台层、核心功能层,如图6所示。数据层,包括整个三维GIS系统所需要显示的模型数据,以及在进行模型转换过程中对模型属性更改所需要的数据库等。三维GIS展示平台是采用ArcGIS Engine二次开发,为三维模型的可视化提供支持,实现了模型的加载、转换、浏览等功能。该平台采用DevExpress插件,设计出当前比较流行的Ribbon风格界面。功能层涵盖了系统所能实现的大部分功能。

2.2 模型导入功能

模型导入功能使用IImport 3DFile接口实现,将BIM模型通过三方软件转换后的3ds格式的模型,借助编程方式实现模型的导入显示。模型是以符号的形式导入,通过在ArcScene控件上添加一个点数据,然后将导入的模型作为点的符号添加到主界面上进行显示,技术路线如图7所示。利用IImport 3DFile接口将模型导入三维GIS系统后的显示效果如图8所示。

图7 模型导入技术路线Fig.7 The technical route of model import

图8 导入后模型Fig.8 Imported model

2.3 借助Data Interoperability的模型转换功能

通过调用Data Interoperability功能模块,对dwg格式模型进行读取、过滤、转换,将模型输入数据库。借助ADO.NET,读取转换后的模型,对比模型名称数据库,将模型构件的显示名称改为中文,并将查询出来的属性添加到对应的要素中,实现模型转换。模型转换功能技术路线如图9所示。

图9 模型转换功能技术路线Fig.9 The technical route of model transformation function

2.3.1 数据模型编码

模型经过数据互操作模块转换后,输出的各部件名称编码不易识别。且模型转换后各部件属性信息较少,仅包含编码及英文编码,所以将转换后的英文代码与《房屋建筑CAD制图统一规则》进行对比,将英文编码转换为对应的中文编码,并将制图规则里包含的各部件的属性信息写入到要素中。

Dwg格式模型在经过Data Interoperability解析、过滤、输出后各部件名称为均为英文编码,例如:A-WALL-FULL,该英文编码表明为建筑-墙体-全高(全高墙),具有较低的辨识度,通过查找《房屋建筑CAD制图统一规则》(国标),将中英文编码进行了整理。

(1)编码说明

①中文图层名格式采用以下四种,如图10所示。

图10 中文编码说明Fig.10 Chinese coding description

专业码:由两个汉字组成,用于说明专业类别(如建筑、结构等)。

主组码:由两个汉字组成,用于详细说明专业特征,可以和任意专业码组合(如墙体)。

次组码:由两个汉字组成,用于进一步区分主组码类型,是可选项,用户可以自定义次组码(如全高)。次组码可以和不同主组码组合。

状态码:由两个汉字组成,用于区分改建、加固房屋中该层实体的状态(如新建、拆迁、保留和临时等),是可选项。

②英文编码与中文编码表示方式相同,各类编码的含义也是一样,如图11所示。

图11 英文编码说明Fig.11 English coding description

③对各类编码进行补充。

专业码,即转换后各部件名称的开头一个字母,表示该部件属于的大类别;状态码,是指在英文编码中,用来显示建筑部件的当前状态;示例如表1所示。

表1 专业码Table 1 Professional codes

(2)建立编码库

对《房屋建筑CAD制图统一规则》(国标)里的内容进行整理,抽取里面的关于墙、门、窗等部件的图层名,将其整理为适合于系统调用的Excel表格,示例如表2所示。

表2 编码库Table 2 Encoding library

2.3.2 数据入库

将整理后的Excel导入到数据库,建立编码数据库,便于后期系统对数据的访问。字段和字段类型示例如表3所示。

表3 字段名称、类型Table 3 Field names and types

字段创建好后,利用数据库的数据导入功能,将Excel中的数据导入到数据库中对应表格的对应字段中。在导入前,须将Excel转存为.xls格式,否则会导入失败,导入后的结果如图12所示。

图12 导入结果Fig.12 Import result

2.3.3 模型转换

模型转换功能根据OpenFileDialog和SaveFileDialog来分别选择待转换模型(dwg)以及转换后的存储路径。转换后的输出结果是存放在数据库中,所以SaveFileDialog的输出结果默认为*.gdb。

点击转换后,首先对Geoprocessor进行实例化,定义QuickImport,然后通过调用QuickImport的Input方法,设置要输入的模型格式和路径,调用QuickImport的output方法,设置输出路径。参数设置完毕后,调用Geoprocessor的Execute方法来对QuickImport进行执行,模型的转换工作完成,模型将会被存在相应的数据库中。最后使用Add-in将转换功能嵌入到ArcScene中。

2.3.4 特殊情况处理

(1)模型的加载

模型转换后需要进行加载显示,通过调用工作空间和工作空间工厂来对数据进行读取,并显示在Scene控件上。在转换过程中,转换出的数据不仅有模型体,还包括一些在转换过程中产生的点、线等数据,这些数据在加载模型时对模型的完整性没有帮助,而且会影响模型的美观性,所以在进行模型加载时,需要把这部分shp数据过滤掉。在对要素进行遍历时,需要注意对要素的类型进行判断。

(2)属性修改及添加

模型转换后,各部件的英文编码与前期整理过的代码库还有一些差别,即各部件的英文编码多了“_surface”字样,针对这种情况还需要对各部件英文编码进行修改,将多余的“_surface”字样过滤掉,这样才能与编码库进行比对,从而提取出编码库中对应的中文名称。又因转换后的模型属性信息较少,只包含ID和英文编码,为了人工辨读,为相应的要素添加中文名称及中文解释两个字段,完善各部件的属性信息。模型转换成功效果如图13所示。

图13 模型转换并显示Fig.13 Model transformation and display

3 结论

根据目前模型融合研究现状,通过分析GIS与BIM模型之间的异同,总结目前的模型转换方法,然后以ArcGIS Engine为平台,把dwg格式的模型作为出发点,借助数据互操作模块,研究并开发了针对Revit导出的dwg格式模型的解析与转换算法,实现了Revit模型到GIS模型转换。借助数据互操作来对dwg格式实现了模型转换算法,根据国家对于CAD的标准,对转换后的模型属性信息进行修改及完善。同时设计并开发了3D模型转换及基于ArcGIS Engine平台开发的展示系统。实现了对sxd文档、栅格数据、TIN数据、三维模型数据加载、属性查询,核心功能为三维模型转换。

关于GIS与BIM的融合仍然处于探索阶段,不过随着GIS与BIM融合技术的不断发展与成熟,二者之间的融合将会变得更加完善和简便。由于时间、人员等方面的限制,研究存在欠缺,对于在Revit中添加有纹理的三维模型,再经过模型的导出及转换后,会造成该模型纹理的丢失,使模型失去了原有的表面信息,虽然不影响模型的部件构造,但影响模型的整体美观,有待进一步完善。

猜你喜欢
部件编码英文
英文摘要
汉字部件的避让变形
生活中的编码
《全元诗》未编码疑难字考辨十五则
奥迪e-tron纯电动汽车的高电压部件(下)
一种陀飞轮表的双秒轮结构
子带编码在图像压缩编码中的应用
现代汉字的两种分析法与国家文字规范(四)
Genome and healthcare
英文摘要