基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)_第1頁
基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)_第2頁
基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)_第3頁
基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)_第4頁
基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PAGE PAGE 36基于AutoCAD的液壓系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì) 摘 要CAD技術(shù)一直處于不斷發(fā)展與探索之中,應(yīng)用AutoCAD技術(shù)可以提高企業(yè)設(shè)計(jì)效率,優(yōu)化設(shè)計(jì)方案,減輕技術(shù)人員的勞動(dòng)強(qiáng)度,縮短設(shè)計(jì)周期,加強(qiáng)設(shè)計(jì)標(biāo)準(zhǔn)化等,由于AutoCAD所具有的開放性結(jié)構(gòu),使AutoCAD技術(shù)廣泛地應(yīng)用于機(jī)械,電子,航天,化工等行業(yè)。從而使設(shè)計(jì)與生產(chǎn)向數(shù)字化和無紙化方向發(fā)展。本文以AutoCAD為平臺(tái),用Auto LISP語言,系統(tǒng)研究了液壓系統(tǒng)數(shù)據(jù)庫和圖形庫的開發(fā),給出開發(fā)程序代碼和運(yùn)行結(jié)果。減輕了設(shè)計(jì)人員的工作量,大大的提高了CAD的使用效率,縮短了繪制圖形的時(shí)間。同時(shí)也簡(jiǎn)單介紹了AutoCAD二次

2、發(fā)展的過程和Auto LISP使用方法。關(guān)鍵字:液壓系統(tǒng);AutoCAD;計(jì)算機(jī)輔助設(shè)計(jì);AutoLispAbstractCAD technology has been in continuous development and exploration, AutoCAD technology can enhance the efficiency of design, optimize design, reduce the labor technical strength, shorten design cycles, enhance design standardization. Becaus

3、e AutoCAD has the open structure, so AutoCAD technology is widely used in mechanical, electronic, aerospace, chemical and other industries. So that the design and production of digital and paperless direction. Based on AutoCAD, using Auto LISP language, this paper mainly studies and designs hydrauli

4、c system databases and the development of graphics library, the code and result of the program have been given. It is a great compensation for the CAD graphics drawing and greatly improves the efficiency in the use of CAD. And greatly shorten the designation periodicity. Also briefed the AutoCAD dev

5、elopment process and introduce the use of VLISP.Keywords : Hydraulic Manifolds;CAD system;aided-design;Auto Lisp目 錄 TOC o 1-3 h z u HYPERLINK l _Toc10170432 摘 要 PAGEREF _Toc10170432 h 1 HYPERLINK l _Toc10170433 Abstract PAGEREF _Toc10170433 h 2 HYPERLINK l _Toc10170434 目 錄 PAGEREF _Toc10170434 h 3 H

6、YPERLINK l _Toc10170435 引 言 PAGEREF _Toc10170435 h 4 HYPERLINK l _Toc10170439 第一章 CAD技術(shù)概述 PAGEREF _Toc10170439 h 5 HYPERLINK l _Toc10170440 1.1 CAD基本概念與特點(diǎn) PAGEREF _Toc10170440 h 5 HYPERLINK l _Toc10170441 2.2 CAD系統(tǒng)的組成與基本內(nèi)容 PAGEREF _Toc10170441 h 5 HYPERLINK l _Toc10170442 2.3 CAD發(fā)展趨勢(shì) PAGEREF _Toc101

7、70442 h 6 HYPERLINK l _Toc10170443 第二章 CAD二次開發(fā) PAGEREF _Toc10170443 h 8 HYPERLINK l _Toc10170444 2.1二次開發(fā)問題提出 PAGEREF _Toc10170444 h 8 HYPERLINK l _Toc10170446 2.2 AutoCAD二次開發(fā)方法 PAGEREF _Toc10170446 h 8 HYPERLINK l _Toc10170447 第三章 Auto LISP語言 PAGEREF _Toc10170447 h 12 HYPERLINK l _Toc10170448 3.1 Au

8、to LISP語言的簡(jiǎn)述 PAGEREF _Toc10170448 h 12 HYPERLINK l _Toc10170449 3.2 Auto LISP程序基本語法結(jié)構(gòu) PAGEREF _Toc10170449 h 13 HYPERLINK l _Toc10170450 3.3 加載和運(yùn)行Auto LISP程序 PAGEREF _Toc10170450 h 13 HYPERLINK l _Toc10170451 3.4 Auto LISP 程序的調(diào)試 PAGEREF _Toc10170451 h 15 HYPERLINK l _Toc10170453 第四章 對(duì)話框文件簡(jiǎn)述 PAGEREF

9、_Toc10170453 h 16 HYPERLINK l _Toc10170454 4.1 對(duì)話框文件 PAGEREF _Toc10170454 h 16 HYPERLINK l _Toc10170455 4.2 DCL文件的結(jié)構(gòu) PAGEREF _Toc10170455 h 16 HYPERLINK l _Toc10170456 4.3 DCL文件的預(yù)覽 PAGEREF _Toc10170456 h 17 HYPERLINK l _Toc10170457 4.4對(duì)話框驅(qū)動(dòng)程序 PAGEREF _Toc10170457 h 17 HYPERLINK l _Toc10170458 4.4.1驅(qū)

10、動(dòng)對(duì)話框的程序流程圖 PAGEREF _Toc10170458 h 17 HYPERLINK l _Toc10170459 4.4.2對(duì)話框驅(qū)動(dòng)函數(shù) PAGEREF _Toc10170459 h 18 HYPERLINK l _Toc10170460 第五章 基于 Visual FoxPro的數(shù)據(jù)庫 PAGEREF _Toc10170460 h 19 HYPERLINK l _Toc10170461 5.1 Visual FoxPro 6.0簡(jiǎn)介 PAGEREF _Toc10170461 h 19 HYPERLINK l _Toc10170462 第六章 液壓圖形庫的建立 PAGEREF _T

11、oc10170462 h 24 HYPERLINK l _Toc10170463 6.1實(shí)現(xiàn)方案 PAGEREF _Toc10170463 h 24 HYPERLINK l _Toc10170464 6.2方案論證 PAGEREF _Toc10170464 h 24 HYPERLINK l _Toc10170465 6.3 開發(fā)步驟 PAGEREF _Toc10170465 h 25 HYPERLINK l _Toc10170466 6.3.1 建立圖形庫文件夾 PAGEREF _Toc10170466 h 25 HYPERLINK l _Toc10170467 6.3.2 制作幻燈片庫(*.

12、SLB) PAGEREF _Toc10170467 h 25 HYPERLINK l _Toc10170468 6.3.3 編寫對(duì)話框文件(*.dcl) PAGEREF _Toc10170468 h 26 HYPERLINK l _Toc10170469 6.3.4 編制對(duì)話框控制程序(*.lsp) PAGEREF _Toc10170469 h 27 HYPERLINK l _Toc10170470 6.3.5編制圖標(biāo)菜單 PAGEREF _Toc10170470 h 28 HYPERLINK l _Toc10170471 6.4 應(yīng)用效果 PAGEREF _Toc10170471 h 30

13、HYPERLINK l _Toc10170474 結(jié) 論 PAGEREF _Toc10170474 h 32 HYPERLINK l _Toc10170475 參考文獻(xiàn) PAGEREF _Toc10170475 h 34 HYPERLINK l _Toc10170476 謝 辭 PAGEREF _Toc10170476 h 35需要全套程序等資料聯(lián)系,QQ:1047713170引 言CAD技術(shù)最早可以追溯到20世紀(jì)40年代,它是20世紀(jì)最杰出得科技成果之一。近年來,CAD技術(shù)從最初的平面輔助工具,迅速向智能化、三維化、集成化和網(wǎng)絡(luò)化的方向發(fā)展。隨著CAD技術(shù)的不斷發(fā)展,二次開發(fā)應(yīng)用范圍不斷擴(kuò)大

14、,隨之而來誕生了很多AutoCAD二次開發(fā)語言,主要有Auto LISP、ADS(AutoCADDevelopmentSystem)、Visual LISP三種語言。Auto LISP是為擴(kuò)展和自定義AutoCAD功能而設(shè)計(jì)的一種編程語言。它起源于五十年代末的LISP語言,最初是為編寫人工智能(AI)應(yīng)用程序設(shè)計(jì)的,現(xiàn)在仍是許多人工智能程序的基礎(chǔ)。在AutoCAD二次開發(fā)工具中,Auto LISP也是使用最簡(jiǎn)單、應(yīng)用最廣泛、使用者最多的一種開發(fā)工具。但是,Auto LISP只是一種解釋型語言,且不能加密。為了解決個(gè)問題,Autodesk公司在AutoCAD R14中推出了Visual LISP

15、的測(cè)試版,隨后在AutoCAD 2000中推出了Visual LISP的正式版本。Visual LISP是為加速Auto LISP程序開發(fā)而設(shè)計(jì)的軟件工具。Visual LISP完全兼容以前的Auto LISP,同時(shí)應(yīng)用了AutoCAD的另一個(gè)開發(fā)工具Object ARX面向?qū)ο蠹夹g(shù)和ActiveX技術(shù),使Visual LISP開發(fā)的應(yīng)用程序功能更強(qiáng)大,運(yùn)行速度更快,從而真正成為一個(gè)能開發(fā)商業(yè)軟件的開發(fā)平臺(tái)1。作為一名工程技術(shù)人員,掌握AutoCAD的設(shè)計(jì)技術(shù)已經(jīng)成為一項(xiàng)基本技能;能夠精通AutoCAD特別是在三維方面的設(shè)計(jì)和開發(fā)技術(shù)更是提高工作效率、進(jìn)行創(chuàng)新設(shè)計(jì)的必備能力。本文介紹了基于Au

16、toCAD 平臺(tái)上對(duì)液壓集成塊CAD系統(tǒng)的設(shè)計(jì)開發(fā),并且運(yùn)用Auto LISP語言對(duì)AutoCAD液壓集成塊系統(tǒng)進(jìn)行二次開發(fā),特別是在三維方面的設(shè)計(jì)技術(shù)和二次開發(fā)方法的使用方面,并對(duì)開發(fā)過程中存在的問題及解決方法提出了自己的看法。第一章 CAD技術(shù)概述1.1 CAD基本概念與特點(diǎn)計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design),簡(jiǎn)稱CAD,是一種利用計(jì)算機(jī)輔助設(shè)計(jì)人員進(jìn)行快速、高效、高質(zhì)、低設(shè)計(jì)成本、方便地完成產(chǎn)品設(shè)計(jì)任務(wù)的現(xiàn)代設(shè)計(jì)技術(shù)。CAD技術(shù)思想起源于20世紀(jì)50年代末,40年來,CAD技術(shù)已發(fā)展成為以“計(jì)算機(jī)技術(shù)”和“計(jì)算機(jī)圖形學(xué)”為技術(shù)基礎(chǔ),并融合各工程學(xué)科知識(shí)的一種高新

17、技術(shù)。CAD技術(shù)主要研究如何用計(jì)算機(jī)及外圍設(shè)備和圖形輸入輸出設(shè)備幫助人們進(jìn)行工程和產(chǎn)品設(shè)計(jì).它將計(jì)算機(jī)高速而精確的運(yùn)算功能,大容量存儲(chǔ)和處理數(shù)據(jù)的能力,豐富而靈活的圖形、文字處理功能與設(shè)計(jì)者的創(chuàng)造性思維能力、綜合分析及邏輯判斷能力結(jié)合起來,形成一個(gè)設(shè)計(jì)者與計(jì)算機(jī)各發(fā)揮所長(zhǎng),又密切配合的系統(tǒng)5。當(dāng)前計(jì)算機(jī)輔助設(shè)計(jì)的發(fā)展有如下特點(diǎn):(1)應(yīng)用范圍不斷擴(kuò)大、日益普及。(2)系統(tǒng)的性價(jià)比不斷提高,硬件成本下降,軟件成本提高。(3)具有大圖形功能的工作站和分布式網(wǎng)絡(luò)計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)被普遍采用。(4)面向各種先進(jìn)制造技術(shù)的CAD技術(shù)的研究與開發(fā)。(5)計(jì)算機(jī)輔助設(shè)計(jì)軟件系統(tǒng)集成化程度提高,出現(xiàn)各種軟件商

18、品。(6)圖形和數(shù)據(jù)接口等軟件標(biāo)準(zhǔn)化。(7)虛擬設(shè)計(jì)技術(shù)的研究與應(yīng)用。2.2 CAD系統(tǒng)的組成與基本內(nèi)容一般來說,一個(gè)CAD系統(tǒng)由如下幾部分組成:(1)CAD硬環(huán)境 計(jì)算機(jī),計(jì)算機(jī)的外圍設(shè)備(I/O設(shè)備),有的還有網(wǎng)絡(luò)通信環(huán)境等。(2)CAD軟環(huán)境 操作系統(tǒng),各種標(biāo)準(zhǔn)和支撐軟件,有的還有網(wǎng)絡(luò)通信軟件等。(3)CAD軟件 幫助設(shè)計(jì)人員去完成各種設(shè)計(jì)任務(wù)的計(jì)算機(jī)應(yīng)用軟件。(4)設(shè)計(jì)人員 與CAD系統(tǒng)的軟硬件一起組成的能協(xié)同完成設(shè)計(jì)任務(wù)的人機(jī)系統(tǒng)。由于 CAD技術(shù)的廣泛應(yīng)用,使得其包含的內(nèi)容也在不斷增加。但CAD的基本內(nèi)容應(yīng)包括建模、分析、仿真和繪圖四個(gè)方面(1)建模。建立設(shè)計(jì)對(duì)象的計(jì)算機(jī)內(nèi)部表示,

19、即設(shè)計(jì)模型,常見的有幾何模型、數(shù)學(xué)模型、物理模型等。(2)計(jì)算分析。設(shè)計(jì)對(duì)象生成模型后,對(duì)該模型進(jìn)行靜態(tài)和動(dòng)態(tài)下的強(qiáng)度、剛度、變形等方面的分析,常用的分析方法有解析法和數(shù)值解法。(3)仿真。在計(jì)算機(jī)上構(gòu)造與實(shí)際系統(tǒng)相一致的模型進(jìn)行試驗(yàn)和研究,以檢驗(yàn)設(shè)計(jì)的合理性,仿真分?jǐn)?shù)學(xué)仿真和實(shí)物仿真。4繪圖及技術(shù)文檔。繪制各種工程圖、特性圖及編寫設(shè)計(jì)說明書等各種技術(shù)文件。一個(gè)實(shí)際運(yùn)行的CAD系統(tǒng)并非都要包含以上內(nèi)容。設(shè)計(jì)人員在開發(fā)CAD系統(tǒng)時(shí),可以根據(jù)自己行業(yè)的特點(diǎn)及設(shè)計(jì)目標(biāo)任務(wù)的需要,靈活合理安排系統(tǒng)的內(nèi)容。但一個(gè)完整的CAD系統(tǒng)應(yīng)具有三方面的功能,即工程數(shù)據(jù)庫功能、計(jì)算功能和繪圖功能。2.3 CAD發(fā)展

20、趨勢(shì)隨著CAD技術(shù)不斷研究、開發(fā)與廣泛應(yīng)用,對(duì)CAD技術(shù)提出越來越高的要求,因此CAD從其本身技術(shù)的發(fā)展來看,將朝著如下幾個(gè)方向發(fā)展:(1)集成化 計(jì)算機(jī)集成制造系統(tǒng)(CIMS)是在新的生產(chǎn)組織原理指導(dǎo)下形成的一種新型生產(chǎn)模式。它要求將CAD/CAM/CAPP/CAE集成起來,而這種集成應(yīng)是建立一種新的設(shè)計(jì)、生產(chǎn)、分析以及技術(shù)管理的一體化,并不是將孤立的CAD、CAM、CAPP、CAE等系統(tǒng)進(jìn)行簡(jiǎn)單的連接,而是從概念設(shè)計(jì)開始就考慮到集成。(2)智能化 隨著人工智能(AI)的發(fā)展,知識(shí)工程和專家系統(tǒng)技術(shù)日趨成熟,為機(jī)械設(shè)計(jì)中需要專家豐富經(jīng)驗(yàn)和創(chuàng)造性思維解決的問題提供了強(qiáng)有力的求解手段和工具。專家

21、系統(tǒng)ES(Expert System)實(shí)質(zhì)上是一種“知識(shí)+推理”的程序。(3)并行工程 并行工程(Concurrent Engineering)是隨著CAD、CIMS技術(shù)發(fā)展提出的一種、新的系統(tǒng)工程方法。這種方法思路是并行的、集成的設(shè)計(jì)產(chǎn)品及其開發(fā)過程。它要求產(chǎn)品開發(fā)人員在設(shè)計(jì)的階段就考慮產(chǎn)品整個(gè)生命周期的所有要求,包括質(zhì)量、成本、進(jìn)度、用戶要求等,以便更大限度地提高產(chǎn)品開發(fā)效率及一次成功率。(4)網(wǎng)絡(luò)化 由于CAD/CAM/CAPP技術(shù)日趨成熟,可應(yīng)用于越來越大的項(xiàng)目,所以分布式計(jì)算機(jī)系統(tǒng)非常適用于CAD/CAM/CAPP的作業(yè)形式。同時(shí),隨著Internet網(wǎng)的發(fā)展,可針對(duì)某一特定產(chǎn)品,將

22、分散在不同地區(qū)的現(xiàn)有智力資源和生產(chǎn)設(shè)備資源迅速組合,建立動(dòng)態(tài)聯(lián)盟的制造體系。(5)虛擬設(shè)計(jì)技術(shù) 虛擬設(shè)計(jì)通過以虛擬現(xiàn)實(shí)技術(shù)為基礎(chǔ),以機(jī)械產(chǎn)品為對(duì)象,使設(shè)計(jì)人員能與多維的信息環(huán)境進(jìn)行交互。同時(shí),利用這項(xiàng)技術(shù)也可以大大地減少實(shí)物模型和樣件的制造。第二章 CAD二次開發(fā)2.1二次開發(fā)問題提出AutoCAD是目前微機(jī)上應(yīng)用最為廣泛的通用交互式計(jì)算機(jī)輔助繪圖與設(shè)計(jì)軟件包。AutoCAD的強(qiáng)大生命力在于它的通用性、多種工業(yè)標(biāo)準(zhǔn)和開放的體系結(jié)構(gòu)。但是,不同的行業(yè)標(biāo)準(zhǔn)使得各領(lǐng)域在使用AutoCAD的過程中均需根據(jù)自身特點(diǎn)進(jìn)行定制或開發(fā)。Autodesk公司為滿足廣大用戶的需求,可以說,AutoCAD的通用性為

23、其二次開發(fā)提供了必要條件,AutoCADv2.18版到 AutoCAD2000的短短十幾年間,就相繼推出了三代二次開發(fā)AD開放的體系結(jié)構(gòu)則使其二次開發(fā)成為可能4。在用AutoCAD繪制工程圖時(shí),經(jīng)常遇到繪制液壓系統(tǒng)圖這類問題。在液壓系統(tǒng)中,標(biāo)準(zhǔn)的元件很多,而在繪制液壓系統(tǒng)圖時(shí),重復(fù)的繪制無疑會(huì)極大增加設(shè)計(jì)人員的工作量。因此,為了保證繪制的液壓系統(tǒng)圖設(shè)計(jì)合理、尺寸精確,減少設(shè)計(jì)人員的重復(fù)勞動(dòng),就必須建立液壓元件的圖形庫,這樣做起來非常方便。為了解決這個(gè)問題,采用編制一個(gè)LISP程序來實(shí)現(xiàn)。同時(shí)建立一個(gè)標(biāo)準(zhǔn)元件的數(shù)據(jù)庫,減少查閱手冊(cè)的時(shí)間和工作量。2.2 AutoCAD二次開發(fā)方法Auto LIS

24、PAuto LISP是1986年隨AutoCADv2.18提供的二次開發(fā)工具。它是一種工智能語言,是嵌入AutoCAD內(nèi)部的COMMONLISP的一個(gè)子集。在AutoCAD的二次開發(fā)工具中,它是唯一的一種解釋型語言。使用Auto LISP可直接調(diào)用幾乎所有的AutoCAD命令。 Auto LISP語言最典型的應(yīng)用之一是實(shí)現(xiàn)數(shù)字化繪圖程序設(shè)計(jì),包括尺寸驅(qū)動(dòng)程序和鼠標(biāo)拖動(dòng)程序等。另一個(gè)典型應(yīng)用就是驅(qū)動(dòng)AutoCAD提供PDB模塊結(jié)構(gòu) DCL(DialogControlLanguage)文件,創(chuàng)建自己的對(duì)話框。Auto LISP具有以下優(yōu)點(diǎn):(1)語言規(guī)則十分簡(jiǎn)單,易學(xué)易用;(2)直接針對(duì)AutoC

25、AD,易于交互;(3)解釋執(zhí)行,立竿見影。Auto LISP的缺點(diǎn)是:(1)功能單一,綜合處理能力差;(2)解釋執(zhí)行,程序運(yùn)行速度慢;(3)缺乏很好的保護(hù)機(jī)制,源程序保密性差;(4)LISP用表來描述一切,并不能很好地反映現(xiàn)實(shí)世界和過程,跟人的思維方式也不一致;(5)不能直接訪問硬件設(shè)備、進(jìn)行二進(jìn)制文件的讀寫。Auto LISP的這些特點(diǎn),使其僅適合于有能力的終端用戶完成一些自己的開發(fā)任務(wù)。ADSADS(AutoCADDevelopmentSystem)是AutoCADR11開始支持的一種基于C語言的靈活的開發(fā)環(huán)境。ADS可直接利用用戶熟悉的C編譯器,將應(yīng)用程序編譯成可執(zhí)行文件后在AutoCA

26、D環(huán)境下運(yùn)行,從而既利用了AutoCAD環(huán)境的強(qiáng)大功能,又利用了C語言的結(jié)構(gòu)化編程、運(yùn)行效率高的優(yōu)勢(shì)。與Auto LISP相比,ADS優(yōu)越之處在于:(1)具備錯(cuò)綜復(fù)雜的大規(guī)模處理能力;(2)編譯成機(jī)器代碼后執(zhí)行速度快;(3)編譯時(shí)可以檢查出程序設(shè)計(jì)語言的邏輯錯(cuò)誤;(4)程序源代碼的可讀性好于Auto LISP。而其不便之處在于:(1)C語言比LISP語言難于掌握和熟練應(yīng)用;(2)ADS程序的隱藏錯(cuò)誤往往導(dǎo)致AutoCAD,乃至操作系統(tǒng)的崩潰;(3)需要編譯才能運(yùn)行,不易見到代碼的效果;(4)同樣功能,ADS程序源代碼比Auto LISP代碼很多。VisualLISP,ARX及基于ActiveX

27、Automation技術(shù)的VBA等(1)VisualLISP (VLISP)VLISP是Auto LISP的換代產(chǎn)品。它與Auto LISP完全兼容,并提供它所有的功能,是新一代的AutoCADLISP語言。VLISP對(duì)語言進(jìn)行了擴(kuò)展,可以通過MicrosoftActiveXAutomation接口與對(duì)象交互。同時(shí),通過實(shí)現(xiàn)反應(yīng)器函數(shù),還擴(kuò)展了Auto LISP響應(yīng)事件的能力。作為開發(fā)工具,VLISP提供了一個(gè)完整的集成開發(fā)環(huán)境(IDE),包括編譯器、調(diào)試器和其他工具,可以提高二次開發(fā)的效率。另外,VLISP還提供了工具用于發(fā)布獨(dú)立的應(yīng)用程序。(2)ARXARX(AutoCADRuntimee

28、xtension)是AutoCADR13之后推出的一個(gè)以C+語言為基礎(chǔ)的面向?qū)ο蟮拈_發(fā)環(huán)境和應(yīng)用程序接口。ARX程序本質(zhì)上為Windows動(dòng)態(tài)鏈接庫(DLL)程序,與AutoCAD共享地址空間,直接調(diào)用AutoCAD的核心函數(shù),可直接訪問AutoCAD數(shù)據(jù)庫的核心數(shù)據(jù)結(jié)構(gòu)和代碼,以便能夠在運(yùn)行期間擴(kuò)展AutoCAD固有的類及其功能,創(chuàng)建能夠全面享受AutoCAD固有命令特權(quán)的新命令。ARX程序與AutoCAD、Windows之間均采用Windows消息傳遞機(jī)制直接通訊。Auto LISP、ADS、ARX都是AutoCAD提供的內(nèi)嵌式編程語言。Auto LISP和ADS都是通過內(nèi)部進(jìn)程通訊(IP

29、C)來和AutoCAD通訊,它們與AutoCAD是相互分離的過程,而ARX以DLL形式與AutoCAD共享地址空間,所示。因此,與前兩者相比,其速度更快、運(yùn)行更穩(wěn)定、更簡(jiǎn)單。由于是在Windows及VC+編程環(huán)境里運(yùn)行,所以,對(duì)開發(fā)者的編程能力要求較高。ARX、ADS、Auto LISP與AutoCAD的關(guān)系ObjectARX應(yīng)用程序以C+為基本開發(fā)語言,具有面向?qū)ο缶幊谭绞降臄?shù)據(jù)可封裝性、可繼承性及多態(tài)性的特點(diǎn),用其開發(fā)的CAD軟件具有模塊性好、獨(dú)立性強(qiáng)、連接簡(jiǎn)單、使用方便、內(nèi)部功能高效地實(shí)現(xiàn)以及代碼可重用性強(qiáng)等特點(diǎn),并且支持MFC基本類庫,能簡(jiǎn)潔高效地實(shí)現(xiàn)許多復(fù)雜功能。 這里順便提一下AD

30、SRX。AutoCADR14的開發(fā)環(huán)境ADSRX是ARX的一個(gè)子集,它等效于ADS。使用ADSRX,能夠用C語言編寫基于AutoCAD的程序,也能很方便地將ADS程序移植為ARX程序。比較了Auto LISP、ADS、ADSRX和ARX的關(guān)于速度、暴露性、功能和要求使用每個(gè)API的編程經(jīng)驗(yàn)等方面的編程接口?!氨┞缎浴眳?shù)顯示了用戶編程錯(cuò)誤的可能嚴(yán)重性。盡管ARX接口是四個(gè)API中最強(qiáng)有力的,它也具有產(chǎn)生嚴(yán)重編程錯(cuò)誤的最大潛在性,如 破壞AutoCAD數(shù)據(jù)結(jié)構(gòu)等。其它編程環(huán)境要求較少的編程經(jīng)驗(yàn),但提供的功能和范圍也較小。Auto LISP、ADS和ARX的系統(tǒng)比較,可以說,Auto LISP著眼

31、于應(yīng)用程序的交互性,ADSC/C+著眼于應(yīng)用程序的綜合性,而ARX則著眼于應(yīng)用程序的智能性。(3)基于ActiveXAutomation技術(shù)的VBA等開發(fā)工具 ActiveXAutomation是一套微軟標(biāo)準(zhǔn),以前稱為OLEAutomation技術(shù)。該標(biāo)準(zhǔn)允許通過外顯的對(duì)象由一個(gè)Windows應(yīng)用程序控制另一個(gè)Windows應(yīng)用程序,這也是面向?qū)ο缶幊碳夹g(shù)的精髓所在。AutoCAD從R14開始增加了作為ActiveXAutomation服務(wù)器應(yīng)用程序的功能,使得許多面向?qū)ο缶幾g語言和應(yīng)用程序可以通過ActiveX與AutoCAD進(jìn)行通信,并操縱AutoCAD的許多功能, (4)ActiveX在

32、開發(fā)語言與AutoCAD之間所起的作用 ActiveXAutomation服務(wù)器應(yīng)用程序是通過自身對(duì)象的屬性、方法和事件實(shí)現(xiàn)其功能。對(duì)象是服務(wù)器應(yīng)用程序簡(jiǎn)單而抽象的代表。不管是用VB、VC、OFFICEVBA等從外部開發(fā),還是用AutoCADVBA從內(nèi)部對(duì)AutoCAD進(jìn)行二次開發(fā),都是通過調(diào)用AutoCAD的對(duì)象體系結(jié)構(gòu)來進(jìn)行的。AutoCAD2000ActiveXAutomation技術(shù)將AutoCAD2000的各種功能封裝在AutoCADActiveX對(duì)象中,供編程使用。AutoCAD2000中提供的所有對(duì)象組成一個(gè)樹形結(jié)構(gòu),最高層是Application對(duì)象,其他對(duì)象都是它的后代。為了

33、得到一個(gè)特定的對(duì)象,必須從Application對(duì)象對(duì)其子孫進(jìn)行遍歷,直到找到該特定的對(duì)象。(5)AutoCAD對(duì)象模型 ActiveXAutomation技術(shù)的完全面向?qū)ο蠡幊痰奶攸c(diǎn),使其開發(fā)環(huán)境具備了強(qiáng)大的開發(fā)能力和簡(jiǎn)單易用的優(yōu)良特點(diǎn),開發(fā)工具的選擇也具有很大的靈活性。所以,利用ActiveXAutomation技術(shù),是極具潛力的一種開發(fā)手段。第三章 Auto LISP語言 3.1 Auto LISP語言的簡(jiǎn)述AutoCAD軟件系統(tǒng)提供了Auto LISP語言,使用Auto LISP語言進(jìn)行高級(jí)編程,實(shí)現(xiàn)了對(duì)復(fù)雜圖形的編程操作。9. 0版本提供了下拉菜單、圖標(biāo)菜單和對(duì)話框等高級(jí)界面。而可

34、進(jìn)行復(fù)雜的三維圖形設(shè)計(jì),又因?yàn)閯?dòng)態(tài)觀察視圖和多視窗功能的增加使繪圖工作變得更加方便 。AutoCAD2 000則是Autodesk公司推出的跨世紀(jì)的、一體化的、功能豐富以及面向未來的世界領(lǐng)先的大型設(shè)計(jì)軟件。新增加的Internet功能真正實(shí)現(xiàn)了將用戶設(shè)計(jì)信息和外部世界緊密聯(lián)系起來,組成一個(gè)有機(jī)的整體。在它的強(qiáng)大技術(shù)平臺(tái)框架之上,結(jié)合了許多用戶一直追求的特征,如類似Windows常用軟件的界面,構(gòu)成了充滿活力而又輕松易用的設(shè)計(jì)環(huán)境。除了繼承以前AutoCAD系統(tǒng)的優(yōu)點(diǎn)之外,又增加了許多新的功能,能夠在未來的Windows 2000Professional及Windows 2000 Server操

35、作平臺(tái)上安裝使用。AutoCAD 2000除了在繼承原來版本功能的基礎(chǔ)上,又包含了一系列靈活方便的開發(fā)1具,如Visual LISP, VBA, ActiveX和Object ARX等,使用這些工具可以靈活地實(shí)現(xiàn)功能的集成和設(shè)計(jì)過程的自動(dòng)化.AutoCAD 2000已經(jīng)被普遍認(rèn)為是目前世界上功能最為強(qiáng)大的計(jì)算機(jī)輔助設(shè)計(jì)軟件。利用Auto LISP開發(fā)AutoCAD的一個(gè)典型應(yīng)用是實(shí)現(xiàn)參數(shù)化繪圖的程序化設(shè)計(jì)。到目前為止,大多數(shù)參數(shù)化程序都是針對(duì)二維平面圖編制的.實(shí)際上,三維立體圖形同樣也可以實(shí)現(xiàn)參數(shù)化繪制。在AutoCAD中編制實(shí)體的三維立體圖參數(shù)化程序,比其平面三視圖程序更簡(jiǎn)單,而且三維立體圖

36、生成后,可以很方便地生成三視圖、剖面圖和軸測(cè)圖等。Auto LISP的另一個(gè)典型應(yīng)用就是驅(qū)動(dòng)對(duì)話框。該對(duì)話框是利用AutoCAD提供的PDB模塊構(gòu)成DCL( Dialog Control Language)文件,并由用戶創(chuàng)建的。自從 AutoCAD中嵌入了Auto LISP以后,使僅作為交互式圖形編輯軟件的AutoCAD變成能真正進(jìn)行計(jì)算機(jī)輔助設(shè)計(jì)和繪圖的CAD軟件。由于LISP靈活多變,又易于學(xué)習(xí)和使用,因而使AutoCAD成為功能很強(qiáng)大的工具軟件。3.2 Auto LISP程序基本語法結(jié)構(gòu)(1) Auto LISP程序的所有括號(hào)“()”,一定要成雙成對(duì)、相對(duì)稱,內(nèi)部的字符串雙引號(hào)“”也要成

37、雙成對(duì)。(2) Auto LISP程序執(zhí)行時(shí),按從左到右,從內(nèi)到外的順序執(zhí)行。(3) 函數(shù)必須放在表中第一個(gè)元素的位置,即放在操作數(shù)之前,而不是放在它們中間。表中的函數(shù)與參數(shù),各參數(shù)之間均至少要用一個(gè)空格分開。(4 )可占多行表與表之間和表內(nèi)的多余空格和回車不起作用,故一個(gè)表一 行也可寫多個(gè)表。(5) Auto LISP程序使用分號(hào)“;”作注釋行的起始字符,注釋行可放在程序的任何位置。Auto LISP執(zhí)行時(shí),忽略每行中分號(hào)以后的部分。(6 ) Auto LISP程序的執(zhí)行過程是對(duì)一個(gè)個(gè)Auto LISP函數(shù)的調(diào)用過程。Auto LISP對(duì)函數(shù)的調(diào)用是通過標(biāo)準(zhǔn)表實(shí)現(xiàn)的。Auto LISP程序的

38、運(yùn)行是對(duì)標(biāo)準(zhǔn)表的依次求值。標(biāo)準(zhǔn)表或者說函數(shù)調(diào)用的一般格式如下:(函 數(shù) 名 1. . . )標(biāo)準(zhǔn)表中的第一個(gè)元素必須是函數(shù)名,以后的各元素為該函數(shù)的參數(shù)。參數(shù)的類型及數(shù)目取決于函數(shù)類型.3.3 加載和運(yùn)行Auto LISP程序 一個(gè)Auto LISP程序通常有兩個(gè)相關(guān)的名稱:程序文件名和函數(shù)名。所有的Auto LISP文件都以.lsp為文件擴(kuò)展名,在一個(gè)相同的Auto LISP程序文件中可以有一個(gè)或多和函數(shù)定義。要運(yùn)行一個(gè)函數(shù),定義該函數(shù)的Auto LISP程序文件必須被加載。 對(duì)于很短的Auto LISP程序(只是由一個(gè)或兩個(gè)表組成,如交待的數(shù)值函數(shù)的運(yùn)算等)或用defun函數(shù)定義的簡(jiǎn)單用戶

39、函數(shù),可以直接在AutoCAD環(huán)境中的命令提示符下直接輸入即可,返回的結(jié)果就會(huì)立即顯示在文本屏幕上。 而對(duì)于一般的Auto LISP應(yīng)用程序,則需要采用文本編輯器進(jìn)行編輯。編輯器可以隨意的選擇,當(dāng)然最好使用那些能夠檢查匹配的括號(hào)的編輯器。因?yàn)樵贏uto LISP程序中一對(duì)匹配括號(hào)時(shí)組成表的單元,又是很容易混亂,從而影響程序的運(yùn)行。在編輯器下編輯好的.lsp程序,系統(tǒng)便于一邊裝載一百年執(zhí)行;如果有defun函數(shù)定義的命令或函數(shù),裝載后只需在命令符下在鍵入defun函數(shù)定義的命令名即可運(yùn)行相應(yīng)的命令或函數(shù)。加載程序。 = 1 * GB3 進(jìn)入AutoCAD后,如下圖所示,在菜單欄中選擇“工具” “

40、AutoLISP” “加載應(yīng)用程序(L)”。圖3-1 LISP語言加載方法 = 2 * GB3 點(diǎn)擊“加載應(yīng)用程序(L)”后,彈出“加載/卸載應(yīng)用程序”對(duì)話框。找到程序所在的根目錄,即找到“design.LSP”的所在,點(diǎn)擊“加載(L)”后顯示“已成功加載 design.LSP?!薄1硎疽呀?jīng)成功加載了LISP程序,點(diǎn)擊“關(guān)閉(C)”,關(guān)閉對(duì)話框。 3.4 Auto LISP 程序的調(diào)試 Auto LISP程序文件加載也不能保證一定能成功,如果不成功就需要進(jìn)行調(diào)試。調(diào)試的步驟是:(1) 控制程序在指定的位置暫停;(2) 查看,分析有關(guān)變量的值;(3) 修改程序的源代碼;(4) 繼續(xù)或重新運(yùn)行程序

41、;(5) 如果程序不能正常運(yùn)行,則繼續(xù)調(diào)試程序,直到程序正常運(yùn)行。 Visual LISP提供了監(jiān)視窗口,檢查窗口,符號(hào)服務(wù)對(duì)話框,中斷和繼續(xù)執(zhí)行程序的模式,命令跟蹤,跟蹤堆棧,跟蹤調(diào)試等調(diào)試程序的工具。第四章 對(duì)話框文件簡(jiǎn)述4.1 對(duì)話框文件對(duì)話框文件是用DCL語言定義對(duì)話框的文件,是ASCII碼的文本文件。文件的擴(kuò)展名為“.dcl”,因此也被稱做DCL文件。BASE.DCL與ACAD.DCL文件是兩個(gè)最重要的對(duì)話框文件,它們?cè)贏utoCAD的SUPPORT子目錄下。(1). BASE.DCLBASE.DCL內(nèi)含DCL的原始定義與整合性DCL對(duì)象定義,為用戶預(yù)定義了Button, Edit_

42、box等基本控件,Row、Column等組件和ok_cancel,ok_cancel_help_info等標(biāo)準(zhǔn)控件。該文件是所有其他DCL文件的基礎(chǔ),被所有其他的DCL文件自動(dòng)引用,因此不要修改該文件。(2). ACAD.DCLACAD.DCL文件定義了AutoCAD系統(tǒng)的大部分標(biāo)準(zhǔn)對(duì)話框。是編寫DCL文件很好的學(xué)習(xí)參考資料。用戶不應(yīng)直接引用ACAD.DCL文件,如果需要?jiǎng)?chuàng)建類似的對(duì)話框,可將ACAD.DCL中的相應(yīng)內(nèi)容復(fù)制到自己定義的DCL文件中。該文件與AutoCAD系統(tǒng)密切相關(guān),因此不要修改該文件。4.2 DCL文件的結(jié)構(gòu)對(duì)話框是一個(gè)樹型結(jié)構(gòu),對(duì)話框是這棵樹的樹根,行和列組件是樹枝,基本

43、控件和組和控件是樹葉。如下圖:圖4-14.3 DCL文件的預(yù)覽 在Visual LISP文本編輯器窗口內(nèi),選擇菜單 工具界面工具預(yù)覽編輯器的DCL, 輸入DCL文件名,之后就能預(yù)覽.4.4對(duì)話框驅(qū)動(dòng)程序?qū)υ捒蛭募枋隽藢?duì)話框的結(jié)構(gòu)和外觀,所屬控件的樣式,功能及控件的布局。但是要將對(duì)話框顯示到屏幕上,使對(duì)話框及其各控件發(fā)揮作用,必須靠程序的驅(qū)動(dòng)。用Auto LISP或Visual C+語言可以編寫對(duì)話框的驅(qū)動(dòng)程序。4.4.1驅(qū)動(dòng)對(duì)話框的程序流程圖 圖4-2 DCL驅(qū)動(dòng)流程圖4.4.2對(duì)話框驅(qū)動(dòng)函數(shù)(1).(load_dialog dclfilename)加載一個(gè)對(duì)話框文件。參數(shù)dclfilena

44、me為對(duì)話框文件名,若末指定文件路徑,該函數(shù)默認(rèn)AutoCAD的搜索路徑。若加載成功返回一個(gè)大于零的整數(shù)。例如:(setq dcl_id (load_dialog “d:usertest.dcl”)若返回值大于0,表示加載成功;否則,加載失敗。返回值類似于文件標(biāo)識(shí)號(hào),是顯示對(duì)話框,卸載對(duì)話框文件的只要參數(shù),應(yīng)該將其才賦給一個(gè)變量dcl_id,作為其他番薯調(diào)用的參數(shù)。(2).(unload_dialog dcl_id)卸載一個(gè)與dcl_id相關(guān)聯(lián)的對(duì)話框文件,釋放該對(duì)話框所占存儲(chǔ)空間。參數(shù)dcl_id為load_dialog函數(shù)的返回值。不論卸載是否成功,返回值均為nil。第五章 基于 Visu

45、al FoxPro的數(shù)據(jù)庫5.1 Visual FoxPro 6.0簡(jiǎn)介Visual FoxPro是Fox軟件公司在FoxBase之后,推出的又一個(gè)PC平臺(tái)上的杰出數(shù)據(jù)庫管理系統(tǒng)軟件。Visual FoxPro 6.0是一種速度快、有效、靈活、功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。Visual FoxPro 6.0具有以下特點(diǎn):(1)Visual FoxPro 6.0是PC機(jī)平臺(tái)上檢索速度最快的數(shù)據(jù)庫。(2)Visual FoxPro 6.0具有豐富的開發(fā)工具。(3)Visual FoxPro 6.0支持真正的面向?qū)ο蟮目梢暬幊碳夹g(shù)。(4)Visual FoxPro 6.0可以生成真正的事件驅(qū)動(dòng)的應(yīng)用程

46、序。(5)OLE的自動(dòng)處理擴(kuò)展了Visual FoxPro 6.0與其他應(yīng)用程序之間的數(shù)據(jù)交換手段和能力。(6)Visual FoxPro 6.0支持客戶/服務(wù)器結(jié)構(gòu),這使得用戶在開發(fā)客戶/服務(wù)器應(yīng)用程序時(shí)可以把Visual FoxPro 6.0作為前端,使用SQL直接訪問服務(wù)器。5.2 Visual FoxPro 6.0數(shù)據(jù)庫建立說明在安裝了Visual FoxPro 6.0中文版之后,雙擊Visual FoxPro 6.0圖標(biāo),即啟動(dòng)了Visual FoxPro 6.0,出現(xiàn)如下圖的啟動(dòng)畫面:圖5-1 Visual FoxPro 6.0主頁面啟動(dòng)Visual FoxPro 6.0之后,選擇

47、“文件”菜單,選擇“新建”,選擇“項(xiàng)目”后,單擊“新建文件”按鈕,然后在“創(chuàng)建”對(duì)話框中輸入項(xiàng)目文件名“液壓元件”后,單擊保存按鈕,單擊數(shù)據(jù)庫,選擇右邊“新建”,命名“液壓系統(tǒng)”,將會(huì)出現(xiàn)如下圖所示的項(xiàng)目管理器:圖5-2 項(xiàng)目管理器-液壓元件選擇“液壓系統(tǒng)”,單擊表,選擇“新建”,命名為“液壓元件”,出現(xiàn)“表設(shè)計(jì)器”對(duì)話框,然后根據(jù)需要輸入字段名、類型、長(zhǎng)度。如下圖所示: 圖5-3 表設(shè)計(jì)器圖根據(jù)需要輸入數(shù)據(jù),如下圖所示:圖5-4 液壓元件尺寸表在項(xiàng)目管理器中,選擇“文檔”,單擊“表單”,選擇對(duì)話框右邊的“新建”按鈕,進(jìn)入表單設(shè)計(jì),以便查詢數(shù)據(jù)。通過“表單控件”工具欄和“屬性”窗口,定義表單控

48、件的相應(yīng)屬性并編寫程序,如下圖所示:圖5-5 液壓元件表單查詢進(jìn)入程序代碼編寫界面之后,在Form1的Init事件中添寫代碼:THISFORM.Grid1.RecordSource=THISFORM.TEXT1.SETFOCUS在按鈕“開始查詢”的Click事件中編寫代碼:THISFORM.GRID1.RECORDSOURCETYPE=4SET TALK ONIF ALLTRIM (THISFORM.TEXT1.VALUE)= MESSAGEBOX(請(qǐng)輸入類別!,1+48+256,系統(tǒng)提示) THISFORM.TEXT1.SETFOCUS RETURNELSETHISFORM.GRID1.RE

49、CORDSOURCE=SELECT * FROM 液壓元件.DBF WHERE ALLTRIM(類別)=ALLTRIM(THISFORM.TEXT1.VALUE)ENDIF在按鈕“退出”的Click事件中編寫代碼:RELEASE THISFORM表單運(yùn)行后,在文本框中輸入液壓元件的類別會(huì)得到關(guān)于此累液壓元件的型號(hào)、額定壓力、流量或排量的信息。根據(jù)所顯示的信息,設(shè)計(jì)人員可以直觀的選擇所需要的元件型號(hào)。例如:運(yùn)行程序后,在文本框中輸入溢流閥,點(diǎn)擊“開始查詢”按鈕,運(yùn)行結(jié)果如下圖所示: 圖5-6 元件查詢圖這樣,設(shè)計(jì)人不需要再翻閱機(jī)械設(shè)計(jì)手冊(cè)進(jìn)行查詢,通過這種直觀方便的方式,大大減輕了設(shè)計(jì)工作者的負(fù)

50、擔(dān)。第六章 液壓圖形庫的建立AutoCAD軟件具有相當(dāng)優(yōu)秀的開放型結(jié)構(gòu)(Open architecture)和一個(gè)強(qiáng)大的內(nèi)部編程語言(Autolisp語言,可以完成一些計(jì)算機(jī)工作和作圖功能),可以方便地讓用戶隨意地開發(fā)自己的命令、標(biāo)準(zhǔn)庫文件和各種應(yīng)用程序等。 圖形管理是CAD應(yīng)用的一個(gè)重要內(nèi)容,是CAD應(yīng)用中較為繁瑣、較為困難的部分之一。用戶在實(shí)際應(yīng)用中總是為圖形太多無法管理大傷腦筋。本文提供了一個(gè)圖形庫創(chuàng)建和管理的方法,其最終效果是展示一個(gè)方便快捷、圖文并茂的直觀的圖形庫。6.1實(shí)現(xiàn)方案許多AutoCAD用戶在圖形庫的創(chuàng)建和管理方面都使用一種較為簡(jiǎn)便的方法:將圖形文件命名為能體現(xiàn)其圖形內(nèi)容的

51、名稱,然后將其分類存入特定的文件夾。這種方法的優(yōu)點(diǎn)在于簡(jiǎn)便快捷,但其不方便、不直觀的缺點(diǎn)卻更為突出。 針對(duì)上述的簡(jiǎn)便方法,本文提出的方案方便、直觀且內(nèi)置于AutoCAD中。該方案如下: 生成所有圖形的幻燈片文件; 在AutoCAD初始化界面的下拉菜單區(qū)加入“圖形庫”菜單條,此菜單條包含“機(jī)械圖庫”菜單項(xiàng); 點(diǎn)擊“機(jī)械圖庫”菜單區(qū)彈出相應(yīng)的圖標(biāo)菜單,在圖標(biāo)菜單中可以看到圖形文件標(biāo)識(shí)名和相應(yīng)的圖形(幻燈片); 在圖標(biāo)菜單中拾取圖形,根據(jù)CAD命令提示欄的提示,輸入元件的坐標(biāo)、大小、旋轉(zhuǎn)角度等信息 ;確定即可在工作空間中出現(xiàn)所需的元件符號(hào)。 6.2方案論證該方案的關(guān)鍵在于圖標(biāo)菜單和對(duì)話框。 圖標(biāo)菜單

52、: 圖標(biāo)菜單是AutoCAD菜單的一種。圖標(biāo)菜單以20個(gè)為一組顯示幻燈片,并同時(shí)顯示一個(gè)包含有幻燈片名或其他文字的滾動(dòng)列表框。圖標(biāo)菜單的長(zhǎng)度不受限制,如果一個(gè)圖標(biāo)菜單包含的幻燈片多于20個(gè)AutoCAD會(huì)提供換頁按鈕,以便讓用戶換頁顯示更多的幻燈片。因此,可以利用AutoCAD的開放型體系結(jié)構(gòu)上的二次開發(fā)定制圖標(biāo)菜單來對(duì)圖形庫進(jìn)行管理。 圖標(biāo)菜單也有不足之處。圖標(biāo)菜單的一個(gè)頁面需顯示20幅幻燈片,所以只能從中獲得比較概略的圖形信息(尤其是復(fù)雜圖形)。所以,需要采取一定的輔助措施來對(duì)使用圖標(biāo)菜單的缺陷進(jìn)行彌補(bǔ)。 對(duì)話框: 從用戶觀點(diǎn)來看,窗口操作環(huán)境是目前最先進(jìn)最流行的一種人機(jī)交互界面。它能控制

53、光柵掃描型顯示器和以鼠標(biāo)器為代表的輸入設(shè)備, 向用戶提供了圖文并茂的可視化環(huán)境,是操作更為直觀、自然、簡(jiǎn)便和快速。 AutoCAD R12以上版本提供了一種對(duì)話框語言(Dialog-box Control Language,縮寫為DCL),允許用戶設(shè)計(jì)并實(shí)現(xiàn)自己的對(duì)話框。因此, 可以使用對(duì)話框語言編程來對(duì)圖標(biāo)菜單中圖形進(jìn)行放大并提供圖標(biāo)菜單中不能提供的文字信息。6.3 開發(fā)步驟6.3.1 建立圖形庫文件夾 在AutoCAD目錄下創(chuàng)建文件夾Storeroom,將需要進(jìn)入圖形庫進(jìn)行管理的圖形文件存入該文件夾。 6.3.2 制作幻燈片庫(*.SLB) 制作幻燈片文件(*.SLD) 在當(dāng)前視窗中打開圖

54、形文件,并將圖形移到屏幕中央。然后在命令行鍵入MSLIDE命令并在“Creat slide file”框中鍵入幻燈片名(按下return鍵則將當(dāng)前圖形名作缺省幻燈片名接受)。為了創(chuàng)建幻燈片庫,將所有幻燈片文件保存到AutoCAD目錄下的support子目錄中。 創(chuàng)建幻燈片列表文件(*.txt) 共有mach_001.dwgmach_039.dwg 39個(gè)圖形文件和對(duì)應(yīng)的mach_001.sldmach_03.sld共39個(gè)幻燈片文件,編輯如下文件(文件名為mach.txt): mach_001.sld mach_002.sld mach_003.sld mach_039.sld 幻燈片庫的建立

55、 使用AutoCAD的support目錄中的實(shí)用程序slidelib,將幻燈片文件按照文件列表構(gòu)造成幻燈片庫mach.slb,將其同幻燈片存入同一文件夾內(nèi)。6.3.3 編寫對(duì)話框文件(*.dcl) 對(duì)話框主要是展示一個(gè)圖文并茂的圖形庫中的圖形,在對(duì)話框中不僅要有圖形預(yù)覽,還要有該圖形的一些文字說明。本文中的DCL文件內(nèi)容如下:dcl_settings:default_dcl_settingsaudit_level=0; accept_button:ok_button label=確定; key=accept; can_button:cancel_button label=取消; key=can

56、cel; /背壓閥mach_001:dialog label=液壓元件背壓閥; :row :column :text label=圖 號(hào):mach-001; key=num; width=20; fixed_width=true; :image key=img; width=40; height=20; spacer_1; :row :text label= ; accept_button; can_button; :text label=; 6.3.4 編制對(duì)話框控制程序(*.lsp) 下面給出對(duì)話框文件的控制程序mach.lsp: /背壓閥(defun mach_001() (setq d

57、cl_id (load_dialog mach_001.dcl) (if (not (new_dialog mach_001 dcl_id) (exit) (action_tile accept (draw001) (action_tile cancel (done_dialog) (setq x (dimx_tile img) y (dimy_tile img) (start_image img) (fill_image 0 0 x y 0) (slide_image 0 0 x y mach(mach_001) (end_image) (start_dialog) (unload_dial

58、og dcl_id) ) (defun draw001()(command openmach_001) 6.3.5編制圖標(biāo)菜單 本文通過修改AutoCAD主菜單acad.mnu來實(shí)現(xiàn),其操作步驟如下: 在AutoCAD主菜單acad.mnu中加入自己的圖標(biāo)菜單區(qū) AutoCAD主菜單acad.mnu中的“*IMAGE”表示圖標(biāo)菜單區(qū),對(duì)應(yīng)幻燈片庫中的幻燈片、對(duì)話框和對(duì)話框的控制程序,在圖標(biāo)菜單區(qū)加入以下內(nèi)容(本文給出的是機(jī)械圖庫的圖標(biāo)菜單,電子圖庫的圖標(biāo)菜單與此類似): *IMAGE *IMAGE_mach 液壓元件mach(mach_001)CC-INSERT mach_001 mach(m

59、ach_002)CC-INSERT mach_002mach(mach_003)CC-INSERT mach_003mach(mach_004)CC-INSERT mach_004mach(mach_005)CC-INSERT mach_005mach(mach_006)CC-INSERT mach_006mach(mach_007)CC-INSERT mach_007mach(mach_008)CC-INSERT mach_008mach(mach_009)CC-INSERT mach_009mach(mach_010)CC-INSERT mach_010mach(mach_011)CC-I

60、NSERT mach_011mach(mach_012)CC-INSERT mach_012mach(mach_013)CC-INSERT mach_013mach(mach_014)CC-INSERT mach_014mach(mach_015)CC-INSERT mach_015mach(mach_016)CC-INSERT mach_016mach(mach_017)CC-INSERT mach_017mach(mach_018)CC-INSERT mach_018mach(mach_019)CC-INSERT mach_019mach(mach_020)CC-INSERT mach_0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論