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

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

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

賀秋偉

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

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

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

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

1 開發(fā)工具的選擇

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

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

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

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

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

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

3 地形圖分幅至布局

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

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

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

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

參考文獻

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

[2] 孔祥豐.Autocad+vba從入門到精通[M].北京:電子工業(yè)出版社,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
主站蜘蛛池模板: 久久香蕉国产线看观| 久久九九热视频| 国产美女一级毛片| 欧美福利在线观看| 女人18毛片一级毛片在线 | 亚洲男人的天堂在线观看| 日本高清有码人妻| 国产SUV精品一区二区| 久久精品电影| 久久亚洲综合伊人| 日韩精品免费在线视频| 国产自在线播放| 国产91麻豆视频| 一级爱做片免费观看久久 | a毛片免费看| 亚洲国产精品美女| 沈阳少妇高潮在线| 国产精品自在在线午夜| 久热中文字幕在线观看| 日韩在线观看网站| 精品国产香蕉伊思人在线| 欧美一级特黄aaaaaa在线看片| 91小视频版在线观看www| 2020最新国产精品视频| 久久久久人妻精品一区三寸蜜桃| 亚洲国产精品日韩欧美一区| 国产福利影院在线观看| 天天视频在线91频| 国产精品私拍在线爆乳| 国产精品精品视频| av在线人妻熟妇| 国产精品永久免费嫩草研究院| 99这里精品| 欧美第一页在线| 热99re99首页精品亚洲五月天| 国产二级毛片| 在线国产欧美| 亚洲欧洲日产国产无码AV| 成人福利在线看| 亚洲区欧美区| 欧美a网站| 波多野结衣国产精品| 国内精品小视频福利网址| 好紧太爽了视频免费无码| 香蕉伊思人视频| 免费三A级毛片视频| 久久中文电影| 精品无码一区二区三区在线视频| 四虎影视永久在线精品| 伊在人亞洲香蕉精品區| 国产精品无码久久久久AV| 日韩小视频网站hq| 色婷婷丁香| 欧美特级AAAAAA视频免费观看| 免费一级毛片完整版在线看| 久久人搡人人玩人妻精品| 亚洲av无码片一区二区三区| 欧美亚洲综合免费精品高清在线观看| 亚洲AV无码乱码在线观看代蜜桃| v天堂中文在线| 国产精品无码AV中文| 免费av一区二区三区在线| aaa国产一级毛片| 国产欧美日韩另类精彩视频| 成年看免费观看视频拍拍| 午夜激情福利视频| 国产成人资源| 91成人免费观看在线观看| 国产精品密蕾丝视频| 伊人久久综在合线亚洲91| 无码AV动漫| 久久精品欧美一区二区| 亚洲丝袜第一页| 亚洲成A人V欧美综合天堂| 日韩经典精品无码一区二区| 亚洲欧美不卡视频| 欧洲av毛片| 伊人久久婷婷| 久久超级碰| 欧美日本中文| 婷五月综合| 无码专区在线观看|