999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AutoCAD VBA二次開發的大比例尺地形圖查詢系統

2010-04-18 10:36:12黃毓李文柱
城市勘測 2010年2期
關鍵詞:二次開發測繪

黃毓,李文柱

(韶關市測繪院,廣東韶關 512000)

基于AutoCAD VBA二次開發的大比例尺地形圖查詢系統

黃毓?,李文柱

(韶關市測繪院,廣東韶關 512000)

介紹在AutoCAD環境下,利用VBA二次開發工具實現大比例尺地形圖的快速查詢,給尚未建立地理信息系統的單位進行地形圖的快捷、方便的調用提供了工具。

大比例尺地形圖;查詢;VBA;AutoCAD

1 引 言

大比例尺地形圖是城市規劃、城市建設不可缺少的基礎資料。我院承擔向社會提供各種地形圖的服務,由于各種客觀原因,在對外供圖服務窗口,顧客多數不熟悉測繪知識,很難準確的報出所需地形圖相應的圖幅號,所以經常需要我們按各種條件,如按坐標或地名查找相應圖幅號。早期,對地形圖的查找只能靠對地形圖非常熟悉的作業人員憑借經驗完成,或按照分幅接圖表來手工查詢,這些查詢方法非常不便,且效率很低,影響了售圖服務整個流程進展,服務效率有待提高。

我院一直使用AutoCAD軟件平臺,本文利用AutoCAD自帶的VBA(Visual Basic For Application),在AutoCAD中進行二次開發,實現了大比例尺地形圖快速查詢、定位和顯示,極大地提高了工作效率。

2 程序思路及算法

2.1 地圖查詢思路

(1)dwg文件存儲方式

我院的大比例尺地形圖都是采用dwg文件按圖幅命名進行圖形的存儲,為地圖查詢提供了有利條件。

(2)圖幅號計算

我院大比例尺地形圖一直采用正方形 50 cm× 50 cm標準分幅,圖幅號計算規律如圖1所示。

(3)結合dwg文件的命名方式,分析圖幅號的計算規律,得出圖幅號計算公式。

(4)地圖查詢方式

可按輸入圖幅號及在圖上進行范圍框選進行查詢。利用插入圖塊的方式將符合要求的圖幅插入到當前視圖中。

設計方便進行范圍查詢的底圖,如韶關市道路圖作為索引圖,利用插入圖塊的方式自動將底圖顯示于屏幕之中,并且提供刪除底圖功能。

圖1 圖幅分幅表

2.2 編程實現

在VBA二次開發環境中,利用模塊來定義各種功能函數,主要內容如下:

首先定義1∶500圖幅號計算功能函數。

Function strTFH500(ByVal x0 As Double,ByVal y0 As Double)′計算圖幅號

Dim xa As String,ya As String,str As String

Dim txt2000 As String,txt1000 As String,txt500 As String

If Fix(x0/1000)Mod 2=0 Then′判斷x是偶數

xa=Fix(x0/1000)

Else ′若x是奇數

xa=Fix(x0/1000)-1

End If

If Fix(y0/1000)Mod 2=0 Then

ya=Fix(y0/1000)

Else

ya=Fix(y0/1000)-1

End If

Dim tp1 As Double,tp2 As Double

Dim x1,y1,x2,y2,x3,y3 As Double

tp1=xa?1000

tp2=ya?1000

′計算1:2000的圖號

x1=x0-tp1

y1=y0-tp2

txt2000=Count(x1,y1)

′計算1:1000的圖號

x2=x0-Fix(x0/1000)?1000

y2=y0-Fix(y0/1000)?1000

txt1000=Count(x2?2,y2?2)

x3=x0-Fix(x0/1000)?1000

y3=y0-Fix(y0/1000)?1000

If x3〉500 Then

x3=x3-500

End If

If y3〉500 Then

y3=y3-500

End If

′計算1:500的圖號

txt500=Count(x3?4,y3?4)

strTFH500=xa&ya&"-"&txt2000&txt1000&txt500

End Function

Function Count(ByVal a1 As Double,ByVal a2 As Double)

If a1〉1000 And a2<1000 Then

Count=1

ElseIf a1〉1000 And a2〉1000 Then

Count=2

ElseIf a1<1000 And a2<1000 Then

Count=3

ElseIf a1<1000 And a2〉1000 Then

Count=4

End If

End Function

再定義進行框選時的左下角x、y坐標

Function leftXY(ByVal n0 As Double)′計算左下角x、y坐標

Dim xa As String,ya As String,str As String

Dim txt2000 As String,txt1000 As String,txt500 As String

xa=Fix(n0/1000)

Dim x1,y1,x2,y2,x3,y3 As Double

y1=xa?1000

x1=n0-y1

ya=cnt(x1)

If ya=0 Then

leftXY=xa?1000

Else

leftXY=xa&ya

End If

End Function

Function cnt(ByVal x1 As Double)

If x1〉=0 And x1<250 Then

cnt=0

ElseIf x1〉=250 And x1<500 Then

cnt=250

ElseIf x1〉=500 And x1<750 Then

cnt=500

ElseIf x1〉=750 And x1<1000 Then

cnt=750

End If

End Function

根據實現思路,設計查詢界面如圖2所示。

圖2 查詢界面

其中,“索引圖上點取范圍”,利用GetPoint和Get-Corner方法來獲取屏幕框選的兩點坐標,并進行計算獲得左下角和右上角坐標,再通過自定義算法來計算左下角坐標和右上角坐標范圍所包含的圖幅號,由于篇幅有限,代碼部分省略。

