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

?

淺談基于VB的AutoCAD二次開(kāi)發(fā)及其在測(cè)繪中的應(yīng)用

2015-04-07 10:12:54張博
科技視界 2015年9期
關(guān)鍵詞:二次開(kāi)發(fā)

張博

【摘 要】本文簡(jiǎn)述了利用VB編程語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)的原理和方法,并結(jié)合筆者的實(shí)踐,以編制水文斷面繪圖程序?yàn)槔接懥薞B與AutoCAD的連接、繪制縱斷面的數(shù)據(jù)格式、數(shù)據(jù)轉(zhuǎn)換,以實(shí)現(xiàn)快速繪制縱斷面。

【關(guān)鍵詞】AutoCAD;二次開(kāi)發(fā);VB

0 概述

AutoCAD是由美國(guó)Autodesk公司于20世紀(jì)80年代初為微機(jī)上應(yīng)用CAD技術(shù)而開(kāi)發(fā)的繪圖程序軟件包,經(jīng)過(guò)不斷地完善,現(xiàn)已經(jīng)成為國(guó)際上廣為流行的繪圖工具。由于它具有完善的繪圖功能、良好的用戶界面、易學(xué)易用等特點(diǎn),因而被廣泛地應(yīng)用于測(cè)繪、規(guī)劃、設(shè)計(jì)、土地管理等行業(yè),AutoCAD為用戶提供了多種二次開(kāi)發(fā)工具,其中主要有AutoLISP、ObjectARX和VBA。

AutoLISP是一種解釋性的表結(jié)構(gòu)處理語(yǔ)言,具有語(yǔ)言結(jié)構(gòu)簡(jiǎn)單、開(kāi)發(fā)周期短、不依賴于操作平臺(tái)的特點(diǎn),但是作為解釋語(yǔ)言,其運(yùn)行速度和保密性方面有一定的缺陷,并且不適合開(kāi)發(fā)有復(fù)雜運(yùn)算的軟件。

ObjectARX是一種較新的開(kāi)發(fā)AutoCAD應(yīng)用程序的工具,它以C++為編程語(yǔ)言,采用先進(jìn)的面向?qū)ο蟮木幊淘?,提供可與AutoCAD直接交互的開(kāi)發(fā)環(huán)境,能使用戶方便快捷地開(kāi)發(fā)出高效簡(jiǎn)潔的AutoCAD應(yīng)用程序。但是C++語(yǔ)言較復(fù)雜,開(kāi)發(fā)ARX應(yīng)用程序需要較多的軟件開(kāi)發(fā)經(jīng)驗(yàn),也不適合作為非軟件開(kāi)發(fā)專業(yè)人員的測(cè)繪工作者的開(kāi)發(fā)工具。

Visual Basic(VB)是美國(guó)微軟公司推出的程序開(kāi)發(fā)工具,它簡(jiǎn)單易學(xué),適用面廣,在Windows平臺(tái)上被廣泛使用。為此,可以作為測(cè)繪工作者進(jìn)行程序設(shè)計(jì)的首選工具。

1 ActiveX Automation技術(shù)與VB

1.1 ActiveX Automation技術(shù)

ActiveX Automation是微軟公司的一個(gè)技術(shù)標(biāo)準(zhǔn),其宗旨是在Windows系統(tǒng)的統(tǒng)一管理下協(xié)調(diào)不同的應(yīng)用程序,允許這此應(yīng)用程序之間相互溝通、相互控制,但兩個(gè)應(yīng)用程序間的溝通不是對(duì)等的,其中,一個(gè)程序稱為客戶程序(Client),另一個(gè)程序稱為服務(wù)程序(Server),一般情況下,由客戶程序提出需要進(jìn)行什么操作,服務(wù)程序針對(duì)操作申請(qǐng),完成相應(yīng)的命令。AutoCAD R14后的版本中就引入了ActiveX Automation技術(shù),利用AutoCAD ActiveX技術(shù),可以從其它外部應(yīng)用程序(如VB)或AutoCAD內(nèi)部(AutoCAD VBA)操作AutoCAD對(duì)象。VB是最為常用的支持ActiveX Automation技術(shù)的開(kāi)發(fā)工具,它可以編制出ActiveX的客戶程序,用來(lái)操作AutoCAD。即利用VB編制能與AutoCAD相溝通的應(yīng)用程序,以此來(lái)實(shí)現(xiàn)AutoCAD的二次開(kāi)發(fā)。

