




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第9卷第3期2017年6月Vol9No3Jun2017 【作者簡(jiǎn)介】陳遠(yuǎn)(1975,男,博士,副教授,主要研究方向:土木建筑工程信息化?;贗FC 標(biāo)準(zhǔn)的BIM 模型編程語言解析方法研究陳遠(yuǎn)康虹張靜雅(鄭州大學(xué)土木工程學(xué)院,鄭州450001【摘要】IFC 標(biāo)準(zhǔn)定義了建筑信息模型交換的數(shù)據(jù)格式,為面向建筑全生命周期的信息交換和共享提供了標(biāo)準(zhǔn)的數(shù)據(jù)定義和數(shù)據(jù)模型,是目前對(duì)建筑信息描述最全面、最詳細(xì)的標(biāo)準(zhǔn),是解決建筑行業(yè)BIM 軟件之間數(shù)據(jù)交換性和互操作性問題的重要標(biāo)準(zhǔn)。但是IFC 基于EXPESS 語言來定義建筑信息交換與共享,EXPESS 語言本身不是編程語言且不可被計(jì)算機(jī)編譯執(zhí)行,因此使用計(jì)算
2、機(jī)編程語言解析和處理基于IFC 標(biāo)準(zhǔn)的BIM 模型,是BIM 軟件開發(fā)的基礎(chǔ)和關(guān)鍵技術(shù)。本研究利用開源的Java 插件,解析基于IFC 的BIM 模型,生成相對(duì)應(yīng)的IFC 實(shí)體類,在此基礎(chǔ)上,利用Java 語言來具體編程實(shí)現(xiàn)不同的應(yīng)用功能,為下一步的基于IFC 標(biāo)準(zhǔn)的土木建筑工程BIM 軟件開發(fā)奠定了基礎(chǔ)?!娟P(guān)鍵詞】建筑信息模型;BIM ;IFC ;Java 【中圖分類號(hào)】TU17【文獻(xiàn)標(biāo)識(shí)碼】A【文章編號(hào)】16747461(201703008505【DOI 】1016670/jcnkicn115823/tu20170315IFC (Industry Foundation Classes 標(biāo)準(zhǔn)
3、是build-ingSMAT International 1制定和維護(hù)的建筑信息模型BIM 數(shù)據(jù)交換標(biāo)準(zhǔn),從IFC4開始,IFC 標(biāo)準(zhǔn)已經(jīng)被ISO 國(guó)際標(biāo)準(zhǔn)組織接受為ISO 16739。IFC 是一個(gè)開放、標(biāo)準(zhǔn)化、支持?jǐn)U展的通用數(shù)據(jù)模型標(biāo)準(zhǔn),已被建設(shè)行業(yè)接受為國(guó)際標(biāo)準(zhǔn),其目的是使BIM 軟件在建筑業(yè)中的應(yīng)用具有更好的數(shù)據(jù)交換性和互操作性。IFC 是開放的建筑信息模型數(shù)據(jù)表達(dá)和交換標(biāo)準(zhǔn),為面向建筑全生命周期的信息交換和共享提供了標(biāo)準(zhǔn)的數(shù)據(jù)定義和數(shù)據(jù)模型。IFC 基于EX-PESS 語言來定義土木建筑工程領(lǐng)域信息交換與共享的數(shù)據(jù)表達(dá)。EXPESS 語言是描述產(chǎn)品信息模型的標(biāo)準(zhǔn)語言,EXPESS 不
4、是編程語言并且不可以被計(jì)算機(jī)編譯執(zhí)行,但是可以被JAVA 、C +、C#等面向?qū)ο蟮木幊陶Z言識(shí)別和處理。因此,使用計(jì)算機(jī)編程語言識(shí)別和處理土木建筑工程領(lǐng)域基于IFC 標(biāo)準(zhǔn)的數(shù)據(jù)表達(dá)和數(shù)據(jù)交換,以及IFC 標(biāo)準(zhǔn)的計(jì)算機(jī)編程語言實(shí)現(xiàn)方法,是基于IFC 標(biāo)準(zhǔn)的土木建筑工程BIM 軟件開發(fā)的基礎(chǔ)和關(guān)鍵技術(shù)。1IFC 標(biāo)準(zhǔn)概述開放性的國(guó)際標(biāo)準(zhǔn)IFC 描述了建筑產(chǎn)品各方面的信息,定義了建筑信息交換的數(shù)據(jù)格式和建筑物及其附屬物的信息交換格式,是目前對(duì)建筑信息描述最全面、最詳細(xì)的標(biāo)準(zhǔn)。從IFC 的2X3版本開始,加入了GIS 數(shù)據(jù)信息以及GUID ,目前的最新版本是IFC4。IFC 使用EXPESS 語言來描
5、述建筑對(duì)象、實(shí)例關(guān)系、對(duì)象屬性以及幾何、度量等資源。IFC 采用STEP Part21文件描述BIM 信息,即保存BIM 信息的物理文件格式為STEP Part21格式。當(dāng)前被廣泛支持的IFC2X3版本包含600多個(gè)實(shí)體定義,300多個(gè)類型定義,IFC 標(biāo)準(zhǔn)的信息描述由四個(gè)層次組成,代表不同的級(jí)別,從底層到頂層包括:資源層、核心層、共享層和領(lǐng)域?qū)?如圖1所示。位于最底層的資源層用來描述基本屬性的實(shí)體,包括幾何信息資源、成本資源、拓?fù)滟Y源、幾何模型資源、結(jié)構(gòu)荷載資源、幾何約束資源等,通常作為上層實(shí)體的基礎(chǔ)信息定義。核心層定義了模型 的核心框架,包括核心資源、控制擴(kuò)展、產(chǎn)品擴(kuò)展、過程擴(kuò)展等。共享層
6、包含最常用的實(shí)體以及跨專業(yè)交換的信息,包括共享的建筑構(gòu)件組成部分、共享的管理組成部分、共享的設(shè)施組成部分等。領(lǐng)域?qū)影ǜ黝I(lǐng)域具體的概念定義,包括建筑領(lǐng)域、結(jié)構(gòu)構(gòu)件領(lǐng)域、結(jié)構(gòu)分析領(lǐng)域、電氣領(lǐng)域等 。圖1IFC 標(biāo)準(zhǔn)信息描述層次基于IFC 標(biāo)準(zhǔn)的完整BIM 模型由類型定義、函數(shù)、規(guī)則和屬性集組成。IFC 模型的重要組成部分是類型定義,由實(shí)體類型、選擇類型、枚舉類型和定義類型四種類型組成。其中實(shí)體類型是IFC 模型的核心,是信息交換和共享的載體,而其他類型是以屬性值的方式作為實(shí)體類型屬性的引用。在IFC 層次體系中,核心層、共享層和領(lǐng)域?qū)又械乃袑?shí)體類型有一個(gè)共同的抽象基類Ifcoot 。Ifcoo
7、t 是處于頂層的抽象類,它有三個(gè)主要的繼承類:IfcObject-Definition 、IfcPropertyDefinition 以及Ifcelationship 。這三個(gè)抽象類及其繼承類構(gòu)成了IFC 模型的核心,處于核心層。而其他實(shí)體則主要由這三個(gè)抽象類繼續(xù)派生,構(gòu)成了不同領(lǐng)域和專業(yè)的實(shí)體類型,處于共享層和領(lǐng)域?qū)印fcObjectDefinition 的派生類If-cObject 有七個(gè)主要的繼承類,包括IfcActor 、Ifc-Group 、IfcProduct 、IfcControl 、IfcProcess 、Ifcesource 和IfcProject 。它們構(gòu)成了Ifc 模型
8、的核心信息交換實(shí)體。IfcPropertyDefinition 及其繼承類定義了Ifc 模型常用的屬性信息,并且提供了信息擴(kuò)展方法。Ifc-elationship 及其繼承類為Ifc 模型提供了實(shí)體與實(shí)體之間、實(shí)體與屬性之間等各種復(fù)雜關(guān)系的定義。2IFC 模型的計(jì)算機(jī)編程語言解析方法IFC 模型是基于EXPESS 語言描述的開放性的建筑信息數(shù)據(jù)格式。EXPESS 語言是一種面向?qū)ο蟮?、?guī)范化的數(shù)據(jù)描述語言,重點(diǎn)在數(shù)據(jù)的描述和定義,EXPESS 語言不是計(jì)算機(jī)編程語言,不能被計(jì)算機(jī)編譯和執(zhí)行。因此基于EXPESS 語言的IFC 模型需要首先被解析,以生成相對(duì)應(yīng)的IFC 實(shí)體對(duì)象,建立實(shí)體對(duì)象之間
9、的層次結(jié)構(gòu)關(guān)系,并且通過C#、C +或者Java 等計(jì)算機(jī)語言來具體編程實(shí)現(xiàn)不同的應(yīng)用功能。目前基于IFC 標(biāo)準(zhǔn)的BIM 軟件開發(fā)有很多,包括IFC 模型瀏覽器2、基于IFC標(biāo)準(zhǔn)的BIM 模型格式檢查與驗(yàn)證3以及基于IFC標(biāo)準(zhǔn)的幾何模型的解析4等。有三種主要的解析方法可以將基于EXPESS 語言定義的IFC 模型與具體的計(jì)算機(jī)編程語言進(jìn)行綁定,以形成可供計(jì)算機(jī)調(diào)用的程序。這三種方法為早綁定、晚綁定和混合綁定。早綁定指在計(jì)算機(jī)編程語言中為IFC 模型中的每一個(gè)實(shí)體創(chuàng)建具體的數(shù)據(jù)結(jié)構(gòu),并且能夠通過編程訪問具體的數(shù)據(jù)。晚綁定指通過EXPESS 數(shù)據(jù)字典來訪問具體的數(shù)據(jù),優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,缺點(diǎn)為缺乏類型
10、檢查以及編程接口API 不夠友好?;旌辖壎ㄖ附Y(jié)合了兩者的特點(diǎn),但在具體軟件開發(fā)中使用較少。由于IFC 是開放性的BIM 標(biāo)準(zhǔn),經(jīng)過多年的發(fā)展,出現(xiàn)了許多商品化和開源的IFC 開發(fā)工具和插件。例如典型的商業(yè)化工具平臺(tái)EPM Technology ,包含的系列IFC 開發(fā)工具有:EDMdeveloperSeat Bas-ic ,EDMdeveloperSeat Professional ,EDMmodelMigrato ,EDMmodelConverter 等。Eurostep 的IFC Active Tool-box ,以及STEP Tools 的ST Developer 等。開源的IFC 工具
11、箱包括BIMserver 和IFC Tools Project 等。這些IFC 工具及插件提供了較為完整的EXPESS 數(shù)據(jù)讀寫及訪問功能,能夠有效地處理IFC 模型數(shù)據(jù)。通過使用這些工具和插件,使快速開發(fā)基于IFC 標(biāo)準(zhǔn)的BIM 軟件成為可能,研究人員可以較少關(guān)注底層解析IFC 模型的具體方法,而將大量的精力用在針對(duì)解決建筑行業(yè)具體問題的軟件功能基于IFC 標(biāo)準(zhǔn)的BIM 模型編程語言解析方法研究87開發(fā)。 本文以其中IFC Tools Project 為例,探討基于IFC 標(biāo)準(zhǔn)的BIM 模型解析方法。IFC Tools Project 5提供了一個(gè)面向?qū)ο蟮脑缃壎↗ava 插件, 用來解析基
12、于IFC2x3和IFC4的BIM 模型。這個(gè)插件可以方便的讀取、寫入、更改和添加IFC 文件,將IFC 實(shí)體映射為Java 類,并且對(duì)應(yīng)的Java 類包含了IFC 實(shí)體的所有屬性,以及支持IFC 實(shí)體的反轉(zhuǎn)屬性。這個(gè)插件主要由三部分組成:(1每個(gè)IFC 實(shí)體都有相對(duì)應(yīng)的Java 類。每個(gè)Java 類都提供能夠讀取和設(shè)置對(duì)應(yīng)IFC 實(shí)體屬性的方法,利用這些類的方法可以非常方便的讀取和設(shè)置包括反轉(zhuǎn)屬性在內(nèi)的所有屬性。IFC 框架體系中所有實(shí)體的繼承結(jié)構(gòu)都體現(xiàn)到了相對(duì)應(yīng)的Java 類的繼承結(jié)構(gòu)。IFC 框架體系中所有定義類型和實(shí)體類型都映射為相應(yīng)的接口。(2IFC 文件解析器,可以解析IFC STE
13、P 文件和IFC Zip 文件。(3核心IFC 模型IfcModel ,用來讀取IFC 文件,操作IFC 模型中所包含的IFC 實(shí)體,增加與刪除IFC 實(shí)體。通過調(diào)用IfcModel 類的文件讀取方法, IFC 模型將會(huì)被加載到內(nèi)存并且所有IFC 實(shí)體將會(huì)被初始化,如圖2所示。 圖2IFC 文件讀取與加載方法以IFC 標(biāo)準(zhǔn)為基礎(chǔ)的BIM 模型,其空間結(jié)構(gòu)的組織形式包括項(xiàng)目、場(chǎng)地、建筑、樓層、空間等。其中IfcProject 是整個(gè)模型的根實(shí)體,也是IFC 模型解析的起點(diǎn)。圖3展示了在Java 程序中創(chuàng)建If-cProject 類的實(shí)例,以及獲得所有IFC 實(shí)體對(duì)象的集合。每一個(gè)IFC 實(shí)體的屬
14、性,都可以通過相對(duì)應(yīng)的Java 類包含的get 和set 方法讀取和設(shè)置,如圖圖4所示,IfcWall 實(shí)體的representation 屬性可以通過對(duì)應(yīng)的IfcWall 類的getepresentation (方法獲得。圖3創(chuàng)建IfcProject 類的實(shí)例,獲得所有IFC 實(shí)體對(duì)象的集合圖4獲得IfcWall 實(shí)體的representation 屬性3IFC 模型解析實(shí)例分析本文選取的IFC 測(cè)試模型為BuildingSMAT 提供的IFC 文件,版本為IFC2x3,如圖5所示。圖6為對(duì)應(yīng)的BIM 模型。Java 開發(fā)環(huán)境為Java 8、Eclipse Luna 、SWT /JFace
15、、CP 等。IFC 測(cè)試文件包括Ifc-Window 、IfcOpenElement 和IfcWall 三個(gè)實(shí)體,每個(gè)實(shí)體都有自己的屬性信息,包括寬度、高度、面積等。測(cè)試的目的為解析IFC 文件,獲取三個(gè)實(shí)體的物理屬性信息,即IfcPhysicalSimpleQuantity 實(shí)體所包含的數(shù)值信息。圖5IFC 測(cè)試文件 圖6IFC 測(cè)試文件對(duì)應(yīng)的BIM 模型如圖7所示,在IFC 文件的屬性信息描述和關(guān)聯(lián)機(jī)制中,屬性集是通過IfcDefinedByProperties 關(guān)系實(shí)體將IfcObject 與IfcPropertSetDefinition 描述的屬性集信息相關(guān)聯(lián)。IfcPropertSe
16、tDefinition 有三個(gè)派生類實(shí)體,其中IfcElementQuantity 定義了建筑構(gòu)件的物理屬性信息,其通過Quantities 屬性,包含一個(gè)或多個(gè)IfcPhysicalQuantity 實(shí)體。IfcPhysicalQuantity 有兩個(gè)派生類,其中IfcPhysicalSimpleQuantity 實(shí)體包含了單個(gè)的物理屬性值,它有六個(gè)派生類實(shí)體,每個(gè)實(shí)體表達(dá)一種物理屬性。例如IfcQuantity-Length 代表構(gòu)件的長(zhǎng)度值,IfcQuantityArea 代表構(gòu)件的面積等 。圖7IFC 標(biāo)準(zhǔn)構(gòu)件實(shí)體與屬性集的關(guān)聯(lián)機(jī)制如圖8所示,通過循環(huán)和迭代器,讀取測(cè)試文件中的所有If
17、celDefinesByProperties 實(shí)體,判斷IFC 標(biāo)準(zhǔn)的版本,以及進(jìn)一步讀取相關(guān)聯(lián)的構(gòu)件實(shí)體與屬性集信息 。圖8IFC 模型IfcelDefinesByProperties 實(shí)體解析方法圖9展示了通過循環(huán)和迭代器解析IFC 模型IfcElementQuantity 實(shí)體的方法 。圖9IFC 模型IfcElementQuantity 實(shí)體解析方法圖10展示了通過判斷和調(diào)用類相對(duì)應(yīng)的方法,解析IfcPhysicalSimpleQuantity 實(shí)體,以及讀取建筑構(gòu)件不同物理屬性信息 。圖10解析IfcPhysicalSimpleQuantity 實(shí)體的方法以及讀取建筑構(gòu)件不同物理屬性
18、信息通過編程對(duì)IFC 模型的結(jié)構(gòu)體系進(jìn)行深入解析,讀取IFC 實(shí)體的數(shù)據(jù),并且將數(shù)據(jù)保存在Java 容器中,最后用Java JFace 中的TableViewer 將所有建筑構(gòu)件的物理屬性信息顯示出來,如圖11所示?;贗FC標(biāo)準(zhǔn)的BIM模型編程語言解析方法研究 89圖11建筑構(gòu)件的物理屬性信息4結(jié)論IFC標(biāo)準(zhǔn)是基于EXPESS語言描述的一種建筑信息模型數(shù)據(jù)表達(dá)格式。EXPESS語言不是計(jì)算機(jī)編程語言,不能被計(jì)算機(jī)編譯和執(zhí)行。本文利用開源的Java插件,首先解析基于EXPESS語言的IFC模型,生成相對(duì)應(yīng)的IFC實(shí)體類,建立實(shí)體類之間的層次結(jié)構(gòu)關(guān)系,在此基礎(chǔ)上,利用Java語言來具體編程實(shí)現(xiàn)不
19、同的應(yīng)用功能。研究人員可以較少關(guān)注解析底層IFC標(biāo)準(zhǔn)的具體方法,而將大量的精力用在針對(duì)解決建筑行業(yè)具體問題的軟件功能開發(fā),為下一步的基于IFC標(biāo)準(zhǔn)的土木建筑工程BIM軟件開發(fā)奠定了基礎(chǔ)。參考文獻(xiàn)1IndustryFoundation Classes IFC Officialeleasebuild-ingSMAT,http:/wwwbuildingsmarttechorg,20152Owolabi,A,Anumba,CJ,EIHamalawi,A,Harper,C,Development of an Industry Foundation Classes As-sembly ViewerJJou
20、rnal of Computing in Civil Engi-neering2006,20(2:121-1313Zhang,C,Beetz,J,Weise,M,Model view checking:automated validation for IFCbuilding modelsCeWorkand eBusiness in Architecture,Engineering and Construc-tion ECPPM2014:123-1284張建平,張洋,張新基于IFC的BIM三維幾何建模及模型轉(zhuǎn)換J土木建筑工程信息技術(shù),2009,1(1:40-505IFCTools Project
21、,http:/wwwifctoolsprojectcom/,2016esearch onesolving Method of IFC-based BIMModel Programing LanguageChen Yuan,Kang Hong,Zhang Jingya(School of Civil Engineering,Zhengzhou University,Zhengzhou450001,ChinaAbstract:The IFC standard defines the data format for the exchange of BIM modelsand provides a standard da-ta definition and data model for the information exchange and sharing of the whole building life-cycle.It is the most comprehensive and detailed standard for building information description and the key concern to solvethe data ex-change and interoperability issues between BIM software
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臥式電腦自動(dòng)分切機(jī)項(xiàng)目投資可行性研究分析報(bào)告
- 2025年中國(guó)乳清產(chǎn)品行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)煙草加工行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資潛力預(yù)測(cè)報(bào)告
- 2025年塑料來料行業(yè)深度研究分析報(bào)告
- 2025-2030年中國(guó)工程爆破行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及投資前景研判報(bào)告
- 2025年馬拉松比賽合作協(xié)議書
- 中國(guó)碳酸鈣D3片行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資規(guī)劃建議報(bào)告
- 2025年中國(guó)血管造影機(jī)市場(chǎng)調(diào)查研究及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 酒類入股合同范本
- 租租車合同范本
- ESG新政與國(guó)有企業(yè)ESG發(fā)展
- 幼兒園案例分析 意大利貝納通托兒所
- 2024年小學(xué)人教版一年級(jí)數(shù)學(xué)上冊(cè)教學(xué)工作總結(jié)
- 【人教版化學(xué)】選擇性必修1 知識(shí)點(diǎn)默寫小紙條(答案背誦版)
- 航司旅游業(yè)智能化客戶服務(wù)與管理系統(tǒng)方案
- 00015-英語二自學(xué)教程-unit1
- 2024天津高考英語試題及答案
- 國(guó)家電網(wǎng)招聘之財(cái)務(wù)會(huì)計(jì)類題庫(kù)及完整答案(各地真題)
- 2024版中山二手住宅交易合同指南2篇
- 2024年度中國(guó)寵物行業(yè)研究報(bào)告
- 工業(yè)自動(dòng)化控制系統(tǒng)升級(jí)與維護(hù)服務(wù)合同
評(píng)論
0/150
提交評(píng)論