三维数字铁路站房构建技术探索
2022-01-21魏英洪
魏英洪
(中国铁路设计集团有限公司 信息化设计研究院,天津 300308)
0 引言
中国国家铁路集团有限公司(简称国铁集团)贯彻十九大“交通强国”战略,推动铁路智能化发展[1]。开展智能化数字铁路客站技术攻关,依托某重点在建高铁客站工程开展全生命周期BIM相关技术研究。在项目完成设计及施工阶段的模型构建和应用后,形成竣工模型,但在运维阶段对如何使用庞大的模型文件及众多专业构件和数据信息,并能够对这些模型及数据结合运维管理业务进行开发等方面面临困难,缺失一个有效的图形开发平台解决方案及BIM到图形平台的技术路线和方法。通过项目研究,在掌握前期BIM工程成果基础上,进行大量调研、分析、探索和实践,逐步形成一套构建“客站数字孪生”[2]的技术路线及模型数据整理方法,使得基于BIM的客站运维管理应用成为可能,推动了客站工程BIM技术全生命周期应用理念的落地。
1 基于BIM的运维管理应用存在的难题
根据BIM行业应用调查报告数据显示,目前BIM技术在建筑工程全生命周期应用发展并不平衡,实现基于BIM的运维管理的项目实例较少,产生这种情况的因素主要有以下方面:
(1)准确的竣工BIM数据获取困难[3]。施工阶段BIM实施缺乏合同约束,BIM建模工作量巨大,BIM与实际施工的同步性差导致模型与实际情况存在差异,以及资料信息分散采集不全等因素,是造成竣工BIM数据难以准确获取的主要原因。
(2)对于BIM数据颗粒度的理解差异较大。项目实施没有分清竣工BIM模型与运维用BIM模型之间的关系,缺乏不同精度BIM模型的建模、交付指导[3],竣工模型有时过于精细,导致整体性的“三维建筑”难以实现。
(3)BIM软件体系发展不平衡。设计及建设管理方面软件较为成熟,而运维阶段尚无通用体系化的本地软件系统,运维管理需大量定制开发,而三维图形开发环境成熟度不足,难以支撑大体量建筑,从而影响基于BIM的运维管理发展。
2 图形开发平台解决方案
2.1 三维图形引擎主要分类
三维图形引擎是指封装了硬件操作和图形算法、简单易用、功能丰富的三维图形开发环境。目前,三维图形开发平台主要分为2个方向:一类是基于Web-GL技术,主要用于Web网络应用;一类是基于OPGL或DireetX技术开发的高可视性图形平台,主要用于大型场景仿真游戏,如OSG、Unity3D、Unreal、OGRE、OpenGVS、Vtree等。WebGL开发的目标主要是采用B/S架构,承载小体量、中低数量图形的场景,仅满足基本可视性表现力,满足Web网络加载要求,通常难以满足大型建筑全专业、全模型、同一场景的装载和展示。采用基于OPGL或DireetX的图形平台主要采用C/S架构,具有承载大体量、高图形数量模型的能力,具备丰富的纹理材质表现能力,可充分利用先进的图形显卡GPU计算能力,场景实时渲染表现力丰富,真实感强;由于其场景图形数量大,场景加载时间长,主要采用C/S架构,可基于云服务器技术在满足高性能计算要求的同时满足网络应用的需要。
2.2 Unreal虚幻引擎
建筑可视化的两方面需求:一是写实效果,二是生产效率[4]。虚幻引擎是目前行业内较为先进的、开源的一种图形开发平台,具有强大的互动和物理引擎。其不仅提供完全的开发环境,而且提供了C++和蓝图模块2种开发方式,为专业程序员和非专业技术人员都提供了舒适的开发环境。虚幻引擎不仅具有大数据量图形支持能力,可达到亿级三角形面数量,同时还提供了对象引用、多级LOD优化编辑等工具,使其在大数据量图形显示的同时,通过优化得以实现高效交互式实时渲染的能力,实现了图形数据的轻量化。虚幻引擎基于GPU计算技术,可充分利用先进图形显卡的计算能力,大大提升开发系统的整体性能。随着大量高性能显卡的推出,为基于虚幻引擎开发的系统提供了良好的硬件支撑,在VR、工程展示等方面都有很好的应用案例。
3 站房工程BIM模型与虚幻引擎的数据交换方法
3.1 站房工程BIM特点
铁路站房具有专业种类多、构造复杂、构件数量大、构件重复性高等特点,按不同等级进行分类,建筑体量从数千平方米到数十万平方米,如北京南站、上海虹桥站、丰台站、雄安站等,其体量都是数十万平方米以上,其建筑构件数量可达到百万量级,三角形面数更是海量,实现三维数字站房需要高性能的图形平台支撑。
3.2 虚幻引擎模型支持格式
目前虚幻引擎主要支持FBX、datasmith、IFC、C4d、3dm、Catpart等常见三维数据格式,并不支持直接读取Revit模型文件,可通过dataSmith插件输出模型及数据,实现较为便捷的数据转换。
3.3 BIM参数信息导出
基于Revit的BIM参数信息可通过明细表进行选择性导出。输出的构件参数应属于项目参数或共享参数类型。构件的空间尺寸参数是重要参数。
(1)项目或共享参数添加。以Revit软件为例,可通过程序提供的功能,自由添加共享参数作为指定类型构件的项目参数。如添加“IFC分类编号”“标高偏移”等,通过程序开发将无法输出的参数写入新添加的参数项中,并通过明细表列出。
(2)构件ID值的参数赋予。BIM软件给每个构件赋予一个元素ID编号,通常是6~7位的数字编码,该数值对于同一BIM文件中的模型构件来说具有唯一性,可用于BIM程序准确识别,获得构件后台数据库的参数数据。该ID信息的唯一性特点可被其他平台在开发中利用。ID数值需写入明细表并导出,供外部数据表或数据库关联模型构件使用。ID数值写入注释参数项示例见图1、图2。
图1 ID赋值注释参数程序
图2 被赋值的扶梯构件
3.4 BIM向虚幻引擎模型转换技术方法分析
虚幻引擎图形平台导入BIM模型,并可用于图形优化或轻量化处理是另一个技术关键,涉及BIM模型输出和虚幻引擎平台导入,其技术路线有以下3种。
3.4.1 Revit插件输出法
Revit插件输出法(见图3)通过虚幻引擎提供的datasmith插件直接输出,包含模型拓扑结构及所有参数信息,该信息没有经过筛选。虚幻引擎平台直接导入输出的datasmith数据格式文件,生成相应的场景和资源。
图3 Revit插件输出法流程
3.4.2 FBX格式输出法
FBX格式输出法(见图4)利用Revit直接输出FBX,或利用3dmax导入Revit文件后以FBX格式输出,再利用虚幻引擎平台直接导入。该方法仅可导入纯模型,不含参数信息。
图4 FBX格式输出法流程
3.4.3 3dmax中转法
3dmax中转法(见图5)利用与Revit同版本号的3dmax软件,导入Revit文件后,在3dmax中利用datasmith插件输出,再由虚幻引擎平台导入。该方法不仅可导入模型,还可选择性地决定是否导入BIM信息,但该信息没有经过筛选。
图5 3dmax中转法流程
3.4.4 对比分析
采用以上3种方法均可达到将BIM模型转换到虚幻引擎图形平台中,各有特点。
Revit插件输出法利用插件直接输出专用格式模型,虚幻引擎平台可直接导入并生成建筑场景,对于具有统一轴网坐标系统的Revit项目分文件,导入引擎后坐标也是统一的。不足之处:一是导入模型的场景中对应的actor名称使用Revit中构件类型名称,不含构件ID,开发使用时难以识别唯一性。二是所携带的冗余信息过多,造成系统负担较大。三是复杂构件难以在引擎中进行人工可控优化。
FBX格式输出法不需插件支持,Revit输出FBX模型可在3dmax中进行二次加工,再导入引擎中进行使用。不足之处:一是构件名称依然不能反映出构件的唯一性,难以与信息数据库形成对应关联。二是所有构件的轴中心点被设置为坐标原点,无法实现模型引用,无法优化资源,资源加载负担重。
3dmax中转法避免了之前2种方法的不足。具有以下优点:
(1)利用ID实现关联。3dmax导入Revit文件,模型名含有ID信息,可与Revit中的构件对应,方便开发识别及未来Revit模型修订后的构件替换。
(2)利用明细表信息判别构件空间构造相似性。通过明细表获知具有相同或相似构件的空间尺寸关系,并掌握这些构件的ID,在引擎中实现模型共享引用,优化系统资源的加载。
(3)有利于构件的空间面数优化。在3d max中对共享构件进行可控的三角形面优化及贴图坐标处理,使得优化后的模型更优质。
(4)构件轴心坐标更符合共享引用所需。构件轴心坐标位于构件包围盒的中心,替换为共享资源构件,坐标位置不发生变化。
(5)提升优化编辑效率。只需对引用的共享资源进行LOD多级优化及材质纹理的设置,即可对所有引用对象actor发生作用。
3.5 模型轻量化处理
不论何种图形引擎,大量未经优化的图形构件独立存在于场景中,都对系统性能产生致命影响,需对构件进行轻量化处理。
轻量化模型不包含设计模型中的非几何信息,仅保留产品结构和几何拓扑关系,相同模型的共用、精简模型、LOD及高效的图形压缩,以及利用图像表达模型细节[3]是模型轻量化技术的主要表现。
3.5.1 构件引用
在BIM建模过程中会产生大量模型使用同一个族构件的情况,这些构件在三维几何上是相同尺寸或比例不同、附加信息不同。在图形引擎中,能否高效显示图形构件是关键,此时涉及模型共用和LOD设置2项技术。
模型共用原则:将所有源于统一族的构件,通过引用同一标准共享资源,并删除原引用资源,减少冗余资源的装载。利用该方法将大大降低无用资源对系统的运行效率影响。采用引用方法是引擎平台高效计算的自有能力。通过共享引用技术,资源数量可减少至构件总量的3%~5%。
3.5.2 LOD设置
LOD[5]设置是利用物体在视场中占据的比例进行模型三角形面数量的优化精简,实现近景物体显示精细、远景物体显示轮廓的效果,减少图形计算数量,提升运行效率。
可对共享资源进行LOD设置,即可影响所有使用该资源的场景构件,大大提升场景构件优化处理效率。建筑模型中通常有数十万构件,重复率达75%~90%,只需对引用资源进行优化,即可影响整个场景。
3.5.3 信息筛选
利用BIM明细表提取有用参数信息,排除冗余信息,并独立输出文本后导入数据库或引擎数据结构中,通过ID实现关联。
依此方法可实现三维图形引擎中BIM模型的轻量化再现。
4 虚幻图形平台中数字站房的交互展示实现
通过开发将模型与信息数据在虚幻引擎平台中结合,实现客站的三维交互展示及信息查询。
4.1 技术实现流程
以3dmax中转法为例,三维数字站房实现的技术流程见图6。
图6 三维数字站房实现技术流程
4.2 参数明细表输出
利用BIM软件明细表统计功能对不同类型构件分别生成明细表(见图7),并导出为txt文件。明细表通常输出参数主要有ID、族、类型、长、宽(厚)、高、材质、标高、标高偏移、设备规格等,自定义参数主要有供应商/厂家、施工企业、管理区域编码等。
图7 明细表生成示例
4.3 虚幻图形引擎中构建数据表
将导出的Excel文件保存为CSV格式,并在图形引擎中构建数据表(见图8),也可导入MySQL数据库中,成为构件的静态数据,运维管理中所需的动态数据,可通过ID关键字段对应,以数据库的形式存储,形成静态与动态的关联。
图8 虚幻引擎中的数据表结构示例
4.4 模型装载及优化
(1)替换引用及资源清理。在资源管理器中,选择相同空间构造的资源进行删除,并使用共享资源进行替换引用。
(2)模型整合。将基于同一轴网坐标系的Revit模型文件,通过技术流程转换后装载到图形引擎中,其坐标系统保持一致。
(3)材质蓝图。对引用资源进行蓝图程序开发(见图9),形成参数化的材质实例。
图9 材质蓝图程序编辑示例
(4)LOD设置。对引用的共享资源设置LOD(见图10)。将大量复杂模型按照可视需求策略进行分级简化,使得GPU计算负荷保持稳定,提升整个系统的显示效率,通过LOD设置可将复杂构件三角形面计算数量按照离视点远近原则从原始值降低到20%,依旧可保持构件可视的完整性。以水泵模型为例,其构件LOD设置及设置后三角形数据对比见图10、表1。
表1 水泵模型LOD设置后三角形数据对比 个
图10 水泵模型LOD设置
4.5 可视环境设置
图形开发平台提供了成熟的光照及环境表现系统,通常设置即可获得较好的实时显示效果。对于室内光照,需要一定的光照设计布置能力[6]。
4.6 模型展示程序开发
图形开发平台提供了蓝图模式的开发功能,通过对系统的开发,可实现三维数字站房中每个构件的模型及信息展示能力(见图11)。
图11 模型展示及信息查询蓝图开发示例
某大型三维数字铁路客站展示效果见图12。
图12 某大型三维数字铁路站房示例
5 结束语
从目前整个BIM技术体系来看,具备三维建筑表现能力的软件或技术路线很多,且各有长处。BIM设计软件擅长模型构建,但可视效果较差,大体量BIM模型运行效率较差。模型轻量化软件擅长大体量模型整合展示,但可视效果一般,缺乏开发接口,拓展性差。纯可视化软件仅用于可视效果表达,但也存在大体量模型运行效率低、无开发接口等问题。
基于虚幻引擎技术构建三维数字站房的技术方法,解决了BIM模型和数据的分离及导入图形平台后的关联,既解决了模型优化,又实现了数据对应查询的需求,通过轻量化处理技术,使得大体量模型得以高效运行,同时利用图形平台GPU运算能力,提升系统的三维可视性效果,可深度拓展的开发环境,潜力巨大,构建的数字站房可作为运营管理阶段业务管理系统的坚实基础,将对BIM全生命周期应用理念的实现发挥重要作用。