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