2 開(kāi)發(fā)AutoCAD2004應(yīng)用程序?qū)嵗?/p>

筆者用VB6.0編制了水文斷面機(jī)助制圖程序,程序設(shè)計(jì)流程圖、界面及部分源代碼見(jiàn)下圖。該程序通過(guò)讀取野外采集的縱斷面數(shù)據(jù)文件,自動(dòng)計(jì)算和提取完成制圖所需的亙長(zhǎng)和高程數(shù)據(jù)并寫(xiě)成文件,然后完成縱斷面的繪制,并可通過(guò)對(duì)界面的操作來(lái)控制制圖的橫向比例尺及縱向比例尺。

2.1 程序設(shè)計(jì)整體流程

2.2 數(shù)據(jù)預(yù)處理

外業(yè)采集數(shù)據(jù)時(shí)有時(shí)一天可能采集多個(gè)轉(zhuǎn)角之間的斷面數(shù)據(jù),本段程序主要就是根據(jù)已知的轉(zhuǎn)角坐標(biāo)、把外業(yè)采集的數(shù)據(jù)自動(dòng)進(jìn)行分類,不同轉(zhuǎn)角耐張之間的數(shù)據(jù)生成一個(gè)文件。下面以一個(gè)耐張之間的數(shù)據(jù)簡(jiǎn)單介紹一下:

首先把新建一個(gè)轉(zhuǎn)角坐標(biāo)文件,本例中命名為ZUO.TXT。運(yùn)行程序的數(shù)據(jù)預(yù)處理,點(diǎn)擊原始數(shù),在提示窗口中選擇外業(yè)采集的數(shù)據(jù),本例中命名為斷面數(shù)據(jù).TXT。在點(diǎn)擊轉(zhuǎn)角數(shù)據(jù),提示窗口中選擇已經(jīng)建好的ZUO.TXT。最后點(diǎn)擊預(yù)處理命令,生成數(shù)據(jù)文件如圖5,在點(diǎn)擊程序中的生成斷面數(shù)據(jù)命令,即生成數(shù)據(jù)文件如圖6。主要代碼如下:

3 結(jié)束語(yǔ)

本文以編制水文斷面繪圖程序?yàn)槔接懥薞B與AutoCAD的連接、繪制縱斷面的數(shù)據(jù)格式、數(shù)據(jù)轉(zhuǎn)換,以實(shí)現(xiàn)快速繪制縱斷面。如今,計(jì)算機(jī)科學(xué)的飛速發(fā)展和數(shù)字化測(cè)繪的日益普及,對(duì)我們測(cè)繪工作者也提出了更高的要求,如果測(cè)繪工作者能夠掌握一種編程語(yǔ)言,會(huì)對(duì)自己的工作大有裨益。而VB由于其簡(jiǎn)單易學(xué),功能強(qiáng)大,應(yīng)該成為我們測(cè)繪工作者學(xué)習(xí)編程語(yǔ)言的首選工具。

【參考文獻(xiàn)】

[1]段興.Visual Basic6.0控件實(shí)用程序設(shè)計(jì)100例[M].人民郵電出版社,2002,10.

[2]申石磊,季超.Visual Basic程序設(shè)計(jì)基礎(chǔ)[M].高等教育出版社,2010,03.

[責(zé)任編輯:薛俊歌]

猜你喜歡
二次開(kāi)發(fā)
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
淺談Mastercam后處理器的二次開(kāi)發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
Micaps3.2 版本二次開(kāi)發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開(kāi)發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
基于Pro/E二次開(kāi)發(fā)的推土鏟參數(shù)化模塊開(kāi)發(fā)
乾安县| 丰都县| 高碑店市| 尼木县| 怀化市| 高唐县| 辽源市| 八宿县| 镇江市| 射洪县| 读书| 湘潭市| 庆阳市| 平邑县| 城口县| 永胜县| 石棉县| 金秀| 体育| 盘山县| 朝阳县| 微博| 恭城| 酉阳| 周至县| 马山县| 武鸣县| 东阳市| 富平县| 洪泽县| 谢通门县| 琼海市| 隆化县| 珠海市| 宁夏| 金华市| 迭部县| 灵寿县| 和田县| 陇西县| 历史|