国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于二次開(kāi)發(fā)方法的BIM模型數(shù)據(jù)提取方法研究

2019-07-19 06:24陶婉婉
價(jià)值工程 2019年8期
關(guān)鍵詞:二次開(kāi)發(fā)

陶婉婉

摘要:文章從BIM模型的數(shù)據(jù)結(jié)構(gòu)入手,對(duì)其組成要素、數(shù)據(jù)結(jié)構(gòu)層級(jí)進(jìn)行分析。然后提出從BIM模型中進(jìn)行信息提取的方法,使用二次開(kāi)發(fā)方法在Revit系列軟件的平臺(tái)上,對(duì)其API進(jìn)行分析,并闡述代碼實(shí)現(xiàn)的過(guò)程。結(jié)合案例進(jìn)行實(shí)證分析,驗(yàn)證本文所提出方法的可行性,為加深BIM模型在工程項(xiàng)目領(lǐng)域中的運(yùn)用提供了技術(shù)支撐。

Abstract: This paper starts with the data structure of BIM model, and analyzes its constituent elements and data structure hierarchy. Then, the method of extracting information from BIM model is proposed. The secondary development method is used to analyze the API on the platform of Revit series software, and the process of code implementation is explained. The empirical analysis is carried out in combination with the case to verify the feasibility of the proposed method and provide technical support for deepening the application of the BIM model in the field of engineering projects.

關(guān)鍵詞:BIM;數(shù)據(jù)提取;二次開(kāi)發(fā)

Key words: BIM;data extraction;secondary development

中圖分類號(hào):TU17;TU722 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1006-4311(2019)08-0159-03

1 ?BIM模型數(shù)據(jù)結(jié)構(gòu)分析

BIM的全稱為Building Information Modeling,BIM模型的存在是為了給建筑工程進(jìn)行可視化的三維建模,其本質(zhì)還是一個(gè)繪圖軟件,那么在BIM模型中最基本的單位就是圖元。圖元包括點(diǎn)、線、面等組成模型的最基本要素,包括模型圖元、視圖圖元和輔助圖元。而B(niǎo)IM除了繪圖軟件的基礎(chǔ)上,具有參數(shù)化的特點(diǎn),也就意味著所謂的圖元并不僅僅意味著表面的可視化,還要將圖元所具備的參數(shù)屬性進(jìn)行可視化。下面根據(jù)三種圖元類型來(lái)進(jìn)行一一闡述。

1.1 模型圖元

模型元素是BIM模型中最重要的元素,表示建筑模型的幾何形狀,是建筑模型的重要組成部分。模型元素也稱為結(jié)構(gòu)構(gòu)件,分為結(jié)構(gòu)構(gòu)件和附屬構(gòu)件。結(jié)構(gòu)構(gòu)件可以獨(dú)立地存在于模型中,包括墻壁,地板等。而附著構(gòu)件則必須依附于結(jié)構(gòu)構(gòu)件而存在,包括門(mén)、窗等。

1.2 視圖圖元

在BIM模型中,視圖圖元指的是建筑模型的視圖以及明細(xì)表。視圖包括三維立面圖、平面圖、剖面圖、三維圖等,明細(xì)表主要是一些數(shù)據(jù)的整理與表達(dá)。

1.3 輔助圖元

輔助圖元是輔助于模型圖元的,分為基準(zhǔn)圖元和注釋圖元。其中,基準(zhǔn)圖元能夠通過(guò)軸網(wǎng)、參考平面、標(biāo)高等形式實(shí)現(xiàn)BIM模型在空間中的表達(dá)。而注釋圖元?jiǎng)t指那些文字、尺寸和符號(hào)的標(biāo)注,對(duì)建筑模型進(jìn)行細(xì)節(jié)的表達(dá)。

BIM模型的所有數(shù)據(jù)都是以工程項(xiàng)目的構(gòu)件比如墻、門(mén)、窗等為核心展開(kāi)的,而每個(gè)構(gòu)件都是其本身各種屬性數(shù)據(jù)的整合。文章中的BIM模型是在Autodesk公司開(kāi)發(fā)的Revit 2015平臺(tái)上進(jìn)行建模的,在Revit2015中的模型工程項(xiàng)目中,它由兩種類型組成:結(jié)構(gòu)構(gòu)件和附屬構(gòu)件。而附屬構(gòu)件指的是門(mén)、窗、家具這些在模型中無(wú)法獨(dú)立存在,必須附著于結(jié)構(gòu)構(gòu)件上施工的構(gòu)件,如圖1所示。

