国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

測(cè)繪控制點(diǎn)自動(dòng)繪制程序的實(shí)現(xiàn)

2012-04-29 00:44陳冠臣
科技資訊 2012年12期
關(guān)鍵詞:施測(cè)數(shù)據(jù)格式二次開(kāi)發(fā)

陳冠臣

摘要:本文利用VB.NET對(duì)AutoCad進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)了對(duì)不同數(shù)據(jù)格式的控制點(diǎn)繪制,不僅提高了工作效率,而且避免了數(shù)據(jù)轉(zhuǎn)換而出現(xiàn)的錯(cuò)誤。

關(guān)鍵詞:控制點(diǎn)VB.NET

中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)04(c)-0031-01

隨著測(cè)繪技術(shù)的不斷發(fā)展,GPS-RTK在測(cè)繪工作中的運(yùn)用越來(lái)越廣泛。它的出現(xiàn)使我們的工作變的非常便捷,在測(cè)量領(lǐng)域越來(lái)越受到廣大測(cè)量人員的重視和青睞。尤其是在大面積的測(cè)圖中,使用GPS-RTK施測(cè)圖根控制相比傳統(tǒng)的導(dǎo)線測(cè)量效率要提高很多。在施測(cè)好圖根控制點(diǎn)后,需要在南方CASS中展點(diǎn)時(shí),問(wèn)題就出現(xiàn)了。因?yàn)镽TK手簿導(dǎo)出的數(shù)據(jù)格式與南方CASS中的格式不一致,需要在EXCEL中進(jìn)行一系列的轉(zhuǎn)換才能展點(diǎn)成功。而且在轉(zhuǎn)換過(guò)程中,稍不注意就會(huì)出現(xiàn)錯(cuò)誤,給外業(yè)工作帶來(lái)不必要的麻煩。本文就是利用AutoCad二次開(kāi)發(fā)程序來(lái)實(shí)現(xiàn)了展點(diǎn)的功能,避免了轉(zhuǎn)換數(shù)據(jù)的麻煩。

現(xiàn)在AutoCad二次開(kāi)發(fā)的語(yǔ)言很多,如AutoLISP、ObjectARX、VBA、.NET等,各種語(yǔ)言有各自的優(yōu)點(diǎn)。其中使用VB.NET來(lái)開(kāi)發(fā)AutoCad不僅實(shí)用,而且非常的方便。從AutoCad 2006開(kāi)始的時(shí)候,AutoDesk就開(kāi)發(fā)了針對(duì).NET的類(lèi)庫(kù),使開(kāi)發(fā)者很方便的操縱CAD中的各種圖元。雖然AutoCad 2006版本支持.NET并不是很好,但隨著時(shí)間的推移,.NET的功能將越來(lái)越強(qiáng)大。

1程序思路和編程實(shí)現(xiàn)

(1)RTK數(shù)據(jù)的提取。

不同廠家生產(chǎn)的儀器,其數(shù)據(jù)格式可能不盡相同,所以要對(duì)不同的數(shù)據(jù)格式進(jìn)行處理。結(jié)合生產(chǎn)中的應(yīng)用,編寫(xiě)了一種實(shí)現(xiàn)程序,以下是提取數(shù)據(jù)的主要代碼:

Dim data1 As String

data1 = TextBox1.Text

Dim strLines() As String

strLines = data1.Split(New String() {ControlChars.CrLf}, _

StringSplitOptions.RemoveEmptyEntries)

For Each strLine As String In strLines

Dim surData() As String

surData = strLine.Split(New String() {","}, StringSplitOptions.None)

If RadioButton1.Checked = True Then

ElseIf RadioButton2.Checked = True Then

(2)實(shí)現(xiàn)展點(diǎn)。

根據(jù)不同的控制點(diǎn)類(lèi)型來(lái)展繪控制點(diǎn),其實(shí)不同的控制點(diǎn)對(duì)應(yīng)不同的塊定義和不同的實(shí)體代碼,所以在處理不同的控制點(diǎn)類(lèi)型的時(shí)候,只要插入不同的塊定義,再附于不同的實(shí)體代碼就可以達(dá)到目的了。下面是部分實(shí)現(xiàn)代碼:

If RadioButton5.Checked = True Then

''''遍歷集合中的每個(gè)元素

For Each kongzhiData As Data In AllPtColl

''''獲取控制點(diǎn)的坐標(biāo)

Dim kzPt As Point3d = New Point3d(kongzhiData.Y, kongzhiData.X, kongzhiData.Z)

''''插入塊定義

Block.InsertBlockRef("gc261", kzPt, CassScale, 0)

''''添加控制點(diǎn)的文字

AddKZText(kongzhiData, "KZD", 95)

Next

ElseIf RadioButton6.Checked = True Then

For Each kongzhiData As Data In AllPtColl

Dim kzPt As Point3d = New Point3d(kongzhiData.Y, kongzhiData.X, kongzhiData.Z)

Block.InsertBlockRef("gc168", kzPt, CassScale, 0)

AddKZText(kongzhiData, "KZD", 95)

Next

ElseIf RadioButton7.Checked = True Then

For Each kongzhiData As Data In AllPtColl

Dim kzPt As Point3d = New Point3d(kongzhiData.Y, kongzhiData.X, kongzhiData.Z)

Block.InsertBlockRef("gc257", kzPt, CassScale, 0)

AddKZText(kongzhiData, "KZD", 95)

Next

End If

2結(jié)語(yǔ)

Visual Basic 2005是一種易學(xué)易懂的.NET語(yǔ)言。用此語(yǔ)言結(jié)合CAD的托管API來(lái)進(jìn)行AutoCad二次開(kāi)發(fā)非常的方便。本程序根據(jù)在實(shí)際工作中的應(yīng)用而開(kāi)發(fā)出來(lái)的,實(shí)現(xiàn)了多種數(shù)據(jù)格式的轉(zhuǎn)換,進(jìn)而來(lái)實(shí)現(xiàn)控制點(diǎn)的展繪。本程序編制結(jié)束后,一直應(yīng)用于生產(chǎn),不僅提高了工作效率,而且避免了數(shù)據(jù)之間轉(zhuǎn)換而產(chǎn)生的錯(cuò)誤。

參考文獻(xiàn)

[1] AutoCAD.NET開(kāi)發(fā)人員手冊(cè).

[2] AutoCAD 2006幫助文件.

[3] (美)Thearon Willis Bryan Newsome.Visual Basic 2005入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社,2006.

[4] 秦洪現(xiàn),崔惠嵐,孫劍,等.Autodesk系列產(chǎn)品開(kāi)發(fā)培訓(xùn)教程[M].北京:化學(xué)工業(yè)出版社,2008.

猜你喜歡
施測(cè)數(shù)據(jù)格式二次開(kāi)發(fā)
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
國(guó)產(chǎn) RIV ADCP 長(zhǎng)江流量測(cè)驗(yàn)適應(yīng)性測(cè)試
淺談Mastercam后處理器的二次開(kāi)發(fā)
在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
西門(mén)子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
心理測(cè)量使用量表易出現(xiàn)的問(wèn)題及對(duì)策
論子函數(shù)在C語(yǔ)言數(shù)據(jù)格式輸出中的應(yīng)用
DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測(cè)繪數(shù)據(jù)為例
基于Pro/E二次開(kāi)發(fā)的推土鏟參數(shù)化模塊開(kāi)發(fā)
基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究