牛秋麗
(唐山市水利規劃設計研究院,河北 唐山 063000)
橫斷面測量指的是測量中樁處垂直于中線方向的地表起伏形態的作業。在重大項目規劃、工程建設上,橫斷面圖能展示更多的信息,為后續的決策提供重要的依據。比如修建水庫、公路等,都需要進行橫斷面分析,以優化修建方案;在水利工程、管線工程、道路工程等帶狀工程的施工設計中,斷面數據是指導施工和計算土方的重要依據。
隨著測繪技術和測量設備的發展,斷面測量外業數據的采集在保證高精度的同時,實現了高效、便捷。因此,斷面測量的內業數據處理的精度和效率將直接影響工程的建設進度和質量。傳統的斷面測量內業數據處理方法主要靠作業人員手工錄入外業測量數據,由于數據量較大,數據錄入不僅效率低而且容易出錯,不利于成果的整理與檢查。尤其是面對時間緊、任務急的工程,內業處理的效率成為制約工程進度的主要因素。因此,迫切需要改進內業數據處理方式,提高作業效率和精度。本文配合南方CASS軟件和濟南百圖水利土石方設計軟件,利用AutoCAD強大的Visual LISP 語言進行二次開發,根據斷面線及縱向偏差范圍內的特征點提取斷面數據文件,同時生成提取斷面的高程點檢查圖層,最后,利用斷面軟件自動繪制斷面圖,簡化工作流程,提高效率和精度。
在日常生產中,AutoCAD作為主流的繪圖軟件,廣泛應用于各個行業。AutoCAD開放式的體系結構,決定了其強大的二次開發空間及潛力[1]。目前AutoCAD二次開發工具主要有VBA、ObjectARX、Visual LISP、Visual C++等。其中,Visual LISP使用方便、開發速度快、方便調試,用戶可以利用Visual LISP語言實現對AutoCAD當前圖形的數據庫的直接訪問和修改,增加AutoCAD新命令和開發參數化繪圖程序等,為AutoCAD提供了快速簡潔開發編程的途徑,使得用戶能充分利用對AutoCAD進行二次開發且不受CAD版本限制,通用性好[2]。
首先,結合工程實際需要或設計中心線,確定橫斷成果的中心線、斷面間隔、斷面寬度、斷面方向,可利用CASS軟件自帶的“生成里程文件”命令完成。然后,在CASS圖形中選擇中心線、斷面線,通過代碼實現自動計算樁號的功能[3]。
(setq zxx (entsel " 請選擇中心線"))[4]
(setq zxx_vla(vlax-ename->vla-object (car zxx)))
(prompt " 拾取橫斷面線:")
(setq e (ssget ":S" '((0 ."LINE"))))
(setq jdj(list))
(setq jdj(vlax-invoke zxx_vla 'IntersectWith (vlax-ename->vla-object (ssname e 0))0))
;計算橫斷面線與中心線交點(樁號)
(setq jd(list (nth 0 jdj)(nth 1 jdj)(nth 2 jdj)))
由于在外業數據采集時,橫斷測量存在偏離斷面線的情況,所以內業處理時結合工程現場綜合考慮。用戶可以根據實際情況,自定義斷面特征點提取的寬度(默認為橫斷線左右兩端各5 m),同時在CASS圖形中顯示自動提取高程點的位置和范圍線,利于用戶檢查,直觀、便捷。
(setq s1 (ssname e 0))[5]
(setq d (getreal " 高程提取寬度<5>" ))
;高程點提取的寬度
(setq p1 (vlax-curve-getstartPoint s1)
p2 (vlax-curve-getendPoint s1)
r (+ (angle p1 p2)(* pi 0.5)))
(command "pline" (polar p1 r (-d))(polar p2 r (-d))(polar p2 r d)(polar p1 r d)"c")
;高程點提取范圍畫線計算
(setq ss (ssget "cp" (list (polar p1 r (-d))(polar p2 r (-d))(polar p2 r d)(polar p1 r d))
(list (cons 8 "GCD")(cons 2 "GC200"))))
;高程點提取
位于斷面線上的高程點可直接計算到中心點的距離;偏于斷面線的離散點應首先把離散點投影到斷面線,求解離散點的垂足,然后計算離散點的垂足到中心點的距離。
(repeat (sslength ss)[6]
(setq si (ssname ss m))
(setq pt(cdr (assoc 10 (entget si))))
(setq pcz (vlax-curve-getClosestPointTo s1 pt t));求解高程點到斷面線的垂足
(setq cz_dist (-(distance p1 pcz )(distance p1 jd))));計算距離中心點平距
按照中心線的前進方向,以左負右正的原則,把所有提取的斷面特征點進行分組。
(( ((>cz_dist 0)(setq lst_y (cons (cons cz_dist z)lst_y))) ((=cz_dist 0)(setq zx_h z)) 把分組后的斷面特征點,按照樁號從小到大的順序排列。 (setq dmsj(sort-pt (append (cons lst_zx lst_z)lst_y)"x" 0.001))[8];斷面數據排序 (write-line hdm_zh fw);輸出樁號 (repeat (length dmsj) (setq dm_jl (rtos (car (nth i dmsj))2 3));輸出 (setq dm_h (rtos (cdr (nth i dmsj))2 3)) (while (<(strlen dm_jl)12) (setq dm_jl (strcat " " dm_jl))) (while (<(strlen dm_h)12) (setq dm_h (strcat " " dm_h))) (write-line (strcat dm_jl dm_h )fw)) 按照濟南百圖水利土石方軟件批量繪制橫斷面圖的格式要求,將自動提取的橫斷面數據進行整理并輸出,格式如下: 0+000 (橫斷面樁號) -50.000 10.000 ;(左側樁平距) (高程) …… …… 0.000 10.000 ; (中心樁) (高程) …… …… 50.000 10.000 ; (右側樁平距) (高程) 2019年全域治水清水潤城今冬明春主城區河道水系清淤工程是按照市委、市政府的統一部署,重點實施河湖水系連通、河道綜合治理、水源涵養及供水、鄉村振興水環境綜合整治、傍河坑塘整治和智慧水務系統建設等的重點工程。其中,160 km的河道橫斷面測量時間最緊、任務最重,利用開發的Visual LISP程序自動提取橫斷數據,生成橫斷文件,大大提高了作業精度和效率,保質保量完成工作任務。 運行南方CASS9.1數字成圖軟件,展繪外業采集的高程點,高程點圖層必須為GCD圖層;按照樁號從大到小的方向繪制中心線;斷面間隔100 m,斷面寬度100 m[9],斷面線必須為直線。圖形準備如圖1所示。 命令行輸入“APPLOAD”,選擇程序“ZHDM.lsp”。提示加載成功后,調用橫斷面數據提取對話框,如圖2所示,按照界面顯示[10],依次選擇文件保存路徑及名稱—選擇中心線、線路起點里程樁號、橫斷面間距、橫斷面寬度—選擇數據提取寬度(斷面允許偏差距離),前進方向、高程注記位數及中心樁高程內插均為默認值,最后生成完整的橫斷成果文件,橫斷成果文件類型為“*.txt”文本格式。 以陡河河道為例,程序自動生成某斷面數據如下。利用濟南百圖水利土石方軟件,根據生成的橫斷面成果文件,批量繪制橫斷面圖,橫斷面圖如圖3所示,橫軸s表示距離,比例尺為1:300,縱軸h表示高程,比例尺為1:200。 圖3 5+050橫斷面圖 5+050 -45.497 22.730 - 43.670 22.660 - 16.772 17.820 - 15.752 17.740 - 13.751 17.100 0.000 15.720 12.047 15.720 30.384 17.150 31.275 17.800 31.869 17.910 45.471 23.480 47.820 23.940 48.000 23.940 以2019年全域治水清水潤城今冬明春主城區河道水系清淤工程中的陡河河道為例,將開發的Visual LISP程序自動提取的斷面點與外業實測的斷面點進行精度分析,如表1所示,△X最大誤差90 mm,△Y最大誤差90 mm,△H最大誤差83 mm,結果表明程序自動提取的斷面點在大大提高效率的前提下,平面精度和高程精度滿足《水電水利工程施工測量規范》[11]中關于橫斷面測量限差要求。 表1 Visual LISP程序自動提取斷面點精度統計/m 筆者利用Visual LISP的二次開發,實現長距離帶狀斷面測量數據的自動提取,且具備提取數據的檢查功能,僅用幾分鐘就輕松完成了160 km的河道橫斷面測量的內業數據處理工作。實踐證明,該方法切實可行,能大幅降低人工勞動強度,提高作業精度和效率,具有較高的應用價值和推廣意義。 同時,通過實踐工程應用,還發現幾點不足之處需要改進和完善:(1)在運行的CASS9.1數字成圖軟件中,展繪的高程點必須在“GCD”圖層,且高程點不能人工編輯和修改;(2)程序僅僅依靠斷面線的起點和終點來判斷左右、計算樁號,不能按照線路的前進方向自動左右分組。2.5 高程離散點排序輸出
2.6 斷面成果文件輸出
3 程序的實現與應用
3.1 圖形準備
3.2 程序加載
3.3 成果輸出

3.4 精度統計

4 結 語