999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VBA的CAD火災(zāi)探測器自動布點

2018-06-17 10:48:10王沖
科學(xué)與技術(shù) 2018年22期

王沖

摘要:由于工程設(shè)計中火災(zāi)探測器的布置使用CAD手動繪制比較費時,為此開發(fā)了一個基于CAD內(nèi)的VBA編制的程序,通過對火災(zāi)自動報警系統(tǒng)設(shè)計規(guī)范中各種參數(shù)的設(shè)置,可實現(xiàn)不同類型火災(zāi)探測器在平面圖中的自動布點,提高了工程設(shè)計的效率及準(zhǔn)確率。

關(guān)鍵詞:VBA;CAD二次開發(fā);火災(zāi)探測器;自動布置;

引言

為了更好的保障生命和財產(chǎn)的安全,火災(zāi)自動報警系統(tǒng)的的需求越來越廣泛。火警平面布置圖目前主要使用AutoCAD在建筑平面圖中手動繪制。在大型建筑物內(nèi)需要火災(zāi)探測器的區(qū)域和數(shù)量都比較多,單純的手動繪制效率低下,耗費大量的時間,也易產(chǎn)生錯誤。AutoCAD內(nèi)置的VBA這一種通用的自動化語言為更好的進(jìn)行火警工程設(shè)計提供了可能,通過VBA編程進(jìn)行二次開發(fā),可實現(xiàn)火災(zāi)探測器在平面布置圖中的自動布點[1]。

1參數(shù)提取

在VBA程序設(shè)計前,首先要從火警相關(guān)設(shè)計規(guī)范及實際經(jīng)驗中提取與火災(zāi)探測器布置相關(guān)的信息,并將其參數(shù)化,最后納入到程序中,實現(xiàn)參數(shù)化自動繪圖[2]。

火災(zāi)探測器的布置和使用環(huán)境有很大關(guān)系,僅從建筑特征考慮,影響建筑物內(nèi)點型火災(zāi)探測器布置的因素主要包括了屋頂坡度、空間高度、地面面積等,其主要參數(shù)及判斷流程如圖1所示[3]。其中,θ表示屋頂坡度(度);h和R分別表示探測空間高度及探測器保護(hù)半徑(米);S和A分別表示探測區(qū)域面積及探測器的保護(hù)面積(平方米);N表示探測器數(shù)量(只)。

圖1中,屋頂坡度大于15度時的參數(shù)及判斷流程與小于等于15度時的類似,區(qū)別僅在于保護(hù)面積和保護(hù)半徑的數(shù)值不同,故在此圖中省略。

根據(jù)圖1的流程確定各輸入?yún)?shù)后,可計算出單個探測區(qū)域內(nèi)火災(zāi)探測器的數(shù)量,公式為

其中,K表示修正系數(shù),根據(jù)公共場所容納人數(shù)的數(shù)量選取,人員小于500時可選1。

點型火災(zāi)探測器的布置還需要考慮橫向間距a、豎向間距b以及探測器距墻距離,以期在滿足設(shè)計規(guī)范的前提下,更大限度使用探測器保護(hù)范圍,節(jié)約投資成本。

以保護(hù)面積為80m2,保護(hù)半徑為6.7m的點型感煙火災(zāi)探測器為例,其探測器安裝間距如圖2所示。

其中橫軸a表示探測器橫向間距,縱軸b表示探測器豎向間距。探測器間距在Y和Z點之間的曲線范圍內(nèi),保護(hù)面積可得到充分利用。經(jīng)計算,Y和Z點之間曲線方程為:

,相應(yīng)的限制條件為: ;

根據(jù)規(guī)范,點型探測器距墻不應(yīng)小于0.5米,一般不大于探測器安裝間距的1/2。

2界面及程序

在CAD中運行“VBAMAN”可打開VBA編輯器,新建FadTools.dvb的工程文件,該文件由AutoCAD對象、窗體、模塊三大部分組成[4]。插入用戶窗體并編輯,如圖3所示。

以圖1中屋頂坡度θ小于等于15度時選用點型感煙火災(zāi)探測器為例,主要源代碼如下:

‘在平面布置圖中選取探測區(qū)域

varPnt1=ThisDrawing.Utility.GetPoint(,vbNewLine&"拾取探測區(qū)域的一個角點:")

varPnt2=ThisDrawing.Utility.GetCorner(varPnt1,vbNewLine&"拾取探測區(qū)域的另一個角點:")

p1=varPnt1(0):p3=varPnt2(0):p2=varPnt1(1):p4=varPnt2(1)

