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

利用VBA編程實現地形圖的自動分幅

2014-06-14 00:31:07賀秋偉
科技創新導報 2014年2期
關鍵詞:內容

賀秋偉

摘 要:目前大部分地形圖都是采用AutoCAD的格式存儲,在數據入庫和使用時均需要將地形圖按照標準進行分幅,目前也有部分軟件支持自動對地形圖分幅,但是存在圖框不能自定義或者定義文件復雜、圖廓整飾不符合規范、進行地形圖裁切時對象丟失等問題,該文提出了利用VBA進行編程實現了地形圖以布局的方式自動分幅,較好的解決了以上問題。

關鍵詞:VBA 地形圖 自動分幅 布局

中圖分類號:TP3 文獻標識碼:A 文章編號:1674-098X(2014)01(b)-0242-01

隨著計算機技術的發展,目前大部分地形圖均實現了數字化生成和存儲,但是在外業用圖和數據歸檔時還是需要對地形圖進行分幅,目前部分商用軟件也實現了自動對地形圖分幅的功能,但是存在圖框文件不能自定義或者定義文件復雜、圖廓整飾不符合規范、進行分幅剪裁時對象丟失等現象,為解決這些問題,本文提出了采用VBA編程對AutoCAD進行二次開發,將地形圖分幅到布局的思路克服以上缺點,實現對地形圖的自動分幅。

1 開發工具的選擇

目前AutoCAD最主流的開發方式是AutoLisp、ObjectARX和VBA三種方式,他們各有優缺點。

1)AutoLISP是一種表處理語言,是被解釋執行的,任何一個語句鍵入后就能馬上執行,對于交互式的程序開發非常方便。其缺點是繼承了LISP語言的編程規則而導致繁多的括號。2)ObjectARX以C++為編程語言,采用先進的面向對象的編程原理,提供可與AutoCAD直接交互的開發環境,能使用戶方便快捷地開發出高效簡潔的Auto CAD應用程序,但是對編程門檻較高,需要比較熟練的掌握C++面向對象的編程方法。3) VBA 即Mcrosoft office中的Visual Basic for Applications,被集成到AutoCAD中。VBA為開發者提供了一種新的選擇,也為用戶訪問AutoCAD中豐富的技術框架打開一條新的通道。VBA和AutoCAD中強大的ActiveX自動化對象模型的結合,代表了一種新型的定制AutoCAD的模式構架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應用程序,使之相互之間發生互易活動。同時VBA是以VB為基礎語言,大大降低了開發的難度。因此本次選用VBA作為主要開發手段對AutoCAD進行二次開發。

2 地形圖分幅信息文件的定義

要進行地形圖分幅首先要定義地形圖分幅信息文件,以便讓程序按照分幅信息的要求進行自動分幅,分幅信息文件主要包含兩個方面的內容。

1)圖廓整飾內容,這部分內容對于同一測區的地形圖,每幅地形圖內容基本相同;2)地形圖鄰接關系,這部分內容包含每幅地形圖的位置以及和鄰接地形圖的關系,每幅地形圖均不相同。

根據分幅信息的特點,本次采用Excel表格的方式存儲分幅信息,在表一中存儲圖廓整飾內容,作業員按照要求將內容輸入進去即可,在表二中存儲圖幅鄰接關系,作業員只要在表格中按照地形圖的排列關系將圖名輸入表格即可(不需輸入每幅的西南角坐標,程序可以自動推算)。前面提到VBA是從Mcrosoft office中派生出來的,因此利用VBA讀取Excel格式的數據的編程難度也大大降低。

3 地形圖分幅至布局

AutoCAD文件分為模型空間和圖紙空間,一個AutoCAD文件只能有一個模型空間,但是可以擁有圖紙空間中的多個布局,將地形圖分幅至布局,即分幅后的每幅圖為圖紙空間中的一個布局。在編程實現時,將圖廓等內容直接繪制在圖紙空間,和模型空間互不干擾,而地形圖的內容在在該圖紙空間創建一個視口,通過定義視口的中心位置和大小等方法來實現該幅地形圖從模型空間到圖紙空間的映射。

與將地形圖分幅裁切成單個文件相比將地形圖分幅到布局有以下優點:

1)全部地形圖存儲在一個AutoCAD文件里面,便于管理,并且分幅后的每幅地形圖至是模型空間的映射,減小了文件的大小,更利于存儲和傳送;2)地形圖如果更新后,只需修改模型空間的內容,布局會自動更新不需要重新分幅和接邊;3)避免了對地形圖裁切時對象丟失的情況發生;4)不同幅地形圖的中的各種對象并沒有因為分幅而被真正裁切,更方便其他專業利用電子版的地形圖進行三維建模、斷面剖切等應用;5)所有地形圖位于一個文件中,并且打印設置一致,在地形圖打印時更方便批打印。

地形圖自動分幅至布局關鍵實現代碼如下:

1)新建布局:

Set newLayout = ThisDrawing.Layouts.Add(“圖名”)

2)在布局中插入圖框,由于圖框的基本內容是一直的,因此在編程時將標準圖框CAD文件作為一個塊直接扎入布局即可。

