【摘 要】隨著科學技術的發(fā)展,建筑測量儀器的不斷更新,全站儀的出現(xiàn)使得工程施工測量技術更加的準確和高效,與此同時卻增加了極坐標內業(yè)計算的工作量。通過將施工圖紙1:1在AutoCAD計算機輔助設計軟件中放樣,調用VBA程序設計,可完成便捷、直觀和準確的極坐標計算。 
【關鍵詞】VBA程序設計;全站儀;極坐標 
   
  傳統(tǒng)的極坐標計算主要采用勾股定理和反三角函數(shù)來計算出目標點和控制樁點間的角度、距離關系,計算過程較為繁瑣,當目標點較多,控制樁點變化時,都需要大量的重復和重新計算,工作量很大。如今極坐標計算多采用將目標點和控制樁點在AutoCAD計算機輔助設計軟件中1:1放樣,量取角度、距離值(或坐標點),雖然簡化了計算程序,縮短了單位計算時間,但大量的重復和重新計算仍無法應對。現(xiàn)代工程日趨龐大和復雜,放線點成千上萬,利用極坐標法,使用全站儀進行定位測量是最佳選擇,但重復和重新計算、量取及整理數(shù)據(jù)就要成千上萬次,甚至更多,不僅繁瑣,而且容易出現(xiàn)錯誤。 
  為解決此問題,可通過VBA編程,將計算原理及操作步驟一次性寫入源程序,今后只需在AutoCAD中調用此程序,在確定置鏡點及后視點后,直接選取目標點即可完成極坐標計算及標注工作,使得操作更加便捷,結果更加直觀,計算更加準確。在將施工圖紙1:1在AutoCAD軟件中放樣完成的基礎上,上百個點的計算及標注只需幾分鐘便可完成。 
  1 源程序設計 
  本程序設計基于全站儀在建筑工程中測量放線的基本原理,運用空間坐標點位置關系的計算規(guī)則,通過VBA語言環(huán)境及AutoCAD命令語句,實現(xiàn)了極坐標的標注計算工作。 
  本程序由標注式樣的定義、標注格式的實現(xiàn)、極坐標的計算三大部分組成,進而達到操作便捷、標注直觀、計算準確的目的,為測量內業(yè)計算提供了便利。 
  1.1 程序關鍵步驟分析 
  1.1.1 申明變量 
  根據(jù)編程及計算規(guī)則的需要,程序開始申明不同作用及類型的變量供編程使用。 
  1.1.2 設定出錯陷阱 
  本程序通過“Do …… Loop”循環(huán)語句實現(xiàn)了目標點的無限選取,為避免死循環(huán),通過“On Error”出錯陷阱語句來控制循環(huán)的結束。當操作出現(xiàn)錯誤、點擊鼠標右鍵或點擊Enter(回車鍵)時,On Error語句后面的“GoTo Err_contorl”語句將在程序中搜索“Err_control”,并執(zhí)行這一行后面的語句,本程序Err_Control:后設置結束語句,故只要出現(xiàn)錯誤或標注完成,程序將中止。 
  1.1.3 標注式樣定義 
  本程序實現(xiàn)將所有標注放在同一個圖層中并采用同一種文字式樣標注,方便制圖管理且保證標注清晰美觀。 
  (1)圖層定義 
  通過“For …… Next”語句對acad文件進行圖層查找,如果找到標注圖層,直接將找到的“極坐標標注”圖層激活為當前圖層;如果沒有找到標注圖層,則需新建名稱為“極坐標標注”圖層并將其設置為當前圖層。 
  (2)標注文字定義 
  1.1.4 各點獲取及標注格式的實現(xiàn) 
  通過“ThisDrawing.Utility.GetPoint()”語句獲取坐標點,程序控制將手動獲得的第一點分配為“全站儀置鏡點”,第二點分配為“后視點”,3~n點分配為“目標點”。 
  標注格式中引出線定位點可手動自由獲取,這樣設計在標注操作時會更加靈活實用。其他定位點以引出線定位點為參考,確定其各自相對位置。 
  1.1.5 目標點極坐標計算 
 。1)距離計算 
  程序設計將獲取的“全站儀置鏡點”坐標賦值給變量P1,將“目標點”坐標賦值給P2,則P1、P2兩點間距離計算可根據(jù)空間坐標點距離計算公式 求得。 
  距離計算源碼如下: 
  “x = p1(0) - p2(0) 
  y = p1(1) - p2(1) 
  z = p1(2) - p2(2) 
  l = Int(Sqr((x ^ 2) + (y ^ 2) + (z ^ 2)) + 0.5)” 
 。ㄗⅲ核纳嵛迦肴≌,精確到毫米。) 
 。2)方位角計算 
  通過“ThisDrawing.Utility.AngleFromX Axis()”語句分別獲取置鏡點與后視點連線,置鏡點與目標點連線與以置鏡點為原點的直角坐標系y軸之間的角度,我們所要求得的方位角為置鏡點與目標點連線同置鏡點與后視點連線之間的角度值,根據(jù)全站儀正倒鏡測量方法的需要,可分別計算出順時針及逆時針兩個方向的互為360°的兩個角度值。 
  下面以后視點在第一象限,目標點在第二象限為例,說明方位角計算方法: 
   P1為全站儀置鏡點,P2為后視點,P2′為目標點。直線P1 P2 與y軸夾角為angle0,直線P1 P2′與y軸夾角為angle1,需求方位角為全站儀正鏡(順時針)角度值angle2及全站儀倒鏡(逆時針)角度值angle2′: 
  angle2=angle1-angle0 
  angle2′=360°-(angle1-angle0) 
  2 總結 
  全站儀測量除可使用極坐標法外,也可通過坐標建站即坐標法實現(xiàn)測量工作,本程序稍加調整即可實現(xiàn)同平面內坐標點的連續(xù)計算及標注。 
  坐標法具有統(tǒng)一性,而極坐標法具有靈活性,二者科學合理配合使用將使測量工作變得更加高效,而二者的共同缺點就是增加了內業(yè)計算的工作量,將本文中的極坐標及坐標計算作為兩個功能模塊在AutoCAD中調用輕松解決了內業(yè)計算問題。 
  參考文獻: 
  [1]武漢測繪科技大學《測量學》編寫組。測量學,第3版,北京:測繪出版社,1993 
  [2]李青岳,陳永奇主編,工程測量學,北京:人民交通出版社,1995 
  [3]工程測量規(guī)范(GB50026-93),北京:中國計劃出版社,1993