IfvarPnt1(0)>varPnt2(0)Thenp1=varPnt2(0):p3=varPnt1(0)EndIf

IfvarPnt1(1)>varPnt2(1)Thenp2=varPnt2(1):p4=varPnt1(1)EndIf

frmPoint.TBLength.Value=(p3-p1)/1000:frmPoint.TBWidth.Value=(p4-p2)/1000

frmPoint.TBArea.Value=((p3-p1)/1000)*((p4-p2)/1000)‘面積

IffrmPoint.OpBtSmoke.Value=TrueThen‘計算探測器數(shù)量

IffrmPoint.TBHigh.Value>12ThenMsgBox“空間高度過高,感煙探測器不適用”

ElsestrBlockName="點型感煙火災(zāi)探測器"

IffrmPoint.TBArea.Value<=80ThenR=6700:frmPoint.TBParea.Value=80

ElseIffrmPoint.TBHigh.Value>6ThenR=6700:frmPoint.TBParea.Value=80

ElseR=5800:frmPoint.TBParea.Value=60:EndIf:EndIf:EndIf:EndIf

K=frmPoint.TBK.Value‘修正系數(shù)K:N=frmPoint.TBArea.Value/frmPoint.Parea.Value/K

IfN>Int(N)ThenN=Int(N)+1‘有小數(shù)時加一取整:EndIf:frmPoint.TBNumber.Value=N

‘Textbox輸入值改變時的動態(tài)顯示,以A=80,R=6700的點型感煙探測器為例

L=frmPoint.TBLength.Value‘長度:W=frmPoint.TBWidth.Value‘寬度

Na=frmPoint.TBNuma.Value‘橫方向探測器數(shù)量:amin=L/Na:amax=11.5

frmPoint.LabelNa.Caption="范圍:"&amin&"to"&amax‘顯示a有效范圍選擇合適值

Nb=Int(N/Na)+1:frmPoint.TBNumb.Value=Nb‘豎方向探測器數(shù)量

a=frmPoint.TBGapa.Value‘橫向間距b=0.1*a*a-2.85*a+26.55‘豎向間距

Walla=(L-a*(Na-1))/2‘橫方向墻距:frmPoint.TBWalla.Value=Walla:frmPoint.TBGapb.Value=b

Wallb=(W-b*(Nb-1))/2‘豎方向墻距:frmPoint.TBWallb.Value=Wallb

Forj=0TofrmPoint.TBNumb.Value–1:scale=frmPoint.TBMax.Value/frmPoint.TBMin.Value‘自動布點

strPath=frmPoint.TBPath.Value:strBlockFullFile=strPath&strBlockName&".dwg"

Fori=0TofrmPoint.TBNuma.Value-1

InsPnt1(0)=p1+frmPoint.TBWalla.Value*1000+frmPoint.TBGapa.Value*1000*i

InsPnt1(1)=p4-frmPoint.TBWallb.Value*1000-frmPoint.TBGapb.Value*1000*j:frmPoint.Hide

Setblockrefobj1=ThisDrawing.ModelSpace.InsertBlock(InsPnt1,strBlockFullFile,scale,scale,scale,0)

Blockrefobj1.Layer=frmPoint.TBLayer.Value

InsPnt2(0)=p1+frmPoint.TBWalla.Value*1000+frmPoint.TBGapa.Value*1000*i

InsPnt2(1)=p4-frmPoint.TBWallb.Value*1000-frmPoint.TBGapb.Value*1000*j

IffrmPoint.ChBoxPcircle.Value=TrueThenSetblockrefobj2=ThisDrawing.ModelSpace.AddCircle(InsPnt2,R)

Blockrefobj2.Linetype="DASH":Blockrefobj2.Layer=“HiddenFire”‘可單獨隱藏

EndIf:Nexti:Nextj

3程序執(zhí)行效果

以某倉庫內(nèi)的一個探測區(qū)域為例,比例1:200,屋頂坡度5度,高度7.5m,修正系數(shù)1,面積約833m2,采用12個點型火災(zāi)煙感探測器,運行程序后探頭布置如圖4。其中探測器“保護(hù)范圍圈”在單獨圖層中,主要用于檢驗探測區(qū)域是否已被探測器所覆蓋,出圖時可隱藏該圖層。在圖4中可以看出,該探測區(qū)域已被點型感煙火災(zāi)探測器的保護(hù)范圍完全覆蓋。

