本發(fā)明涉及BIM數(shù)據(jù)處理領(lǐng)域,尤其是涉及一種輕量化的BIM大數(shù)據(jù)在線可視化方法和系統(tǒng)。
背景技術(shù):
隨著智能建筑的發(fā)展,BIM(Building Information Modeling)技術(shù)已成為當(dāng)今AEC(Architecture,Engineering and Construction)行業(yè)的核心技術(shù),致力于建筑整個生命周期內(nèi)的信息共享和交換。對BIM建筑的高效分析,特別是支持移動網(wǎng)絡(luò)的在線可視分析,已逐漸被建筑生命周期中相關(guān)的更多產(chǎn)業(yè)所關(guān)注和依賴。然而,也正是由于BIM建筑涉及的信息范圍廣泛,空間結(jié)構(gòu)復(fù)雜,專業(yè)性強等,使得與傳統(tǒng)的建筑數(shù)據(jù)相比,BIM數(shù)據(jù)又有著量大、復(fù)雜、難以組織和管理等特點,處理BIM大數(shù)據(jù)所需的系統(tǒng)資源也遠(yuǎn)遠(yuǎn)超出當(dāng)今移動設(shè)備的系統(tǒng)負(fù)載。因此,如何通過系統(tǒng)資源有限的移動設(shè)備,使用戶以快速方便、在線可視的方式對BIM大數(shù)據(jù)進行有效的分析已成為當(dāng)前該領(lǐng)域中亟待解決的難題。
目前主流的BIM建筑生成、編輯或分析方法或軟件均為基于單機的計算應(yīng)用程序,如Autodesk的Revit系列等。在線可視化方面雖然也逐漸出現(xiàn)了部分如BIM Surfur、BIMviews等,但這些應(yīng)用均存在實時性差、資源損耗高及穩(wěn)定性低等問題,究其原因主要還是BIM數(shù)據(jù)本身,與傳統(tǒng)的3D模型數(shù)據(jù)不同,對BIM數(shù)據(jù)進行在線可視化主要存在著如下挑戰(zhàn):
(1)專業(yè)性強,邏輯結(jié)構(gòu)復(fù)雜。和實際的建筑類似,BIM數(shù)據(jù)通常由較多的“墻”、“門”等構(gòu)件“組裝”形成,不僅空間結(jié)構(gòu)復(fù)雜,專業(yè)性強,數(shù)據(jù)內(nèi)部的結(jié)構(gòu)也相當(dāng)龐大。如在IFC格式的BIM數(shù)據(jù)中采用了近1000個取定義的實體類和類型來對應(yīng)性地描述這些構(gòu)件。而且從每個構(gòu)件到其對應(yīng)的幾何數(shù)據(jù)又通過相應(yīng)高度的樹型結(jié)構(gòu)組織,邏輯結(jié)構(gòu)錯綜復(fù)雜。
(2)幾何冗余度高。BIM數(shù)據(jù)中,不僅存在相當(dāng)多的同類型構(gòu)件(如“門” 構(gòu)件),更存在大量的重復(fù)性構(gòu)件和參數(shù)化表達構(gòu)件。從BIM數(shù)據(jù)解析形成的幾何數(shù)據(jù)中,幾何冗余度非常之高。
(3)數(shù)據(jù)訪問速度慢。BIM數(shù)據(jù)雖然數(shù)量龐大,但更側(cè)重于建筑工程的各方面需求,并未考慮面向在線展示的數(shù)據(jù)高效組織或管理,缺少統(tǒng)一的數(shù)據(jù)索引,使得在可視化應(yīng)用中無法快速定位或訪問需要的數(shù)據(jù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種自動化、輕量化、細(xì)粒度化的BIM大數(shù)據(jù)在線可視化方法和系統(tǒng)
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種輕量化的BIM大數(shù)據(jù)在線可視化方法,包括以下步驟:
對BIM場景構(gòu)件集進行基于語義引導(dǎo)的輕量級解析,獲得輕量級構(gòu)件庫;
對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割,生成多個相對獨立的空間,并生成所述多個相對獨立的空間之間的關(guān)系結(jié)構(gòu)圖;
根據(jù)所述關(guān)系結(jié)構(gòu)圖及各空間中的構(gòu)件集建立多粒度分解的多層數(shù)據(jù)索引結(jié)構(gòu);
根據(jù)所述多層數(shù)據(jù)索引結(jié)構(gòu)調(diào)用所述輕量級構(gòu)件庫實現(xiàn)BIM建筑的漸進式可視化,且在可視化過程中,以空間為單位對當(dāng)前空間的下一個空間數(shù)據(jù)進行緩存并刪除上一個空間數(shù)據(jù)。
所述對BIM場景構(gòu)件集進行基于語義引導(dǎo)的輕量級解析具體為:
對BIM場景構(gòu)件集中的各構(gòu)件分解為多個單元,并進行單元去重;
對任意兩個構(gòu)件的分解去重結(jié)果進行語義配準(zhǔn)分析,保存相應(yīng)的變換矩陣;
根據(jù)所述語義配準(zhǔn)分析的結(jié)果驗證兩個構(gòu)件的相似性;
在兩個構(gòu)件相似時,刪除其中一個構(gòu)件,以相應(yīng)的變換矩陣替代刪除的構(gòu)件。
通過語義分析與幾何計算相結(jié)合的方式對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割。
所述多層數(shù)據(jù)索引結(jié)構(gòu)通過稀疏體素化的方式生成。
所述實現(xiàn)BIM建筑可視化具體為:
在每個所述空間的出入口設(shè)置一緩沖區(qū);
當(dāng)化身接近某一出入口的緩沖區(qū)時,加載通過該出入口與當(dāng)前空間相連接的下 一個空間數(shù)據(jù);
當(dāng)化身離開所述緩沖區(qū)進入新空間時,將所述新空間定義為當(dāng)前空間,同時刪除上一個空間數(shù)據(jù)。
一種輕量化的BIM大數(shù)據(jù)在線可視化系統(tǒng),包括:
輕量解析模塊,用于對BIM場景構(gòu)件集進行基于語義引導(dǎo)的輕量級解析,獲得輕量級構(gòu)件庫;
自動化分割模塊,用于對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割,生成多個相對獨立的空間,并生成所述多個相對獨立的空間之間的關(guān)系結(jié)構(gòu)圖;
索引結(jié)構(gòu)構(gòu)建模塊,用于根據(jù)所述關(guān)系結(jié)構(gòu)圖及各空間中的構(gòu)件集建立多粒度分解的多層數(shù)據(jù)索引結(jié)構(gòu);
可視化模塊,用于根據(jù)所述多層數(shù)據(jù)索引結(jié)構(gòu)調(diào)用所述輕量級構(gòu)件庫實現(xiàn)BIM建筑的漸進式可視化,且在可視化過程中,以空間為單位對當(dāng)前空間的下一個空間數(shù)據(jù)進行緩存并刪除上一個空間數(shù)據(jù)。
所述輕量解析模塊包括:
分解去重單元,用于對BIM場景構(gòu)件集中的各構(gòu)件分解為多個單元,并進行單元去重;
語義配準(zhǔn)單元,用于對任意兩個構(gòu)件的分解去重結(jié)果進行語義配準(zhǔn)分析,保存相應(yīng)的變換矩陣;
相似性驗證單元,用于根據(jù)所述語義配準(zhǔn)分析的結(jié)果驗證兩個構(gòu)件的相似性;
構(gòu)件刪除單元,用于在兩個構(gòu)件相似時,刪除其中一個構(gòu)件,以相應(yīng)的變換矩陣替代刪除的構(gòu)件。
所述自動化分割模塊中,通過語義分析與幾何計算相結(jié)合的方式對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割。
所述索引結(jié)構(gòu)構(gòu)建模塊中,所述多層數(shù)據(jù)索引結(jié)構(gòu)通過稀疏體素化的方式生成。
所述可視化模塊包括:
緩沖區(qū)設(shè)置單元,用于在每個所述空間的出入口設(shè)置一緩沖區(qū);
緩沖數(shù)據(jù)加載單元,用于當(dāng)化身接近某一出入口的緩沖區(qū)時,加載通過該出入口與當(dāng)前空間相連接的下一個空間數(shù)據(jù);
緩沖數(shù)據(jù)刪除單元,用于當(dāng)化身離開所述緩沖區(qū)進入新空間時,將所述新空間 定義為當(dāng)前空間,同時刪除上一個空間數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
(1)本發(fā)明將幾何輕量化集成到BIM數(shù)據(jù)的解析過程中,從而建立輕量級構(gòu)件庫,在滿足幾何數(shù)據(jù)在線可視化的同時大幅度降低了解析后的數(shù)據(jù)量;
(2)本發(fā)明將可視剔除與BIM建筑的內(nèi)部結(jié)構(gòu)相結(jié)合,提出BIM建筑的自動空間分割算法,在方便可視剔除的同時,也構(gòu)建了建筑空間數(shù)據(jù)索引,通過該索引,在進行在線漫游時,可通過逐層過濾并查找來快速定位用戶所要查詢的粒度數(shù)據(jù),能夠十分流暢地渲染大規(guī)模的BIM場景數(shù)據(jù),能夠通過漸進式加載、渲染等方式大幅度降低系統(tǒng)資源的消耗;
(3)本發(fā)明將BIM內(nèi)部空間自動分割為多個獨立空間,方便以空間為單位進行可視剔除,減少了服務(wù)器端實時傳輸?shù)呢?fù)擔(dān);
(4)本發(fā)明通過BIM數(shù)據(jù)的語義信息來加速BIM數(shù)據(jù)的輕量化處理,并對輕量化結(jié)果實現(xiàn)相應(yīng)的基于視點驅(qū)動的漸進式管理,盡量保持在系統(tǒng)中只存儲足夠少的空間數(shù)據(jù),不僅提高了系統(tǒng)資源的利用率,也不影響用戶的體驗質(zhì)量;
(5)本發(fā)明是一完全自動化的過程,不需要用戶對BIM數(shù)據(jù)進行前期的人工分析或借助第三方程序進行預(yù)處理等,通過針對性解析、分割等方式將BIM數(shù)據(jù)轉(zhuǎn)變?yōu)槌R姷?D模型數(shù)據(jù),避免了用戶去了解BIM建筑的專業(yè)知識以及BIM數(shù)據(jù)的復(fù)雜邏輯結(jié)構(gòu),使用方便可靠;
(6)本發(fā)明生成的建筑模型從底層構(gòu)件庫到整個數(shù)據(jù)的層次化索引都是輕量化的,這是為了保證模型可視化過程的存儲、傳輸和渲染的高效性;
(7)本發(fā)明前端的數(shù)據(jù)管理均從可視性出發(fā),保證了可見即可得的用戶體驗效果。
附圖說明
圖1為本發(fā)明方法的流程示意圖;
圖2為本發(fā)明基于語義引導(dǎo)的輕量級解析過程示意圖;
圖3為本發(fā)明建筑內(nèi)部空間分割過程示意圖,其中,圖(a)為原始BIM建筑室內(nèi)布局示意圖,圖(b)為與圖(a)相對應(yīng)的內(nèi)部空間分割結(jié)果示意圖;
圖4為與圖3(a)中的路徑對應(yīng)的空間加載情況示意圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細(xì)說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
本實施例提供一種輕量化的BIM大數(shù)據(jù)在線可視化方法,其基本思想是:利用BIM數(shù)據(jù)的語義信息和幾何計算相結(jié)合,通過擴展的ICP方法快速進行BIM數(shù)據(jù)構(gòu)件的輕量化預(yù)處理,去除數(shù)據(jù)的冗余信息,形成輕量級底層構(gòu)件庫;同時,將動態(tài)/漸進式可視剔除與BIM建筑的空間結(jié)構(gòu)相結(jié)合,提出以“建筑空間”為單位的漸進式傳輸及剔除方法,能夠自動化進行BIM建筑的“建筑空間”分割,并生成相應(yīng)的空間關(guān)系來實現(xiàn)空間適時切換;最后,以場景、建筑、空間、構(gòu)件等為基本對整個建筑數(shù)據(jù)建立多粒度層次性索引,提高數(shù)據(jù)訪問速度。
如圖1所示,本實施例的BIM大數(shù)據(jù)在線可視化方法具體如下:
在步驟s101中,對BIM場景構(gòu)件集進行基于語義引導(dǎo)的輕量級解析,獲得輕量級構(gòu)件庫;
在步驟s102中,對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割,生成多個相對獨立的空間,并生成所述多個相對獨立的空間之間的關(guān)系結(jié)構(gòu)圖;
在步驟s103中,根據(jù)所述關(guān)系結(jié)構(gòu)圖及各空間中的構(gòu)件集建立多粒度分解的多層數(shù)據(jù)索引結(jié)構(gòu);
在步驟s104中,根據(jù)所述多層數(shù)據(jù)索引結(jié)構(gòu)調(diào)用所述輕量級構(gòu)件庫實現(xiàn)BIM建筑的漸進式可視化,且在可視化過程中,以空間為單位對當(dāng)前空間的下一個空間數(shù)據(jù)進行緩存并刪除上一個空間數(shù)據(jù)。
1)基于語義引導(dǎo)的輕量級解析。與傳統(tǒng)的3D模型不同,BIM數(shù)據(jù)在進行BIM模型的可視化之前,通常要使用現(xiàn)有的工具預(yù)先進行語義解析形成幾何數(shù)據(jù)。而傳統(tǒng)的解析程序只包含了BIM數(shù)據(jù)標(biāo)準(zhǔn)中的解析邏輯,解析后的幾何數(shù)據(jù)冗余較多。本發(fā)明針對這個局限,提出了基于語義引導(dǎo)的輕量級解析方法。該方法一方面通過語義分析來確定可能存在的冗余數(shù)據(jù),縮小輕量化處理的數(shù)據(jù)范圍;另一方面通過對ICP算法進行擴充,在通過ICP方法對構(gòu)件進行對齊,并保存相應(yīng)的變換矩陣,再使用面積加權(quán)的Horsdorff距離來驗證兩個構(gòu)件的相似性。當(dāng)兩個構(gòu)件相似時,則刪除其中的一個構(gòu)件實例,用相應(yīng)的變換矩陣來代替,降低數(shù)據(jù)量。
相應(yīng)的處理過程如圖2所示包括:對BIM場景構(gòu)件集中的各構(gòu)件分解為多個單元,并進行單元去重;對任意兩個構(gòu)件的分解去重結(jié)果進行語義配準(zhǔn)分析,保存相應(yīng)的變換矩陣;根據(jù)所述語義配準(zhǔn)分析的結(jié)果驗證兩個構(gòu)件的相似性;在兩個構(gòu)件相似時,刪除其中一個構(gòu)件,以相應(yīng)的變換矩陣替代刪除的構(gòu)件。
2)基于可視剔除的建筑內(nèi)部空間分割方法。實際工程中的BIM數(shù)據(jù)不只量大,建筑內(nèi)部結(jié)構(gòu)也非常復(fù)雜,遠(yuǎn)遠(yuǎn)超出常見移動設(shè)備的負(fù)載,不宜也無法直接進行在線可視化。
本發(fā)明在通過輕量化去除冗余數(shù)據(jù)的同時,將可視剔除與BIM建筑結(jié)構(gòu)、BIM語義信息相結(jié)合,提出了BIM建筑的內(nèi)部空間自動化分割算法。在保持現(xiàn)有結(jié)構(gòu)的同時,通過語義分析與幾何計算相結(jié)合,將整個BIM建筑內(nèi)部分為相對獨立的空間進行組織和管理,并生成多個空間之間的關(guān)系結(jié)構(gòu)圖。在進行建筑內(nèi)部漫游過程中,以空間為單位進行可視剔除,減少了服務(wù)器端實時傳輸?shù)呢?fù)擔(dān)。
3)結(jié)合多粒度分解的多層數(shù)據(jù)索引構(gòu)建。在進行內(nèi)部空間分割后,可通過空間為單位的方式來對BIM場景中的某些構(gòu)件集進行訪問,但還遠(yuǎn)遠(yuǎn)不能滿足在線可視化的需要。因為,在實際漫游時,不只需要定位到某個空間,常常需要更快速地揀選到某個構(gòu)件,來完成構(gòu)件級別的操作。結(jié)合多粒度分解的多層數(shù)據(jù)索引,將構(gòu)筑物,室外構(gòu)件、室內(nèi)空間、空間之間的切換、空間內(nèi)部的揀選進行統(tǒng)一考慮,通過空間連通關(guān)系圖來表示內(nèi)部空間的連通性,實現(xiàn)整個建筑的空間切換。通過稀疏體素化的方式生成空間內(nèi)部構(gòu)件的索引結(jié)構(gòu),通過該索引,在進行在線漫游時,可通過逐層過濾并查找來快速定位用戶所要查詢的粒度數(shù)據(jù)。
4)基于視點驅(qū)動的漸進式數(shù)據(jù)管理。前面建立的輕量級數(shù)據(jù)庫、輕量級數(shù)據(jù)索引,實現(xiàn)了對數(shù)據(jù)可視性剔除、高效管理的底層支持。但在實際應(yīng)用中,仍需要在合適的時機下,快速調(diào)用這些功能來完成相應(yīng)的實時響應(yīng)?;谝朁c驅(qū)動的漸進式數(shù)據(jù)管理,從BIM數(shù)據(jù)在線可視化應(yīng)用的基本需求——實時出發(fā),通過視點位置判斷并裝載化身所處的內(nèi)部空間。根據(jù)網(wǎng)絡(luò)訪問速度在每個空間的出/入口設(shè)置相應(yīng)的緩沖區(qū),當(dāng)化身接近緩沖區(qū)時,觸發(fā)并裝載通過該出/入口與當(dāng)前空間相連接的下一個空間數(shù)據(jù),并在當(dāng)化身離開新空間的緩沖區(qū)時,及時將新的空間更新為當(dāng)前空間,同時刪除上一個空間數(shù)據(jù),盡量保持在系統(tǒng)中只存儲足夠少的空間數(shù)據(jù)。該漸進式數(shù)據(jù)裝載和管理的方式不僅提高了系統(tǒng)資源的利用率,也不影響用戶的體驗質(zhì)量。如圖4所示即為圖3(a)的路徑中所對應(yīng)的空間加載情況,以D2出入口 為例,在從S2經(jīng)過D2進入S5時,進入的區(qū)域依次分為三個:S2→D2的緩沖區(qū)→S5。當(dāng)在第一個區(qū)域(S2)中時,只加載S2;當(dāng)進入D2的緩沖區(qū)時,再加載S5,即此時的空間加載總量為S2和S5;當(dāng)經(jīng)過D2緩沖區(qū)進入到S5時,說明已經(jīng)完全進入到S5空間,此時將剔除S2,整個系統(tǒng)加載的空間中只有S5。而在從S5經(jīng)過D2返回S2時,空間加載的情況又相反。其余出入口的加載情況以此類推。
本實施例還提供一種輕量化的BIM大數(shù)據(jù)在線可視化系統(tǒng),包括輕量解析模塊201、自動化分割模塊202、索引結(jié)構(gòu)構(gòu)建模塊203和可視化模塊204,其中,輕量解析模塊201用于對BIM場景構(gòu)件集進行基于語義引導(dǎo)的輕量級解析,獲得輕量級構(gòu)件庫;自動化分割模塊202用于通過語義分析與幾何計算相結(jié)合的方式對BIM建筑的內(nèi)部結(jié)構(gòu)進行自動化分割,生成多個相對獨立的空間,并生成所述多個相對獨立的空間之間的關(guān)系結(jié)構(gòu)圖;索引結(jié)構(gòu)構(gòu)建模塊203用于根據(jù)所述關(guān)系結(jié)構(gòu)圖及各空間中的構(gòu)件集建立多粒度分解的多層數(shù)據(jù)索引結(jié)構(gòu),該多層數(shù)據(jù)索引結(jié)構(gòu)通過稀疏體素化的方式生成;可視化模塊204用于根據(jù)所述多層數(shù)據(jù)索引結(jié)構(gòu)調(diào)用所述輕量級構(gòu)件庫實現(xiàn)BIM建筑的漸進式可視化,且在可視化過程中,以空間為單位對當(dāng)前空間的下一個空間數(shù)據(jù)進行緩存并刪除上一個空間數(shù)據(jù)。
輕量解析模塊201包括:分解去重單元,用于對BIM場景構(gòu)件集中的各構(gòu)件分解為多個單元,并進行單元去重;語義配準(zhǔn)單元,用于對任意兩個構(gòu)件的分解去重結(jié)果進行語義配準(zhǔn)分析,保存相應(yīng)的變換矩陣;相似性驗證單元,用于根據(jù)所述語義配準(zhǔn)分析的結(jié)果驗證兩個構(gòu)件的相似性;構(gòu)件刪除單元,用于在兩個構(gòu)件相似時,刪除其中一個構(gòu)件,以相應(yīng)的變換矩陣替代刪除的構(gòu)件。
可視化模塊204包括:緩沖區(qū)設(shè)置單元,用于在每個所述空間的出入口設(shè)置一緩沖區(qū);緩沖數(shù)據(jù)加載單元,用于當(dāng)化身接近某一出入口的緩沖區(qū)時,加載通過該出入口與當(dāng)前空間相連接的下一個空間數(shù)據(jù);緩沖數(shù)據(jù)刪除單元,用于當(dāng)化身離開所述緩沖區(qū)進入新空間時,將所述新空間定義為當(dāng)前空間,同時刪除上一個空間數(shù)據(jù)。
本實施例中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。