任續超,姚 睿
(陜西能源職業技術學院,陜西 咸陽 712000)
目前,實際工程中經常會涉及到很多土石方量的計算,通常工程上采用斷面法計算土石方量,尤其是在大面積土石方填挖工程中,需要定期反復地對填挖方區域進行測量并計算填挖方量[1],用于工程量的統計和階段性資金核算。采用斷面法核算土石方量首先需要確定斷面面積和斷面間距,斷面法計算土石方量中斷面為原始地面線與實測地面線構成的封閉多邊形,通常原始地面線是根據提取原始地形圖上斷面截線與等高線交點的坐標高程數據繪制,由于工程的持續性施工,土石方量隨工程的進展持續變化,實測地面線也在不斷變化,因此,實測地面線的獲取需要定期對實地地形特征點進行測量。斷面法計算土方量根據工程區域的大體形狀要確定各斷面之間的間距以保證土方量計算的準確性,面積較大工程中斷面數量也較多,通過外業采集數據繪制各斷面圖形往往工作量非常大,也十分繁瑣,容易出現錯誤,因此,非常有必要開發一個針對實際工程需要快速提取AutoCAD地形圖中交點坐標高程數據,并在AutoCAD軟件中自動生成斷面的程序,以此提高工程作業中利用斷面法進行土方量核算的效率和準確性。
實際工程中采用斷面法進行土石方量核算時,各斷面分布都具有一定的規律性,圖1為某實際項目中某填方工程區域的斷面分布圖,其中各斷面分布位置為外圍界限特征拐點的連線且平行分布。

圖1 工程斷面分布圖
若以傳統的斷面線繪制方法繪制原始地面線,需要逐點提取交點坐標高程數據,再利用計算器根據坐標反算出各點至首點的距離和高差,再根據計算出的數據在AutoCAD中繪制轉折點,最后連接轉折點形成斷面地面線,該方法存在的問題是過程性工序繁多,工作量很大,需要大量的時間且容易出錯。圖2為以傳統方法繪制斷面圖的過程圖。

圖2 傳統方法繪制斷面過程圖
實測地面線與原始地面線繪制方法相同,區別在于獲取原始數據的途徑不同,繪制一個完整斷面需要將原始地面剖線和實測地面線分別會合之后,最后以一個同名點為基準點確定實測地面線起始位置,與原始地面線進行結合形成斷面剖面。圖3為某一斷面的繪制成果圖。

圖3 斷面剖面示意圖
斷面法計算土石方量時根據繪制的各斷面剖面確定出土石方工程范圍內各斷面的面積,利用公式(1)和公式(2)計算出土石方量。

式中:S為各斷面的截面面積,K為各斷面的樁號,V為土石方量。

由上述研究可知,斷面的繪制處理工作量極大,由于其工序上存在著明顯的程序化和重復性流程,因此,在成圖環節通過對AutoCAD程序進行二次開發實現快速成圖,縮小斷面成圖時間,提高工作效率和準確性。
鑒于傳統繪制斷面的復雜性,為了提高斷面法計算土方量的工作效率,本研究以Visual C#語言開發能夠快速提取交點坐標并生成斷面圖的程序,其中程序設計的核心點在于將AutoCAD地形圖中的交點坐標高程數據快速提取出來[2],利用程序批量進行計算得到繪制斷面線所需的高差和距離數據,并自動在AutoCAD中生成斷面線,程序設計流程如圖4所示。

圖4 程序設計流程圖
程序功能主要分為兩大模塊,一個模塊為以圖形生成圖形,另一個模塊是以數據生成圖形。程序界面如圖5所示。

圖5 程序界面圖
程序主要功能可以實現在AutoCAD中快速提取特征點的坐標高程數據,并自動生成斷面截線圖,總體分兩步實現原始地面線和實測地面線的生成,再根據基準點高差值對兩條地面線進行組合,實現斷面的快速繪制[3-4]。
第一種為根據圖形提取數據生成圖形,核心步驟為交點坐標高程數據的拾取,拾取的點必須為斷面截線與等高線的交點,否則所采集的點只有坐標沒有高程數據,程序會提示數據有誤,拾取交點的順序必須依次進行不能間斷,且所有斷面的拾取方向需保持一致,這是本程序實現的關鍵點以及程序編寫的難點,程序會根據拾取的交點數據默認以首點為基準點計算后續各點與首點的偏距和高差,并顯示在程序頁面中,以備核對。第二種為根據編輯好的數據文件直接生成圖形,打開格式數據文件,程序會自動判斷文件中數據是否合法并統計坐標個數,依次點擊計算距離、計算高差、指定基點輸出實測地面線按鈕,跳轉至AutoCAD頁面后選擇成圖基點就會生成斷面。最后根據程序提示的基準點高差結合兩條地面線形成斷面,基準點高差默認為兩條線的首點高差值,程序設計了清除數據按鈕,待生成一個斷面后,點擊清除數據按鈕初始化程序,可以快速地進行下一個新的斷面圖的生成。
為驗證程序的正確性,以圖1所示工程為算例,按從下向上的順序提取第一條截線與各等高線的交點數據,拾取的坐標數據會自動記錄在坐標數據文本框中,并顯示拾取交點的個數,點擊計算距離和計算高差后顯示計算后的數據,根據坐標反算對比,證明距離和高差數據計算正確,如圖6所示。

圖6 程序計算實例圖
利用程序分別繪制各斷面線,以本程序繪制圖1所示的9條斷面線大約只需要5 min,9條線所拾取的交點總數為74個,繪制一條線所需時間主要與每條線的交點個數有關,提取一個點的時間大約為4 s,按一條線為7個點,加上其他時間繪制一條斷面線的時間大致為33 s左右。若按照傳統方法分別繪制圖1所示的9條斷面線,所消耗時間主要分為提取坐標過程、計算過程、圖形繪制過程,不考慮其他因素大約需要2.5 h,相比而言,利用該程序繪制斷面線可以將工作效率提高近30倍,由此可以體現出本程序的優越性,實現了將大量重復復雜工作簡化的目的,對土石方工程而言具有非常實用的價值[5]。
本研究針對實際土石方工程中斷面法計算方量方法的復雜性和重復性,基于AutoCAD平臺并利用Visual C#語言設計實現了可以智能提取AutoCAD地形圖中截線與等高線交點的坐標數據,并能夠快速繪制出斷面線的界面化程序,通過與傳統斷面線繪制方法進行對比得出,一方面本程序可以將斷面線的繪制效率提高近30倍,節省了工程核算的時間,提高了工作效率和準確性,降低了工程的成本,證明了開發該程序對實際工程的可行性和必要性;另一方面本程序能夠適用于各種以斷面法計算土方量的工程,不受地形限制,從而體現了以計算機開發程序結合相關工程軟件解決實際工程問題的優越性。