亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RevitAPI 建筑消防噴頭輔助建模軟件開發(fā)

        2015-01-09 13:29:06
        土木建筑工程信息技術(shù) 2015年6期
        關(guān)鍵詞:二次開發(fā)區(qū)域用戶

        張 慎 楊 浩

        (1.中南建筑設(shè)計院股份有限公司,武漢 430071;2.武漢大學(xué)土木建筑工程學(xué)院,武漢 430072)

        1 引言

        Revit 是當(dāng)今世界流行的協(xié)同工作軟件之一,它擁有強(qiáng)大的功能。然而,在實(shí)際工程設(shè)計階段,該軟件并不能完全滿足設(shè)計人員的需要。Revit 作為一款強(qiáng)大的建筑行業(yè)設(shè)計軟件,提供了非常強(qiáng)大和完整的三維建模能力,支持創(chuàng)建大型的復(fù)雜項(xiàng)目。同時為了滿足用戶的個體需要,提供了非常方便的二次開發(fā)功能,支持用戶根據(jù)自己的需要進(jìn)行二次開發(fā)[1]。

        在進(jìn)行協(xié)同設(shè)計時,通常需要在某一區(qū)域內(nèi)布置噴頭。然而,Revit2014 軟件本身并沒有批量布置消防噴頭的功能。在對建筑內(nèi)進(jìn)行消防噴頭的布置時,設(shè)計人員需要手工點(diǎn)擊噴頭位置,同時還需要參照規(guī)范計算噴頭的間距和個數(shù),工作量大且出錯概率較大。因此開發(fā)了基于Revit2014 的建筑消防噴頭輔助建模軟件,減輕了設(shè)計人員的工作量,提高了工作效率。

        2 Revit 二次開發(fā)相關(guān)知識

        本文介紹的二次開發(fā)是基于Revit2014 版本,主要開發(fā)工具為Visual Studio2010、RevitAPI(Application Programming Interface)和Revit SDK。

        2.1 開發(fā)平臺及語言

        本文講述的二次開發(fā)最終創(chuàng)建的文件為外部插件,創(chuàng)建平臺為Visual Studio2010(簡稱VS),基于的模板為類庫。開發(fā)語言為C#,并結(jié)合了Revit2014 提供的對外接口(Add -In Manager 2014),實(shí)現(xiàn)在Revit2014 中自動布置噴頭的功能。

        2.2 Revit API

        Revit2014 二次開發(fā)參考文檔為RevitAPI.chm,里面包含了二次開發(fā)可以使用的一些命名空間,以及命名空間下的類和類中包含的函數(shù)和屬性。Revit SDK 是Autodesk 官方提供的包含完整客戶端API 庫、文檔及實(shí)例代碼的綜合文件庫[2,3]。

        提取Revit2014 模型中的對象時利用了RevitAPI 中類之間的繼承關(guān)系[4]。常用類之間的繼承關(guān)系如圖1 所示。

        2.3 二次開發(fā)主要步驟

        采用Visual Studio2010,運(yùn)用C#語言對Revit2014 進(jìn)行二次開發(fā)的主要步驟:

        (1)建立項(xiàng)目

        啟動Visual Studio2010,新建一個VisualC#類庫項(xiàng)目,命名為RShower。Visual Studio2010自動生成Class1.cs 等文件,將Class1.cs 重命名為Sprinklers.cs。

        (2)添加外部引用

        在Visual Studio2010 菜單欄中點(diǎn)擊項(xiàng)目→添加引用,在彈出的“添加引用”對話框中,選“瀏覽”標(biāo)簽,選中Revit2014 安裝文件根目錄下的RevitAPI.dll和RevitAPIUI.dll 文件,完成添加。繼續(xù)添加引用,在彈出的“添加引用”對話框中,選“.NET”標(biāo)簽,找到System.Windows.Forms,完成添加。

        (3)引用命名空間

        在Sprinklers.cs 文件引用命名空間代碼區(qū)域添加using Autodesk.Revit.DB、using Autodesk.Revit.UI 等語句,調(diào)用Revit API 中相關(guān)命名空間。

        (4)創(chuàng)建命令類

        在創(chuàng)建的命名空間下為命令類加載屬性,選擇創(chuàng)建類的命令加載方式,主要包括選擇文件事物、更新、日志等的模式,Revit 在2014 版本中,文件事物模式和更新模式只能選擇手動模式,接著創(chuàng)建一個從IExternalCommand 派生的類。

        (5)重載Execute()方法

        在命令類中載用Execute()方法,并在方法中編碼實(shí)現(xiàn)一定的功能。

        (6)生成dll。選擇菜單欄中生成→生成RShower(U),并在Visual Studio2010 輸出窗口中找到生成dll 的位置。

        (7)添加到Revit2014 菜單中

        運(yùn)行Revit2014,選擇菜單附加模塊→外部工具→Add-In Manager(Manual Mode),在彈出的Add -In Manager 2014 對話框中選擇Load,找到生成RShower.dll 文件,添加。

        (8)運(yùn)行插件。

        3 建筑消防噴頭布置輔助建模軟件開發(fā)

        3.1 主要功能

        軟件的主要功能是在Revit2014 中加入批量布置噴頭的功能,需要滿足以下要求:對于規(guī)則布置區(qū)域,可以框選所有布置區(qū)域,自動按照《自動噴水滅火系統(tǒng)設(shè)計規(guī)范》(GB50084)快速合理的布置噴頭;對于不規(guī)則區(qū)域,設(shè)計人員可以指定某一區(qū)域,插件自動讀取該區(qū)域的信息,滿足要求進(jìn)行最優(yōu)化布置;若設(shè)計人員指定布置的參數(shù),按照設(shè)計人員指定的參數(shù)進(jìn)行布置;軟件以外部插件的形式嵌入到Revit2014 軟件中,軟件界面友好,設(shè)計人員操作方便。

        3.2 軟件的界面

        安裝本軟件后,在Revit2014 的工具欄上會生成一個按鈕,如圖4 所示,單擊后啟動軟件。

        軟件的主要工作界面如圖5 所示。

        圖3 軟件的主要工作界面

        由工作界面可以看出布置方式有兩種:已知行列和已知間距。用已知間距方法布置噴頭時,噴頭與墻最小距離、噴頭之間的最小間距、噴頭之間最大間距、噴頭距墻最大間距默認(rèn)值均為規(guī)范中的規(guī)定,用戶也可以根據(jù)實(shí)際需要更改;用已知行列布置噴頭時,行數(shù)和列數(shù)均為用戶指定,可以根據(jù)情況選擇布置方式。噴頭類型中的類型為加載到項(xiàng)目中的所有噴頭類型,危險等級按規(guī)范取四種:輕危險級、中危險級Ⅰ、中危險級Ⅱ、嚴(yán)重危險級。噴頭與天花板的距離為布置的噴頭與該層天花板的距離。

        圖4 軟件主要操作流程

        3.3 操作流程及主要算法

        軟件的操作比較方便,主要流程如圖2 所示。軟件首先會讀取用戶載入項(xiàng)目中的所有噴頭族文件,并獲取默認(rèn)危險等級及相關(guān)參數(shù)顯示主界面。隨后根據(jù)用戶選擇的危險等級和噴頭類型,并結(jié)合用戶選擇的布置方式在房間內(nèi)根據(jù)規(guī)范布置噴頭。用戶選擇布置區(qū)域的方式有兩種:房間布置和區(qū)域布置,對于標(biāo)準(zhǔn)化大空間布置區(qū)域,可以通過房間布置方法布置,主要操作為將區(qū)域定義為房間,框選所有標(biāo)準(zhǔn)化布置區(qū)域,軟件即可讀取布置區(qū)域布置;對于非不規(guī)則的布置區(qū)域,可以通過區(qū)域布置方法布置,主要操作為選取布置區(qū)域的四個角點(diǎn),軟件即可選擇布置區(qū)域進(jìn)行布置。若用戶勾選了預(yù)演保護(hù)半徑,則在布置完成后會在平面圖中顯示每個噴頭的噴水區(qū)域。

        圖5 軟件算法的實(shí)現(xiàn)

        軟件在布置噴頭時考慮了《自動噴水滅火系統(tǒng)設(shè)計規(guī)范》(GB50084)中的要求和施工及經(jīng)濟(jì)性的要求[5]。規(guī)范中對噴頭之間的最大間距、最小間距,噴頭距端墻的最大距離、最小距離都有要求如表1 所示,施工要求又要求噴頭與邊墻的距離和噴頭之間的距離為模數(shù)。在滿足這些要求的同時,從經(jīng)濟(jì)方面要求布置的噴頭數(shù)最少。

        實(shí)現(xiàn)噴頭的布置的算法如圖3 所示。其中一個方向上噴頭個數(shù)最少取為布置區(qū)域在該方向邊長L除以D3 向上取整。驗(yàn)證過程如下:

        噴頭個數(shù):N=L/D3(N 向上取整);

        噴頭之間間距:L1=L/N(L1 向上取整并取50的倍數(shù));

        噴頭據(jù)端墻的距離:L2=[L -L1* (N -1)]/2(L2 向上取整并取50 的倍數(shù));

        易知L1≤D3,L2 ≤D1(滿足了小于最大值要求);

        另,當(dāng)L1≤D2 時,取L1=D2;當(dāng)L2 <D0 時,該房間無法滿足規(guī)范要求,暫時不布置。至此,滿足了規(guī)范、施工、經(jīng)濟(jì)所有要求。

        表1 規(guī)范中對噴頭間距的要求

        圖6 布置平面圖

        3.4 程序中主要運(yùn)用的函數(shù)

        為實(shí)現(xiàn)批量布置消防噴頭的功能,運(yùn)用Revit2014 二次開發(fā)的幫助文檔RevitAPI.chm 中的函數(shù)和類,編寫了實(shí)現(xiàn)一定功能的函數(shù),程序主要用到的函數(shù)如表2 所示。

        表2 程序中主要運(yùn)用的函數(shù)

        3.5 軟件應(yīng)用

        利用本軟件在某項(xiàng)目中布置噴頭,布置的平面如圖6 所示。

        布置該示例區(qū)域的消防噴頭的過程如下:

        (1)房間布置

        用戶設(shè)置好安全等級和噴頭類型后,選擇程序中【房間布置】命令,框選所需布置的所有房間。布置完成后程序彈出界面顯示有兩個房間未布置,布置結(jié)果如圖7 所示。

        (2)區(qū)域布置

        在房間布置完成后,有兩個房間未布置,可看出那兩個房間不是標(biāo)準(zhǔn)區(qū)域,程序自動過濾非標(biāo)準(zhǔn)區(qū)域。將未布置的兩個區(qū)域分別分解為2 個矩形區(qū)域,選擇程序中【區(qū)域布置】命令,按照提示點(diǎn)選各矩形區(qū)域的四個角點(diǎn),布置。運(yùn)行4 次【區(qū)域布置】命令,布置結(jié)果如圖8(a)所示。

        圖7 房間布置

        圖8 布置完成結(jié)果

        如圖8 布置完成的結(jié)果所示,圖8(a)中圈出區(qū)域?yàn)榉块g布置和區(qū)域布置共同布置的結(jié)果,并由圖8(b)標(biāo)注結(jié)果與表1 中要求對比可知,利用軟件布置的噴頭間距滿足規(guī)范和施工中的要求,并根據(jù)噴頭間的距離采用的是滿足所有要求的最大值,可以判斷布置結(jié)果是經(jīng)濟(jì)的。布置消防噴頭過程中,遇到管道等原因不能均勻布置時,可采用“房間布置+區(qū)域布置”的方法布置。

        4 結(jié)語

        Revit 作為主要的BIM 軟件之一,目前和將來在建筑行業(yè)都有重要的應(yīng)用前景。Revit 具有良好的二次開發(fā)接口,用戶可以很方便的利用API 編寫程序,實(shí)現(xiàn)自己需要的功能。隨著Revit 二次開發(fā)技術(shù)的不斷發(fā)展,在Revit 中工作將會更加的方便,Revit 這款軟件將在BIM 中發(fā)揮越來越大的作用。

        [1]何關(guān)培.BIM 和BIM 相關(guān)軟件[J].土木建筑工程信息技術(shù),2010,2(4):110-117.

        [2]徐迪.基于Revit 的建筑結(jié)構(gòu)輔助建模系統(tǒng)開發(fā)[J].土木建筑工程信息技術(shù),2012,4(3):70-77.

        [3]李雄華.BIM 技術(shù)在給水排水工程設(shè)計中的應(yīng)用研究[D].廣州:華南理工大學(xué),2009.

        [4]徐劍.Revit 系統(tǒng)軟件二次開發(fā)研究[J].鐵路技術(shù)創(chuàng)新,2014(5):39-41.

        [5]中華人民共和國標(biāo)準(zhǔn).自動噴水滅火系統(tǒng)設(shè)計規(guī)范(GB50084 — 2001)[S].北京:中國建筑工業(yè)出版社,2010.

        猜你喜歡
        二次開發(fā)區(qū)域用戶
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        關(guān)于四色猜想
        分區(qū)域
        基于嚴(yán)重區(qū)域的多PCC點(diǎn)暫降頻次估計
        電測與儀表(2015年5期)2015-04-09 11:30:52
        如何獲取一億海外用戶
        女同视频一区二区在线观看| 国产午夜精品久久久久99| 人妻精品一区二区免费| 不卡视频一区二区三区| 国产粉嫩美女一区二区三| 精品视频一区二区三区日本| 国产乱人偷精品人妻a片| 中文字幕无码家庭乱欲| 国产日韩三级| 亚洲综合精品一区二区三区| 女人av天堂国产在线| 国产农村妇女精品一二区 | 国产高潮精品久久AV无码| 女同性恋一区二区三区四区| 久久久亚洲熟妇熟女av| 国产在线精品一区在线观看| 亚洲亚洲网站三级片在线| 久久精品一区二区三区夜夜| 国产亚洲欧美精品永久| 国产伦精品一区二区三区免费| av深夜福利在线| 亚洲午夜精品第一区二区| 玩弄人妻少妇精品视频| 精品一区二区三区在线观看视频| 白白青青视频在线免费观看 | 欧美 国产 日产 韩国 在线| 久久99精品久久久久久国产人妖| 男女性行为免费视频网站| 内射合集对白在线| 午夜精品久久久| 亚洲不卡毛片在线观看| 国产欧美日韩一区二区加勒比| 亚洲熟女乱色一区二区三区| 亚洲国产日韩欧美高清片a| 日本九州不卡久久精品一区| 亚洲娇小与黑人巨大交| 日本亚洲欧美在线观看| 亚洲五月天中文字幕第一页| 亚洲av成人无码一区二区三区在线观看| 亚洲欧美综合在线天堂| 日韩精品免费在线视频|