覃高杰 黃福偉,2 王靖波
(1.重慶交通大學(xué),重慶 400074;2.重慶交通科學(xué)研究設(shè)計院,重慶 400067)
隨著我國交通事業(yè)的迅猛發(fā)展,橋梁公路里程不斷增加,然而交通量亦迅猛增長,大量橋梁缺乏足夠的監(jiān)控養(yǎng)護措施,以致越來越多的橋梁因為各種原因發(fā)生結(jié)構(gòu)性的損傷.不少橋梁因為缺乏檢測和及時進行維修加固導(dǎo)致成為危橋,目前我國危橋數(shù)量約90 000多座,[1]因此橋梁檢測艱巨重要,如何提高橋梁檢測的質(zhì)量與效率將是橋梁檢測迫切需要解決的問題.橋梁檢測中的外觀檢查是檢測的基本項目,檢測人員在檢測時會在橋梁各部位上發(fā)現(xiàn)多種病害,記錄人員通過簡單文字描述、草圖描述和照片拍攝后回到住宿地方進行報告的整理,病害的多少直接影響到檢測人員編制報告所花費的工作量.手工進行AutoCAD病害圖的繪制過于龐雜,需要花費大量的時間.因此,研究 AutoCAD的二次開發(fā)對于橋梁檢測來說是有必要的,通過需要輸入少量相關(guān)數(shù)據(jù),使AutoCAD進行智能生成病害圖,將會大大提高檢測報告的編制效率.
vb.net是一個非常出色的編程軟件,能方便地對AutoCAD進行操作控制,因此本文采用vb.net語言對AutoCAD進行二次開發(fā).筆者認為橋梁檢測中AutoCAD二次開發(fā)主要有以下關(guān)鍵技術(shù).
AutoCAD軟件提供了與各種編程語言相銜接的接口,因此編程語言 vb.net能夠較為容易地引用,在vb.net中引用com中的AutoCAD 2004 Type Library(在此要查看安裝的AutoCAD版本).接下來要在vb.net中對CAD的連接與調(diào)用,代碼如下:
橋梁構(gòu)件三維圖形在橋梁檢測報告中查看不方便,因此現(xiàn)橋梁檢測報告中構(gòu)件病害圖多為構(gòu)件展開圖(二維平面圖).由于橋梁構(gòu)件眾多且部分構(gòu)件不規(guī)則,對于結(jié)構(gòu)相對簡單的構(gòu)件(如展開圖形為矩形、平行四邊形、環(huán)形或它們的組合圖形)則可進行構(gòu)件尺寸輸入而生成構(gòu)件圖.但當(dāng)構(gòu)件不規(guī)則時采用尺寸輸入不現(xiàn)實,可通過導(dǎo)入預(yù)先手動畫好的構(gòu)件CAD圖.
有了構(gòu)件CAD圖,需要vb.net語句來檢查構(gòu)件的最小x坐標(biāo)、最小y坐標(biāo)、最大x坐標(biāo)和最大y坐標(biāo),如此接下來才能準(zhǔn)確地定位構(gòu)件病害在構(gòu)件中的具體位置.通過循環(huán)查找每條線的坐標(biāo)對比,判斷出所求坐標(biāo).
構(gòu)件最小x坐標(biāo)xmin、最小y坐標(biāo)ymin、最大x坐標(biāo)xmax和最大y坐標(biāo)ymax確定后,就可以重新確定該構(gòu)件坐標(biāo)系.新坐標(biāo)系中原點為(xmin,ymin),x軸與y軸方向與原方向一致.
橋梁病害種類繁多,規(guī)范中并沒用明確規(guī)定各種病害的準(zhǔn)確描述方法,因此在此定義了幾種典型病害的描述:(1)裂縫,CAD中采用樣條曲線來描述;(2)滲水、破損,采用樣條曲線繪制病害區(qū)域.構(gòu)件病害的標(biāo)示采用病害名稱前兩個字母標(biāo)示.例:
構(gòu)件病害的準(zhǔn)確定位十分重要,這將決定了對病害描述的準(zhǔn)確程度.構(gòu)件病害分為區(qū)域型病害與單一的裂縫病害,裂縫病害與其他病害如下描述:
裂縫病害描述
裂縫采用紅色樣條曲線來描述,首先需要確定裂縫的中點(x0,y0),然后確定裂縫的長度l,還需要確定裂縫與水平面的夾角 θ,最后輸入裂縫寬度 σ,由于裂縫的不規(guī)則性,所以繪制樣條曲線時采用隨機數(shù)對樣條曲線進行擬合,如此可以得到逼真的裂縫描述圖.
區(qū)域病害(滲水)描述
區(qū)域病害有很多種,如滲水、破損、麻面、坑槽等等,區(qū)域病害可采用病害首字母來區(qū)分各種病害,區(qū)域病害也采用樣條曲線來描述,首先確定病害區(qū)域的中心點(x0,y0),然后確定病害長度 l與寬度b,還需要確定病害與水平面的夾角θ,最后采用樣條曲線進行擬合,可以得到區(qū)域病害圖.
程序中需要輸入的病害變量值如下表所示:
區(qū)域病害圖 病害類型 x0 y0 l b θ裂縫圖 / x0 y0 l θ σ
采用AcadApp.ActiveDocument.ModelSpace.Ad dSpline函數(shù)進行樣條曲線的繪制,AutoCAD.ACA D_COLOR函數(shù)設(shè)置曲線的顏色,AcadApp.Active Document.ModelSpace.AddText函數(shù)來輸入注釋文字,如此可以完成構(gòu)件病害的AutoCAD圖描述,在此要注意:一是病害位置和長度不可超過構(gòu)件大?。欢窃O(shè)置注釋文字的時候文字大小要適當(dāng),否則將影響病害圖效果;三是病害的長和寬都采用樣條曲線來描述,控制點少則病害描述不理想,可以選取更多控制點,如此可以得到更加逼真的病害圖.
病害圖生成后需要進行查看才能確定病害圖效果,可以采用 AcadApp.ActiveDocument.SendCo mmand("_z" + vbCr + "_e" + vbCr)可以得到 Aut oCAD的縮放視角,如此可以清楚查看構(gòu)件病害.
通過采用vb.net對AutoCAD進行的二次開發(fā),可以方便地實現(xiàn)橋梁病害圖的描述,對橋梁病害能有較準(zhǔn)確的定位,大大簡化了檢測人員的畫圖工作,此外AutoCAD的二次開發(fā)也可以運用于隧道或者其他結(jié)構(gòu)的檢測,對于各種結(jié)構(gòu)的病害檢測出圖也能大大加快效率.
[1]張勁泉.我國公路橋梁承載能力檢測評定技術(shù)的現(xiàn)狀與發(fā)展[J].公路交通科技,2006(S1):53-55.
[2]張帆.AutoCAD VBA 二次開發(fā)教程[M].北京:清華大學(xué)出版社,2006.
[3]公路橋涵養(yǎng)護規(guī)范(JTG H11-2004)[S].