劉曉光
摘 要 現(xiàn)代城市建設(shè)突飛猛進(jìn),大量城市建筑建成投入使用,然而城市建筑在使用過(guò)程中經(jīng)常出現(xiàn)不同程度的裂縫問(wèn)題。面對(duì)城市建筑裂縫,是放棄使用還是重新建造成為人們關(guān)注的焦點(diǎn),這就需要專(zhuān)業(yè)機(jī)構(gòu)對(duì)裂縫進(jìn)行檢測(cè)及鑒定。而通過(guò)CAD二次開(kāi)發(fā)程序進(jìn)行工程檢測(cè)能夠有效提高工作效率,提供參考數(shù)據(jù),從而為工程決策提供依據(jù)。本文就CAD二次開(kāi)發(fā)在工程檢測(cè)中的應(yīng)用進(jìn)行探究。
關(guān)鍵詞 CAD軟件 二次開(kāi)發(fā) 工程檢測(cè) 裂縫檢測(cè)
中圖分類(lèi)號(hào):TP391.7 文獻(xiàn)標(biāo)識(shí)碼:A
1 AutoCAD二次開(kāi)發(fā)
AutoCAD軟件是由Autodesk公司推出的一款功能強(qiáng)大的供用戶從事設(shè)計(jì)和繪制圖形的專(zhuān)業(yè)軟件,其能夠?yàn)橛脩籼峁┲T多可供二次開(kāi)發(fā)的平臺(tái),其二次開(kāi)發(fā)主要內(nèi)容包括:
(1)編寫(xiě)各種Lisp文件從而實(shí)現(xiàn)某些具有特殊用戶需要的命令,同時(shí)編寫(xiě)dcl配梁文件,通過(guò)對(duì)話框形式完成交互式使用所編寫(xiě)命令;
(2)定制針對(duì)不同項(xiàng)目的系統(tǒng)菜單,通過(guò)編寫(xiě)MNU文件,完成對(duì)不同工作項(xiàng)目的不同操作界面設(shè)置,并且可以運(yùn)用交互式的輸入方式調(diào)用CAD系統(tǒng)原有菜單,以此建立符合自身需求的工作空間;
(3)修改系統(tǒng)原有Lisp文件,也可通過(guò)交互式方法在系統(tǒng)對(duì)話框中修改某些系統(tǒng)設(shè)置路徑,這樣再次啟動(dòng)CAD時(shí),即可在原有CAD功能基礎(chǔ)上加入新的初始化設(shè)置;
(4)根據(jù)用戶自身需要編寫(xiě)相關(guān)程序與CAD進(jìn)行對(duì)接,實(shí)現(xiàn)CAD二次開(kāi)發(fā)任務(wù)。
2 AutoCAD二次開(kāi)發(fā)工具
AutoCAD二次開(kāi)發(fā)工具包括Visual-Lisp,VBA,ObjectARX,.NETAPI等很多,以上開(kāi)發(fā)工具各具特點(diǎn),具體使用時(shí)可結(jié)合需求情況靈活應(yīng)用不同開(kāi)發(fā)工具進(jìn)行二次開(kāi)發(fā),本文選擇VBA和VisualLisp兩種開(kāi)發(fā)工具進(jìn)行CAD二次開(kāi)發(fā)。
2.1 VisualLisp開(kāi)發(fā)工具
VisualLisp是完整的集成開(kāi)發(fā)環(huán)境,其是為加速AutoLisp程序開(kāi)發(fā)而設(shè)計(jì)的軟件開(kāi)發(fā)工具,該環(huán)境下能夠快捷、高效地實(shí)現(xiàn)CAD二次開(kāi)發(fā),編譯開(kāi)發(fā)后程序,能夠得到運(yùn)行效率高、代碼緊湊的應(yīng)用程序,并且能夠同時(shí)良好保護(hù)源代碼。VisualLisp既能夠兼容AutoLisp程序,又能夠擴(kuò)充許多新功能,通過(guò)這些功能能夠各種實(shí)現(xiàn)工程計(jì)算分析、定義新命令、驅(qū)動(dòng)對(duì)話框、自動(dòng)繪制復(fù)雜圖像,并且為CAD擴(kuò)充更多的智能化、參數(shù)化功能。
2.2 VBA(VisualBasicforApplications)開(kāi)發(fā)工具
CAD中集成了VBA的編輯器,能夠?yàn)殚_(kāi)發(fā)人員提供一種CAD二次開(kāi)發(fā)的選擇,并且能夠?yàn)橛脩粼L問(wèn)CAD中豐富的技術(shù)框架開(kāi)辟了新的路徑,VBA與AuotCAD通過(guò)強(qiáng)大的ActiveX實(shí)現(xiàn)結(jié)合,既能夠控制CAD數(shù)據(jù)庫(kù),又能夠促使CAD與Word,Excel等外部程序?qū)崿F(xiàn)數(shù)據(jù)交換功能,完成CAD二次開(kāi)發(fā)工作。
3 AutoCAD二次開(kāi)發(fā)技術(shù)
以某單位建設(shè)結(jié)構(gòu)檢測(cè)部為例,其裂縫檢測(cè)及報(bào)告生成過(guò)程是:首先通過(guò)DJCK-2裂縫測(cè)寬儀,現(xiàn)場(chǎng)對(duì)裂縫的寬度進(jìn)行讀數(shù)并標(biāo)出,同時(shí)根據(jù)房屋的建筑施工圖圖紙,在現(xiàn)場(chǎng)記錄表上確定該裂縫所在軸線位置,繪制出裂縫走勢(shì)和在關(guān)鍵位置標(biāo)出裂縫位置,現(xiàn)場(chǎng)檢測(cè)完成以后,利用計(jì)算機(jī)CAD軟件將現(xiàn)場(chǎng)手繪圖片再繪制一遍,該繪制過(guò)程通常需大量精力,通常一個(gè)項(xiàng)目有幾百戶人家,會(huì)有大量現(xiàn)場(chǎng)檢測(cè)的紙質(zhì)原始記錄,而這些記錄檢測(cè)結(jié)束后需要大量時(shí)間進(jìn)行整理和電腦輸入,此過(guò)程相當(dāng)于重新做一次整個(gè)工程,特別是因溫度變化等引發(fā)的表面裂縫較大,其裂縫走勢(shì)與位置并非像多數(shù)結(jié)構(gòu)裂縫那樣擁有大致形式和固定位置,而是千變?nèi)f化,因此繪制檢測(cè)報(bào)告時(shí)異常繁瑣復(fù)雜,后期數(shù)據(jù)處理和報(bào)告生成工作量極大,工作效率極低。加之?dāng)?shù)據(jù)量巨大,極易產(chǎn)生輸入錯(cuò)誤,因此檢測(cè)報(bào)告完成以后,仍需進(jìn)行認(rèn)真復(fù)核報(bào)告,工作難度較大。
4 AutoCAD二次開(kāi)發(fā)在工程檢測(cè)中的應(yīng)用
4.1 AutoCAD二次開(kāi)發(fā)特點(diǎn)
該軟件基于AutoCAD平臺(tái),通過(guò)Win8操作系統(tǒng)提供的觸摸功能,運(yùn)用該軟件將不再使用過(guò)去現(xiàn)場(chǎng)紙質(zhì)記錄的手段,如此既能夠節(jié)省大量整理工作,又能夠在檢測(cè)數(shù)據(jù)記錄與處理時(shí)避免人為因素干擾,降低生成檢告過(guò)程中可能產(chǎn)生的錯(cuò)誤,有效提高生產(chǎn)效率。該軟件特點(diǎn)包括以下幾點(diǎn):
(1)樣板化特點(diǎn)。該軟件提供有檢測(cè)現(xiàn)場(chǎng)能夠直接使用CAD圖形樣板,采用該樣板能夠節(jié)省檢測(cè)現(xiàn)場(chǎng)對(duì)初始化CAD后對(duì)圖層、文字樣式、標(biāo)注樣式等內(nèi)容設(shè)置操作,現(xiàn)場(chǎng)檢測(cè)人員可以直接進(jìn)行現(xiàn)場(chǎng)記錄繪制。
(2)參數(shù)化特點(diǎn)。使用該軟件繪制檢測(cè)報(bào)告中的裂縫示意圖時(shí),針對(duì)使用到的常用構(gòu)件可進(jìn)行面向?qū)ο蟮膮?shù)化繪制,如此能夠極大縮短繪制時(shí)間,簡(jiǎn)化現(xiàn)場(chǎng)繪制過(guò)程,提高檢測(cè)過(guò)程效率。
(3)可視化特點(diǎn)。針對(duì)常用構(gòu)件選擇,該軟件采用可視化方法,通過(guò)幻燈片形式把技術(shù)人員現(xiàn)場(chǎng)繪制時(shí)所用的構(gòu)件類(lèi)型直觀形象地展示在用戶面前,讓用戶一目了然可以選擇到自己所需要的構(gòu)件,加快繪圖速度,提高繪圖準(zhǔn)確率。
(4)模塊化特點(diǎn)。該軟件按照現(xiàn)場(chǎng)檢測(cè)過(guò)程,把軟件界面進(jìn)行友好界面設(shè)計(jì),從而實(shí)現(xiàn)軟件使用更加方便人機(jī)交互過(guò)程,且優(yōu)化了CAD常用快捷鍵,使用時(shí)可根據(jù)自身需要實(shí)現(xiàn)快速繪制。同時(shí)對(duì)檢測(cè)步驟進(jìn)行了模塊化分類(lèi)與整理,且進(jìn)行了標(biāo)準(zhǔn)化管理,使得原始數(shù)據(jù)能夠有效而快速地生成最終檢測(cè)報(bào)告,而每次使用到的新增模塊都能夠有效地進(jìn)行記錄,從而在使用過(guò)程中不斷擴(kuò)充用到的構(gòu)件庫(kù),為原始數(shù)據(jù)的積累提供基礎(chǔ)和保證。
4.2 工程檢測(cè)實(shí)例分析
(1)定制工作空間。使用VBA菜單定制語(yǔ)言,針對(duì)裂縫檢測(cè)現(xiàn)場(chǎng)工作流程需要,重新定制AutoCAD2014的工作空間,其中菜單新增了:初始化、構(gòu)件、配件、零件、裂縫等菜單選項(xiàng),在工具按鈕中添加了“工作環(huán)境初始化”“繪制裂縫”“標(biāo)注裂縫”三個(gè)按鈕,使得工程檢測(cè)人員能夠在現(xiàn)場(chǎng)快速繪制所需要的裂縫圖像。
(2)使用AutoLisp和dcl配梁語(yǔ)言編制“標(biāo)注裂縫”命令。AutoCAD2014允許用戶自己定制一個(gè)dcl配梁對(duì)話框,該操作是目前最為流行的人機(jī)交互,能夠?yàn)槭褂谜咛峁┛梢暬h(huán)境,讓操作更加快捷。本工程中,在標(biāo)注裂縫時(shí),需要人機(jī)交互輸入裂縫寬度并且標(biāo)注在指定位置上。具體編制代碼如下:
f:dialog{label="裂縫參數(shù)";edit_box{label="裂縫寬度";key="kd";edit_width=20;ok_cancel}
然而,使用dcl配梁語(yǔ)言編寫(xiě)的對(duì)話框只是簡(jiǎn)單的界面描述,用戶并不能單獨(dú)依靠它完成顯示和指令。必須利用AutoLisp程序驅(qū)動(dòng)才能實(shí)現(xiàn)用戶希望它達(dá)到的功能。AutoLisp采用了與CommonLisp相近的語(yǔ)法及習(xí)慣約定,并吸收了Lisp語(yǔ)言的主要函數(shù),同時(shí)增加了針對(duì)AutoCAD特點(diǎn)的許多功能,因此Lisp語(yǔ)言編程能夠十分靈活的在AutoCAD的平臺(tái)上很好的運(yùn)用。AutoLisp是以*lsp為擴(kuò)展名的文本文件,源程序的編輯過(guò)程是:首先運(yùn)行AutoCAD然后加載已編輯好的Lisp程序最后調(diào)用程序并運(yùn)行函數(shù)。在本工程中,實(shí)現(xiàn)標(biāo)注裂縫的Lisp程序代碼如下:
defunc:lf(/dcl_idpt1pt2pt3kd)
(setqdcl_id(load_dialog"lf.dcl"))
(if(not(new_dialog"lf"dcl_id))(exit))
(if(=kdnil)(setqkd(rtos0.0222)))
(set_tile"kd""0.02")
(action_tile"kd""(setqkd(atofvalue))")
(action_tile"accept""(done_dialog)")
(action_tile"cancel""(exit)(done_dialog)")
(start_dialog)
(unload_dialogdcl_id)
(setqpt1(getpoint"選擇標(biāo)注起點(diǎn):"))
(setqpt2(getpoint"選擇標(biāo)注終點(diǎn):"))
(command"line"pt1pt2"")
(setqpt3(getpoint"選擇標(biāo)注位置:"))
(setqkd(rtoskd22))
(command"text"pt3350""kd)
5結(jié)語(yǔ)
總之,面對(duì)城市建筑裂縫,是放棄使用還是重新建造成為人們關(guān)注的焦點(diǎn),這就需要專(zhuān)業(yè)機(jī)構(gòu)對(duì)裂縫進(jìn)行檢測(cè)及鑒定。而通過(guò)CAD二次開(kāi)發(fā)程序進(jìn)行工程檢測(cè)能夠有效提高工作效率,提供參考數(shù)據(jù),從而為工程決策提供依據(jù)。本文對(duì)CAD的二次開(kāi)發(fā)插件主要運(yùn)用在建筑物表面裂縫的現(xiàn)場(chǎng)檢測(cè)時(shí)的原始記錄采集與繪制工作,利用該軟件能夠讓工程技術(shù)人員在房屋安全監(jiān)測(cè)鑒定現(xiàn)場(chǎng),通過(guò)平面電腦快速記錄與繪制檢測(cè)的原始數(shù)據(jù),能夠讓過(guò)去需要大量時(shí)間進(jìn)行二次輸入的過(guò)程實(shí)現(xiàn)現(xiàn)場(chǎng)直接操作完成,快速生成檢測(cè)報(bào)告,全面提高工作效率。
參考文獻(xiàn)
[1] 鄭軍紅.AutoCAD二次開(kāi)發(fā)語(yǔ)言及開(kāi)發(fā)工具應(yīng)用分析[J].軟件導(dǎo)刊,2006.05.
[2] 葛麗瑋.AutoCAD二次開(kāi)發(fā)技術(shù)在堤防設(shè)計(jì)中的應(yīng)用[D].哈爾濱理工大學(xué),2007.
[3] 吳成軍.簡(jiǎn)述AutoCAD 2004二次開(kāi)發(fā)工具[J].科技信息,2009.31.
[4] 李艷麗.用Autolisp對(duì)AutoCAD進(jìn)行實(shí)用性二次開(kāi)發(fā)[J].福建電腦,2008.09.
[5] 呂家平,張新梅,李響,王拴虎.AutoCAD五種二次開(kāi)發(fā)工具及其優(yōu)缺點(diǎn)[J].兵工自動(dòng)化,2000.04.
[6] 陳中治,王敏.應(yīng)用C~#進(jìn)行AutoCAD二次開(kāi)發(fā)[A].中國(guó)公路學(xué)會(huì)計(jì)算機(jī)應(yīng)用分會(huì)2004年年會(huì)學(xué)術(shù)論文集[C],2004.
[7] 周建康,王輝.AutoCAD二次開(kāi)發(fā)方式的比較分析與研究[A].河南省土木建筑學(xué)會(huì)2010年學(xué)術(shù)大會(huì)論文集[C],2010.
[8] 徐文凱,王學(xué)武,孫岳.AutoCAD二次開(kāi)發(fā)在地基處理中的應(yīng)用[J].山西建筑,2008.34.
[9] 賈淑萍,謝安俊.面向中小企業(yè)的化工工藝流程及儀表CAD軟件的開(kāi)發(fā)[J].科技信息(科學(xué)教研),2008.19.
[10] 孫慧翔,虞世鳴,汪雯雍.基于AutoCAD平臺(tái)的參數(shù)化設(shè)計(jì)的研究[J].現(xiàn)代機(jī)械,2005.03.