顯示地圖采用插入圖塊的方式來實現,主要插入圖塊代碼如下:

Set BlkRefObj=ThisDrawing.ModelSpace.InsertBlock(Instpnt,filename,1#,1#,1#,0#)

3 系統界面及其效果

程序編好后,就是加載和運用VBA程序了。首先新建一個文本文件,在該文件中用LISP語言定義執行VBA宏的命令,用LSP后綴名保存該文件。在Auto-CAD啟動后,在命令行輸入“vbaload”或”appload”命令來加載VBA工程文件和LSP文件。為了避免每次啟動CAD都要手動加載的麻煩,可在執行appload命令后,在啟動組的“內容”按鈕中加載。程序加載完成后,就可以進行地形圖查詢了。

(1)按地名、道路名查詢。先調出韶關市道路圖作為索引圖,然后在索引圖上框選查詢范圍,相應的地形圖就能快速查詢、顯示出來,如圖3所示。

(2)根據給定坐標或紅線查詢,如圖4所示。

圖3 按地面、道路名查詢

圖4 按紅線查詢

4 結 語

本程序實現了大比例尺地形圖快速查詢、定位和顯示,在實際中方便了客戶的查詢,提高了工作效率。但僅具有查詢功能,不具有地形圖數據庫管理功能,作為個人開發的程序無法與地理信息系統(GIS)為基礎,圖庫管理系統相比擬,只能作為從手工管理地形圖到地理信息系統建立的一種過渡。

[1]李鳳華.AutoCAD2002/2000 VBA開發指南[M].清華大學出版社,2001

[2]謝玉周,王振中,杜耀剛.在AutoCAD中實現地形圖圖庫管理[J].測繪通報,2006(7):55~57

[3]林遠清.基于VB6.0的地形圖管理信息系統設計與開發[J].城市勘測,2008(3):20~22

Large-Scale Topographic Map Inquiry System Based on Redevelop AutoCAD VBA

Huang Yu,Li WenZhu
(Shaoguan Institute of Surveying and Mapping,Shaoguan 512000,China)

This article describes on the AutoCAD environment,how to achive quickly search Large-scale Topographic Map used VBA Secondary Development Tools,and offer tools to conveniently export topographic map for some units which geographic information system still unestablished.

Large-scale Topographic Map;Search;VBA;AutoCAD

1672-8262(2010)02-150-03

P209

B

2009—08—30

黃毓(1978—),男,工程師,主要從事城市測繪技術管理工作。

猜你喜歡
二次開發測繪
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
測繪新技術在測繪工程中的應用
江西建材(2018年4期)2018-04-10 12:37:38
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
測繪簡史
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
主站蜘蛛池模板: 黄色在线网| 天堂亚洲网| 岛国精品一区免费视频在线观看| 无码av免费不卡在线观看| 成人在线视频一区| 老司机aⅴ在线精品导航| 亚洲va在线∨a天堂va欧美va| 日韩a在线观看免费观看| 欧美97欧美综合色伦图| 久热这里只有精品6| 亚洲欧美日韩另类在线一| 日本久久免费| 国产在线视频福利资源站| 亚洲Av综合日韩精品久久久| 午夜精品久久久久久久99热下载| 97超爽成人免费视频在线播放| 亚洲成在人线av品善网好看| 国产精品欧美日本韩免费一区二区三区不卡 | 91亚洲免费视频| 国产精品免费p区| 狠狠色噜噜狠狠狠狠色综合久 | 99视频在线看| 亚洲性影院| 香蕉久久永久视频| 美臀人妻中出中文字幕在线| 另类欧美日韩| 园内精品自拍视频在线播放| 精品国产网| 呦系列视频一区二区三区| 亚洲色图欧美一区| 欧美一级高清视频在线播放| 五月天香蕉视频国产亚| 亚洲国产亚洲综合在线尤物| 亚洲青涩在线| 91年精品国产福利线观看久久 | 小说区 亚洲 自拍 另类| 亚洲IV视频免费在线光看| 国产白浆视频| 久久熟女AV| 重口调教一区二区视频| 亚洲最大看欧美片网站地址| 91精品伊人久久大香线蕉| 亚洲精品福利视频| 激情午夜婷婷| 无码久看视频| 色综合中文综合网| 美女国内精品自产拍在线播放 | 日韩精品免费在线视频| 亚洲bt欧美bt精品| 呦女精品网站| 欧美日韩动态图| 国产精品久久精品| 中文字幕第1页在线播| 欧美午夜小视频| 国产手机在线小视频免费观看| 日韩精品无码免费专网站| 18禁黄无遮挡免费动漫网站| 欧洲成人在线观看| 精品国产一二三区| 欧美性久久久久| 精品无码国产一区二区三区AV| 国产精品永久在线| 国产精品hd在线播放| 亚洲IV视频免费在线光看| 麻豆精品视频在线原创| 丁香五月亚洲综合在线| 国产91精品久久| 色综合久久综合网| 黄色国产在线| 免费大黄网站在线观看| 天天视频在线91频| 欧洲高清无码在线| 中美日韩在线网免费毛片视频 | 久久99蜜桃精品久久久久小说| 国产99视频精品免费视频7| 中文纯内无码H| 久久久久无码精品国产免费| 亚洲日韩精品伊甸| 亚洲天堂成人| 澳门av无码| 欧美午夜视频| 成人看片欧美一区二区|