[发明专利]一种BIM模型中构件变更的快速检测方法在审
申请号: | 202011242940.3 | 申请日: | 2020-11-10 |
公开(公告)号: | CN112487523A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 余芳强;张铭;高尚;许璟琳;宋天任;赵震;彭阳 | 申请(专利权)人: | 上海建工四建集团有限公司 |
主分类号: | G06F30/13 | 分类号: | G06F30/13 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200126 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bim 模型 构件 变更 快速 检测 方法 | ||
1.一种BIM模型中构件变更的快速检测方法,其特征在于,包括如下步骤:
步骤1:根据构件属性计算模型A中的每一个构件的指纹码keyai,计算模型B中的每一个构件的指纹码keybj,i=1,2,…,M,j=1,2,…,N;其中,M为模型A中构件的数量,N为模型B中构件的数量;
步骤2:根据构件的指纹码对模型A和模型B中所有构件进行正序排列,形成模型A构件列表La={(IDai,keyai)},模型B构件列表Lb={(IDbj,keybj)};其中,IDai为模型A中第i个构件的识别码,IDbj为模型B中第j个构件的识别码;
步骤3:依次遍历模型A构件列表La中每个构件;如果遍历未完成,进入步骤4;如果遍历完成,进入步骤6;
步骤4:依次遍历模型B构件列表Lb中构件,判断其指纹码keybj是否等于keyai;
如果keybj等于keyai,转入步骤5;
如果keybj不等于keyai,判断keybj是否小于keyai;如果keybj小于keyai转入步骤4,反之转入步骤3;
步骤5:将IDbj添加到未修改构件列表,将IDai、IDbj对应构件分别从模型A构件列表La和模型B构件列表Lb中删除;转入步骤3;
步骤6:重新依次遍历模型A构件列表La中每个构件;
如果模型A构件列表La中构件遍历未完成,继续判定模型B构件列表Lb中是否存在IDbj等于IDai的构件;若存在,转入步骤7;若不存在,转入步骤8;
如果模型A构件列表La中构件遍历完成,转入步骤9;
步骤7:将IDbj添加到修改构件列表;将IDbj构件从模型B构件列表Lb中删除;转入步骤6;
步骤8:将IDai添加到删除构件列表Ld;转入步骤6;
步骤9:将模型B构件列表Lb中剩余的构件的IDbj添加到新增构件列表。
2.如权利要求1所述的检测方法,其特征在于,
构件的指纹码哈希码;对模型A中的每一个构件,根据构件属性计算构件的指纹码key,包括如下步骤:
步骤1.1:设置模型A的构件的初始指纹码key(i)=“”;其中i=1,2,…,M,M为模型A的构件数量;
步骤1.2:遍历模型A的第i个构件的所有非ID属性prai;如果prai为简单属性,转到步骤1.3;如果prai为复杂属性转到步骤1.4;如果遍历完所有属性,转到步骤1.6;
步骤1.3:key(i)=key+prai;转到步骤1.2;
步骤1.4:递归遍历prai中所有非ID属性praij,如果praij为复杂属性转到步骤1.4,进行递归处理;如果praij为简单属性,转到步骤1.5;
步骤1.5:key=key+praij;转到步骤1.4;
步骤1.6:根据构件属性计算构件的指纹码key,key=key.GetHashCode();其中,GetHashCode()为编程语言自带的字符串哈希码计算方法。
3.如权利要求1所述的检测方法,其特征在于,
在模型A和模型B中,对未修改构件、修改构件、删除构件和新增构件进行区别显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海建工四建集团有限公司,未经上海建工四建集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011242940.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种生物质颗粒快速干燥机
- 下一篇:一种无缝钢管穿孔顶头及其制备方法