本發(fā)明屬于地理信息系統(tǒng)、建筑學(xué)以及計(jì)算機(jī)圖形學(xué)技術(shù)領(lǐng)域,具體涉及一種基于cad圖紙的建筑物室內(nèi)跨樓層空間提取方法。
背景技術(shù):
建筑物室內(nèi)空間是現(xiàn)代人類生活、工作和娛樂的主要場所。在數(shù)字城市建設(shè)、建筑信息化管理、室內(nèi)環(huán)境模擬等領(lǐng)域中,建筑室內(nèi)空間均是重要的研究對象。現(xiàn)有的建筑物室內(nèi)空間提取方法大致可以分為基于人工交互的建模方法、基于cad圖紙的建模方法兩類。
基于人工交互的建模方法可以構(gòu)建室內(nèi)空間的三維實(shí)體,如在revit等基于ifc數(shù)據(jù)模型的現(xiàn)代建筑設(shè)計(jì)軟件中,雖然有建筑空間的實(shí)體,但仍然需要人工確定空間的幾何形體,無法實(shí)現(xiàn)自動化的空間建模。其空間建模精度與效率取決于建模者的熟悉程度,因此難以大規(guī)模推廣。
基于cad圖紙的建模方法,可以先通過語義轉(zhuǎn)換、符號理解等方法提取墻、柱、門窗等各類建筑構(gòu)件信息,建立建筑物三維實(shí)體模型。再根據(jù)“室內(nèi)空間是由各類建筑構(gòu)件圍合形成的獨(dú)立空間”這一基本原理,采用間接推斷的方式來確定其邊界,從而實(shí)現(xiàn)建筑物室內(nèi)空間的三維建模。christianah-soon、朱俊芳等在論文中提出了通過識別cad圖紙中構(gòu)件所圍合的環(huán)來識別潛在空間,實(shí)現(xiàn)了室內(nèi)空間的識別和幾何邊界的確定。
然而,現(xiàn)有的室內(nèi)空間提取方法僅僅考慮了單樓層簡單室內(nèi)情況,從而導(dǎo)致了對于復(fù)雜建筑物室內(nèi)跨樓層空間幾何提取錯誤。并且目前現(xiàn)有技術(shù)中,尚沒有基于cad跨樓層空間提取方法。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種基于cad圖紙的建筑物室內(nèi)跨樓層空間提取方法,本發(fā)明在保證室內(nèi)空間建模效率的情況下,極大的提高了建筑物室內(nèi)跨樓層空間幾何的正確性,為建筑物室內(nèi)氣流運(yùn)動、日照分析等應(yīng)用提供了關(guān)鍵依據(jù)。
技術(shù)方案:本發(fā)明一種基于cad圖紙的建筑物室內(nèi)跨樓層空間提取方法,依次包括以下步驟:
(1)根據(jù)建筑物室內(nèi)空間提取方法,獲取室內(nèi)單個樓層空間建模結(jié)果s={si,i∈[0,n)},包括n個單個樓層建筑室內(nèi)空間集合;
(2)在cad圖紙中,提取各層跨樓層空間標(biāo)識符號a={ai,i∈[0,m)},包括m個跨樓層空間標(biāo)識符號;
(3)室內(nèi)單樓層空間連通關(guān)系的判斷:從建筑頂層開始,依次向下遍歷建筑物各室內(nèi)單樓層空間提取結(jié)果集合,判斷該層建筑室內(nèi)空間是否具有向下連通關(guān)系,即是否包含跨樓層空間標(biāo)識符號;
(4)跨樓層建筑空間的建模:對跨樓層空間的三維建模,將具有上下連通的兩個或多個單樓層室內(nèi)空間合并,實(shí)現(xiàn)了跨樓層建筑空間的真實(shí)表達(dá)。
進(jìn)一步的,所述步驟(1)的室內(nèi)空間提取具體過程為:通過約束網(wǎng)絡(luò)、樣例驅(qū)動符號識別等方法,在cad圖紙中提取圍合建筑物室內(nèi)空間的構(gòu)件,這些起圍合作用的建筑構(gòu)件即為室內(nèi)空間邊界構(gòu)件;讀入室內(nèi)空間邊界構(gòu)件的二維幾何集b={bi,i∈[0,n)},bi表示第i個邊界構(gòu)件的幾何,n表示邊界構(gòu)件的個數(shù),然后通過邊界構(gòu)件集合b計(jì)算室內(nèi)空間邊界構(gòu)件的并集u;對圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u求凸包c(diǎn);用凸包c(diǎn)和圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u做布爾差運(yùn)算,得到相應(yīng)多邊形,該多邊形包括邊界構(gòu)件圍合的室內(nèi)空間和邊界凸包c(diǎn)覆蓋的室外空間;區(qū)分并剔除不具有室內(nèi)空間特性的室外空間多邊形,由于室內(nèi)空間均通過建筑構(gòu)件圍合而成,所以必然不可能與樓層凸包以外的區(qū)域直接相接,因此室內(nèi)空間和室外空間判別的方法即為檢測提取出的空間多邊形與凸包c(diǎn)邊界的相接關(guān)系:如果空間多邊形與凸包c(diǎn)邊界相接,則該空間屬于室外空間,剔除該空間;如果空間多邊形與凸包c(diǎn)邊界相離,則該空間為建筑物室內(nèi)空間,保存該空間,最終得到所有建筑物室內(nèi)空間。
進(jìn)一步的,所述步驟(2)中,將跨樓層空間標(biāo)識符號的幾何表達(dá)為兩條成一定角度并相接的直線段,兩條直線段構(gòu)成一條多段線,橫跨建筑物室內(nèi)跨樓層空間,表達(dá)該空間與下層空間之間直接連通;跨樓層標(biāo)識符號在cad圖紙的獨(dú)立圖層中,通過圖層名稱與圖元幾何的關(guān)系,在cad圖紙中得到跨樓層標(biāo)識符號。
進(jìn)一步的,所述步驟(3)的具體過程為:從建筑頂層開始,依次向下遍歷建筑物各單樓層室內(nèi)空間提取結(jié)果集合,判斷該層建筑室內(nèi)空間是否具有向下連通關(guān)系,即是否包含跨樓層空間標(biāo)識符號;如果空間包含跨樓層空間標(biāo)識符號,則該空間為向下連通的建筑空間,遍歷下一樓層的所有空間,查詢與該空間具有最大重疊面的空間,即為向上連通的建筑空間,重復(fù)判斷步驟,直到第一層樓為止。
有益效果:本發(fā)明能夠直接根據(jù)單樓層室內(nèi)空間提取結(jié)果與cad圖紙跨樓層空間標(biāo)識符號對室內(nèi)跨樓層空間進(jìn)行提取,從而彌補(bǔ)了復(fù)雜室內(nèi)情況對跨樓層空間提取的空缺。另外,本發(fā)明還能夠有效地解決建筑物三維建模過程中室內(nèi)跨樓層空間的提取問題,大大增強(qiáng)了室內(nèi)跨樓層空間幾何提取正確率,進(jìn)而提高建筑物室內(nèi)空間提取的算法效率。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為實(shí)施例的輸入單樓層建筑室內(nèi)空間集示意圖;
圖3為實(shí)施例中跨樓層空間連通關(guān)系示意圖;
圖4為實(shí)施例中跨樓層空間建模示意圖。
具體實(shí)施方式
下面對本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明,但是本發(fā)明的保護(hù)范圍不局限于所述實(shí)施例。
如附圖1所示,本發(fā)明一種基于cad圖紙的建筑物室內(nèi)跨樓層空間提取方法,依次包括以下步驟:
(1)通過約束網(wǎng)絡(luò)、樣例驅(qū)動符號識別等方法,在cad圖紙中提取圍合建筑物室內(nèi)空間的構(gòu)件,這些起圍合作用的建筑構(gòu)件即為室內(nèi)空間邊界構(gòu)件;讀入室內(nèi)空間邊界構(gòu)件的二維幾何集b={bi,i∈[0,n)},bi表示第i個邊界構(gòu)件的幾何,n表示邊界構(gòu)件的個數(shù),然后通過邊界構(gòu)件集合b計(jì)算室內(nèi)空間邊界構(gòu)件的并集u;對圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u求凸包c(diǎn);用凸包c(diǎn)和圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u做布爾差運(yùn)算,得到相應(yīng)多邊形,該多邊形包括邊界構(gòu)件圍合的室內(nèi)空間和邊界凸包c(diǎn)覆蓋的室外空間;區(qū)分并剔除不具有室內(nèi)空間特性的室外空間多邊形,由于室內(nèi)空間均通過建筑構(gòu)件圍合而成,所以必然不可能與樓層凸包以外的區(qū)域直接相接,因此室內(nèi)空間和室外空間判別的方法即為檢測提取出的空間多邊形與凸包c(diǎn)邊界的相接關(guān)系:如果空間多邊形與凸包c(diǎn)邊界相接,則該空間屬于室外空間,剔除該空間;如果空間多邊形與凸包c(diǎn)邊界相離,則該空間為建筑物室內(nèi)空間,保存該空間,最終得到所有建筑物室內(nèi)空間s={si,i∈[0,n)},包括n個單個樓層建筑室內(nèi)空間集合;
(2)在cad圖紙中,提取各層跨樓層空間標(biāo)識符號a={ai,i∈[0,m)},包括m個跨樓層空間標(biāo)識符號;將跨樓層空間標(biāo)識符號的幾何表達(dá)為兩條成一定角度并相接的直線段,兩條直線段構(gòu)成一條多段線,橫跨建筑物室內(nèi)跨樓層空間,表達(dá)該空間與下層空間之間直接連通;跨樓層標(biāo)識符號在cad圖紙的獨(dú)立圖層中,通過圖層名稱與圖元幾何的關(guān)系,在cad圖紙中得到跨樓層標(biāo)識符號;
(3)室內(nèi)單樓層空間連通關(guān)系的判斷:從建筑頂層開始,依次向下遍歷建筑物各單樓層室內(nèi)空間提取結(jié)果集合,判斷該層建筑室內(nèi)空間是否具有向下連通關(guān)系,即是否包含跨樓層空間標(biāo)識符號;如果空間包含跨樓層空間標(biāo)識符號,則該空間為向下連通的建筑空間,遍歷下一樓層的所有空間,查詢與該空間具有最大重疊面的空間,即為向上連通的建筑空間,重復(fù)判斷步驟,直到第一層樓為止;
(4)跨樓層建筑空間的建模:對跨樓層空間的三維建模,將具有上下連通的兩個或多個單樓層室內(nèi)空間合并,實(shí)現(xiàn)了跨樓層建筑空間的真實(shí)表達(dá)。
實(shí)施例:
本實(shí)施例的步驟如下:
(1)通過約束網(wǎng)絡(luò)和樣例驅(qū)動符號識別等方法,在cad圖紙中提取圍合建筑物室內(nèi)空間的構(gòu)件,這些起圍合作用的建筑構(gòu)件即為室內(nèi)空間邊界構(gòu)件;讀入室內(nèi)空間邊界構(gòu)件的二維幾何集b={bi,i∈[0,n)},bi表示第i個邊界構(gòu)件的幾何,n表示邊界構(gòu)件的個數(shù),然后通過邊界構(gòu)件集合b計(jì)算室內(nèi)空間邊界構(gòu)件的并集u;對圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u求凸包c(diǎn);用凸包c(diǎn)和圍合建筑物室內(nèi)空間的邊界構(gòu)件并集u做布爾差運(yùn)算,得到相應(yīng)多邊形,該多邊形包括邊界構(gòu)件圍合的室內(nèi)空間和邊界凸包c(diǎn)覆蓋的室外空間;區(qū)分并剔除不具有室內(nèi)空間特性的室外空間多邊形,由于室內(nèi)空間均通過建筑構(gòu)件圍合而成,所以必然不可能與樓層凸包以外的區(qū)域直接相接,因此室內(nèi)空間和室外空間判別的方法即為檢測提取出的空間多邊形與凸包c(diǎn)邊界的相接關(guān)系:如果空間多邊形與凸包c(diǎn)邊界相接,則該空間屬于室外空間,剔除該空間;如果空間多邊形與凸包c(diǎn)邊界相離,則該空間為建筑物室內(nèi)空間,保存該空間,最終得到建筑物單樓層建筑空間集合s={si,i∈[0,n)},包括n個樓層;
本實(shí)施例的第一層中的單樓層建筑空間集合為:
n={n1,n2,n3,n4,n5,n6,n7,n8},括號中的8個建筑空間,其分布如附圖2(a)所示。
第二層中的單樓層建筑空間集合為:
n={n9,n10,n11,n12,n13,n14,n15,n16},括號中的8個建筑空間,其分布如附圖2(b)所示。
(2)在cad圖紙中,提取各層跨樓層空間標(biāo)識符號a={ai,i∈[0,m)},包括m個跨樓層空間標(biāo)識符號。建筑制圖標(biāo)準(zhǔn)中將跨樓層空間標(biāo)識符號的幾何表達(dá)為兩條成一定角度并相接的直線段。兩條直線段構(gòu)成一條多段線,橫跨建筑物室內(nèi)跨樓層空間,表達(dá)該空間與下層空間之間直接連通??鐦菍訕?biāo)識符號在cad圖紙的獨(dú)立圖層中,通過圖層名稱與圖元幾何的關(guān)系,可以在cad圖紙中得到跨樓層標(biāo)識符號。
本實(shí)例中提取的所有洞符號的集合a={a1},如附圖3所示;
(3)單樓層室內(nèi)空間連通關(guān)系的判斷。從建筑頂層開始,依次向下遍歷建筑物各單樓層室內(nèi)空間提取結(jié)果集合,判斷該層建筑室內(nèi)空間是否具有向下連通關(guān)系,即是否包含跨樓層空間標(biāo)識符號。如果空間包含跨樓層空間標(biāo)識符號,則該空間為向下連通的建筑空間,遍歷下一樓層的所有空間,查詢與該空間具有最大重疊面的空間,即為向上連通的建筑空間,重復(fù)判斷步驟,直到第一層樓為止;
本實(shí)例中,n16與a1具有包含關(guān)系,因此n16為向下連通空間;n8與n16在垂直投影面中具有最大重疊面,n8為向上連通建筑室內(nèi)空間,如附圖3所示。
(4)跨樓層建筑空間的建模。對跨樓層空間的三維建模,將具有上下連通的兩個或多個單樓層建筑空間合并,實(shí)現(xiàn)了跨樓層建筑空間的真實(shí)表達(dá)。
本實(shí)例中,第二層中的單樓層建筑室內(nèi)空間n16與第一層中的n8在空間上是具有上下連通的空間。將n16與n8幾何合并,得到正確的跨樓層空間n8。