一种BIM模型数据的优化方法及系统与流程

文档序号:18839206发布日期:2019-10-09 06:36阅读:191来源:国知局
一种BIM模型数据的优化方法及系统与流程

本发明涉及建筑信息模型应用领域,具体涉及一种bim模型数据的优化方法及系统。



背景技术:

bim即buildinginformationmodeling(建筑信息模型),是一种创新的建筑设计、施工和管理的方法。bim突破了传统的设计方式,不再是在平面上繁复的二维图纸,bim模型采用了三维立体的构件,将建筑完全可视化,增加了直观性和工作效率。大体量复杂的bim模型数据采用离散化的三角网格加顶点或者面片属性来表达模型表面和内部空间结构,常用的bim模型数据量部件数量多,图元数量大,文件体量大,在传统桌面渲染软件上的实时渲染帧率不高;大体量的数据量要在web页面上进行三维渲染要进行下载,当前的带宽,包括将来5g带宽也不会太轻松;如果下载到web端也没有足够的浏览器内存和gpu显存来容纳这些数据;web页面调用gpu来渲染这些数据也不会高于桌面端渲染的帧率。因此大体量复杂bim模型数据不能在web页面上进行实时的交互式三维渲染。



技术实现要素:

因此,本发明提供一种bim模型数据的优化方法及系统,克服了现有技术中对大体量复杂bim模型数据进行三维渲染时实时性差的不足。

第一方面,本发明实施例提供一种bim模型数据的优化方法,包括如下步骤:对bim模型原始网格中的每条边进行收缩处理;计算收缩后各个网格中每条边与原始网格每条边的差异值;将所述差异值与每条边进行关联,并构建差异值队列;获取所述差异值队列中的最小差异值,将差异值最小的边进行收缩;当所述最小差异值大于预设阈值时,得到优化后的bim模型数据。

在一实施例中,所述对bim模型原始网格中的每条边进行收缩处理的步骤,包括:对原始bim模型各个网格中每条边进行收缩时,删除与被收缩边关联的三角形,与被收缩边的顶点所关联的顶点被重新定位到被收缩边上的任意一点。

在一实施例中,对原始bim模型各个网格中每条边进行收缩时,对网格上的纹理坐标和纹理对象进行重新采样及计算。

在一实施例中,当预设局部网格共享一张纹理时,将收缩点投影到预设局部网格中最大的三角形中,计算收缩点对应投影点的重心坐标,收缩点的新纹理坐标为重心坐标与投影三角形三个顶点纹理坐标的线性组合。

在一实施例中,当预设局部网格共享多张纹理时,将多张纹理重采样成一张新的纹理图像,重新计算局部网格各顶点在新纹理空间的坐标,包括:将收缩点投影到局部网格中最大的三角形中,计算收缩点对应投影点的重心坐标,收缩点的新纹理坐标为与投影三角形三个顶点纹理坐标的线性组合。

在一实施例中,将多张纹理重采样成一张新的纹理图像的过程,包括:将被收缩边关联的三角形投影到预设大小的正方形空间;获取每个三角形的顶点在正方形空间内对应的纹理坐标,并将所述纹理坐标作为平面几何顶点;利用各三角形原始的纹理对象和纹理坐标绘制成预设大小的新的纹理图像。

在一实施例中,所述计算收缩后各个网格中每条边与原始网格每条边的差异值的步骤,包括:获取与每条边相关联的三角形平面的集合;获取三维空间中任意一点到所述三角形平面的集合中每个三角形平面的距离平方;获取所述三角形平面的集合中每个三角形的面积;将所述距离平方加权各个三角形的面积进行求和,得到所述差异值。

在一实施例中,所述差异值通过以下公式表示:

其中,d表示差异值,di2表示三维空间中任意一点到所述三角形平面的集合中每个三角形平面的距离平方;vi表示三角形平面的集合中每个三角形平面的向量;s三角形平面的集合中每个三角形的面积;v表示三维空间中的任意一点,n表示三角形平面的集合中的数量。

在一实施例中,所述根据所述最小差异值对所述各个网格进行下一次收缩处理的步骤,包括:将所述差异值中最小值对应的点作为下一次的收缩点,将所述差异值中的最小值作为收缩边的能量值。

第二方面,本发明实施例提供一种bim模型数据的优化系统,包括:收缩处理模块,用于对bim模型原始网格中的每条边进行收缩处理;差异值计算模块,用于计算收缩后各个网格中每条边与原始网格每条边的差异值;差异值队列构建模块,用于将所述差异值与每条边进行关联并构建差异值队列;最小差异值获取模块,用于获取所述差异值队列中的最小差异值,将差异值最小的边进行收缩;优化数据形成模块,用于当所述最小差异值大于预设阈值时,得到优化后的bim模型数据。

第三方面,本发明实施例提供一种计算机设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例第一方面所述的bim模型数据的优化方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行本发明实施例第一方面所述的bim模型数据的优化方法。

本发明技术方案,具有如下优点:

