唐友強(qiáng) (中鐵十一局集團(tuán)第五工程有限公司,重慶 400030)
使用計(jì)算程序?qū)⑼鈽I(yè)使用全站儀采集的平面坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的里程、偏距值,取偏距和高程到內(nèi)軌頂?shù)牟钪禐椴杉c(diǎn)在斷面坐標(biāo)系中的橫、縱坐標(biāo),并以此坐標(biāo)與各個(gè)圖元的相對(duì)位置找到與之對(duì)應(yīng)的圖元,計(jì)算點(diǎn)到對(duì)應(yīng)圖元的垂點(diǎn)坐標(biāo)得到超欠挖數(shù)據(jù)。
EXCEL具有強(qiáng)大的數(shù)據(jù)處理能力,而AutoCAD具有完善的繪圖功能。通過(guò)建立EXCEL與AutoCAD的通信將兩者的優(yōu)點(diǎn)結(jié)合起來(lái),可以把大量數(shù)據(jù)中所蘊(yùn)涵的信息提取出來(lái),以非常直觀的方式進(jìn)行展示。EXCEL與AutoCAD的通信是基于ActiveX自動(dòng)化界面技術(shù),這種完全面向?qū)ο蟮募夹g(shù)為應(yīng)用程序提供了一個(gè)數(shù)據(jù)中轉(zhuǎn)站,可實(shí)現(xiàn)多種程序之間的數(shù)據(jù)共享[1]。
根據(jù)斷面圖的圖元組成類型及對(duì)應(yīng)的圖元數(shù)據(jù),如半徑、角度、距離等確定繪制標(biāo)準(zhǔn)斷面的AutoCAD命令。斷面圖繪制時(shí)需要將相近里程的采集點(diǎn)繪制在同一斷面上,并在圖上標(biāo)注里程。由此,可使用EXCEL VBA判斷語(yǔ)句,根據(jù)計(jì)算得到的里程得出需要繪制的標(biāo)準(zhǔn)斷面的數(shù)量以及每個(gè)斷面的平均里程。利用EXCEL VBA循環(huán)命令按次序?qū)?biāo)準(zhǔn)斷面圖的橫坐標(biāo)遞增一合適常數(shù),進(jìn)而畫(huà)出間距相等的多個(gè)標(biāo)準(zhǔn)斷面圖。同理,可將由超欠挖數(shù)據(jù)生成的標(biāo)注命令繪制在對(duì)應(yīng)的標(biāo)準(zhǔn)斷面圖上。
超欠挖標(biāo)注是標(biāo)注出點(diǎn)到標(biāo)準(zhǔn)斷面的垂直距離,為實(shí)現(xiàn)批量操作需使用AutoCAD中的對(duì)齊式線性標(biāo)注[2],此方法需根據(jù)標(biāo)準(zhǔn)斷面計(jì)算出垂點(diǎn)坐標(biāo)。標(biāo)準(zhǔn)斷面通常是由圓弧與直線組成的軸對(duì)稱圖形。對(duì)于圓弧,可比較采集點(diǎn)、圓弧起點(diǎn)、圓弧終點(diǎn)到圓心連線的斜率,來(lái)判斷與點(diǎn)對(duì)應(yīng)的圓弧。對(duì)于直線段,可根據(jù)點(diǎn)到直線段所在直線的的垂點(diǎn)是否在直線段上進(jìn)行判定。
若與采集點(diǎn)對(duì)應(yīng)的為圓弧,則可由式(1)、(2)得到點(diǎn)到圓弧的垂點(diǎn)坐標(biāo):
式中:XC,YC是垂點(diǎn)的橫縱坐標(biāo);
XR,YR是圓弧圓心的橫縱坐標(biāo);
X,Y,是實(shí)測(cè)點(diǎn)的橫縱坐標(biāo);
R是圓弧半徑,S是實(shí)測(cè)點(diǎn)到圓心的圓心距。若對(duì)應(yīng)圖元為直線則先根據(jù)直線兩端點(diǎn)坐標(biāo)求出直線方程,再根據(jù)式(3),(4)求出點(diǎn)在直線段上的垂點(diǎn)坐標(biāo):
式中:XC,YC是垂點(diǎn)的橫縱坐標(biāo);
X,Y是實(shí)測(cè)點(diǎn)的橫縱坐標(biāo);
a、b、c分別為直線方程中X,Y的系數(shù)和常數(shù)項(xiàng)。
EXCEL與AutoCAD的通信是把AutoCAD類型庫(kù)加載到EXCEL VBA程序中[3]。其具體操作是打開(kāi)EXCEL VBA 程序編輯界面,點(diǎn)擊[工具]/[引用],勾選[AutoCAD 2018 Type Library],如圖 1。
勾選完成后需要使用如下代碼打開(kāi)AutoCAD:
Set acadApp=GetObject(,"AutoCAD.Application")'為EXCEL分配一個(gè)AutoCAD應(yīng)用
圖1
斷面批量生成流程為:
①將數(shù)據(jù)按里程大小排序,根據(jù)里程差值確定斷面數(shù)量;
②畫(huà)出對(duì)應(yīng)數(shù)量的標(biāo)準(zhǔn)斷面,并標(biāo)注相關(guān)信息;
③求出每個(gè)斷面的平均里程,并按順序標(biāo)注在標(biāo)準(zhǔn)斷面圖上;
④以對(duì)齊線性標(biāo)注形式將計(jì)算得到的超欠挖數(shù)據(jù)按里程標(biāo)注在對(duì)應(yīng)的標(biāo)準(zhǔn)斷面圖上。
因篇幅所限現(xiàn)將部分代碼展示如下:
渝懷二線鐵路新圓梁山隧道全長(zhǎng)11172m,是渝懷二線鐵路頭號(hào)控制性工程,隧道最大埋深約774m,穿越3處溶洞,5條斷層,地質(zhì)構(gòu)造異常復(fù)雜,施工難度大。施工過(guò)程中為了在保證施工質(zhì)量的前提下降低施工成本,需要在隧道初期支護(hù)完成后進(jìn)行斷面超欠挖繪圖,并根據(jù)所繪圖形制定下一步施工計(jì)劃。
首先根據(jù)隧道里程確定襯砌類型為Ⅲb-W,將襯砌的標(biāo)準(zhǔn)斷面數(shù)據(jù)錄入到EXCEL表格中,其中主要有三個(gè)圓弧的半徑與圓心角,兩條直線段由起點(diǎn)到終點(diǎn)的坐標(biāo)差。然后將外業(yè)使用全站儀采集的初期支護(hù)斷面數(shù)據(jù)導(dǎo)入EXCEL表格,截取部分?jǐn)?shù)據(jù),如圖2所示,點(diǎn)擊“超欠挖批量成圖”得到超欠挖斷面圖,部分?jǐn)嗝娉吠趫D如圖3所示。
與現(xiàn)有方法相比,此方法具有以下優(yōu)點(diǎn):
①成圖效率高,根據(jù)里程,一次可自動(dòng)生成多個(gè)超欠挖斷面圖;
②超欠挖直觀,使用“點(diǎn)位標(biāo)注”和“對(duì)齊線性標(biāo)注”,能直觀的反應(yīng)出斷面的超欠挖情況;
③斷面信息完整。使用“文字注記”將各種信息自動(dòng)標(biāo)注在斷面圖上,便于查閱使用。
圖3