2 ?Revit API解讀

從BIM模型中提取信息需要根據(jù)各個(gè)參與方對(duì)應(yīng)的工作內(nèi)容進(jìn)行Revit API內(nèi)容編寫(xiě)和代碼實(shí)現(xiàn)。文章根據(jù)常用的的一些構(gòu)件參數(shù)Revit API進(jìn)行解析并設(shè)計(jì)算法,以 Revit 2015以及Visual Studio 2012為平臺(tái),采用C#計(jì)算法編程語(yǔ)言進(jìn)行編寫(xiě)。

Revit API是Revit系列軟件的類庫(kù),其存在主要有三個(gè)功能:一是覆蓋軟件本身的功能,并從更深層次的源代碼角度解析和調(diào)整模型;二是使所有用戶能夠使用API代碼進(jìn)行二次開(kāi)發(fā),創(chuàng)建新的命令,從而滿足用戶對(duì)于部分功能的縮放需求;三是使其能夠與第三方應(yīng)用軟件相連接,從而運(yùn)用于分析應(yīng)用領(lǐng)域。

文章使用Revit API來(lái)對(duì)Revit系列軟件進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)從BIM模型中提取數(shù)據(jù)的功能。而在這之前,首先需要下載軟件開(kāi)發(fā)工具包(Software Development Kit),獲取Revit API幫助文檔以及RevitLookup的插件。然后下載Visual Studio 2012,選擇C#語(yǔ)言進(jìn)行編程。同時(shí),通過(guò)AddInManager插件來(lái)加載在Visual Studio 2012平臺(tái)上所編寫(xiě)的二次開(kāi)發(fā)插件。

其中,在Visual Studio 2012平臺(tái)上進(jìn)行代碼編寫(xiě)時(shí),需要使用Revit API.dll和Revit APIUI.dll程序集。這兩個(gè)程序集所包含的內(nèi)容不同,具體如表1所示。而在信息提取的二次開(kāi)發(fā)過(guò)程中,主要運(yùn)用到的是Revit API.dll的IExternalDBApplication接口、Parameter方法、訪問(wèn)DB級(jí)別的Element以及Revit APIUI.dll中的IExternalApplication相關(guān)接口、TaskDialogs任務(wù)對(duì)話框內(nèi)容。

3 ?BIM模型數(shù)據(jù)提取方法

對(duì)BIM模型信息的提取主要分為兩大內(nèi)容:一是BIM模型中所有的構(gòu)件清單,二是所有構(gòu)件所帶有的屬性參數(shù)。

Revit API對(duì)于建筑構(gòu)件的分類細(xì)度比較大,比如結(jié)構(gòu)柱的族類型下就包含圓形柱、方形柱等類型,然而在工程項(xiàng)目施工過(guò)程中,并不會(huì)因?yàn)橹拥淖孱愋筒煌绊懯┕すば颍虼藢evit API中的構(gòu)件個(gè)體映射至較高較高層級(jí)的類上,然后再根據(jù)每個(gè)構(gòu)件的屬性參數(shù)來(lái)確定其工程量。Revit API映射的構(gòu)件類如表2所示。

僅僅從BIM模型中提取出構(gòu)件清單是遠(yuǎn)遠(yuǎn)不夠的,還需要將所有構(gòu)件所負(fù)有的參數(shù)化屬性信息提取出來(lái)才能夠得到完整的模型信息。對(duì)構(gòu)件屬性數(shù)據(jù)的提取能夠通過(guò)Revit API內(nèi)置參數(shù)(BuiltInParameter)或者共享參數(shù)(SharedParameter)從BIM模型中直接提取[4]。而提取的前提是建立重要的數(shù)據(jù)屬性API及其對(duì)應(yīng)的Revit API的迎神。常用的屬性參數(shù)映射整理如表3所示。

4 ?實(shí)證研究