本发明提供的bim模型数据的优化方法及系统,通过对bim模型原始网格中的每条边进行收缩处理,然后计算收缩后各个网格中每条边与原始网格每条边的差异值;将差异值与每条边进行关联,并构建差异值队列;获取差异值队列中的最小差异值,将差异值最小的边进行收缩,当最小差异值大于预设阈值时,得到优化后的bim模型数据。经过本发明提供的优化方法优化后的bim模型数据,在保留了bim模型数据的原始语义信息的基础上,大大减小了数据量,显著提升了其在传统桌面端三维实时交互渲染的用户体验,也可以将大体量复杂bim模型数据从桌面端实时渲染变成基于无插件的web页面三维实时交互渲染,使用户得到无卡顿、无等待、交互流畅的体验。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的bim模型数据的优化方法一个具体示例的流程图;

图2为本发明实施例提供的被收缩边的顶点所关联的顶点被重新定位的示意图;

图3为本发明实施例提供的计算差异值一个具体示例的流程图;

图4为本发明实施例提供的bim模型数据的优化系统的一个具体示例的组成图;

图5为本发明实施例提供的计算机设备一个具体示例的组成图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本发明实施例提供一种bim模型数据的优化方法,如图1所示,该方法包括如下步骤:

步骤s1:对bim模型原始网格中的每条边进行收缩处理。

在本发明实施例中,对原始bim模型各个网格中每条边进行收缩时,删除与被收缩边关联的三角形,与被收缩边的顶点所关联的顶点被重新定位到被收缩边上的任意一点。在一实施例中,如图2所示,当对边{v1,v2}进行收缩时,会删除与边{v1,v2}关联的三角形,同时与顶点v1,v2关联的顶点会被重新定位到v1,v2,或者v1,v2线段中间的任意点v0。

步骤s2:计算收缩后各个网格中每条边与原始网格每条边的差异值。

经过收缩后产生的新的网格与原网格之间会有一个几何形状上的差异,本实施例中,采用收缩后点v1,v2,或者v0到原网格的距离平方和加权网格中的三角形面积s来衡量。

步骤s3:将差异值与每条边进行关联,并构建差异值队列。

每次收缩后,都要对每条边计算一个与原始网格的差异值,该值在每次边的收缩过程都会被更新,即重新计算,将差异值与每条边进行关联,构建差异值队列,根据各个边的收缩差异值大小决定后续如何收缩。

步骤s4:获取差异值队列中的最小差异值,将差异值最小的边进行收缩。

在本实施例中,构建一个差异值优先队列,位于队列最前面的边的差异值是最小的,每次将差异值最小的边进行收缩,这样每次都是将差异值最小的边进行收缩,以确保收缩后,新的网格与原始网格之间的几何差异性和外观差异最小。

步骤s5:当最小差异值大于预设阈值时,得到优化后的bim模型数据。

在本实施例中,给差异值设定一阈值作为一个终止条件控制网格边的收缩,当差异值大于预设阈值终止收缩,得到最终优化后的bim模型数据。这样确保完全保留了bim模型数据的原始语义信息,例如度量,材质,建造过程等的信息,使得收缩边前后局部的可视化效果一致,即几何、顶点、材质等属性一致,为后续基于web页面的三维应用打下良好基础,方便了从传统桌面三维应用到基于web页面的三维应用的无缝迁移。

在本发明实施例提供的bim模型数据的优化方法,通过对bim模型原始网格中的每条边进行收缩处理,然后计算收缩后各个网格中每条边与原始网格每条边的差异值;根据最小差异值对各个网格进行下一次收缩处理;当最小差异值大于预设阈值时,得到优化后的bim模型数据。经过优化后的bim模型数据,在保留了bim模型数据的原始语义信息的基础上,大大减小了数据量,显著提升了其在传统桌面端三维实时交互渲染的用户体验,也可以将大体量复杂bim模型数据从桌面端实时渲染变成基于无插件的web页面三维实时交互渲染。

在本发明实施例中,对原始bim模型各个网格中每条边进行收缩时,对网格上的纹理坐标和纹理对象进行重新采样及计算。当预设局部网格共享一张纹理时,将收缩点投影到预设局部网格中最大的三角形中,计算收缩点对应投影点的重心坐标,收缩点的新纹理坐标为重心坐标与投影三角形三个顶点纹理坐标的线性组合。假设收缩点o到边{v1,v2}关联得任一三角形得投影点为o’,o’在该三角形所在得平面内,o’可以用该三角形的三个顶点{a,b,c}的向量线性表达,即o’=a*a+b*b+c*c,其中a+b+c=1.0;则o’处的纹理坐标uv也采用三个顶点{a,b,c}处的纹理坐标{uv1,uv2,uv3}进行线性组合,即uv=a*uv1+b*uv2+c*uv3;当预设局部网格共享多张纹理时,将多张纹理重采样成一张新的纹理图像,重新计算局部网格各顶点在新纹理空间的坐标,包括:将收缩点投影到局部网格中最大的三角形中,计算收缩点对应投影点的重心坐标,收缩点的新纹理坐标为与投影三角形三个顶点纹理坐标的线性组合。

