占鑫奎
廣州市城市排水有限公司 廣東 廣州 510630
BIM(Building Information Modeling)即建筑信息模型技術(shù),從提出至今已在建筑行業(yè)得到充分使用。當(dāng)前BIM三維建模軟件雖然種類繁多,但針對模型信息的存儲格式大多不同,且通常軟件的體量較大,實際使用成本較高,不同軟件間交互性能較差。工程信息交換標(biāo)準(zhǔn)IFC(Industry Foundation Classes)的出現(xiàn)及應(yīng)用,可以有效促進(jìn)工程多專業(yè)、全生命周期、不同階段的信息協(xié)作、交換及共享。本文以實際消防工程為例,直接使用基于IFC標(biāo)準(zhǔn)架構(gòu)的物理文本文件對消防水系統(tǒng)工程量信息進(jìn)行識別與提取,提高了BIM模型的使用效率。
IFC 標(biāo)準(zhǔn)采用 EXPRESS 語言來定義和表達(dá)產(chǎn)品數(shù)據(jù)模型,EXPRESS語言是一種形式化描述語言,它吸收了現(xiàn)代編程語言的特點,主要目的是為建立產(chǎn)品的數(shù)據(jù)模型,對產(chǎn)品的幾何、拓?fù)洹⒉牧?、管理信息等進(jìn)行描述[1-2]。
國內(nèi)對IFC標(biāo)準(zhǔn)的研究側(cè)重于IFC標(biāo)準(zhǔn)的架構(gòu)解析及IFC擴(kuò)展應(yīng)用等方面,其中,王勇等[3]學(xué)者對IFC標(biāo)準(zhǔn)描述方法進(jìn)行深入解析,將三種擴(kuò)展機(jī)制應(yīng)用到項目施工進(jìn)度管理、成本管理、安全管理、質(zhì)量管理及綠色建筑等5個方面;馬智亮等[4]學(xué)者也將成本預(yù)算領(lǐng)域相關(guān)信息實現(xiàn)IFC擴(kuò)展應(yīng)用。反而針對IFC物理文件層面的直接使用研究較少,本文將基于IFC底層標(biāo)準(zhǔn)架構(gòu)及EXPRESS語言的描述方法,對IFC物理文件進(jìn)行文本化處理和語義解析,將其應(yīng)用于消防水系統(tǒng)工程量統(tǒng)計。從IFC物理文件的層面,直接對消防水系統(tǒng)所涉及的工程量信息進(jìn)行識別與提取。
以廣州某學(xué)校項目的消防工程為例,對消防水系統(tǒng)工程量統(tǒng)計涉及的信息進(jìn)行梳理分析,總結(jié)出需從IFC物理文件中識別的消防水系統(tǒng)工程量的信息,如下表所示。
表1 需識別的消防水系統(tǒng)工程量信息
將IFC物理文件中表達(dá)的信息與IFC標(biāo)準(zhǔn)文件中對實體屬性的描述方法及實體間的關(guān)聯(lián)關(guān)系進(jìn)行梳理,從而實現(xiàn)基于IFC物理文件對消防水系統(tǒng)工程量的相關(guān)信息的識別。
1)管道信息識別
(1)直接屬性
在IFC物理文件中消防管道是以IFCFlowsegment實例進(jìn)行表達(dá)的,實體的各屬性值解釋如圖1所示,其中第六個屬性對管道的位置信息進(jìn)行描述,第七個屬性對管道的幾何信息進(jìn)行描述。
圖1 管道實例屬性值解釋
(2)導(dǎo)出屬性
對于管道的位置信息,是使用IFCLocalPlacement實體進(jìn)行描述,采取在相對坐標(biāo)系通過逐層嵌套的方式形成。因本文需識別管道信息與位置無關(guān),故對位置信息屬性不進(jìn)行深入解析。
對于管道的幾何信息,是使用IFCProductDefinitionShape實體進(jìn)行定義,對于具體的幾何信息表達(dá),是采用IFCExtrudedAreaSolid實體進(jìn)行描述,該實體包括四個屬性:拉伸截面定義、拉伸起始位置定義、拉伸方向定義以及拉伸長度定義。
(3)反屬性
對于管道的反屬性,采用關(guān)聯(lián)實例將屬性集與目標(biāo)實例進(jìn)行關(guān)聯(lián),從而使如圖2所示,目標(biāo)實例#563138具有屬性集所包含的屬性,其中該實例共計關(guān)聯(lián)了9個屬性集,分別為:“Pset_DistributionFlowElementCommon”、“其他”、“尺寸標(biāo)注”、“機(jī)械”、“機(jī)械-流量”、“標(biāo)記數(shù)據(jù)”、“絕緣層”、“階段化”、“限制條件”。對于管道材料信息,在屬性集“機(jī)械”中進(jìn)行描述,對應(yīng)屬性名稱為“材質(zhì)”。
圖2 管道反屬性定義解析
綜上,本研究關(guān)注的管道的管徑及長度信息可從導(dǎo)出屬性的IFCExtrudedAreaSolid實體的屬性信息中讀取,管道材質(zhì)信息可從反屬性的“機(jī)械”屬性集中讀取。
2)連接件信息識別
(1)直接屬性
在IFC物理文件中彎頭是以IFCFlowFitting實例進(jìn)行表達(dá)的,實體的各屬性值解釋如圖3所示,其中第六個屬性對彎頭的位置信息進(jìn)行描述,第七個屬性對彎頭的幾何信息進(jìn)行描述。
圖3 彎頭實例屬性值解釋
(2)導(dǎo)出屬性
對于彎頭的位置信息,具體描述方法與管道一致,此處不再贅述。
對于彎頭的幾何信息,使用IFCShapeRepresentation實體進(jìn)行表達(dá)。如圖4所示采用映射實例將映射源實例(#6367)對目標(biāo)實例(#816239)進(jìn)行映射定義,從而實現(xiàn)對目標(biāo)實例的幾何信息的表達(dá)。其中:因彎頭為非規(guī)則模型,在IFC物理文件中采用IFCFacetedBrep實體進(jìn)行描述,具體為:使用點組合描述閉合面(IFCFace),面組合描述閉合殼體(IFCClosedshell)的形式,對實體的幾何形狀進(jìn)行描述;一個映射源實例可以對多個具有相同幾何形狀的目標(biāo)實例進(jìn)行映射定義。
圖4 彎頭幾何信息定義解釋
(3)反屬性
對于彎頭的反屬性,表達(dá)方法與管道一致。在“尺寸標(biāo)注”屬性集中對彎頭的公稱直徑(針對三通或四通會存在多個直徑信息)、角度等信息進(jìn)行描述;在“其他”屬性集中對彎頭(或三通、四通)的類別進(jìn)行描述。
綜上,本研究關(guān)注的連接件類型信息可以從導(dǎo)出屬性中進(jìn)行讀取或從屬性集中進(jìn)行獲取,對于連接件是否具有相同幾何尺寸可通過幾何信息中映射源實例是否相同進(jìn)行判斷。
3)閥門信息識別
在IFC物理文件中閥門是以IFCFlowController實例進(jìn)行表達(dá)的。對于閥門的直接屬性、導(dǎo)出屬性、反屬性等信息描述方法與連接件一致,此處不再贅述。
本研究關(guān)注的閥門類型信息可以從導(dǎo)出屬性中進(jìn)行讀取或從屬性集中進(jìn)行獲取,對于閥門是否具有相同幾何尺寸可通過幾何信息中映射源實例是否相同進(jìn)行判斷。
4)噴頭信息識別
在IFC物理文件中噴頭是以IFCFlowTerminal實例進(jìn)行表達(dá)的。對于噴頭的直接屬性、導(dǎo)出屬性、反屬性等信息描述方法與連接件一致,此處不再贅述。
本研究關(guān)注的噴頭的類型信息可以從屬性集中獲取。
1)管道工程量信息的提取
根據(jù)管道的信息識別方法,進(jìn)行管道工程量信息提取算法流程設(shè)計,主要包括以下四個步驟:
(1)IFC物理文件的預(yù)處理
為便于計算機(jī)對IFC物理文件進(jìn)行語句上的識別讀取,需將IFC物理文件根據(jù)STEP標(biāo)準(zhǔn)進(jìn)行預(yù)處理,分割為“實例名”、“實體名”、“實例屬性”等字符串,并對實例屬性中包含的屬性值以“,”為界形成單獨的數(shù)據(jù)字段。
(2)目標(biāo)實例識別及嵌套檢索
識別實體名為“IFCFLOWSEGMENT”的目標(biāo)實例,根據(jù)實例名由小到大,對實例進(jìn)行逐條解析。首先讀取目標(biāo)實例的第七個屬性值,定位至實體名為“IFCEXTRUDEDAREASOLID”的實例,其中:對該實例的第一個屬性值進(jìn)行嵌套檢索,定位至實體名為“IFCCIRCLEPROFILEDEF”的實例,此實例的第四個屬性值即為管道的管徑信息;該實例的第四個屬性值為管道的長度信息。
(3)信息讀取與統(tǒng)計
對步驟二中讀取的管道直徑及長度信息進(jìn)行存儲,待完成全部目標(biāo)實例的遍歷后,以管道直徑為原則進(jìn)行分類統(tǒng)計。
(4)信息輸出
將步驟三中統(tǒng)計的信息以表格的形式輸出形成表格文檔。
2)連接件、閥門及噴頭的工程量信息的提取
因連接件、閥門及噴頭的信息識別方法基本相同,工程量信息的提取方法一致。根據(jù)其提取方法設(shè)計工程量信息提取算法流程,該算法主要包括五個步驟:
(1)IFC物理文件預(yù)處理
(2)目標(biāo)實例幾何信息的映射實例讀取
按照實體名識別目標(biāo)實例。讀取目標(biāo)實例的第七個屬性值。
(3)目標(biāo)實例的反屬性解析及讀取
將目標(biāo)實例的實例名進(jìn)行全局檢索,對以目標(biāo)實例名作為屬性,且實體名為“IFCRELDEFINSBYPROPERTIES”的實例進(jìn)行全部提取。對提取出的實例的第六個屬性值進(jìn)行嵌套檢索。存儲屬性集名稱為“尺寸標(biāo)注”及“其他”的屬性集的屬性值,并對屬性值使用UFT-8編碼體系進(jìn)行解析。
(4)信息統(tǒng)計
將步驟二保存的實例的兩個屬性值進(jìn)行對比統(tǒng)計,具有相同兩屬性值的實例即為具有相同幾何尺寸的連接件(或閥門、噴頭),同種連接件數(shù)量做累加。
(5)信息輸出
將不同類型的連接件(或閥門、噴頭)數(shù)量及對應(yīng)的尺寸信息以表格的形式輸出形成表格文檔。
根據(jù)上文所述消防系統(tǒng)工程量提取算法流程,使用python2.7作為主要開發(fā)語言,形成“IFC tool”軟件。
點擊“瀏覽”,選擇需操作的IFC模型文件,根據(jù)實際需求勾選需統(tǒng)計的管道或管件的類型,點擊“運行”即可執(zhí)行統(tǒng)計操作,軟件會以表格形式輸出工程量統(tǒng)計結(jié)果。
本文基于IFC底層標(biāo)準(zhǔn)架構(gòu)及EXPRESS語言的描述方法,對IFC物理文件中管道、連接件、閥門、噴頭等實體進(jìn)行文本化處理和語義解析,實現(xiàn)對消防水系統(tǒng)工程量信息的識別。并根據(jù)管道及管件的信息識別方法設(shè)計了對應(yīng)的工程量信息提取算法流程,使用python2.7作為主要開發(fā)語言,完成“IFC tool”軟件的開發(fā)。從IFC物理文件的層面,實現(xiàn)直接對消防水系統(tǒng)的工程量信息進(jìn)行識別與提取,減少對大型三維建模軟件的依賴,提高了BIM模型的使用效率,為IFC模型文件的綜合應(yīng)用提供理論支持。
但本文仍存在一定局限性,其中對消防水系統(tǒng)工程中需安裝的吊桿、抗震支架等部件在BIM物理文件中的表達(dá)方法未進(jìn)行系統(tǒng)分析,故未納入工程量統(tǒng)計范圍;對管道與管件間實際施工中存在連接重合部分,因BIM模型中未表達(dá),故此處工程量未納入統(tǒng)計范圍。