Set blockRefObj = ThisDrawing.PaperSpace.InsertBlock(insertionPnt, ImporFile, 1#, 1#, 1#, 0)

3)在布局中添加圖廓整飾文字:

Set textObj = ThisDrawing.PaperSpace.AddText(textString, insertionPoint, height)

textObj.Alignment = acAlignmentTopLeft

textObj.TextAlignmentPoint = insertionPoint

圖廓整飾內容程序直接讀取對應的Excel分幅信息文件中的表一,圖名、結合表信息等則可以通過表二中的圖形鄰接關系推算得到。

4)新建視口

Set newVport = ThisDrawing.PaperSpace.AddPViewport(center, 500, 500)

Center為視口中心位置,500, 500分別為視口的寬度和高度,在進行地形圖分幅時默認進行50×50分幅,因此在這里設置為500,500。

newVport.Display True

ThisDrawing.MSpace = True

ZoomWindow point1, point2

ThisDrawing.MSpace = False

通過以上幾個步驟的編程就完成一幅圖的分幅工作。需要說明的是由于布局只是為了地形圖分幅打印的需要而建立,并不需要反映真實的地理位置信息,因此每個布局中的地形圖均放在同一位置,并且根據地形圖比例尺對模型空間進行了縮放,以便于無論什么比例尺的地形圖均可以在打印的時候按照1:1打印。

4 結語

本程序實現了根據分幅信息文件自動將地形圖分幅至布局的功能,克服了將圖形裁切分幅至文件的不足,支持圖廓信息自定義,并且界面友好,編程時字體嚴格按照規范定義,在保證作業標準化的同時大大提高了作業效率。

參考文獻

[1] 李冠憶.深居淺出AutoCAD二次開發 明經通道論壇.

[2] 孔祥豐.Autocad+vba從入門到精通[M].北京:電子工業出版社,2001.

[3] GB-T 20257.1-20071:500、1:1000、1:2000地形圖圖式[M].北京:中國標準出版社.endprint

猜你喜歡
內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
內容回顧溫故知新
科學大眾(2021年19期)2021-10-14 08:33:02
內容回顧 溫故知新
科學大眾(2021年9期)2021-07-16 07:02:52
內容回顧 溫故知新
科學大眾(2020年23期)2021-01-18 03:09:18
內容回顧 溫故知新
科學大眾(2020年17期)2020-10-27 02:49:04
引言的內容
引言的內容
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
主站蜘蛛池模板: jizz国产视频| 国产97区一区二区三区无码| 成人免费视频一区二区三区| 国产精品中文免费福利| 日韩欧美中文字幕一本| 国产成人久久777777| 91国内在线观看| 毛片视频网| 99久久99视频| 高潮毛片免费观看| 日韩中文无码av超清| 亚洲无码高清免费视频亚洲| 中文精品久久久久国产网址| 九色综合视频网| 青青青视频蜜桃一区二区| 麻豆AV网站免费进入| 日本精品视频| 久久超级碰| 精品三级在线| 日韩av手机在线| 为你提供最新久久精品久久综合| 久久伊人操| 久久久久无码精品国产免费| 伊人久久大香线蕉aⅴ色| 人禽伦免费交视频网页播放| 无码国产伊人| 精品国产成人a在线观看| 免费高清a毛片| a亚洲天堂| 日韩精品无码免费专网站| 国产精品欧美亚洲韩国日本不卡| 亚洲香蕉久久| 福利在线不卡一区| 无码国产偷倩在线播放老年人| 伊在人亚洲香蕉精品播放| 国产免费黄| 午夜精品国产自在| 欧美a在线看| 无码电影在线观看| 亚洲三级视频在线观看| 精品人妻一区二区三区蜜桃AⅤ| 日本黄色不卡视频| 亚洲中文字幕久久无码精品A| 天堂亚洲网| 国产香蕉97碰碰视频VA碰碰看| 国产精品久线在线观看| 日本午夜网站| 国产精品香蕉在线| 色婷婷在线影院| 四虎在线观看视频高清无码| 九色视频在线免费观看| 亚洲高清在线天堂精品| 国产激爽大片高清在线观看| 国产精品主播| 天天视频在线91频| 99视频国产精品| 欧美一区中文字幕| 欧美日韩高清在线| 92午夜福利影院一区二区三区| 国产精品毛片一区视频播| 四虎永久免费地址在线网站 | 国产a网站| 亚洲精品男人天堂| 无码精品国产dvd在线观看9久 | 国产高清在线观看91精品| 狠狠色婷婷丁香综合久久韩国| a毛片在线| 亚洲午夜福利精品无码不卡| 亚洲天堂免费观看| 一级毛片在线播放免费观看| 国产一级裸网站| 伊人激情综合| 亚洲系列无码专区偷窥无码| 黄色网站在线观看无码| 亚洲精品动漫| 亚洲天堂精品在线| 一级毛片免费观看久| 亚洲色无码专线精品观看| 亚洲第一香蕉视频| 久久鸭综合久久国产| 久久综合九色综合97网| 国产精品hd在线播放|