BIM模型对比方法
技术领域
本发明属于建筑信息模型技术领域,尤其涉及一种BIM模型对比方法。
背景技术
建筑信息模型(Building Information Modelling,BIM)以三维数字化技术为基础,集成工程项目规划、设计、施工和运维各阶段信息。随着城市建设的不断加快,BIM技术在建筑全生命周期中的应用越来越广,各个阶段中出现的不同版本的BIM模型也越来越多。其中有些是因为需求的改变而修改的模型,而有些是因为各参与方对BIM模型的标准不一样。
通过人眼无法直接观察出这些不同版本的模型之间的差异。在以往的BIM模型对比中,只能通过目视和手动检查的方式找出不同版本之间的差异,这样的方式往往费时费力,得到的结果准确度和可信度较差。因此,一种能自动检测出不同版本的BIM模型之间差异的对比方法成为BIM领域的迫切需求,这种方法对于建筑全生命周期的推广和应用也具有巨大的影响。
目前,对比不同版本之间BIM模型的差异是各国学者与行业相关的公司研究的热点。一些学者提出根据工业基础类(Industry Foundation Classes,IFC)格式文件进行BIM模型对比,其中部分学者根据IFC文件的文本信息对比IFC文件的差异。这样的对比方式只对比了文本之间的差异,这样的结果对于整个BIM模型没有实际的意义。还有的学者提出基于IFC内容构造模型树状图,利用树状图来对比两个IFC文件之间的差异。这样的方式只是针对IFC文件进行的,对比的结果只是IFC文件中各个实例实体之间的差异,即使是专业人员也难读懂之间的差异。
国内外BIM领域相关公司的平台或网站推出了基于构件ID的对比方法,该方法能够准确地得出两个模型中相同ID构件的差异。但是在模型版本更替过程中,构件ID随时会发生改变,即使是在同一个模型同时导出的两个相同版本中,这些ID也可能发生变化。在不同版本中的BIM模型中,这些ID变化更为明显。而该方法直接将ID发生改变的构件视为新增或删除的构件,导致对比不全面。
发明内容
为克服上述现有的BIM模型对比方法对比结果不精确、不全面,且难以读懂的问题或者至少部分地解决上述问题,本发明实施例提供一种BIM模型对比方法。
本发明实施例提供一种BIM模型对比方法,包括:
根据建筑物的第一BIM模型和第二BIM模型中每个构件的几何信息,获取所述第一BIM模型和第二BIM模型中每个构件的形状分布,根据所述第一BIM模型和第二BIM模型中每个构件的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的几何相似度;
将所述第一BIM模型和第二BIM模型的坐标系进行配准,根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的位置相似度;
根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度,获取所述第一BIM模型和第二BIM模型之间构件匹配的结果,并对匹配的构件进行对比获取所述第一BIM模型和第二BIM模型之间的对比结果。
具体地,根据建筑物的第一BIM模型的几何信息,获取所述第一BIM模型中每个构件的形状分布的步骤包括:
以所述第一BIM模型和第二BIM模型中每个构件的各三角面的面积为权重,从所述第一BIM模型和第二BIM模型中每个构件的三角面中选取随机点;
计算每个构件的任意一个所述随机点与每个构件的中心点之间的距离,根据所述随机点与所述构件的中心点之间的距离构建所述第一BIM模型和第二BIM模型中每个构件的形状分布;和/或,
计算每个构件的任意两个所述随机点之间的距离,根据任意两个所述随机点之间的距离构建所述第一BIM模型和第二BIM模型中每个构件的形状分布。
具体地,根据所述第一BIM模型和第二BIM模型中每个构件的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的几何相似度的步骤包括:
根据所述第一BIM模型第二BIM模型中的每个构件根据所述构件的任意一个所述随机点和所述构件的中心点之间的距离构建的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的第一几何相似度;
根据所述第一BIM模型和第二BIM模型中的每个构件根据所述构件的任意两个所述随机点之间的距离构建的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的第二几何相似度;
根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的所述第一几何相似度和第二几何相似度,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间最终的几何相似度。
具体地,通过以下公式根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的所述第一几何相似度和第二几何相似度,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间最终的几何相似度:
其中,SP1为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间的所述第一几何相似度,SP2为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间的所述第二几何相似度,a和b为预设常数,S(SP1,SP2)为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间最终的几何相似度。
具体地,以所述第一BIM模型和第二BIM模型中每个构件的各三角面的面积为权重,从所述第一BIM模型和第二BIM模型中每个构件的三角面中选取随机点的步骤包括:
将所述第一BIM模型和第二BIM模型中每个构件的所有三角面的面积进行逐个累加,获取各构件每次的累加结果;
生成0到最大的所述累加结果之间的随机数;
以所述构件的各三角面的面积为权重,基于二分法从所述构件的累加结果中获取大于所述随机数的最小的累加结果;
选择最小的所述累加结果中最后累加的面积对应的三角面,在选择的所述三角面上选择随机点。
具体地,通过以下公式在选择的所述三角面上选择随机点:
P=(1-r2)*A+r2*(1-r1)*B+r1*r2*C;
其中,P为随机点,r1和r2为0到1之间的随机数,r1为所述三角面的任意两个顶点B和C之间距离的百分比,r2为所述三角面中除B和C以外的顶点A到顶点B和C构成的边BC之间距离的百分比。
具体地,根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的位置相似度的步骤包括:
根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的距离;
若所述距离大于预设阈值,则将所述距离对应的第一BIM模型中的构件和第一BIM模型中的构件之间的位置相似度设置为0;
将小于或等于所述预设阈值的距离进行归一化,将归一化后的所述距离作为所述位置相似度。
具体地,将所述第一BIM模型和第二BIM模型的坐标系进行配准的步骤包括:
从所述第一BIM模型和第二BIM模型中每个构件的随机点中抽取预设个数的随机点作为所述第一BIM模型和第二BIM模型的点云数据;
基于点云匹配算法对所述第一BIM模型和第二BIM模型的点云数据进行配准,获取所述第二BIM模型相对于所述第一BIM模型的旋转矩阵;
将所述第二BIM模型中每个构件的位置信息与所述旋转矩阵相乘,获取所述第二BIM模型中每个构件配准后的位置信息。
具体地,根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度,获取所述第一BIM模型和第二BIM模型之间构件匹配的结果的步骤包括:
将所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度分别乘以相应的权重后相加,获取所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的叠加相似度;
根据所有所述叠加相似度构建叠加相似度矩阵,将每个叠加相似度对应的第一BIM模型和第二BIM模型中的构件作为一个构件对;
将所述叠加相似度矩阵的每一行中叠加相似度最高的构件对作为匹配构件对;
若在所有所述匹配构件中出现多次的构件存在,则获知出现多次的所述构件为重复匹配的构件,保留重复匹配的所述构件所在的匹配构件对中叠加相似度最高的匹配构件对,去除重复匹配的所述构件所在的匹配构件对中除保留的匹配构件对以外的匹配构件对;
将去除的匹配构件对中与重复匹配的所述构件匹配的另一个构件,将所述另一个构件所在的构件对中叠加相似度次高的构件对作为匹配构件对;
将所有所述匹配构件对中不存在的第二BIM模型的构件作为所述第二BIM模型的新增构件,不存在的第一BIM模型的构件作为所述第二BIM模型相对于第一BIM模型删除的构件。
具体地,对匹配的构件进行对比,获取两个BIM模型之间的对比结果的步骤包括:
将每个所述匹配构件对中构件的属性信息进行对比,获取所述第一BIM模型和第二BIM模型中构件的属性信息的对比结果。
本发明实施例提供一种BIM模型对比方法,该方法通过从构件级来比较BIM模型不同版本之间的差异,首先通过构件的几何信息建立构件的形状分布,再计算两个BIM模型之间构件的几何相似度;然后配准两个BIM模型的坐标系,并计算两个BIM模型之间构件的位置相似度;再根据两个相似度结合的结果,对构件进行一一匹配,并对比两个BIM模型之间的差异,实现BIM模型的自动化对比,使BIM模型对比更加快速,对比结果更加准确;消除了构件ID变化对BIM模型对比的影响,使BIM模型对比不再依赖构件ID。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的BIM模型对比方法整体流程示意图;
图2为本发明实施例提供的BIM模型对比方法中同类构件的F1、F2形状分布,及其结合的几何相似度;
图3为本发明实施例提供的BIM模型对比方法中不同类构件的F1、F2形状分布,及其结合的几何相似度;
图4为本发明实施例提供的BIM模型对比方法中三角面中取随机点示意图;
图5为本发明实施例提供的电子设备整体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的一个实施例中提供一种BIM模型对比方法,图1为本发明实施例提供的BIM模型对比方法整体流程示意图,该方法包括:S101,根据建筑物的第一BIM模型和第二BIM模型中每个构件的几何信息,获取所述第一BIM模型和第二BIM模型中每个构件的形状分布,根据所述第一BIM模型和第二BIM模型中每个构件的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的几何相似度;
BIM是建设项目的物理特性与功能特性的数字化表示,且是从建设项目的最初概念设计开始的整个生命周期里做出任何决策的可靠共享信息资源。BIM模型不仅作为建筑模型的可视化表达,还是大量建筑数据的载体。本实施例从构件级来比较两个版本的BIM模型之间的差异。一般情况下,第一BIM模型的版本在第二BIM模型的版本之前。构件的信息包括构件的几何信息、位置信息和属性信息等。
一个BIM模型是由若干个不同类型的构件组成,构件一般是由若干个三角面拼接而成,其中三角面上点的坐标和三角面的拼接规则构成了构件的几何信息。几何信息中的点集根据三角面的索引组成若干个三角面,三角面根据其位置又构成了构件的三角网格模型,再通过几何信息中的颜色索引规则,渲染三角网格的颜色,最终得出构件的真实模型。本实施例通过构件的几何信息来构造构件的形状分布。本实施例对形状分布的获取方法不进行限定。
在构造了构件的形状分布之后,需要评估两个BIM模型中各构件的形状分布之间的相似度,即几何相似度。形状分布之间的差异度量方式包括欧式距离、明可夫斯基距离、曼哈顿距离、余弦相似度和皮尔森相关系数。本实施例不作具体限定。
其中,欧式距离、明可夫斯基距离和曼哈顿距离虽然能够表达出构件的形状分布之间的相关性,但只能得出两个形状描述向量之间的距离数值,无法准确的描述出两个构件之间具体的相似度。这些方法在构件相关性推荐上可以使用,而本实施例需要衡量具体的相似度,所以本实施例不采用以上三种方式进行评估。余弦相似度和归一化之后的皮尔森相关系数则能准确的得出一个从0到1之间的数值,用来表示两个形状分布之间的相似度。而余弦相似度得出的结果相对于实际情况会偏大,所以在本实施例中优选使用皮尔森相关系数来度量形状分布之间的相似度。
S102,将所述第一BIM模型和第二BIM模型的坐标系进行配准,根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的位置相似度;
构件的位置信息是指构件在其世界坐标系下的坐标位置信息,一般来说一个构件含有(x,y,z)的坐标位置信息。在BIM模型的版本更替过程中,BIM模型的世界坐标系很有可能发生改变,同时构件的位置信息也就发生了变化,而大部分构件之间的相对位置是不会发生变化的。本实施例利用这一点进行构件位置的配准。
在配准了BIM模型的构件的坐标之后,需要计算第一BIM模型中每个构件的坐标点集Pa和第二BIM模型中每个构件的坐标点集Pb之间的距离,根据其距离大小计算位置相似度Ps。
S103,根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度,获取所述第一BIM模型和第二BIM模型之间构件匹配的结果,并对匹配的构件进行对比获取所述第一BIM模型和第二BIM模型之间的对比结果。
构件间的几何相似度反应构件之间形状的匹配程度,构件间的位置相似度反应构件之间位置的匹配程度。只要形状和位置都匹配的构件才匹配。本实施例将构件间的几何相似度和位置相似度进行结合,获取第一BIM模型和第二BIM模型中匹配的构件,并可以确定第二BIM模型相对于第一BIM模型新增和删除的构件。
本实施例通过从构件级来比较BIM模型不同版本之间的差异,首先通过构件的几何信息建立构件的形状分布,再计算两个BIM模型之间构件的几何相似度;然后配准两个BIM模型的坐标系,并计算两个BIM模型之间构件的位置相似度;再根据两个相似度结合的结果,对构件进行一一匹配,并对比两个BIM模型之间的差异,实现BIM模型的自动化对比,使BIM模型对比更加快速,对比结果更加准确;消除了构件ID变化对BIM模型对比的影响,使BIM模型对比不再依赖构件ID。
在上述实施例的基础上,本实施例中根据建筑物的第一BIM模型的几何信息,获取所述第一BIM模型中每个构件的形状分布的步骤包括:以所述第一BIM模型和第二BIM模型中每个构件的各三角面的面积为权重,从所述第一BIM模型和第二BIM模型中每个构件的三角面中选取随机点;计算每个构件的任意一个所述随机点与每个构件的中心点之间的距离,根据所述随机点与所述构件的中心点之间的距离构建所述第一BIM模型和第二BIM模型中每个构件的形状分布;和/或,计算每个构件的任意两个所述随机点之间的距离,根据任意两个所述随机点之间的距离构建所述第一BIM模型和第二BIM模型中每个构件的形状分布。
具体地,在BIM模型中,构件样式众多、大小不一,比较大的BIM模型在构件数量上能够达到几万,所以需要一种能够准确地描述构件特征的形状函数,而且这个函数需要具有快速性,对构件的旋转、移动、翻转不敏感等特征。本实施例介绍两种较好的构造形状分布的方法,两种方法可以采用其中任一种,也可以将两种方法F1和F2进行结合使用。其中,F1和F2的区别在于,F1测量若干组构件的中心点到其表面任一随机点的距离,而F2测量若干组构件表面任意两个随机点之间的距离。
构造构件的形状分布主要分为两步:
第一步,以构件的三角面的面积为权重,在构件表面选取若干随机点,其中构件由若干三角面组成,并计算任意两个随机点之间或者随机点到中心点之间的欧式距离;
第二步:根据上一步得到的所有距离,统计出它们在0到最大距离之间的分布情况,最后得到一个分布数组,也就是构件的形状分布。
在确定了形状分布函数之后,接下来的问题就是选择一个合适的每个构件的随机点采样数N和概率分布向量B的维度,其中B的维度为将0到预设最大距离之间的范围划分的子范围个数。根据这个问题进行相关实验。样本数N从10000开始,每次增加10000个数据量,每次采样两组,并计算二者之间的相似度,迭代到N为100万数据量为止。根据实验得出,随着采样数量N的增加,形状分布曲线越来越稳定,其不同次采样的形状分布之间的相似度也越来越高,相似度向1收敛。分别测试了形状分布函数F1和F2的采样相似度,可以看出在采样数N为20万,得到的形状分布趋近稳定,不同次构造的形状分布之间的相似度足够高,大于0.9996。形状分布向量B为100维时,得到的效果较优,所以在本实施例中将采取N=20万,B为100维进行对比。
在上述实施例的基础上,本实施例中根据所述第一BIM模型和第二BIM模型中每个构件的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的几何相似度的步骤包括:根据所述第一BIM模型和第二BIM模型中的每个构件根据所述构件的任意一个所述随机点和所述构件的中心点之间的距离构建的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的第一几何相似度;
根据所述第一BIM模型第二BIM模型中的每个构件根据所述构件的任意两个所述随机点之间的距离构建的形状分布,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的第二几何相似度;
根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的所述第一几何相似度和第二几何相似度,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间最终的几何相似度。
具体地,F1和F2两种构造形状分布的方法对构件的描述具有更高的准确性,而且在构造形状分布时,由于每一组取得随机点数较少,所以这两种方法耗时低。本实施例将主要针对F1与F2分布的特点与其中参数的选择进行展开。
绘制F1和F2的形状分布函数来描述构件的形状分布曲线图。横坐标为两点之间的欧式距离,纵坐标为两点之间欧式距离的概率分布。例如,如图2所示,对于多个同一类的构件,分别采用F1和F2两种不同的形状分布进行几何相似度计算,其中图2中的a为基于F1形状分布的几何相似度,图2中的b为基于F2形状分布的几何相似度,图2中的c为基于F1和F2形状分布结合的几何相似度,图2中的d为相似度在图2中a、b和c的灰度表示;同时,用两种方法描述多类不同的构件的形状分布,如图3所示,用两种方法描述十类构件的形状分布,其中图3中的a为基于F1形状分布的几何相似度,图3中的b为基于F2形状分布的几何相似度,图3中的c为基于F1和F2形状分布结合的几何相似度,图3中的d为相似度在图3中a、b和c的灰度表示。可以看出F1在描述同类型构件的形状分布的表现不及F2,而F2在描述不同类型构件的形状分布的区别没有F1明显,所以本实施例将结合这两种方法来进行BIM模型对比。采样F1和F2两种方法,获取两个BIM模型中每个构件的形状分布,该形状分布可以用作构件的特征和唯一的签名。
在本实施例中形状分布方法F1在描述同类型的构件时,准确率没有F2高;而描述不同类型的构件时,F2所表现出来的差异又不及F1明显。所以在评估同类型的构件时,F1构造的形状分布之间的相似度较低,F2构造的形状分布之间的相似度较准确。而不同类型的构件,F2构造的形状分布之间的相似度较准高,F1构造的形状分布之间的相似度较准确。本实施例将基于两种形状分布方法获取的形状分布分别计算几何相似度,然后将两个几何相似度进行结合,从而综合两种方法的优势。
在上述实施例的基础上,本实施例中通过以下公式根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间的所述第一几何相似度和第二几何相似度,计算所述第一BIM模型中每个构件与所述第二BIM模型中每个构件之间最终的几何相似度:
其中,SP1为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间的所述第一几何相似度,SP2为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间的所述第二几何相似度,a和b为预设常数,S(SP1,SP2)为所述第一BIM模型中任一构件与所述第二BIM模型中任一构件之间最终的几何相似度。
具体地,在评估同类构件时,F2的表现较优,评估不同类构件时,F1较优,而将两者进行结合,正好弥补了各自的缺点,得到了一个更好的效果。第一BIM模型中每个构件与第二BIM模型中每个构件之间的几何相似度如下式所示。第一BIM模型Ma中的构件数量为i,第二BIM模型Mb中的构件数量为j,得出一个i*j的相似度矩阵。
在上述实施例的基础上,本实施例中以所述第一BIM模型和第二BIM模型中每个构件的各三角面的面积为权重,从所述第一BIM模型和第二BIM模型中每个构件的三角面中选取随机点的步骤包括:将所述第一BIM模型和第二BIM模型中每个构件的所有三角面的面积进行逐个累加,获取各构件每次的累加结果;生成0到最大的所述累加结果之间的随机数;以所述构件的各三角面的面积为权重,基于二分法从所述构件的累加结果中获取大于所述随机数的最小的累加结果;选择最小的所述累加结果中最后累加的面积对应的三角面,在选择的所述三角面上选择随机点。
具体地,选择随机点的过程一共分为三步。首先遍历组成构成构件的3D模型的所有三角面,计算其面积,将所有三角面的面积按照在几何信息中的排序逐个累加,将每次的累加结果储存到面积数组中,如将第一个和第二个三角面的面积进行相加作为累加结果,将第一个、第二个和第三个三角面的面积进行相加,以此类推;然后生成一个0到最大累加结果之间的随机数,以每个三角面的面积为权重,通过二分法来选择一个随机的三角面;最后在选择的三角面ABC的边BC上选择一个随机点P1,然后在边AP1上选择第二个随机点P,第二个点P就是选择出来的随机点,如图4所示。
在上述实施例的基础上,本实施例中通过以下公式在选择的所述三角面上选择随机点:
P=(1-r2)*A+r2*(1-r1)*B+r1*r2*C;
其中,P为随机点,r1和r2为0到1之间的随机数,r1为所述三角面的任意两个顶点B和C之间距离的百分比,r2为所述三角面中除B和C以外的顶点A到顶点B和C构成的边BC之间距离的百分比,如图2所示。根据该公式取得的点为三角面ABC中的随机点。
在上述各实施例的基础上,本实施例中根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的位置相似度的步骤包括:根据配准后所述第一BIM模型和第二BIM模型中每个构件的位置信息,计算所述第一BIM模型中每个构件和所述第二BIM模型中每个构件之间的距离;若所述距离大于预设阈值,则将所述距离对应的第一BIM模型中的构件和第一BIM模型中的构件之间的位置相似度设置为0;将小于或等于所述预设阈值的距离进行归一化,将归一化后的所述距离作为所述位置相似度。
具体地,由于一些构件只是偏移了很微小的位置,例如门窗的朝向和管道的上下移动等。这对根据构件位置来匹配构件造成了很大的影响。本实施例利用两个BIM模型之间构件的距离,以此得出构件之间的位置相似度。当距离大于预设阈值α时,视为位置不匹配,即位置相似度Ps=0;当距离小于或等于α时,根据两个构件之间的距离,Ps从0到1递增,并得出如下的位置相似度矩阵Ps(Ma,Mb):
其中,α值的设定需要考虑的一个因素是,当BIM模型中的门窗发生了朝向的改变时,门窗的中心点位置就会发生改变。所以在实施例中α值的大小与墙体的厚度有关。根据多次实验,当α值为BIM模型中最厚的墙体厚度值时,所得到的效果最好。
在上述各实施例的基础上,本实施例中将所述第一BIM模型和第二BIM模型的坐标系进行配准的步骤包括:从所述第一BIM模型和第二BIM模型中每个构件的随机点中抽取预设个数的随机点作为所述第一BIM模型和第二BIM模型的点云数据;基于点云匹配算法对所述第一BIM模型和第二BIM模型的点云数据进行配准,获取所述第二BIM模型相对于所述第一BIM模型的旋转矩阵;将所述第二BIM模型中每个构件的位置信息与所述旋转矩阵相乘,获取所述第二BIM模型中每个构件配准后的位置信息。
具体地,在BIM模型版本更替的过程中,无法保证BIM模型的坐标系保持不变。为了解决这个问题,本实施例采取点云数据配准的方法来统一两个模型的坐标系。首先,从构建两个BIM模型中每个构件的形状分布所取的随机点中,抽取一部分,如每个构件100个随机点来充当每个BIM模型的点云数据。该点云数据为BIM模型表面的点云数据。接下来利用点云匹配算法进行两个BIM模型的点云数据的配准。配准之后得到BIM模型表面的点云数据配准的旋转矩阵,该旋转矩阵也是整个BIM模型配准的旋转矩阵。然后,以构件的坐标点来代替构件,以BIM模型的坐标点集(Pa,Pb)代替BIM模型,然后用旋转矩阵和构件的坐标点集相乘,得到配准之后的坐标。
在上述实施例的基础上,本实施例中根据所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度,获取所述第一BIM模型和第二BIM模型之间构件匹配的的结果的步骤包括:
将所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的几何相似度和位置相似度分别乘以相应的权重后相加,获取所述第一BIM模型中每个构件与所述第二BIM模型中每个构件的叠加相似度;
根据所有所述叠加相似度构建叠加相似度矩阵,将每个叠加相似度对应的第一BIM模型和第二BIM模型中的构件作为一个构件对;
将所述叠加相似度矩阵的每一行中叠加相似度最高的构件对作为匹配构件对;
若在所有所述匹配构件中出现多次的构件存在,则获知出现多次的所述构件为重复匹配的构件,保留重复匹配的所述构件所在的匹配构件对中叠加相似度最高的匹配构件对,去除重复匹配的所述构件所在的匹配构件对中除保留的匹配构件对以外的匹配构件对;
将去除的匹配构件对中与重复匹配的所述构件匹配的另一个构件,将所述另一个构件所在的构件对中叠加相似度次高的构件对作为匹配构件对;
将所有所述匹配构件对中不存在的第二BIM模型的构件作为所述第二BIM模型的新增构件,不存在的第一BIM模型的构件为所述第二BIM模型相对于第一BIM模型删除的构件。
具体地,本实施例将位置相似度矩阵和几何相似度矩阵进行叠加,获取叠加相似度矩阵,从叠加相似度矩阵的每一个行向量中获取叠加相似度最高的构件对,视为匹配构件对。如果所有匹配构件对中存在重复匹配的构件,则从匹配构件对中取与重复匹配的构件叠加相似度最高的匹配构件对视为匹配,其他的构件取与其叠加相似度次高的构件构成匹配构件对,以此进行迭代。其中,匹配构件对中不存在的第二BIM模型的构件为新增构件,不存在的第一BIM模型的构件为删除的构件,即:
G(Gs,Ps)==(M,A,D)
其中,M={m1,m2,m3,…,mn}为相匹配的构件集,A={a1,a2,a3,…,an}为新增的构件集,D={d1,d2,d3,…,dn}为删除的构件集。mi为一对匹配的构件,ai和di为单个的构件。
在上述实施例的基础上,本实施例中对匹配的构件进行对比,获取两个BIM模型之间的对比结果的步骤包括:将每个所述匹配构件对中构件的属性信息进行对比,获取所述第一BIM模型和第二BIM模型中构件的属性信息的对比结果。
具体地,BIM模型构件的属性信息主要分为两部分,其中第一部分为建筑设计师在建造BIM模型时,建模软件自动生成的一些构件所固有的信息。以Revit三维建模软件为例,构件所固有的信息包括构件的标高、族类型和限制条件等等。第二部分为建筑设计师根据项目需求,在构件和模型子系统中添加的项目信息或者模型系统信息等。BIM模型不同版本之间的变化也体现在属性信息的变化。
完成了模型构件的匹配,需要对比匹配构件之间的属性信息。每一个构件包括有若干个属性类,每一个属性类又包括有若干个属性名,而其属性名对应唯一的属性值。属性信息的变化主要体现在属性值的变化,所以属性信息的对比过程从构件的属性类的匹配开始,接下来匹配属性名称,最后对属性值进行对比。
在属性信息的比较中,首先将所有构件的所有属性类和属性处理成树状图,接下来在匹配的树之间进行根结点的子节点匹配,也就是属性类的匹配。对于未匹配的属性类节点视为新增或删除的节点,其子节点也视为新增或删除的节点。对于匹配的属性类节点,继续进行其子节点属性名称的匹配,未匹配的属性节点视为新增或删除的属性。对于匹配的属性名称节点,继续比较其唯一的子节点,即属性值。属性信息的比较结果为两个相匹配构件之间的属性变化差异。
完成了整个BIM模型对比的方法后,可以通过WebGL将对比结果三维可视化,可视化显示修改的构件、删除的构件和新增的构件,以及属性的修改。基于WebGL的结果可视化展示,可直观展示BIM模型版本之间改动的构件及其属性,方便相关各专业人员协同合作以及施工管理等。本实施例可为相似构件推荐和构件聚类等研究提供构件形状分布特征,对BIM领域的发展具有较深的意义和广泛的应用前景。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:根据建筑物的两个版本的BIM模型中每个构件的几何信息,获取两个BIM模型中每个构件的形状分布,根据两个BIM模型中每个构件的形状分布,计算两个BIM模型之间构件的几何相似度;将两个BIM模型的坐标系进行配准,根据配准后两个BIM模型中每个构件的位置信息,计算两个BIM模型之间构件的位置相似度;根据两个BIM模型之间构件的几何相似度和位置相似度,获取两个BIM模型之间构件匹配的结果,并对匹配的构件进行对比获取所述第一BIM模型和第二BIM模型之间的对比结果。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:根据建筑物的两个版本的BIM模型中每个构件的几何信息,获取两个BIM模型中每个构件的形状分布,根据两个BIM模型中每个构件的形状分布,计算两个BIM模型之间构件的几何相似度;将两个BIM模型的坐标系进行配准,根据配准后两个BIM模型中每个构件的位置信息,计算两个BIM模型之间构件的位置相似度;根据两个BIM模型之间构件的几何相似度和位置相似度,获取两个BIM模型之间构件匹配的结果,并对匹配的构件进行对比获取所述第一BIM模型和第二BIM模型之间的对比结果。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。