郭麗霞 張衛庭
(中鐵工程設計咨詢集團濟南設計院, 山東濟南 250022)
隨著計算機技術在各個領域和行業的廣泛應用,生產力和工作效率得以明顯提高。就工程測量專業來說,實現計算機與測繪儀器之間數據的實時傳輸、內外業一體化成圖已成為可能。目前這項技術已經被一些儀器廠商或軟件公司開發應用,但是成圖軟件種類繁多,模式化較強,給圖形的后續兼容性處理帶來了諸多不便。AutoCAD圖形處理軟件在機械、電子、工程建筑等領域中的應用普遍,在AutoCAD平臺下開發測圖軟件,有其獨特的優越性。
要想實現測圖內外業一體化,測量儀器與電腦之間的數據傳輸是要解決的第一個問題。儀器不同,其程序代碼也略有不同,但基本的思路是一致的。本文就Leica全站儀與計算機之間的數據傳輸做如下闡述。
RS-232串行通訊端口是電腦上配備的標準端口,利用Leica儀器公司提供的數據線將全站儀與電腦的RS-232串口(即COM端口)相連。
啟動AutoCAD平臺,在其VB編輯器中建立窗體并添加接收數據的文本控件和串行通訊組件MSComm,其具體界面設計如圖1所示。

圖1 界面設計
設置好通訊控件屬性和交握協議后,在接收全站儀數據的命令按鈕代碼中加入如下代碼:
Private Sub Command1-Click()
Dim AA Aa String
Dim K As Integer
INSTRING$=〞〞
On Error Resume Next
MSComm1.CommPort=1
MSComm1.PortOpen=Ture ’打開通訊端口
MSComm1.Settings=〞2400,E,7.1〞’設置通訊參數
MSComm1.InBufferCount=0 ’清空輸入緩沖區
MSComm1.Output=〞? 〞+Chr(13)+Chr(10)
INSTRING=INSTRING+AA
K=InStr(1,INSTRING,POINTID,vbTextCompare)’截取所得字符
If K <> 0 Then
Text1.Text=Mid(INSTRING, K+7,7)
End If
MSComm1.Output=”?”+Chr(13)+Chr(10)
MSComm1.PortOpen=False
End Sub
以上代碼僅針對水平角的接收,其他豎直角和斜距的接收大同小異。當然隨著編程語言的不同,數據傳輸實現的程序代碼也各有差別,如利用Leica公司的類Basic語言可簡單實現數據的自動測量及讀取,其大致語法如下:
自動測量:
Rem TCR 1101
Open”2400,E,7,1”
Print ”GET/MW121W122W131”CHR (13)+CHR(10)
Input 90
Using ”----1112222----3334444----55555666” ’讀取成圖所需數據
End
以上程序代碼實現了數據的傳輸與接收,下一步便是數據的處理。
當全站儀所測豎直角、水平角、斜距讀入接收框后,并可將數據轉換為點位坐標在AutoCAD界面上展繪,當然在這之前要讀入測站設置數據,其主要代碼如下:
確定點的三維坐標:
Pt2(0)=TextBox3.Text * Sin(3.1415926 * TextBox2.Text / 180) * Sin(fan)+pt1(0)
Pt2(1)=TextBox3.Text * Sin(3.1415926 * TextBox2.Text / 180) * Cos(fan)+pt1(1)
Pt2(2)=TextBox3.Text * Cos(3.1415926 * TextBox2.Text / 180)+I-TextBox7.Text+pt1(2)
If gao-k.Value=-1 then pt2(2)=0
TextBox4.Text=pt2(0)
TextBox5.Text=pt2(1)
TextBox6.Text=pt2(2)
’在AutoCAD界面上展點
Call ThisDrawing.ModelSpace.AddPoint(pt2)
End If
在展點成圖時該程序依據輸入的國標碼,讀取Access數據庫實現線形和符號的生成,這里就不在闡述。外業數據形成圖形后,內業的整理更為靈活,可以利用AutoCAD軟件本身具備的強大的圖形編輯功能進行編輯,或者自己開發一些編輯工具和菜單載入AutoCAD平臺中,這些都比較容易實現。
本文主要針對LeicaTCR1101系列全站儀與計算機的數據傳輸以及所得數據在AutoCAD平臺下的處理做了簡單論述和部分程序代碼的提供,為內外業一體化測圖軟件的開發起到參考作用。要想開發完整且通用性較強的測圖軟件,需要在具體的開發過程中做許多的細節工作。在AutoCAD平臺下開發的測圖軟件,其適應性會越來越強,使用范圍會越來越廣,相信有越來越多的軟件開發公司正逐步向這一方面靠攏。
[1] 李鳳華.AutoCAD 2002/2000 VAB開發指南[M].北京:清華大學出版社,2001
[2] 范逸之.Visual Basic與RS232串行通訊控制[M].北京:中國青年出版社,2000
[3] Curtis Smith Michael Amwndsen. Visual Basic數據庫編程6.0[M].北京:清華大學出版社,1999
[4] 品辰工作室.Access2000VAB開發實例指南[M].北京:電子工業出版社,1998
[5] 王兆祥.鐵道工程測量[M].北京:中國鐵道出版社,1998
[6] 張宏林,陸 華,王思學.Visual Basi編程疑難詳解[M].北京:人民郵電出版社,1995