[發(fā)明專利]一種BIM模型中構件變更的快速檢測方法在審
| 申請?zhí)枺?/td> | 202011242940.3 | 申請日: | 2020-11-10 |
| 公開(公告)號: | CN112487523A | 公開(公告)日: | 2021-03-12 |
| 發(fā)明(設計)人: | 余芳強;張銘;高尚;許璟琳;宋天任;趙震;彭陽 | 申請(專利權)人: | 上海建工四建集團有限公司 |
| 主分類號: | G06F30/13 | 分類號: | G06F30/13 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 200126 上海市浦東新區(qū)*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 bim 模型 構件 變更 快速 檢測 方法 | ||
1.一種BIM模型中構件變更的快速檢測方法,其特征在于,包括如下步驟:
步驟1:根據(jù)構件屬性計算模型A中的每一個構件的指紋碼keyai,計算模型B中的每一個構件的指紋碼keybj,i=1,2,…,M,j=1,2,…,N;其中,M為模型A中構件的數(shù)量,N為模型B中構件的數(shù)量;
步驟2:根據(jù)構件的指紋碼對模型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中構件遍歷未完成,繼續(xù)判定模型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中的每一個構件,根據(jù)構件屬性計算構件的指紋碼key,包括如下步驟:
步驟1.1:設置模型A的構件的初始指紋碼key(i)=“”;其中i=1,2,…,M,M為模型A的構件數(shù)量;
步驟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:根據(jù)構件屬性計算構件的指紋碼key,key=key.GetHashCode();其中,GetHashCode()為編程語言自帶的字符串哈希碼計算方法。
3.如權利要求1所述的檢測方法,其特征在于,
在模型A和模型B中,對未修改構件、修改構件、刪除構件和新增構件進行區(qū)別顯示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海建工四建集團有限公司,未經(jīng)上海建工四建集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011242940.3/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種生物質顆粒快速干燥機
- 下一篇:一種無縫鋼管穿孔頂頭及其制備方法





