当前位置:首页 期刊杂志

基于BIM技术的机电管线排布信息获取方法研究

时间:2024-07-28

郝慧民 陈静茹 周东明 崔维久 王成龙

(青岛理工大学 土木工程学院,青岛 266033)

引言

近年来,随着移动互联网、云计算、大数据与传统产业的融合发展,建筑业通过BIM技术与物联网、云计算、大数据的融合应用,为建筑工程的信息化管理提供了新的技术保障[1,2]。BIM技术已在设计、施工、管理、运维等多个方面发挥其作用,为多专业协同设计、安全管理、质量管理、进度管理和运营维护等提供技术支持[3,4]。但是目前的BIM技术在管线综合信息管理的过程中,存在着管线排布信息获取过程复杂,信息查看不直观的问题,容易出现错误且工作效率低下。本研究通过两次投影的方法对复杂管线之间的距离进行测量,在BIM云平台中实现了管线距离的自动测量及显示,操作简便,数据准确。在机电管线安装施工时可以使工人更精确地还原设计,也为管线的工厂预制加工提供准确的数据[5]。两次投影是基于计算机图形学、计算机视觉,模式识别原理[6,7]通过空间点之间的正交投影计算出各个三维空间点之间的距离的方法[8]。

1 距离自动测量实现原理

Unity 3D中的物体由Unity 3D中内置的Mesh.Vertices索引数组组成的三角形构成[9](如图1所示)。所选物体的顶点列表获取形式如下所示,

Mesh Filter mf=this. game Object. Get Component();

Listvertice List=new List();

int vertice Count=mf. mesh.vertices. Length;