在本发明实施例中,将多张纹理重采样成一张新的纹理图像的过程,包括:将被收缩边关联的三角形投影到预设大小的正方形空间;获取每个三角形的顶点在正方形空间内对应的纹理坐标,并将所述纹理坐标作为平面几何顶点;利用各三角形原始的纹理对象和纹理坐标绘制成预设大小的新的纹理图像。

在一实施例中,将与边{v1,v2}关联的三角形投影到一个[0,1]的正方形空间,则每个三角形的顶点都会有一个相应的在正方形空间内的纹理坐标,以该投影得到的纹理坐标为平面几何顶点,用各三角形原始的纹理对象和纹理坐标绘制一张1024*1024大小的图片,该图片为烘培得到的纹理图像。

在一实施例中,计算收缩后各个网格中每条边与原始网格每条边的差异值的过程,如图3所示,包括如下步骤:

步骤s21:获取与每条边相关联的三角形平面的集合。

在一实施例中,每条边相连的三角形平面的集合p={pi|pi是与该边相连的三角形所在的平面},pi可以表示为一个向量vi=vec4f{a,b,c,d}。

步骤s22:获取三维空间中任意一点到三角形平面的集合中每个三角形平面的距离平方。

在一实施例中,三维空间中任意一点v(x,y,z,1.0),用齐次坐标表示,第四个分量为常数1,v到pi的距离平方di2可以表达为:

di2=vt(vivit)v。

步骤s23:获取三角形平面的集合中每个三角形的面积。

本发明实施三角形平面的集合中每个三角形的面积s作为三维空间中任意一点到各个每个三角形距离平方对应的权值。

步骤s24:将距离平方加权各个三角形的面积进行求和,得到差异值。

在一实施例中,差异值通过以下公式表示:

其中,d表示差异值,di2表示三维空间中任意一点到所述三角形平面的集合中每个三角形平面的距离平方;vi表示三角形平面的集合中每个三角形平面的向量;s三角形平面的集合中每个三角形的面积;v表示三维空间中的任意一点。

本发明实施例将差异值中最小值对应的点作为下一次的收缩点,将差异值中的最小值作为收缩边的能量值。

在本发明实施例提供的优化方法,在可控的保持原始模型的细节前提下,相比传统的处理方式加载速度更快,加载后帧率不低于原始数据,可高数倍倍,并且可以web网络发布与共享,在线浏览加载通常时间可忽略,无明显等待时间,可以实时进行三维渲染,使用户得到无卡顿、无等待、交互流畅的体验。

实施例2

本发明实施例提供一种bim模型数据的优化系统,如图4所示,该系统包括:

收缩处理模块1,用于对bim模型原始网格中的每条边进行收缩处理;此模块执行实施例1中的步骤s1所描述的方法,在此不再赘述。

差异值计算模块2,用于计算收缩后各个网格中每条边与原始网格每条边的差异值;此模块执行实施例1中的步骤s2所描述的方法,在此不再赘述。

差异值队列构建模块3,用于将所述差异值与每条边进行关联并构建差异值队列。此模块执行实施例1中的步骤s3所描述的方法,在此不再赘述。

最小差异值获取模块4,用于获取所述差异值队列中的最小差异值,将差异值最小的边进行收缩;此模块执行实施例1中的步骤s4所描述的方法,在此不再赘述。

优化数据形成模块5,用于当所述最小差异值大于预设阈值时,得到优化后的bim模型数据。此模块执行实施例1中的步骤s5所描述的方法,在此不再赘述。

本发明实施例提供的bim模型数据的优化系统,通过对bim模型原始网格中的每条边进行收缩处理,然后计算收缩后各个网格中每条边与原始网格每条边的差异值;将差异值与每条边进行关联,并构建差异值队列;获取差异值队列中的最小差异值,将差异值最小的边进行收缩;当最小差异值大于预设阈值时,得到优化后的bim模型数据。经过优化后的bim模型数据,在保留了bim模型数据的原始语义信息的基础上,大大减小了数据量,显著提升了其在传统桌面端三维实时交互渲染的用户体验,也可以将大体量复杂bim模型数据从桌面端实时渲染变成基于无插件的web页面三维实时交互渲染,使用户得到无卡顿、无等待、交互流畅的体验。

实施例3

本发明实施例提供一种计算机设备,如图5所示,包括:至少一个处理器401,例如cpu(centralprocessingunit,中央处理器),至少一个通信接口403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,通信接口403可以包括显示屏(display)、键盘(keyboard),可选通信接口403还可以包括标准的有线接口、无线接口。存储器404可以是高速ram存储器(ramdomaccessmemory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以执行实施例1的bim模型数据的优化方法。存储器404中存储一组程序代码,且处理器401调用存储器404中存储的程序代码,以用于执行实施例1的bim模型数据的优化方法。

其中,通信总线402可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。通信总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器404可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器404还可以包括上述种类的存储器的组合。

其中,处理器401可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。

其中,处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。

可选地,存储器404还用于存储程序指令。处理器401可以调用程序指令,实现如本申请执行实施例1中的bim模型数据的优化方法。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,该计算机可执行指令可执行实施例1的bim模型数据的优化方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1