王建國(guó) 吳美容
(1.中煤國(guó)際工程集團(tuán)南京設(shè)計(jì)研究院,江蘇南京 210031;2.江蘇蘭德數(shù)碼科技有限公司,江蘇南京 210007)
作者曾經(jīng)參加過(guò)三個(gè)水電站工程的地下隧道測(cè)繪工作。隧道橫斷面檢測(cè)主要是用于開(kāi)挖形體的質(zhì)量控制以及作為工程計(jì)量的依據(jù)。根據(jù)國(guó)家及行業(yè)規(guī)范規(guī)定,隧道斷面間距直線段為5 m,曲線段為3 m,遇到結(jié)構(gòu)變化或特殊部位應(yīng)當(dāng)適當(dāng)加測(cè)斷面。由此可見(jiàn),斷面檢測(cè)的頻率還是很高的。如果采取手工繪圖將會(huì)出現(xiàn)很多的重復(fù)性勞動(dòng),因此如何借助計(jì)算機(jī)軟件實(shí)現(xiàn)批量自動(dòng)繪制橫斷面圖就顯得很有意義,這將會(huì)極大的提高工作效率。文獻(xiàn)[1][2]對(duì)該方面進(jìn)行了闡述。根據(jù)作者編寫(xiě)的程序?qū)@方面進(jìn)行探討,并配帶相關(guān)代碼。為敘述方便在此以比較常見(jiàn)的城門(mén)洞形為例進(jìn)行說(shuō)明。
原始數(shù)據(jù)格式如下:
說(shuō)明:“Begin”是斷面的開(kāi)始,5代表樁號(hào),1.5代表偏距(左負(fù)右正),2 755.358代表高程。外業(yè)測(cè)量要求順著一個(gè)方向沿?cái)嗝娌杉瘮?shù)據(jù)。具體代碼:Set shijiduanmianxian=ThisDrawing.ModelSpace.AddLine(StartPoint,EndPoint),可見(jiàn)如果不沿?cái)嗝骓樦粋€(gè)方向采集數(shù)據(jù),內(nèi)業(yè)成圖將出現(xiàn)折線情況。
具體代碼:
如圖1所示。
圖1 斷面數(shù)據(jù)文件
主程序思路:主程序遇到“Begin”開(kāi)始讀取數(shù)據(jù)直到遇到下一個(gè)”Begin”或者文件末結(jié)束讀取本樁號(hào)斷面數(shù)據(jù),并調(diào)用子程序HuiTu(),然后主程序再讀取原始數(shù)據(jù)中的下一個(gè)斷面數(shù)據(jù)并調(diào)用子程序HuiTu(),如此反復(fù)循環(huán)直到程序讀取到原始數(shù)據(jù)末完成所有斷面圖的繪制。主程序?qū)嶋H上就是運(yùn)用了雙層循環(huán),運(yùn)用循環(huán)程序計(jì)算機(jī)代替手工進(jìn)行繪圖。具體代碼:
子程序主要是繪制每一個(gè)斷面,包括:設(shè)計(jì)斷面、實(shí)際斷面、網(wǎng)格線、標(biāo)尺、樁號(hào)、插入圖框、超欠挖標(biāo)注、超欠挖面積標(biāo)注等(如圖2所示)。限于篇幅,在此僅介紹超欠挖以及超欠挖面積設(shè)計(jì)思路。
圖2 繪斷面圖
超欠挖設(shè)計(jì)思路:如果實(shí)際高程大于起拱高程,則判斷點(diǎn)位位于圓弧段,以點(diǎn)位到圓弧中心的距離與圓弧半徑的大小判斷超欠挖值,大于圓弧半徑超挖,小于圓弧半徑則欠挖。如果實(shí)際高程小于起拱高程即意味著點(diǎn)位在兩側(cè)墻之間,程序根據(jù)點(diǎn)之偏距判斷點(diǎn)較接于左側(cè)墻還是右側(cè)墻,通過(guò)偏距大小判斷超欠挖值。
超欠挖面積設(shè)計(jì)思路:將設(shè)計(jì)斷面與實(shí)際斷面分別構(gòu)成面域。超挖面積 =實(shí)際開(kāi)挖面積與設(shè)計(jì)開(kāi)挖面積的差集,欠挖面積 =設(shè)計(jì)開(kāi)挖面積與實(shí)際開(kāi)挖面積的差集,實(shí)際完成設(shè)計(jì)開(kāi)挖面積 =實(shí)際開(kāi)挖面積與設(shè)計(jì)開(kāi)挖面積的交集。具體代碼:
圖3為小姓水電站1號(hào)隧道成圖結(jié)果。
圖3 小姓水電站1號(hào)隧道斷面繪制
程序運(yùn)用 VBA語(yǔ)言編寫(xiě),在Win XP系統(tǒng)CAD2004平臺(tái)下運(yùn)行成功。具體運(yùn)用時(shí)可將宏代碼添加到自定義菜單下面運(yùn)用十分方便,具體代碼為:^C^C_-vbarun"d:/rjb/hdm/gongchengcad.dvb!HuiDuanMia.DuanMianByFile"。
本文以城門(mén)洞形為列進(jìn)行敘述,實(shí)際工作中還會(huì)遇到馬蹄形、多圓心形、矩形、圓形等斷面形式,其實(shí)都是直線段與圓弧的組合,工作中只要根據(jù)設(shè)計(jì)幾何參數(shù)作相應(yīng)修改即可。
本程序算法思路同樣適用于設(shè)計(jì)編制縱斷面圖繪制軟件,作者曾經(jīng)將其運(yùn)用于繪制安徽宿州鄒莊煤礦的輸變電線路縱斷面圖。
程序通過(guò)建立與EXCEL通訊的方法將開(kāi)挖面積輸出到指定EXCEL表格中,從而達(dá)到面積統(tǒng)計(jì)的要求。運(yùn)用AddTable()直接在CAD里面插入表格也是可行的方法。
行業(yè)軟件CASS工程應(yīng)用菜單里面雖然也設(shè)計(jì)有批量繪制橫斷面的功能,其實(shí)質(zhì)也是在每一個(gè)里程的剖面線上獲取等間隔點(diǎn)的偏距與高程,從而生成橫斷面文件,最后繪制橫斷面圖。但是其沒(méi)有設(shè)計(jì)直接根據(jù)橫斷面文件生成橫斷面圖的菜單。因此,測(cè)繪同行在不知道二次開(kāi)發(fā)的情況下很多都是只能在CAD平臺(tái)上重復(fù)性的手工繪圖,效率較低。該程序經(jīng)過(guò)西龍池水電站、小姓水電站、官地水電站工程隧道測(cè)量實(shí)踐,證明其正確、實(shí)用,極大的提高了內(nèi)業(yè)成圖的作業(yè)效率,得到了測(cè)繪同行的好評(píng)。
[1]吳彬,等.應(yīng)用ObjectARX開(kāi)發(fā)通用隧洞斷面繪制軟件[J].城市勘測(cè),2008(2)
[2]佟士懋,邢芳芳,夏齊霄.AutoCAD ActiveX/VBA二次開(kāi)發(fā)技術(shù)基礎(chǔ)及應(yīng)用實(shí)例[M].北京:國(guó)防工業(yè)出版社,2006
[3]張宏,溫永寧,劉愛(ài)利,等.地理信息系統(tǒng)算法基礎(chǔ)[M].北京:科學(xué)出版社,2006