for(int vertice Index=0; vertice Index

{Vertice List. Add(mf. mesh. vertices[vertice Index]); }

获取所选物体的数字索引数组,即与三角形三维坐标点对应的数字数组(如图2所示)实现代码如下:

Listtriangle List=new List();

int triangle Count=mf. mesh. Triangles.Length;

for(int triangle Index=0; triangle Index

{Triangle List. Add(mf. Mesh. triangles[triangle Index]); }

为进行距离测量,团队通过循环程序在Unity 3D中遍历顶点坐标,确定各顶点之间的位置关系,进而确定构件之间的距离及管线的直径等信息。

图1 物体在Unity3D中的组成方式

图2 数学数组与三角形顶点对应关系

(a)平行 (b)异面 (c)异面垂直图3 管线间位置关系

2 距离测量实现方法

本研究通过两次投影实现复杂情况下管线间距的测量,将物体顶点列表在两个互相垂直的平面上分别投影,随后与上文顶点列表对比得到投影后的顶点坐标,在此过程将第一次投影的投影面法向量所在平面为第二次投影的平面,确保两次投影相互垂直。进而筛选两次投影后的点,根据第二次投影面比较得到x,y,z最大值、最小值,求出数组中最短距离并在UI面显示,由此实现管线直径和管线距离的自动测量。

2.1 管件直径和距离测量实现方法

在确定管线直径时,团队利用图形学原理对管线进行剖切,利用剖切面上产生的组成管线数组,搜索全部组成单个管线的三角形顶点信息,抽取数值最大的两个顶点,将其距离作为管线直径,再搜索物体顶点信息,将数值最小的距离作为管线与其他物体之间的距离。在管线排布设计中,由于管线排布错综复杂,无法通过上述方法实现管线间距离信息化,为此通过对管线排布情况的分析,应用两次投影的方法实现了复杂排布情况距离测量,进而为现场的安装工程活动服务。

2.2 管件排布位置分析方法

在工程应用中管线间的位置关系通常按照其中心线在空间的关系判断,由于实际工程管线间不会出现相交的情况,则只存在平行和异面两种位置关系,其中互为异面的管线夹角为90°时,为异面垂直关系,如图3 所示。对于平行管线应用垂直于管线剖切的方法进行位置、直径测量; 对于异面关系的管线距离则计算其公垂线长度,将其转化为求平行平面间的距离。因此可以将管线投影在某个面上来达到互相平行的目的,随后将两构件间距离转化为两点间距离,实现此类构件的距离测量。

2.3 两次投影方法

为实现各种排布形式管线的自动测距,需要对管线及各管件模型顶点在不同平面进行两次投影。

首次投影的平面选择与当前相机相平行的平面,利用当前窗口所在的相机的前方向向量作为首次投影面的法向量,确定首次投影面,取模型上各顶点的三维坐标,通过遍历顶点列表,使用式1求解投影后的顶点坐标。

(1)

注:

(X0,Y0,Z0)为模型三维坐标;

(Xi,Yi,Zi)为顶点列表三维坐标;

(Xn,Yn,Zn)为投影面法向量;

(X,Y,Z)为待求解的投影后顶点坐标。

在对首次投影后的顶点进行第二次投影前,需要先将模型的上方向向量投影到与相机所在平行的面上,从而得到第二次投影面的法向量,以此保证两次投影的投影面互为垂直关系。技术人员通常多在俯视图下查看管线的排布信息,此时只需将模型的上方向向量中Y轴的坐标值取为0,得到第二次投影面的法向量。最后,通过遍历首次投影后得到的顶点列表,运用式1同样将顶点投影到两次投影面上。经过两次投影后,所有的顶点坐标都位于同一直线。通过对需要测距的目标管线进行两次投影处理后,依次获得所有管线的顶点列表,通过遍历顶点列表,计算出两两之间的最短距离,实现管线自动测距。

2.4 距离可视化设计方法

通过对最短距离两端点坐标的返回值,捕捉世界坐标下的位置生成两侧标注线,然后在UI界面上显示最短距离的连线并对距离进行标注。在距离可视化的设计中要使用GUI[10],其目的是为了动态更新划线距离的显示。

3 功能实现对比

通过功能实现的原理分析和简单工程的案例应用,已证明通过两次投影方法所测得的管线排布信息在终端的共享功能和自动测距是可行的,自动测距与传统信息提取对比如图4所示。

(a)传统管线距离测量

图4(a)是传统的管线距离测量显示,图4(b)为管线距离自动测距显示。以Revit软件为例,传统测距在选择管线过程时需要使用对齐工具选择每个管线的边,有时因为管线遮挡的原因,需要选择多个窗口进行操作,再通过不断地点击Tab键选择边线,如需测量数量较多的管线距离时,传统测量过程效率低下。而使用自动测距功能时,可直接点击两个管线,或者通过框选选择多个管线进行测量,提高工作效率。

4 工程应用

本研究以青岛市应急备用医院的机电管综模型为对象进行成果验证。通过应用BIM云平台的自动测距功能及时获取管线排布信息,从而使工作人员可以便捷快速地提取查看信息,从对管线的工厂预制加工和现场的定位、开孔、安装进行更加快速精确的指导。具体实现步骤及效果如下:进入BIM云平台,载入机电BIM模型,使用云平台中的测量按钮,框选要进行测量的管线,即可显示管线距离。BIM云平台自动测距功能及距离显示效果如图5所示。

通过对本工程分别使用BIM云平台自动测距功能及Revit传统测量功能两种方式进行测量对比,从测量效率、数据准确性及数据直观性三个方面体现自动测距功能的优势,具体过程及结果对比如表1所示。

表1 Revit测量及云BIM平台自动测量对比

图5 BIM云平台自动测距功能

图6 Revit测量过程出现的问题

5 结论

本文分析了传统BIM软件在管线信息提取过程中存在的问题,提出两次投影的测量方法,在基于Unity3D的BIM云平台中开发了管线的自动提取功能。主要归纳如下:

(1)通过将两次投影方法运用到管线距离测量,实现了对复杂管线排布信息的自动测量功能,提高了现场施工人员的工作效率;

(2)通过两次投影及测量原理的分析,使程序能正确地识别管线距离,避免了因人工测量过程中的失误造成误差,保证了测量数据的准确性;

(3)通过程序设计及开发,在BIM云平台中实现了管线排布信息的可视化,更加直观地展示管线的位置信息。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!