該程序輸入簡單參數(shù)后就能在AutoCAD平面布置圖中選擇不同的探測區(qū)域自動布置火災(zāi)探測器,相比使用手動繪制時需要測量、查規(guī)范、計算、布點、檢查等要迅速很多。以實際的一個小型造紙項目中各單體的火災(zāi)自動報警系統(tǒng)設(shè)計為例,表一是分別采用該程序和單純的AutoCAD手動布置探測器的時間對比。

從表1中可以看出,該項目在使用VBA程序進(jìn)行火災(zāi)探測器平面布置時大概可節(jié)約90%的時間,且在實際運行中,無錯誤情況產(chǎn)生。

4結(jié)束語

基于VBA的火災(zāi)探測器自動布點程序的快速高效在工程項目的設(shè)計中有著很大的作用,尤其在大廠區(qū)多單體的項目中,更能體現(xiàn)其特點。另外,該程序可與基于VBA開發(fā)的設(shè)備數(shù)量自動統(tǒng)計及自動輸出到Excel文件的功能相結(jié)合,對提高設(shè)計的質(zhì)量及標(biāo)準(zhǔn)化水平有很大幫助。

參考文獻(xiàn)

[1]曾洪飛,張帆,盧擇臨.AutoCADVBA&VB.NET開發(fā)基礎(chǔ)與實例教程[M].北京:中國電力出版社,2008:162-171.

[2]王若慧.AutoCADVBA參數(shù)化繪圖程序開發(fā)與實戰(zhàn)編碼[M].北京:水利水電出版社,2013:1-50.

[3]中華人民共和國住房和城鄉(xiāng)建設(shè)部.GB50116火災(zāi)自動報警系統(tǒng)設(shè)計規(guī)范[S].北京:中國計劃出版社,2013.

[4]謝安俊,喬韡韡.計算機輔助設(shè)計二次開發(fā)案例教程[M].北京:北京大學(xué)出版社,2009.

(作者單位:中國海誠工程科技股份有限公司)

主站蜘蛛池模板: 天天视频在线91频| 青青草国产免费国产| 欧美精品啪啪| 成人蜜桃网| 欧美无专区| 国产不卡网| 免费高清a毛片| 精品三级网站| 亚洲欧美成人在线视频| 国产精品亚洲一区二区三区z| 国产欧美视频综合二区| 久久不卡精品| 亚洲欧洲一区二区三区| 色综合中文| 一级毛片免费观看不卡视频| 欧美在线一二区| 国产va在线观看免费| 亚洲乱亚洲乱妇24p| 欧美精品亚洲精品日韩专区va| 日韩一级二级三级| 国产视频一区二区在线观看| 日本不卡视频在线| 精品少妇人妻无码久久| 曰韩人妻一区二区三区| 亚洲成在线观看 | 免费毛片a| 国产精品私拍99pans大尺度| 亚洲欧美另类视频| 国产区精品高清在线观看| 精品久久久久成人码免费动漫| 久久免费成人| 国产精品久久久久久久伊一| 777国产精品永久免费观看| 亚洲综合九九| 天天综合天天综合| 欧美综合区自拍亚洲综合天堂| 无码丝袜人妻| 欧美成人影院亚洲综合图| 72种姿势欧美久久久大黄蕉| 欧美成人手机在线观看网址| 一级香蕉人体视频| 国产精品永久免费嫩草研究院| 无码精油按摩潮喷在线播放| 99热最新网址| 国产永久在线观看| 成人在线观看不卡| 国产在线精品99一区不卡| 成人一级黄色毛片| 国产内射一区亚洲| 一本大道香蕉高清久久| 欧美在线中文字幕| 97国产精品视频人人做人人爱| 婷婷六月激情综合一区| 黄色网址手机国内免费在线观看| 成人午夜视频免费看欧美| 狼友视频一区二区三区| 国产在线高清一级毛片| 亚洲精品无码高潮喷水A| 国外欧美一区另类中文字幕| 国产精品人成在线播放| 国产精品成人第一区| 欧美日韩第二页| 国产区福利小视频在线观看尤物| 国产亚洲精| 国产精品林美惠子在线播放| 亚洲国产精品人久久电影| 伊人精品成人久久综合| 熟女视频91| 日本三级黄在线观看| 国产亚洲欧美在线人成aaaa| 中文字幕久久波多野结衣| 国产在线一区视频| 高清不卡毛片| 久青草国产高清在线视频| 久久综合亚洲鲁鲁九月天| 国产sm重味一区二区三区| 国产精品久久久久无码网站| 99re精彩视频| 中文字幕人妻av一区二区| AV无码一区二区三区四区| 亚洲69视频| 日韩免费成人|