CN113538708A - 二维视图中对三维bim模型进行展示和交互的方法 - Google Patents

二维视图中对三维bim模型进行展示和交互的方法 Download PDF

Info

Publication number
CN113538708A
CN113538708A CN202110668971.3A CN202110668971A CN113538708A CN 113538708 A CN113538708 A CN 113538708A CN 202110668971 A CN202110668971 A CN 202110668971A CN 113538708 A CN113538708 A CN 113538708A
Authority
CN
China
Prior art keywords
camera
dimensional
coordinate
component
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110668971.3A
Other languages
English (en)
Other versions
CN113538708B (zh
Inventor
余芳强
江凯
宋天任
高尚
许璟琳
黄轶
张铭
欧金武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Construction No 4 Group Co Ltd
Original Assignee
Shanghai Construction No 4 Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Construction No 4 Group Co Ltd filed Critical Shanghai Construction No 4 Group Co Ltd
Priority to CN202110668971.3A priority Critical patent/CN113538708B/zh
Publication of CN113538708A publication Critical patent/CN113538708A/zh
Application granted granted Critical
Publication of CN113538708B publication Critical patent/CN113538708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种二维视图中对三维BIM模型进行展示和交互的方法,本将BIM三维模型自动转换为二维视图,且保留模型的三维几何数据和非几何信息,支持在网页端和移动端中以类似三维的方式进行模型浏览和交互,从而支持超轻量级的BIM模型浏览。本发明可以自动为BIM模型提供各种多角度二维视图,实现在网页端和移动端快速显示BIM模型的二维视图,但同时实现可类似在三维视图中对BIM模型进行旋转、缩放、构件选择、类型过滤、多级标记和信息查看等交互操作,从而支持在低配置的设备中便捷地使用大体量的BIM模型。

Description

二维视图中对三维BIM模型进行展示和交互的方法
技术领域
本发明涉及一种二维视图中对三维BIM模型进行展示和交互的方法。
背景技术
建筑信息模型(BIM)是建筑的三维数字化表达,包括组成建筑的所有构件的几何和工程信息,在建筑行业应用很广泛。目前行业中BIM一般由工程师根据BIM建模规范利用Autodesk Revit等BIM软件建立各个构件的三维模型。由于构件数量在十几万量级,三维模型的三角面片数量在千万量级;因此,BIM模型的浏览和使用对电脑的配置要求较高,在网页端和移动端往往不能实现三维模型的流畅使用,严重影响了BIM模型在施工现场和运维现场中的应用。
BIM模型的网页端3D展示需要经过数据预处理和前端渲染2个步骤。传统的预处理方式表现为手工将模型按楼层空间和专业切分,减少单个模型数据量。譬如,将建筑模型、结构模型、机电模型分开处理。机电模型还将机电按***拆分,包括给排水***、空调***和电气***等;其中的手工工作量非常大。网页端前端BIM模型渲染的常规方法是使用基于WebGL的前端3D图形引擎处理;该方法虽然在一定程度上能够在前端显示3D模型和工程信息,但是受限于浏览器的性能,对于建筑面积超过5万平方的BIM模型实际显示存在模型加载过慢、模型面片撕裂、交互操作卡顿等问题。并且目前针对网页端3D模型数据进行轻量化处理仍没有很好的解决方案,需要从模型渲染方面突破。由于智能手机等移动端屏幕小,性能低,三维BIM模型查看和交互体验差,难以达到实际需求。
因此,有研究将三维模型转换为二维视图,渲染出质量很高的二维视图,作为移动端或网页端展示BIM模型的方法。但是目前的二维视图与图片没有差别,只能用来展示,并不能在二维视图下实现与BIM模型的交互,包括对模型的旋转、缩放、构件点选、按类型过滤、按楼层过滤等,以及标记管道内载体流向等信息。调研表明,目前缺乏成熟的技术支持在二维视图中对BIM模型进行便捷的交互,从而支持在网页端、手机端查看超轻量级的BIM模型,推动BIM在数字建造和智慧运维中的应用。
发明内容
本发明的目的在于提供一种二维视图中对三维BIM模型进行展示和交互的方法。
为解决上述问题,本发明提供一种二维视图中对三维BIM模型进行展示和交互的方法,包括:
步骤1:提取BIM模型中构件的连接关系;
步骤2:为BIM模型生成多角度的二维图片;
步骤3:在网页端或移动端查看所述二维图片;
步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片;
步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果;
步骤6:基于所述连接关系和坐标转化的结果,对管线的流向进行标记。
进一步的,在上述方法中,步骤1:提取BIM模型中构件的连接关系,包括:
步骤1.1,从BIM模型中提取构件信息,包括:各个构件的楼层名称、构件Id、构件大类、构件族名、构件类型、所属***、包围盒坐标以及管线构件的起终点、半径他长宽;
步骤1.2,基于所述构件信息,生成构件数据字典和BIM模型的连接关系,所述连接关系包括:以构件Id为键,以构件Element为值的字典,以文件Id即ModelId为键,以List<Element>为值的字典,以楼层Id即LevelId为键,List<Element>为值的字典,以***Id即MEPSystemId为键,以List<Element>为值的字典,以机电设备的构件的设备Id即DeviceId为键,以Element为值的字典,以房间Id即RoomId为键,以List<Element>为值的字典;数据初始化使用守护进程生成的Json文件,初始化项目数据,在内存中初始化数据,获取BIM模型中机电***中设备与管道的连接关系,每一条连接关系记录每一个构件的连接坐标,将每一组保存为一组List<string>。
进一步的,在上述方法中,步骤2:为BIM模型生成多角度的二维图片,包括:
步骤2.1,设置相机坐标,计算BIM模型中每一个楼层模型的最边缘的四个点,计算四个点的中心点,设置相机的相对于楼层模型的y坐标为拍摄半径,设置相机的旋转,拍摄过程需要5个拍摄角度,以分别得到正上方俯视角度以及东南西北四个角度的图像;
步骤2.2,调用相机的渲染接口,渲染出正上方俯视角度以及东南西北四个角度的图像,分别将正上方俯视角度以及东南西北四个角度的图像渲染为二维图片,将二维图片保存在本地。
进一步的,在上述方法中,步骤3:在网页端或移动端查看所述二维图片,包括:
步骤3.1,利用OpenLayers技术,为提高图片的拖动和缩放时的加载速度,利用瓦片加载的方式,将原始生成的每一张二维图片进行切分,原始图片分辨率为8196×8196;
步骤3.2,根据缩放的不同,将二维图片分别切分为4张图、16张图和64张图,根据缩放比例的不同加载不同的瓦片图;
步骤3.3,基于所述瓦片图,在网页端进行模型旋转操作,根据用户所选模型旋转的角度,加载不同角度的二维图片,并在模型视角切换的同时利用CSS制作模型间的补间动画。
进一步的,在上述方法中,步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片,包括:
步骤4.1,根据获取的BIM模型,根据Level字典,根据用户选择的楼层Id,切换楼层的显隐;
步骤4.2,基于楼层的显隐,在每一个楼层中根据MEPSystem字典表和Room字典切换对应楼层中渲染出的二维图片实现不同机电***中的构件显隐;
步骤4.3,对于重要设备的筛选,利用Device字典实现重要设备的着色高亮,标记出重要的设备。
进一步的,在上述方法中,步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果,包括:
步骤5.1,首先经过坐标体系的转换,将相机拍摄情景的坐标系转换为笛卡尔坐标系,将相机坐标进包括:cameraPosition,cameraRight,cameraUp和cameraSize,cameraPosition为Unity中相机的坐标,cameraRight和cameraUp用于确认相机的方向向量即计算相机的朝向,cameraSize即相机视口的范围;
步骤5.2,计算目标点所在的射线,即计算目标点在相机平面的投影,首先获取当前模型展示视口的中点center,将相机方向坐标cameraRight和cameraUp标准化求其单位向量,然后计算相机坐标至点选位置的X轴和Y轴方向上的分量,矩阵转换变换为公式为
Figure BDA0003118315890000041
然后将相机方向的单位向量根据缩放比例将计算向量,然后将两个向量求和,得到求和结果,将求和结果与相机初始坐标位置求和得到现在的点选坐标位置,然后计算cameraRight和cameraUp的叉乘得出相机的方向向量;
步骤5.3,得到目标点所在的射线之后,计算射线在楼层平面上的坐标:首先计算平面上点沿着射线方向至相机位置的距离,利用公式
Figure BDA0003118315890000051
计算距离,然后计算
Figure BDA0003118315890000052
Figure BDA0003118315890000053
得到与平面的交点坐标;
步骤5.4,利用坐标变换,转换相机坐标camCenter(cx,cy,cz),相机的方向向量camUp(ux,uy,uz)和camRight(rx,ry,rz),以及相机视角的缩放camSize,计算目标点在相机平面上的投影,以屏幕左下角为相机平面原点,求相机坐标camCenter(cx,cy,cz)至鼠标点选位置的x轴和y轴的分量xPortion和yPortion,将camUp和camRight按分量扩大,然后计算
Figure BDA0003118315890000054
得出转换向量
Figure BDA0003118315890000055
计算
Figure BDA0003118315890000056
得出在网页端的相机坐标camPosition,计算叉乘
Figure BDA0003118315890000057
得出网页端相机的方向向量;
步骤5.5,将目标投影坐标cameraPosition和相机方向向量
Figure BDA0003118315890000058
传递至工业互联网后端,工业互联网查询数据库ModelSelection数据库,将项目数据以{ProjectId}+{BuildingId}为键保存在Redis缓存中,每查询一次就将新的楼层数据保进行缓存,每一次的查询都会从Redis中查询如果没有查询到则从MongoDd中按项目的楼层查新所有的ModelSelection,之后所有的查询结构均来自于Redis缓存,其中,根据传入后台的***筛选传入的***id,再筛选出符合条件的构件,后台查询的本质是将每一个构件的BoundingBox形成空间三维的立体,然后获取所有和射线碰撞的Element,分别计算xyz三个方向的
Figure BDA0003118315890000059
Figure BDA00031183158900000510
判断计算出的6个值,如果三对数据均为max>min,则表示射线与此Element相交,最终计算所有相交的构件中距离cameraPosition最近的构件,返回前端;
步骤5.6前端获取传递过来的所有相交的构件中距离cameraPosition最近的构件,判断距离cameraPosition最近的构件是否为管件,如果是管件则判断管件是否为圆柱体,如果是圆柱体则根据管件的起点和终点以及圆柱的半径,如果是方形管件则获取构件的起点终点以及截面的长和宽,如果不是管件则根据BoudingBox坐标进行绘制,其中,前端的绘制算法是将三维坐标向相机平面投影,将cameraUp和cameraRight转化为单位向量计算
Figure BDA0003118315890000061
Figure BDA0003118315890000062
得到垂直于平面的向量,计算
Figure BDA0003118315890000063
Figure BDA0003118315890000064
得到x和y方向的分量,然后计算网页端的缩放比例和相机视角尺寸的商得到比例即
Figure BDA0003118315890000065
将比例乘以x轴和y轴方向的分量,得到三维坐标在相机平面上的投影坐标,完成对三维坐标的转化,然后利用OpenLayers在前端绘制构件的边界框。
进一步的,在上述方法中,步骤6,基于所述连接关系和坐标转化的结果,对管线的流向进行标记,包括:
步骤6.1根据记录的设备与管道的连接坐标,利用坐标转化的结果将空间三维坐标向二维平面投影,以得到二维平面投影的结果;
步骤6.2根据每一条字典中坐标点的顺序形成方向,根据连接坐标的先后顺序,并根据连接坐标的先后顺序生成流向动画,在二维平面投影的结果中标记出机电管线中的流向。
与现有技术相比,本发明将BIM三维模型自动转换为二维视图,且保留模型的三维几何数据和非几何信息,支持在网页端和移动端中以类似三维的方式进行模型浏览和交互,从而支持超轻量级的BIM模型浏览。
本发明可以自动为BIM模型提供各种多角度二维视图,实现在网页端和移动端快速显示BIM模型的二维视图,但同时实现可类似在三维视图中对BIM模型进行旋转、缩放、构件选择、类型过滤、多级标记和信息查看等交互操作,从而支持在低配置的设备中便捷地使用大体量的BIM模型。
附图说明
图1是本发明一实施例的二维视图中对三维BIM模型进行展示和交互的方法的流程图;
图2是本发明一实施例的二维视图在网页端的显示示意图;
图3是本发明一实施例的点选情形的模拟的示意图;
图4是本发明一实施例的网页端点选的效果的示意图;
图5是本发明一实施例的二维视图流向的模拟示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种二维视图中对三维BIM模型进行展示和交互的方法,包括:
步骤1:提取BIM模型中构件的连接关系;
步骤2:根据需要为BIM模型生成多角度的二维图片;
步骤3:在网页端或移动端查看所述二维图片;
步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片;
步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果;
步骤6:基于所述连接关系和坐标转化的结果,对管线的流向进行标记。
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤1:提取BIM模型中构件的连接关系,包括:
步骤1.1,从BIM模型中提取构件信息,包括:各个构件的楼层名称、构件Id、构件大类、构件族名、构件类型、所属***、包围盒坐标以及管线构件的起终点、半径他长宽;
例如,读取BIM模型中构件信息,写入数据库;
步骤1.2,基于所述构件信息,生成构件数据字典和BIM模型的连接关系,所述连接关系包括:以构件Id为键,以构件Element为值的字典,以文件Id即ModelId为键,以List<Element>为值的字典,以楼层Id即LevelId为键,List<Element>为值的字典,以***Id即MEPSystemId为键,以List<Element>为值的字典,以机电设备的构件的设备Id即DeviceId为键,以Element为值的字典,以房间Id即RoomId为键,以List<Element>为值的字典;数据初始化使用守护进程生成的Json文件,初始化项目数据,在内存中初始化数据,获取BIM模型中机电***中设备与管道的连接关系,每一条连接关系记录每一个构件的连接坐标,将每一组保存为一组List<string>。
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤2:为BIM模型生成多角度的二维图片,包括:
步骤2.1设置相机坐标,计算BIM模型中每一个楼层模型的最边缘的四个点,计算四个点的中心点,设置相机的相对于楼层模型的y坐标为拍摄半径,设置相机的旋转,拍摄过程需要5个拍摄角度,以分别得到正上方俯视角度以及东南西北四个角度的图像;
在此,若相机性能允许,将相机旋转固定角度,以进行多角度的拍摄,渲染更多的角度的图片实现更好的旋转效果。
步骤2.2调用相机的渲染接口,渲染出正上方俯视角度以及东南西北四个角度的图像,分别将正上方俯视角度以及东南西北四个角度的图像渲染为二维图片,将二维图片保存在本地;
在此,渲染出的二维图片的命名格式可以为“BuildingId-LevelId-SystemId-Count(拍摄次数)”。并记录每次相机拍摄的角度高度,以Json的格式保留;
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤3:在网页端或移动端查看所述二维图片,包括:
步骤3.1利用OpenLayers技术,为提高图片的拖动和缩放时的加载速度,利用瓦片加载的方式,将原始生成的每一张二维图片进行切分,原始图片分辨率为8196×8196;
步骤3.2根据缩放的不同,将二维图片分别切分为4张图、16张图和64张图,根据缩放比例的不同加载不同的瓦片图;
步骤3.3基于所述瓦片图,在网页端进行模型旋转操作,根据用户所选模型旋转的角度,加载不同角度的二维图片,并在模型视角切换的同时利用CSS制作模型间的补间动画,进一步强化模型的旋转效果。
在此,如果5G技术成熟,可以加快二维模型图片的加载速度,这样就可以渲染更多的图片,利用较快的加载速度做到非常接近三维模型旋转的效果。
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片,包括:
步骤4.1,根据获取的BIM模型,根据Level字典,根据用户选择的楼层Id,切换楼层的显隐;
步骤4.2,基于楼层的显隐,在每一个楼层中根据MEPSystem字典表和Room字典切换对应楼层中渲染出的二维图片实现不同机电***中的构件显隐;
步骤4.3,对于重要设备的筛选,利用Device字典实现重要设备的着色高亮,标记出重要的设备。
在此,图2即为二维模型在网页端根据楼层筛选的示意图,本发明可以提供东西南北正上五个视角的模型显示。
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果,包括:
步骤5.1,首先经过坐标体系的转换,将相机拍摄情景的坐标系转换为笛卡尔坐标系,变换的公式为(vx,vy,vz)=(-dx,-dz,dy),将相机坐标进包括:cameraPosition,cameraRight,cameraUp和cameraSize,cameraPosition为Unity中相机的坐标,cameraRight和cameraUp用于确认相机的方向向量即计算相机的朝向,cameraSize即相机视口的范围;
步骤5.2,计算目标点所在的射线,即计算目标点在相机平面的投影,首先获取当前模型展示视口的中点center,将相机方向坐标cameraRight和cameraUp标准化求其单位向量,然后计算相机坐标至点选位置的X轴和Y轴方向上的分量,矩阵转换变换为公式为
Figure BDA0003118315890000101
然后将相机方向的单位向量根据缩放比例将计算向量,然后将两个向量求和,得到求和结果,将求和结果与相机初始坐标位置求和得到现在的点选坐标位置,然后计算cameraRight和cameraUp的叉乘得出相机的方向向量;
步骤5.3得到目标点所在的射线之后,计算射线在楼层平面上的坐标:首先计算平面上点沿着射线方向至相机位置的距离,利用公式
Figure BDA0003118315890000102
计算距离,然后计算
Figure BDA0003118315890000103
Figure BDA0003118315890000104
得到与平面的交点坐标;
步骤5.4利用坐标变换,转换相机坐标camCenter(cx,cy,cz),相机的方向向量camUp(ux,uy,uz)和camRight(rx,ry,rz),以及相机视角的缩放camSize,计算目标点在相机平面上的投影,以屏幕左下角为相机平面原点,求相机坐标camCenter(cx,cy,cz)至鼠标点选位置的x轴和y轴的分量xPortion和yPortion,将camUp和camRight按分量扩大,然后计算
Figure BDA0003118315890000105
得出转换向量
Figure BDA0003118315890000106
计算
Figure BDA0003118315890000107
得出在网页端的相机坐标camPosition,计算叉乘
Figure BDA0003118315890000108
得出网页端相机的方向向量;
步骤5.5,将目标投影坐标cameraPosition和相机方向向量
Figure BDA0003118315890000109
传递至工业互联网后端,工业互联网查询数据库ModelSelection数据库,为加快数据的查询速度,将项目数据以{ProjectId}+{BuildingId}为键保存在Redis缓存中,每查询一次就将新的楼层数据保进行缓存,每一次的查询都会从Redis中查询如果没有查询到则从MongoDd中按项目的楼层查新所有的ModelSelection,之后所有的查询结构均来自于Redis缓存,其中,核心方法是在后台模拟出三维的情况如图2所示,根据传入后台的***筛选传入的***id,再筛选出符合条件的构件,后台查询的本质是将每一个构件的BoundingBox形成空间三维的立体,然后获取所有和射线碰撞的Element,分别计算xyz三个方向的
Figure BDA0003118315890000111
Figure BDA0003118315890000112
判断计算出的6个值,如果三对数据均为max>min,则表示射线与此Element相交,最终计算所有相交的构件中距离cameraPosition最近的构件,返回前端;
步骤5.6前端获取传递过来的所有相交的构件中距离cameraPosition最近的构件,判断距离cameraPosition最近的构件是否为管件,如果是管件则判断管件是否为圆柱体,如果是圆柱体则根据管件的起点和终点以及圆柱的半径,如果是方形管件则获取构件的起点终点以及截面的长和宽,如果不是管件则根据BoudingBox坐标进行绘制,其中,前端的绘制算法是将三维坐标向相机平面投影,将cameraUp和cameraRight转化为单位向量计算
Figure BDA0003118315890000113
Figure BDA0003118315890000114
得到垂直于平面的向量,计算
Figure BDA0003118315890000115
Figure BDA0003118315890000116
得到x和y方向的分量,然后计算网页端的缩放比例和相机视角尺寸的商得到比例即
Figure BDA0003118315890000117
将比例乘以x轴和y轴方向的分量,得到三维坐标在相机平面上的投影坐标,完成对三维坐标的转化,然后利用OpenLayers在前端绘制构件的边界框。
具体的,附图3即为模型点选后端射线的模拟,在服务端模拟出一条点选射线,计算出距离最短的构件并将其返回前端,图4即为三维坐标向二维平面投影的示意图,绘制出BIM模型构件的边界框。
本发明的二维视图中对三维BIM模型进行展示和交互的方法一实施例中,步骤6,基于所述连接关系和坐标转化的结果,对管线的流向进行标记,包括:
步骤6.1根据记录的设备与管道的连接坐标,利用步骤5中的坐标转化的结果将空间三维坐标向二维平面投影,以得到二维平面投影的结果;
步骤6.2根据每一条字典中坐标点的顺序形成方向,根据连接坐标的先后顺序,并根据连接坐标的先后顺序生成流向动画,在二维平面投影的结果中标记出机电管线中的流向。
图5即为在二维模型平面绘制流向的示意图,利用坐标的投影和WebGL绘制出管道流向动画。
综上所述,本发明将BIM三维模型自动转换为二维视图,且保留模型的三维几何数据和非几何信息,支持在网页端和移动端中以类似三维的方式进行模型浏览和交互,从而支持超轻量级的BIM模型浏览。
本发明可以自动为BIM模型提供各种多角度二维视图,实现在网页端和移动端快速显示BIM模型的二维视图,但同时实现可类似在三维视图中对BIM模型进行旋转、缩放、构件选择、类型过滤、多级标记和信息查看等交互操作,从而支持在低配置的设备中便捷地使用大体量的BIM模型。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (7)

1.一种二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,包括:
步骤1:提取BIM模型中构件的连接关系;
步骤2:为BIM模型生成多角度的二维图片;
步骤3:在网页端或移动端查看所述二维图片;
步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片;
步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果;
步骤6:基于所述连接关系和坐标转化的结果,对管线的流向进行标记。
2.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤1:提取BIM模型中构件的连接关系,包括:
步骤1.1,从BIM模型中提取构件信息,包括:各个构件的楼层名称、构件Id、构件大类、构件族名、构件类型、所属***、包围盒坐标以及管线构件的起终点、半径他长宽;
步骤1.2,基于所述构件信息,生成构件数据字典和BIM模型的连接关系,所述连接关系包括:以构件Id为键,以构件Element为值的字典,以文件Id即ModelId为键,以List<Element>为值的字典,以楼层Id即LevelId为键,List<Element>为值的字典,以***Id即MEPSystemId为键,以List<Element>为值的字典,以机电设备的构件的设备Id即DeviceId为键,以Element为值的字典,以房间Id即RoomId为键,以List<Element>为值的字典;数据初始化使用守护进程生成的Json文件,初始化项目数据,在内存中初始化数据,获取BIM模型中机电***中设备与管道的连接关系,每一条连接关系记录每一个构件的连接坐标,将每一组保存为一组List<string>。
3.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤2:为BIM模型生成多角度的二维图片,包括:
步骤2.1,设置相机坐标,计算BIM模型中每一个楼层模型的最边缘的四个点,计算四个点的中心点,设置相机的相对于楼层模型的y坐标为拍摄半径,设置相机的旋转,拍摄过程需要5个拍摄角度,以分别得到正上方俯视角度以及东南西北四个角度的图像;
步骤2.2,调用相机的渲染接口,渲染出正上方俯视角度以及东南西北四个角度的图像,分别将正上方俯视角度以及东南西北四个角度的图像渲染为二维图片,将二维图片保存在本地。
4.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤3:在网页端或移动端查看所述二维图片,包括:
步骤3.1,利用OpenLayers技术,为提高图片的拖动和缩放时的加载速度,利用瓦片加载的方式,将原始生成的每一张二维图片进行切分,原始图片分辨率为8196×8196;
步骤3.2,根据缩放的不同,将二维图片分别切分为4张图、16张图和64张图,根据缩放比例的不同加载不同的瓦片图;
步骤3.3,基于所述瓦片图,在网页端进行模型旋转操作,根据用户所选模型旋转的角度,加载不同角度的二维图片,并在模型视角切换的同时利用CSS制作模型间的补间动画。
5.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤4:在二维视图中对BIM模型中的构件信息进行筛选过滤,以得到筛选过滤后二维图片,包括:
步骤4.1,根据获取的BIM模型,根据Level字典,根据用户选择的楼层Id,切换楼层的显隐;
步骤4.2,基于楼层的显隐,在每一个楼层中根据MEPSystem字典表和Room字典切换对应楼层中渲染出的二维图片实现不同机电***中的构件显隐;
步骤4.3,对于重要设备的筛选,利用Device字典实现重要设备的着色高亮,标记出重要的设备。
6.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤5:在筛选过滤后二维图片中对BIM模型中的各个构件信息进行坐标转化,以得到坐标转化的结果,包括:
步骤5.1,首先经过坐标体系的转换,将相机拍摄情景的坐标系转换为笛卡尔坐标系,将相机坐标进包括:cameraPosition,cameraRight,cameraUp和cameraSize,cameraPosition为Unity中相机的坐标,cameraRight和cameraUp用于确认相机的方向向量即计算相机的朝向,cameraSize即相机视口的范围;
步骤5.2,计算目标点所在的射线,即计算目标点在相机平面的投影,首先获取当前模型展示视口的中点center,将相机方向坐标cameraRight和cameraUp标准化求其单位向量,然后计算相机坐标至点选位置的X轴和Y轴方向上的分量,矩阵转换变换为公式为
Figure FDA0003118315880000031
然后将相机方向的单位向量根据缩放比例将计算向量,然后将两个向量求和,得到求和结果,将求和结果与相机初始坐标位置求和得到现在的点选坐标位置,然后计算cameraRight和cameraUp的叉乘得出相机的方向向量;
步骤5.3,得到目标点所在的射线之后,计算射线在楼层平面上的坐标:首先计算平面上点沿着射线方向至相机位置的距离,利用公式
Figure FDA0003118315880000032
计算距离,然后计算
Figure FDA0003118315880000033
Figure FDA0003118315880000034
得到与平面的交点坐标;
步骤5.4,利用坐标变换,转换相机坐标camCenter(cx,cy,cz),相机的方向向量camUp(ux,uy,uz)和CamRight(rx,ry,rz),以及相机视角的缩放camSize,计算目标点在相机平面上的投影,以屏幕左下角为相机平面原点,求相机坐标camCenter(cx,cy,cz)至鼠标点选位置的x轴和y轴的分量xPortion和yPortion,将camUp和camRight按分量扩大,然后计算
Figure FDA0003118315880000035
得出转换向量
Figure FDA0003118315880000041
计算
Figure FDA0003118315880000042
得出在网页端的相机坐标camPosition,计算叉乘
Figure FDA0003118315880000043
得出网页端相机的方向向量;
步骤5.5,将目标投影坐标cameraPosition和相机方向向量
Figure FDA0003118315880000044
传递至工业互联网后端,工业互联网查询数据库ModelSelection数据库,将项目数据以{ProjectId}+{BuildingId}为键保存在Redis缓存中,每查询一次就将新的楼层数据保进行缓存,每一次的查询都会从Redis中查询如果没有查询到则从MongoDd中按项目的楼层查新所有的ModelSelection,之后所有的查询结构均来自于Redis缓存,其中,根据传入后台的***筛选传入的***id,再筛选出符合条件的构件,后台查询的本质是将每一个构件的BoundingBox形成空间三维的立体,然后获取所有和射线碰撞的Element,分别计算xyz三个方向的
Figure FDA0003118315880000045
Figure FDA0003118315880000046
判断计算出的6个值,如果三对数据均为max>min,则表示射线与此Element相交,最终计算所有相交的构件中距离cameraPosition最近的构件,返回前端;
步骤5.6前端获取传递过来的所有相交的构件中距离cameraPosition最近的构件,判断距离cameraPosition最近的构件是否为管件,如果是管件则判断管件是否为圆柱体,如果是圆柱体则根据管件的起点和终点以及圆柱的半径,如果是方形管件则获取构件的起点终点以及截面的长和宽,如果不是管件则根据BoudingBox坐标进行绘制,其中,前端的绘制算法是将三维坐标向相机平面投影,将cameraUp和cameraRight转化为单位向量计算
Figure FDA0003118315880000047
Figure FDA0003118315880000048
得到垂直于平面的向量,计算
Figure FDA0003118315880000049
Figure FDA00031183158800000410
得到x和y方向的分量,然后计算网页端的缩放比例和相机视角尺寸的商得到比例即
Figure FDA00031183158800000411
将比例乘以x轴和y轴方向的分量,得到三维坐标在相机平面上的投影坐标,完成对三维坐标的转化,然后利用OpenLayers在前端绘制构件的边界框。
7.如权利要求1所述的二维视图中对三维BIM模型进行展示和交互的方法,其特征在于,步骤6,基于所述连接关系和坐标转化的结果,对管线的流向进行标记,包括:
步骤6.1根据记录的设备与管道的连接坐标,利用坐标转化的结果将空间三维坐标向二维平面投影,以得到二维平面投影的结果;
步骤6.2根据每一条字典中坐标点的顺序形成方向,根据连接坐标的先后顺序,并根据连接坐标的先后顺序生成流向动画,在二维平面投影的结果中标记出机电管线中的流向。
CN202110668971.3A 2021-06-17 2021-06-17 二维视图中对三维bim模型进行展示和交互的方法 Active CN113538708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110668971.3A CN113538708B (zh) 2021-06-17 2021-06-17 二维视图中对三维bim模型进行展示和交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110668971.3A CN113538708B (zh) 2021-06-17 2021-06-17 二维视图中对三维bim模型进行展示和交互的方法

Publications (2)

Publication Number Publication Date
CN113538708A true CN113538708A (zh) 2021-10-22
CN113538708B CN113538708B (zh) 2023-10-31

Family

ID=78096204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110668971.3A Active CN113538708B (zh) 2021-06-17 2021-06-17 二维视图中对三维bim模型进行展示和交互的方法

Country Status (1)

Country Link
CN (1) CN113538708B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935097A (zh) * 2021-10-26 2022-01-14 山东同圆数字科技有限公司 一种基于bim引擎数据的建筑空间分析方法及***
CN114239106A (zh) * 2021-12-14 2022-03-25 国机工业互联网研究院(河南)有限公司 一种基于bim的楼层信息可视化方法、装置及介质
CN114283441A (zh) * 2021-12-18 2022-04-05 中国铁道科学研究院集团有限公司电子计算技术研究所 适用于铁路客站的二维图纸识别建模方法和装置
CN114518815A (zh) * 2022-02-23 2022-05-20 阿里巴巴(中国)有限公司 建筑图纸的显示方法、装置、设备、介质及程序产品
CN115033546A (zh) * 2022-06-27 2022-09-09 深圳市万维云数字科技有限公司 数字模型通用格式、转换方法、***、终端及存储介质
CN117216836A (zh) * 2023-08-24 2023-12-12 中国电建集团成都勘测设计研究院有限公司 一种基于Dynamo的闸门设备批量建模方法
CN117993086A (zh) * 2024-04-03 2024-05-07 中国铁路设计集团有限公司 一种基于城轨bim模型的旋转构件动态智能化展示方法
CN118229888A (zh) * 2024-05-23 2024-06-21 山东天昀和信息科技有限公司 一种基于三维模型的区域智能标记方法及***
CN118229888B (zh) * 2024-05-23 2024-07-30 山东天昀和信息科技有限公司 一种基于三维模型的区域智能标记方法及***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482580A (zh) * 2002-09-15 2004-03-17 �����з��ѿƼ����޹�˾ 利用一组二维照片与三维模型库生成新的三维模型的方法
WO2013041103A2 (en) * 2011-09-21 2013-03-28 Dalux Aps Bim and display of 3d models on client devices
CN103942820A (zh) * 2014-04-30 2014-07-23 武汉库百网络技术有限公司 一种多角度仿真三维地图的方法及装置
CN104765905A (zh) * 2015-02-13 2015-07-08 上海同筑信息科技有限公司 基于bim的平面图和第一视角分屏同步显示方法和***
CN107798725A (zh) * 2017-09-04 2018-03-13 华南理工大学 基于Android的二维住房户型识别和三维呈现方法
CN109254766A (zh) * 2018-07-25 2019-01-22 中建八局第建设有限公司 基于移动端的可视化编程平台及二维图纸三维可视化方法
CN110688692A (zh) * 2019-08-27 2020-01-14 水利部水利水电规划设计总院 一种基于结构化bim模型的二三维联动及叠加显示的方法
US20200387643A1 (en) * 2019-06-06 2020-12-10 Bluebeam, Inc. Methods and systems for establishing a linkage between a three-dimensional electronic design file and a two-dimensional design document
CN112560275A (zh) * 2020-12-22 2021-03-26 中设数字技术股份有限公司 一种二维三维实时联动在线图纸批注校审***及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482580A (zh) * 2002-09-15 2004-03-17 �����з��ѿƼ����޹�˾ 利用一组二维照片与三维模型库生成新的三维模型的方法
WO2013041103A2 (en) * 2011-09-21 2013-03-28 Dalux Aps Bim and display of 3d models on client devices
CN103942820A (zh) * 2014-04-30 2014-07-23 武汉库百网络技术有限公司 一种多角度仿真三维地图的方法及装置
CN104765905A (zh) * 2015-02-13 2015-07-08 上海同筑信息科技有限公司 基于bim的平面图和第一视角分屏同步显示方法和***
CN107798725A (zh) * 2017-09-04 2018-03-13 华南理工大学 基于Android的二维住房户型识别和三维呈现方法
CN109254766A (zh) * 2018-07-25 2019-01-22 中建八局第建设有限公司 基于移动端的可视化编程平台及二维图纸三维可视化方法
US20200387643A1 (en) * 2019-06-06 2020-12-10 Bluebeam, Inc. Methods and systems for establishing a linkage between a three-dimensional electronic design file and a two-dimensional design document
CN110688692A (zh) * 2019-08-27 2020-01-14 水利部水利水电规划设计总院 一种基于结构化bim模型的二三维联动及叠加显示的方法
CN112560275A (zh) * 2020-12-22 2021-03-26 中设数字技术股份有限公司 一种二维三维实时联动在线图纸批注校审***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴学明 等: "基于WebGL的高速公路BIM 模型轻量化方法研究", 《工程管理学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935097A (zh) * 2021-10-26 2022-01-14 山东同圆数字科技有限公司 一种基于bim引擎数据的建筑空间分析方法及***
CN114239106A (zh) * 2021-12-14 2022-03-25 国机工业互联网研究院(河南)有限公司 一种基于bim的楼层信息可视化方法、装置及介质
CN114283441A (zh) * 2021-12-18 2022-04-05 中国铁道科学研究院集团有限公司电子计算技术研究所 适用于铁路客站的二维图纸识别建模方法和装置
CN114518815A (zh) * 2022-02-23 2022-05-20 阿里巴巴(中国)有限公司 建筑图纸的显示方法、装置、设备、介质及程序产品
CN114518815B (zh) * 2022-02-23 2023-10-10 阿里巴巴(中国)有限公司 建筑图纸的显示方法、装置、设备、介质及程序产品
CN115033546A (zh) * 2022-06-27 2022-09-09 深圳市万维云数字科技有限公司 数字模型通用格式、转换方法、***、终端及存储介质
CN117216836A (zh) * 2023-08-24 2023-12-12 中国电建集团成都勘测设计研究院有限公司 一种基于Dynamo的闸门设备批量建模方法
CN117216836B (zh) * 2023-08-24 2024-05-07 中国电建集团成都勘测设计研究院有限公司 一种基于Dynamo的闸门设备批量建模方法
CN117993086A (zh) * 2024-04-03 2024-05-07 中国铁路设计集团有限公司 一种基于城轨bim模型的旋转构件动态智能化展示方法
CN118229888A (zh) * 2024-05-23 2024-06-21 山东天昀和信息科技有限公司 一种基于三维模型的区域智能标记方法及***
CN118229888B (zh) * 2024-05-23 2024-07-30 山东天昀和信息科技有限公司 一种基于三维模型的区域智能标记方法及***

Also Published As

Publication number Publication date
CN113538708B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN113538708B (zh) 二维视图中对三维bim模型进行展示和交互的方法
EP1008112B1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
US9149309B2 (en) Systems and methods for sketching designs in context
CN109242966B (zh) 一种基于激光点云数据的3d全景模型建模方法
CN110209864B (zh) 三维立体模型测量改尺标注重新建模的网络平台***
US20210374977A1 (en) Method for indoor localization and electronic device
US20220375152A1 (en) Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes
Zhu et al. Large-scale architectural asset extraction from panoramic imagery
CN114095716A (zh) 基于bim技术与gis技术的监控摄像机三维仿真方法及***
KR100309529B1 (ko) 실시간 일조환경 시뮬레이션 방법 및 기록매체
JP7420815B2 (ja) 3d幾何抽出のために画像の複数から相補的画像を選択するシステムおよび方法
Oh et al. Efficient 3D design drawing visualization based on mobile augmented reality
US11222467B2 (en) Methods and systems for extracting data from virtual representation of three-dimensional visual scans
Rudakova et al. CHER-ish: A Sketch-and Image-based System for 3D Representation and Documentation of Cultural Heritage Sites.
CN113379814A (zh) 一种三维空间关系判定方法及装置
CN115329697B (zh) 仿三维线路图生成方法、装置、***和存储介质
US20230196702A1 (en) Object Deformation with Bindings and Deformers Interpolated from Key Poses
CN118071955B (zh) 一种基于Three.JS实现三维地图埋点方法
Huang et al. Interactive 3D character modeling from 2D orthogonal drawings with annotations
CN116647657A (zh) 响应式视频画布生成
CN114511660A (zh) 可视化场景内部物体检测方法
Boubekeur et al. Harvesting Dynamic 3D Worlds from Commodity Sensor Clouds.
Khan et al. A 3D Classical Object Viewer for Device Compatible Display
Sun Application of Panoramic Image Reconstruction Algorithm in Three-Dimensional Layout of Indoor Scenes
Sinnott et al. SQUIDS: Interactive Deformation of Superquadrics for Model Matching in Virtual Environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant