• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    張博

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

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

    0 概述

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

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

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

    Visual Basic(VB)是美國微軟公司推出的程序開發(fā)工具,它簡單易學(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ù)的開發(fā)工具,它可以編制出ActiveX的客戶程序,用來操作AutoCAD。即利用VB編制能與AutoCAD相溝通的應(yīng)用程序,以此來實(shí)現(xiàn)AutoCAD的二次開發(fā)。

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

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

    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ù)簡單介紹一下:

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

    【參考文獻(xiàn)】

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

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

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

    猜你喜歡
    二次開發(fā)
    淺談基于Revit平臺(tái)的二次開發(fā)
    甘肅科技(2020年20期)2020-04-13 00:30:02
    西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
    淺談Mastercam后處理器的二次開發(fā)
    模具制造(2019年3期)2019-06-06 02:11:02
    Micaps3.2 版本二次開發(fā)入門淺析
    西藏科技(2015年12期)2015-09-26 12:13:51
    ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
    汽車零部件(2014年5期)2014-11-11 12:24:32
    基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
    鹿泉市| 泽普县| 济南市| 德阳市| 舒兰市| 宁陵县| 杭锦后旗| 德阳市| 郴州市| 正安县| 磐石市| 肃南| 宁都县| 留坝县| 张家口市| 呈贡县| 柞水县| 阜阳市| 靖西县| 上林县| 九寨沟县| 朝阳县| 松溪县| 昭平县| 新巴尔虎左旗| 德兴市| 万宁市| 林州市| 高淳县| 宜阳县| 柳林县| 如东县| 临沭县| 灵石县| 龙泉市| 睢宁县| 南城县| 大新县| 扶余县| 台湾省| 岗巴县|