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.

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

主站蜘蛛池模板: 久久精品女人天堂aaa| 国产一在线观看| 91啦中文字幕| 国产成人欧美| 亚洲日韩精品欧美中文字幕| 国产日产欧美精品| 国产乱码精品一区二区三区中文 | 伊人久久久久久久久久| 美女内射视频WWW网站午夜| 亚洲精品无码日韩国产不卡| 国产美女自慰在线观看| 国产玖玖视频| 巨熟乳波霸若妻中文观看免费| 国产女人在线| 日韩欧美国产精品| 亚洲三级色| 国产精品无码翘臀在线看纯欲| 免费又爽又刺激高潮网址 | 久热中文字幕在线| 福利片91| 在线视频亚洲色图| 日韩成人高清无码| a级毛片免费网站| 亚洲人成网7777777国产| 美女被操91视频| 狠狠操夜夜爽| 久久99久久无码毛片一区二区| 国产激情无码一区二区三区免费| 99re精彩视频| 国产亚洲一区二区三区在线| 秋霞午夜国产精品成人片| 国产欧美日本在线观看| 成人无码区免费视频网站蜜臀| 日本一区二区不卡视频| 久久久久国产精品嫩草影院| 18禁色诱爆乳网站| 亚洲美女久久| 久久性视频| AV天堂资源福利在线观看| 国产性爱网站| 原味小视频在线www国产| 亚洲a级毛片| 国产精品30p| 人妻21p大胆| 91小视频在线| 综合亚洲网| 高清国产在线| 成人在线观看一区| 日韩无码黄色网站| 欧美一级99在线观看国产| 亚洲综合精品香蕉久久网| 日本欧美视频在线观看| 米奇精品一区二区三区| 精品国产自在现线看久久| 91精品日韩人妻无码久久| 精品伊人久久久大香线蕉欧美| 全色黄大色大片免费久久老太| 欧美在线网| 中文字幕在线欧美| 手机在线免费不卡一区二| 欧美成人a∨视频免费观看| 欧美精品v| 在线综合亚洲欧美网站| 四虎影视8848永久精品| 综合天天色| 亚洲精品你懂的| 欧美三级日韩三级| 国产99热| 成年人国产网站| 性视频久久| 日韩第一页在线| 看国产毛片| 亚洲人视频在线观看| 日韩123欧美字幕| 毛片a级毛片免费观看免下载| 亚洲美女一级毛片| 午夜视频免费一区二区在线看| 国产欧美在线视频免费| 黄色三级网站免费| 国产成人精品免费视频大全五级| 国产欧美日韩综合一区在线播放| 精品综合久久久久久97超人|