為了驗(yàn)證上文所提出的本體理論,本模型只有一層,如圖2所示,占地面積78平方米。在此模型中,含有所有常用的建筑結(jié)構(gòu)構(gòu)件,包括樓板、屋頂、梁、柱、門(mén)、窗。

從BIM模型中提取出所有構(gòu)件的族、幾何數(shù)據(jù)以及位置數(shù)據(jù),首先要在Visual Studio 2012平臺(tái)上利用C#語(yǔ)言對(duì)數(shù)據(jù)提取代碼進(jìn)行編寫(xiě),具體代碼詳情如下:

FilteredElementCollector fec = new FilteredElementCollector(doc, doc.ActiveView.Id);

List listE = fec.ToElements().ToList();

StringBuilder str = new StringBuilder();

foreach (var ele in listE)

{

Parameter vol = ele.get_Parameter(BuiltInParameter.HOST_VOLUME_COMPUTED);

Parameter area = ele.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED);

Parameter lev = ele.get_Parameter(BuiltInParameter.STAIRS_BASE_LEVEL_PARAM);

Options opt = new Options();

opt.View = doc.ActiveView;

if (vol!=null&&area!=null)

{

str.Append(ele.Category.Name.ToString() + "," + vol.AsDouble().ToString() + "," + area.AsDouble().ToString() + "\n");

}

}

TaskDialog.Show("The List of Componentsparameters", str.ToString());

return Result.Succeeded;

代碼撰寫(xiě)完成后,使用AddInManager插件將此代碼附著于Revit 2015平臺(tái)上,提取出的所有構(gòu)件清單,此模型一共提取出26個(gè)構(gòu)件,整理如表4所示。

5 ?結(jié)論

通過(guò)對(duì)BIM模型中的數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析,結(jié)合Revit系列軟件的API,文章提出使用二次開(kāi)發(fā)的方法來(lái)提取BIM模型的信息。并且最終通過(guò)實(shí)證研究驗(yàn)證了文章所提出的二次開(kāi)發(fā)的方法能夠有效地根據(jù)需求,提取Revit系列軟件平臺(tái)上BIM模型的構(gòu)件級(jí)相關(guān)數(shù)據(jù)信息,包括構(gòu)件的基本屬性、構(gòu)件的層次以及構(gòu)件之間的關(guān)聯(lián)關(guān)系。

參考文獻(xiàn):

[1]韓鳳華.面向綠色建筑設(shè)計(jì)信息需求的數(shù)據(jù)標(biāo)準(zhǔn)化研究[D].大連理工大學(xué),2016.

[2]郭奕婷.基于BIM的進(jìn)度計(jì)劃自動(dòng)編排研究[D].華南理工大學(xué),2017.

[3]王紅林,周創(chuàng).基于IFC的BIM半結(jié)構(gòu)化數(shù)據(jù)庫(kù)研究[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,21(06):33-36.

[4]周洪波,施平望,鄧雪原.基于IFC標(biāo)準(zhǔn)的BIM構(gòu)件庫(kù)研究[J].圖學(xué)學(xué)報(bào),2017,38(04):589-595.

猜你喜歡
二次開(kāi)發(fā)
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
西門(mén)子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
淺談Mastercam后處理器的二次開(kāi)發(fā)
Micaps3.2 版本二次開(kāi)發(fā)入門(mén)淺析
ANSYS Workbench二次開(kāi)發(fā)在汽車(chē)穩(wěn)定桿CAE分析中的應(yīng)用
基于Pro/E二次開(kāi)發(fā)的推土鏟參數(shù)化模塊開(kāi)發(fā)
璧山县| 儋州市| 台东县| 同江市| 体育| 石嘴山市| 辛集市| 丰都县| 兴和县| 修武县| 灵石县| 梧州市| 贺兰县| 花垣县| 留坝县| 屏东县| 靖州| 扎鲁特旗| 安仁县| 玛纳斯县| 黑龙江省| 望城县| 永兴县| 连平县| 高要市| 灌南县| 扬中市| 彰化县| 普格县| 布拖县| 招远市| 沿河| 绥阳县| 庆云县| 安泽县| 五华县| 迭部县| 阿拉善左旗| 万源市| 福泉市| 平山县|