本發明涉及bim模型技術領域,尤其涉及一種bim模型數據壓縮、還原方法及裝置。
背景技術:
bim模型是建筑信息模型(buildinginformationmodeling)的簡稱,是一種建筑全生命周期信息化管理技術,可以將建筑信息進行數字化,并以這個數字信息模型作為基礎,進行各個階段的模擬建造,具有可視化、協調性、模擬性、優化性和可出圖性等五大基本特點。bim模型的最終表現形式為可視化的多維度、多功能、多用途的計算機圖形模型。所以模型最終是以多維度、多功能、多用途的模型計算機圖形的形式展現在顯示設備上。目前的bim模型數據文件,保存了完整的幾何信息和非幾何信息,數據量比較大,采用zip等技術也無法有效壓縮數據量,數據量較為龐大,使得在傳輸過程中占用較大帶寬,由其在網速不佳的情況下,嚴重影響傳輸速率。
技術實現要素:
本發明的主要目的在于提出一種bim模型數據壓縮、還原方法及裝置,旨在解決現有技術中bim模型數據量較大,使得在傳輸過程中占用較大帶寬,不利于數據傳輸的問題。
第一方面,本發明提出一種bim模型數據壓縮方法,所述方法包括:
獲取bim模型數據中所有的構件,對所述構件賦予編號,其中,相同的構件賦予相同的編號;
根據所述編號,壓縮存儲對應的幾何信息,形成構件編號字典,其中,對相同的編號壓縮存儲一份對應的幾何信息;
壓縮存儲所有的編號對應的非幾何信息及向量信息,形成構件編號列表。
第二方面,本發明提出一種bim模型數據壓縮裝置,所述裝置包括:
構件編號模塊,用于獲取bim模型數據中所有的構件,對所述構件賦予編號,其中,相同的構件賦予相同的編號;
構件編號字典形成模塊,用于根據所述編號,壓縮存儲對應的幾何信息,形成構件編號字典,其中,對相同的編號壓縮存儲一份對應的幾何信息;及
構件編號列表形成模塊,用于壓縮存儲所有的編號對應的非幾何信息及向量信息,形成構件編號列表。
第三方面,本發明提出一種bim模型數據還原方法,所述方法包括:
分別解壓構件編號列表及構件編號字典;
根據所述構件編號列表,在構件編號字典中讀取編號對應的幾何信息,所述構件編號列表包括:所有的編號對應的非幾何信息及向量信息,所述構件編號字典包括:所述編號對應的幾何信息;
根據所述編號對應的幾何信息及非幾何信息,生成構件的幾何形狀及非幾何信息,并根據所述向量信息還原構件的空間位置信息。
第四方面,本發明提出一種bim模型數據還原裝置,所述裝置包括:
解壓模塊,用于分別解壓構件編號列表及構件編號字典;
幾何信息讀取模塊,用于根據所述構件編號列表,在構件編號字典中讀取編號對應的幾何信息,所述構件編號列表包括:所有的編號對應的非幾何信息及向量信息,所述構件編號字典包括:所述編號對應的幾何信息;及
構件生成模塊,用于根據所述編號對應的幾何信息及非幾何信息,生成構件的幾何形狀及非幾何信息,并根據所述向量信息還原構件的空間位置信息。
一方面,本發明提出的一種bim模型數據壓縮方法及裝置,對bim模型數據中的構件賦予編號,相同構件賦予同一編號,在存儲編號對應的幾何信息時,同一編號只存儲一份對應的幾何信息,將所有編號對應的非幾何信息形成構件編號字典進行存儲,避免重復存儲相同編號的幾何信息,從而大量的減少了壓縮存儲數據量。
另一方面,本發明提出的一種bim模型數據還原方法及裝置,解壓構件編號列表獲取構件的編號及對應的非幾何信息及向量信息,并通過構件編號列表讀取構件編號字典中的幾何信息,從而生成構件的幾何形狀及非幾何信息,并且還原構件的空間位置信息,無需一一存儲相同編號的幾何信息,利用構件編號列表即可讀取對應的幾何信息,避免重復的幾何信息占用傳輸數據量,以及數據存儲空間。
附圖說明
圖1為本發明實施例提供的一種bim模型數據壓縮方法的方法流程圖;
圖2為本發明實施例提供的一種bim模型數據壓縮方法中壓縮存儲幾何信息的方法流程圖;
圖3為本發明實施例提供的一種bim模型數據壓縮裝置的示意圖;
圖4為本發明實施例提供的一種bim模型數據還原方法的方法流程圖;
圖5為本發明實施例提供的一種bim模型數據還原裝置的示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
如圖1所示,本發明實施例提出一種bim模型數據壓縮方法,包括:
步驟101,獲取bim模型數據中所有的構件,對構件賦予編號,其中,相同的構件賦予相同的編號。
步驟102,根據編號,壓縮存儲對應的幾何信息,形成構件編號字典,其中,對相同的編號壓縮存儲一份對應的幾何信息。
步驟103,壓縮存儲所有的編號對應的非幾何信息及向量信息,形成構件編號列表。
在步驟101中,獲取bim模型數據,該bim模型數據為原始的bim模型數據,包括所有的構件,以及每個構件的幾何信息、非幾何信息,及空間位置信息,其中,構件的幾何信息包括幾何形狀定義信息及幾何形狀信息,該幾何形狀定義信息是對幾何形狀的定義,例如一個三角形的構件,其幾何形狀定義信息為三角形的三條邊的長度信息,以及三個頂點的夾角度數信息,而幾何形狀信息為構件在bim模型數據中的幾何形狀。在獲取到bim模型數據后,將bim模型數據中所有的構件賦予編號,其賦予編號的規則為相同的構件賦予相同的編號,此處相同的構件為幾何形狀信息相同的構件,例如,在bim模型數據中所有的三角形構件都賦予編號1,這些編號為1的三角形構件僅僅是幾何信息相同,但是非幾何信息可以不相同,通過賦予編號,將相同的構件進行集合。
在步驟102中,將上一步驟中通過對構件賦予編號,將相同的構件進行集合,由于相同的構件賦予了相同的編號,并且對應的幾何信息相同,因此,根據編號,壓縮存儲對應的幾何信息,形成構件編號字典,該構件編號字典具體為將編號與對應的幾何信息形成映射關系的構件編號字典,可以通過編號查找到對應的幾何信息,其中,對相同的編號壓縮存儲一份對應的幾何信息,無需對相同編號對應的幾何信息進行重復存儲,減少了多個相同的構件的幾何信息進行重復存儲的操作,以及減少了大量重復的數據。
在步驟103中,構件編號字典只是將構件的幾何信息進行單獨存儲,因為相同的構件其幾何信息相同,但是,其非幾何信息及向量信息可以不相同,因此,對于構件的非幾何信息及向量信息需要逐一存儲,以確保bim模型數據的準確性以及完整性,壓縮存儲所有的編號對應的非幾何信息及向量信息,將構件的編號與對應的非幾何信息及向量信息形成映射關系,從而形成構件編號列表。
在本發明實施例中對bim模型數據中的構件賦予編號,相同構件賦予同一編號,在存儲編號對應的幾何信息時,同一編號只存儲一份對應的幾何信息,將所有編號對應的非幾何信息形成構件編號字典進行存儲,避免重復存儲相同編號的幾何信息,從而大量的減少了壓縮存儲數據量。
進一步地,在bim模型數據中,獲取構件的空間位置信息,將空間位置信息轉換為向量信息。
具體地,在bim模型數據中,每個構件對應的空間位置信息包含了構件在bim模型數據中所處的空間位置,在壓縮bim模型數據時,為了進一步地減少數據量,可以將空間位置信息轉換為向量信息進行表達。
如圖2所示,本發明實施例提出一種bim模型數據壓縮方法中壓縮存儲幾何信息的方法,包括:
步驟201,獲取幾何信息的數據量。
步驟202,當數據量低于預設數據量時,只壓縮存儲幾何形狀定義信息。
步驟203,當數據量高于預設數據量時,同時壓縮存儲幾何形狀定義信息及幾何形狀信息。
在本發明實施例中,bim模型數據中,構件的幾何信息包括幾何形狀定義信息及幾何形狀定義信息,該幾何形狀定義信息是對幾何形狀的定義,例如一個三角形的構件,其幾何形狀定義信息為三角形的三條邊的長度信息,以及三個頂點的夾角度數信息,而幾何形狀信息為構件在bim模型數據中的幾何形狀,對于簡單的構件而言,由于其幾何形狀較為簡單,通過幾何形狀定義信息就能夠直接還原出構件的幾何形狀,而對于復雜的構件而言,通過幾何形狀定義信息只能夠得知構件中邊長、個數及角度等定義信息,但是無法能夠從上述幾何形狀定義信息構建出幾何形狀,因此復雜的構件的幾何形狀信息不可或缺,為了進一步地的減少數據量,對于幾何信息的數據量低于預設數據量的構件,可以認為其為結構簡單的構件,對于幾何信息的數據量高于預設數據量的構件,可以認為其為結構復雜的構件,對于結構簡單的構件可以只壓縮存儲幾何形狀定義信息,對于結構復雜的構件同時壓縮存儲幾何形狀定義信息及幾何形狀信息,以在進一步地減少數據存儲量的同時,有效地保證數據的完整性及準確性。
如圖3所示,本發明實施例提出一種bim模型數據壓縮裝置,包括:
構件編號模塊31,用于獲取bim模型數據中所有的構件,對構件賦予編號,其中,相同的構件賦予相同的編號;
構件編號字典形成模塊32,用于根據編號,壓縮存儲對應的幾何信息,形成構件編號字典,其中,對相同的編號壓縮存儲一份對應的幾何信息;及
構件編號列表形成模塊33,用于壓縮存儲所有的編號對應的非幾何信息及向量信息,形成構件編號列表。
其中,構件編號模塊31,獲取bim模型數據,該bim模型數據為原始的bim模型數據,包括所有的構件,以及每個構件的幾何信息、非幾何信息,及空間位置信息,其中,構件的幾何信息包括幾何形狀定義信息及幾何形狀信息,該幾何形狀定義信息是對幾何形狀的定義,例如一個三角形的構件,其幾何形狀定義信息為三角形的三條邊的長度信息,以及三個頂點的夾角度數信息,而幾何形狀信息為構件在bim模型數據中的幾何形狀。在獲取到bim模型數據后,將bim模型數據中所有的構件賦予編號,其賦予編號的規則為相同的構件賦予相同的編號,此處相同的構件為幾何形狀信息相同的構件,例如,在bim模型數據中所有的三角形構件都賦予編號1,這些編號為1的三角形構件僅僅是幾何信息相同,但是非幾何信息可以不相同,通過賦予編號,將相同的構件進行集合。
構件編號字典形成模塊32,將上一步驟中通過對構件賦予編號,將相同的構件進行集合,由于相同的構件賦予了相同的編號,并且對應的幾何信息相同,因此,根據編號,壓縮存儲對應的幾何信息,形成構件編號字典,該構件編號字典具體為將編號與對應的幾何信息形成映射關系的構件編號字典,可以通過編號查找到對應的幾何信息,其中,對相同的編號壓縮存儲一份對應的幾何信息,無需對相同編號對應的幾何信息進行重復存儲,減少了多個相同的構件的幾何信息進行重復存儲的操作,以及減少了大量重復的數據。
構件編號列表形成模塊33,構件編號字典只是將構件的幾何信息進行單獨存儲,因為相同的構件其幾何信息相同,但是,其非幾何信息及向量信息可以不相同,因此,對于構件的非幾何信息及向量信息需要逐一存儲,以確保bim模型數據的準確性以及完整性,壓縮存儲所有的編號對應的非幾何信息及向量信息,將構件的編號與對應的非幾何信息及向量信息形成映射關系,從而形成構件編號列表。
在本發明實施例中對bim模型數據中的構件賦予編號,相同構件賦予同一編號,在存儲編號對應的幾何信息時,同一編號只存儲一份對應的幾何信息,將所有編號對應的非幾何信息形成構件編號字典進行存儲,避免重復存儲相同編號的幾何信息,從而大量的減少了壓縮存儲數據量。
進一步地,構件編號列表形成模塊33包括:
向量信息轉換模塊,用于在bim模型數據中,獲取構件的空間位置信息,將空間位置信息轉換為向量信息。
具體地,在bim模型數據中,每個構件對應的空間位置信息包含了構件在bim模型數據中所處的空間位置,在壓縮bim模型數據時,為了進一步地減少數據量,可以將空間位置信息轉換為向量信息進行表達。
如圖4所示,本發明實施例提供的一種bim模型數據還原方法,包括:
步驟401,分別解壓構件編號列表及構件編號字典;
步驟402,根據構件編號列表,在構件編號字典中讀取編號對應的幾何信息,構件編號列表包括:所有的編號對應的非幾何信息及向量信息,構件編號字典包括:編號對應的幾何信息;
步驟403,根據編號對應的幾何信息及非幾何信息,生成構件的幾何形狀及非幾何信息,并根據向量信息還原構件的空間位置信息。
在步驟401中,分別解壓構件編號列表及構件編號字典,由于相同的構件賦予了相同的編號,并且對應的幾何信息相同,構件編號字典具體為將編號與對應的幾何信息形成映射關系的構件編號字典,可以通過編號查找到對應的幾何信息,其中,對相同的編號壓縮存儲一份對應的幾何信息;構件編號列表包含了每個構件的非幾何信息及向量信息,因為相同的構件其幾何信息相同,但是,其非幾何信息及向量信息可以不相同,因此,對于構件的非幾何信息及向量信息需要逐一存儲。
在步驟402中,根據構件編號列表,在構件編號字典中讀取編號對應的幾何信息,由于構件編號列表包括所有的構件的編號,因此,利用構件編號列表在構件編號字典中讀取編號對應的幾何信息可以保證每個構件均能夠獲取到對應的幾何信息,構件編號列表包括:所有的編號對應的非幾何信息及向量信息,構件編號字典包括:編號對應的幾何信息。
進一步地,根據編號,對構件編號列表進行排序;
對于相同的編號,在構件編號字典中循環讀取對應的幾何信息。
具體地,由于構件編號列表中,包括很多相同的編號,通過排序的方式,可以使得相同的編號進行集合,有助于在構件編號字典中循環讀取對應的幾何信息,避免了每次需要根據編號進行查找的過程,增加讀取幾何信息的速度,從而提高bim模型數據的還原效率。
在步驟403中,在構件編號字典中讀取到對應的幾何信息后,以及構件編號列表中的非幾何信息,生成構件的幾何形狀及非幾何信息,并根據向量信息還原構件的空間位置信息。
進一步地,當幾何信息包括:幾何形狀定義信息時,根據幾何形狀定義信息,生成構件的幾何形狀;
當幾何信息包括:幾何形狀定義信息及幾何形狀信息時,根據幾何形狀定義信息及幾何形狀信息,生成構件的幾何形狀。
在本發明實施例中,bim模型數據中,構件的幾何信息包括幾何形狀定義信息及幾何形狀定義信息,該幾何形狀定義信息是對幾何形狀的定義,例如一個三角形的構件,其幾何形狀定義信息為三角形的三條邊的長度信息,以及三個頂點的夾角度數信息,而幾何形狀信息為構件在bim模型數據中的幾何形狀,對于簡單的構件而言,由于其幾何形狀較為簡單,通過幾何形狀定義信息就能夠直接還原出構件的幾何形狀,而對于復雜的構件而言,通過幾何形狀定義信息只能夠得知構件中邊長、個數及角度等定義信息,但是無法能夠從上述幾何形狀定義信息構建出幾何形狀,因此復雜的構件的幾何形狀信息不可或缺,對于結構簡單的構件,其幾何信息只包括幾何形狀定義信息,根據幾何形狀定義信息即可生成構件的幾何形狀,對于復雜的構件而言,其幾何信息包括:幾何形狀定義信息及幾何形狀信息,需要根據幾何形狀定義信息及幾何形狀信息,生成構件的幾何形狀。
在本發明實施例中,解壓構件編號列表獲取構件的編號及對應的非幾何信息及向量信息,并通過構件編號列表讀取構件編號字典中的幾何信息,從而生成構件的幾何形狀及非幾何信息,并且還原構件的空間位置信息,無需一一存儲相同編號的幾何信息,利用構件編號列表即可讀取對應的幾何信息,避免重復的幾何信息占用傳輸數據量,以及數據存儲空間。
如圖5所示,本發明實施例提供的一種bim模型數據還原裝置,包括:
解壓模塊51,用于分別解壓構件編號列表及構件編號字典;
幾何信息讀取模塊52,用于根據構件編號列表,在構件編號字典中讀取編號對應的幾何信息,構件編號列表包括:所有的編號對應的非幾何信息及向量信息,構件編號字典包括:編號對應的幾何信息;及
構件生成模塊53,用于根據編號對應的幾何信息及非幾何信息,生成構件的幾何形狀及非幾何信息,并根據向量信息還原構件的空間位置信息。
解壓模塊51,分別解壓構件編號列表及構件編號字典,由于相同的構件賦予了相同的編號,并且對應的幾何信息相同,構件編號字典具體為將編號與對應的幾何信息形成映射關系的構件編號字典,可以通過編號查找到對應的幾何信息,其中,對相同的編號壓縮存儲一份對應的幾何信息;構件編號列表包含了每個構件的非幾何信息及向量信息,因為相同的構件其幾何信息相同,但是,其非幾何信息及向量信息可以不相同,因此,對于構件的非幾何信息及向量信息需要逐一存儲。
幾何信息讀取模塊52,根據構件編號列表,在構件編號字典中讀取編號對應的幾何信息,由于構件編號列表包括所有的構件的編號,因此,利用構件編號列表在構件編號字典中讀取編號對應的幾何信息可以保證每個構件均能夠獲取到對應的幾何信息,構件編號列表包括:所有的編號對應的非幾何信息及向量信息,構件編號字典包括:編號對應的幾何信息。
進一步地,幾何信息讀取模塊52包括:
列表排序模塊521,用于根據編號,對構件編號列表進行排序;及
循環讀取模塊522,用于對于相同的編號,在構件編號字典中循環讀取對應的幾何信息。
具體地,由于構件編號列表中,包括很多相同的編號,通過排序的方式,可以使得相同的編號進行集合,有助于在構件編號字典中循環讀取對應的幾何信息,避免了每次需要根據編號進行查找的過程,增加讀取幾何信息的速度,從而提高bim模型數據的還原效率。
構件生成模塊53,在構件編號字典中讀取到對應的幾何信息后,以及構件編號列表中的非幾何信息,生成構件的幾何形狀及非幾何信息,并根據向量信息還原構件的空間位置信息。
在本發明實施例中,解壓構件編號列表獲取構件的編號及對應的非幾何信息及向量信息,并通過構件編號列表讀取構件編號字典中的幾何信息,從而生成構件的幾何形狀及非幾何信息,并且還原構件的空間位置信息,無需一一存儲相同編號的幾何信息,利用構件編號列表即可讀取對應的幾何信息,避免重復的幾何信息占用傳輸數據量,以及數據存儲空間。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。