周鋒的畢業(yè)論文做的畢業(yè)論文基于autolisp的autocad若干智能輔助設(shè)計(jì)功能二次開發(fā)_第1頁(yè)
周鋒的畢業(yè)論文做的畢業(yè)論文基于autolisp的autocad若干智能輔助設(shè)計(jì)功能二次開發(fā)_第2頁(yè)
周鋒的畢業(yè)論文做的畢業(yè)論文基于autolisp的autocad若干智能輔助設(shè)計(jì)功能二次開發(fā)_第3頁(yè)
周鋒的畢業(yè)論文做的畢業(yè)論文基于autolisp的autocad若干智能輔助設(shè)計(jì)功能二次開發(fā)_第4頁(yè)
周鋒的畢業(yè)論文做的畢業(yè)論文基于autolisp的autocad若干智能輔助設(shè)計(jì)功能二次開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科畢業(yè)論文基于基于 AutolispAutolisp 的的 AutoCADAutoCAD 若干智能若干智能輔助設(shè)計(jì)功能二次開發(fā)輔助設(shè)計(jì)功能二次開發(fā)姓姓名名周周鋒鋒學(xué)學(xué)院院機(jī)械工程學(xué)院機(jī)械工程學(xué)院專專業(yè)業(yè)機(jī)械設(shè)計(jì)制造及自動(dòng)化機(jī)械設(shè)計(jì)制造及自動(dòng)化指導(dǎo)教師指導(dǎo)教師陳陳龍龍完成日期完成日期20102010 年年 6 6 月月學(xué)學(xué)號(hào)號(hào)06140103180614010318上海理工大學(xué)全日制本科生畢業(yè)設(shè)計(jì)(論文)承諾書本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文)是在導(dǎo)師的指導(dǎo)下,嚴(yán)格按照學(xué)校和學(xué)院的有關(guān)規(guī)定由本人獨(dú)立完成。文中所引用的觀點(diǎn)和參考資料均已標(biāo)注并加以注釋。 論文研究過(guò)程中不存在抄襲他人研究成果和

2、偽造相關(guān)數(shù)據(jù)等行為。如若出現(xiàn)任何侵犯他人知識(shí)產(chǎn)權(quán)等問(wèn)題,本人愿意承擔(dān)相關(guān)法律責(zé)任。承諾人(簽名):日期:基于 Autolisp 的 AutoCAD 若干智能輔助設(shè)計(jì)功能二次開發(fā)摘要AutoCAD 是當(dāng)今風(fēng)靡世界的 CAD 應(yīng)用軟件,為了提高其繪圖效率,增強(qiáng)其設(shè)計(jì)能力,常會(huì)用到 AutoLISP 及 DCL 對(duì)其進(jìn)行二次開發(fā)。應(yīng)用 Autolisp 編寫設(shè)計(jì)DCL 對(duì)話框控制程序,在執(zhí)行 Autolisp 的同時(shí),調(diào)用一個(gè)對(duì)話框,提供多樣化的接口,并提供程序執(zhí)行時(shí)所需的數(shù)據(jù)或選項(xiàng)于一身。本文運(yùn)用 AutoCAD 的強(qiáng)大的二次開發(fā)功能, 完成粗糙度的智能標(biāo)注系統(tǒng)的開發(fā)和標(biāo)準(zhǔn)件庫(kù)的系統(tǒng)的開發(fā)。1、A

3、utoCAD 可用多種方法進(jìn)行二次開發(fā),如 Autolisp、ObjectARX、Vlisp等,由于其語(yǔ)法簡(jiǎn)單,功能函數(shù)強(qiáng)大,直譯式程序,橫跨各操作平臺(tái)等優(yōu)勢(shì),最終選用 Autolisp。2、一個(gè)成功的 AutoCAD 二次開發(fā),必須由多種技術(shù)支持。本文運(yùn)用參數(shù)化設(shè)計(jì)技術(shù),菜單定制技術(shù),DCL 對(duì)話框技術(shù),為 AutoCAD 的二次開發(fā)提供了強(qiáng)大的工具。3、實(shí)現(xiàn)粗糙度的智能標(biāo)注,包括自動(dòng)對(duì)齊、自動(dòng)調(diào)整角度、自由改變粗糙度大小和數(shù)值等功能,使得粗糙度的標(biāo)注簡(jiǎn)單方便。4、實(shí)現(xiàn)典型標(biāo)準(zhǔn)件的參數(shù)化設(shè)計(jì),完成了六角頭螺栓、雙頭螺柱、螺母、軸的參數(shù)化設(shè)計(jì)。標(biāo)準(zhǔn)件的設(shè)計(jì)將使設(shè)計(jì)者擺脫許多繁瑣工作。根據(jù)以上技

4、術(shù),最后開發(fā)一個(gè)粗糙度智能標(biāo)注和標(biāo)準(zhǔn)件參數(shù)化繪制系統(tǒng)。關(guān)鍵詞關(guān)鍵詞:AutoCAD ;二次開發(fā) ;Autolisp ;DCL 對(duì)話框 ;粗糙度標(biāo)注 ;標(biāo)準(zhǔn)件Autolisp ofAutoCAD-based smart-aided design features anumber of extended developmentAbstractAutoCAD is the most popular CAD software in the world. In order to improvedrawing efficiency and design ability,users always use A

5、utolisp and DCL to makeextended developments. Using Autolisp to write DCL dialog box,at the sametime,carrying out Autolisp program.Users can transfer a dialog box and offer adiversified interfaces and offer the information and option when programs are used.In this paper,AutoCADs powerful ability of

6、extended development is used toachieve the smart tagging of coarseness and the exploitation of standard parts.(1)Users use a lot of ways to accomplish extended developments,such as e of theadvantage of Autolisps easy language powerful function,direct translation procedureand various platforms,Autoli

7、sp is a good choice.(2)A successful extended development of AutoCAD needs mang technicalsupports.The technology of parameterize design,DCL d afford powerful supports toachieve extended development.(3)Theintelligenceofcoarsenesstraggingcanachievethefunctionofalignment,adjusting angle,the change of it

8、s size andnumerical value.Whichs veryconvience.(4)This test contains four standard parts,such as hexagon headed bolt,double endbolt,shafts,nut.Its very convience to users.The system of standard parts and coarseness tragging have been developedbasing on the technologies which have been mentioned abov

9、e.Keywords:extended ;developments ;AutoCAD ;autolisp ;DCL dialogbox ;standard parts ;coarseness tragging.目錄基于 Autolisp 的 AutoCAD 若干智能輔助設(shè)計(jì)功能二次開發(fā).1摘要.3Abstract.4目錄.5第一章 緒論.11.1AutoCAD 二次開發(fā)的歷史.11.2AutoCAD 二次開發(fā)的現(xiàn)狀.21.3AutoCAD 二次開發(fā)的發(fā)展.21.4AutoCAD 二次開發(fā)工具種類.21.5AutoCAD 二次開發(fā) 流程簡(jiǎn)介.41.5.1 二次開發(fā)概述.41.5.2 開發(fā)流程.4

10、1.5.3 程序的運(yùn)行.51.5.4 二次開發(fā)結(jié)論.61.6 基于 Autolisp 的 AutoCAD 若干輔助設(shè)計(jì)功能開發(fā).6第二章 AutoCAD 二次開發(fā)技術(shù)基礎(chǔ).8參數(shù)化設(shè)計(jì)技術(shù).82.1.1 參數(shù)化設(shè)計(jì)的本質(zhì)及意義.82.1.2 參數(shù)化設(shè)計(jì)在 CAD 中的應(yīng)用.8菜單定制.9菜單程序編寫.92.2.2 菜單程序加載.102.2.3 程序加載完成.102.3 DCL 對(duì)話框編制.102.3.1 DCL(Dialogue Control Language)的強(qiáng)大功能.102.3.2 DCL 程序設(shè)計(jì)的基本結(jié)構(gòu).112.3.3 DCL 對(duì)話框的程序編寫.11第三章 粗糙度的智能標(biāo)注.15

11、3.1 粗糙度簡(jiǎn)介.153.1.1 粗糙度基本符號(hào).153.1.2 粗糙度的分類.153.1.3 粗糙度的標(biāo)注方法.163.2 粗糙度程序編寫與功能實(shí)現(xiàn).163.2.1 程序.173.2.2 粗粗糙度輔助標(biāo)注程序?qū)崿F(xiàn).18第四章 標(biāo)準(zhǔn)件的設(shè)計(jì).204.1 六角頭螺栓.204.1.1 標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì).204.1.2 圖像繪制命令編寫.224.1.3 效果圖展示.224.2 雙頭螺柱.224.2.1 標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì).234.2.2 圖形繪制程序編寫.244.2.3 效果圖展示.244.3 軸.254.3.1 標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì).254.3.2 圖形繪制命令編寫.264.3.3 效果圖展示.264

12、.4 螺母.274.4.1 標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì).274.4.2 圖形繪制命令編寫.274.4.3 效果圖展示.28第五章 系統(tǒng)開發(fā).295.1 組成圖.295.2 系統(tǒng)的開發(fā)效果展示.295.2.1 粗糙度智能標(biāo)注系統(tǒng).295.2.2 標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng).31第六章 結(jié)論及展望.336.1 結(jié)論.336.2 展望.33參考文獻(xiàn).35致謝.36第一章 緒論AutoCAD 榮登全球繪圖軟件的龍頭寶座,主要是因?yàn)樗哂虚_放的體系結(jié)構(gòu)。它允許用戶和開發(fā)者采用高級(jí)編程語(yǔ)言對(duì)其進(jìn)行擴(kuò)充和修改,即二次開發(fā),能最大限度地滿足用戶的特殊要求。1.1 AutoCAD 二次開發(fā)的歷史CAD 產(chǎn)業(yè)發(fā)展經(jīng)歷了以 80 年代后

13、期的 CAD 初步應(yīng)用,以及 90 年代中頁(yè)的“甩圖板工程”為代表的兩次浪潮。而從 2006 年開始起,讓人明顯地感到,中國(guó) CAD 產(chǎn)業(yè)發(fā)展的第三次浪潮已經(jīng)來(lái)臨了。第一次浪潮源于 AutoCAD 進(jìn)入中國(guó)。 1990 年。 那時(shí) AutoCAD 還是 2.6 版。這次浪潮促進(jìn)了很多高校、科研院所和大型企業(yè)開始圍繞 AutoCAD 進(jìn)行二次開發(fā)。第二次浪潮源于科技部在“九五”期間推進(jìn)“甩圖板工程” 。這期間,CAXA(當(dāng)時(shí)叫北航海爾) 、高華(現(xiàn)在的英泰) 、凱思、開目、大天、凱圖、大凱、CCAD(深圳喬納森)等一批國(guó)內(nèi)自主版權(quán) CAD 在政府和市場(chǎng)的雙重推動(dòng)下成長(zhǎng)起來(lái)。那時(shí),對(duì)國(guó)產(chǎn) CAD軟

14、件最大的挑戰(zhàn)是與 AutoCAD 盜版這種幾乎不要錢的軟件競(jìng)爭(zhēng);另外,與 AutoCAD 的兼容性,企業(yè)的工程師使用 AutoCAD 的習(xí)慣也是很大挑戰(zhàn),并且這些自主版權(quán)軟件的開放性方面也存在不足。同時(shí),國(guó)內(nèi)基于 AutoCAD 二次開發(fā)的商品化軟件也空前繁榮,大恒、InteCAD、艾克斯特、天河、思普、浪潮(現(xiàn)華天軟件) 、天舟、歐磊等 CAD 軟件得到了廣泛的應(yīng)用。兩種類型的 CAD 軟件廠商之間,也展開了激烈競(jìng)爭(zhēng)。在這個(gè)階段,二維 CAD 軟件已經(jīng)達(dá)到了實(shí)用化水平。在這次浪潮之中,CAXA 脫穎而出,成為國(guó)產(chǎn)二維 CAD 的典型代表。當(dāng)時(shí), CAXA 推出了 400 多元一套的二維 CA

15、D 軟件, 徹底改變了市場(chǎng)格局,后來(lái)又推出了三維 CAD 軟件,而 CAXA 的 CAM 也是一大特色。其它 CAD 軟件公司則逐漸將重點(diǎn)轉(zhuǎn)向了 CAPP/PDM 等產(chǎn)品,并開始代理國(guó)外 CAD/PLM 巨頭的高端軟件產(chǎn)品。而 1998 年,Autodesk 收購(gòu) Genuis,自己推出機(jī)械版和電氣版,使得國(guó)內(nèi)基于 AutoCAD 進(jìn)行二次開發(fā)的 CAD 軟件的生存空間減小了很多。值得贊賞的是,2001 年,新洲協(xié)同軟件公司研發(fā)、推出了自主品牌的三維CAD 軟件 Solid2000(Solid3000 的前身) 。1.2 AutoCAD 二次開發(fā)的現(xiàn)狀A(yù)utoCAD 應(yīng)該是機(jī)械工程師最為熟悉的

16、工程軟件了,而且在工程師眼中AutoCAD 幾乎成了 CAD 軟件的代名詞了,一提到 CAD 三個(gè)字母,首先會(huì)想到的是 AutoCAD,這也不的不讓人對(duì) Autodesk 公司的推廣手段感到敬佩。AutoCAD 發(fā)展到現(xiàn)在已經(jīng)是一個(gè)比較通用的適合各個(gè)行業(yè)進(jìn)行設(shè)計(jì)工作的平臺(tái)了,這是毋庸置疑的,在這里只談 AutoCAD 的二維功能,可能有好多人都不知道 AutoCAD 還能夠進(jìn)行三維建模,不過(guò)比起其三維平臺(tái) Inventor 的建模功底 AutoCAD 的這點(diǎn)小伎倆可以忽略了。盡管 AutoCAD 已經(jīng)提供足夠強(qiáng)大的各種功能,但是為了提高效率、也為了滿足各個(gè)企業(yè)不同產(chǎn)品生產(chǎn)、設(shè)計(jì)的需求,可能會(huì)對(duì)

17、 AutoCAD 做一些可以滿足自己需求功能的二次開發(fā),以提高自己的設(shè)計(jì)效率,例如建立自己公司產(chǎn)品的模型數(shù)據(jù)庫(kù),對(duì)模型實(shí)現(xiàn)可參數(shù)化設(shè)計(jì),一些快捷功能的開發(fā)等等。AutoCAD 不是一個(gè)密閉的軟件,它給設(shè)計(jì)者預(yù)留了一扇通向 AutoCAD 內(nèi)部系統(tǒng)的大門API。對(duì)于 AutoCADAutoCAD 進(jìn)行二次開發(fā)。1.3 AutoCAD 二次開發(fā)的發(fā)展隨著 AutoCAD 軟件在各行各業(yè)的應(yīng)用日趨廣泛,其二次開發(fā)的應(yīng)用研究也逐漸深入,不在局限于上述的領(lǐng)域的參數(shù)化設(shè)計(jì)。像利用 AUTOLISP 二次開發(fā)語(yǔ)言對(duì)分形幾何圖形進(jìn)行設(shè)計(jì)研究,用AUTOLISP 開發(fā)出注塑模澆注系統(tǒng), 用 AutoCAD 二次

18、開發(fā)技術(shù)實(shí)現(xiàn)了技術(shù)要求自動(dòng)標(biāo)注系統(tǒng),用 VBA 開發(fā)出了 AutoCAD 標(biāo)注圖紙圖欄系統(tǒng)等,等各種技術(shù),從而為 AutoCAD 二次開發(fā)的技術(shù)應(yīng)用開辟了一條新路徑。1.4 AutoCAD 二次開發(fā)工具種類AutoCAD 可用多種方法進(jìn)行二次開發(fā), 為 AutoCAD 二次開發(fā)者提供了巨大的方便。(1)(1) AutoLISPAutoLISPAutoLISP 的全名是 LIST Processing Language,她出現(xiàn)于 1985 年推出的AutoCAD R2.18 中,是一種嵌入在 AutoCAD 內(nèi)部的編程語(yǔ)言,是 LISP 原版的一個(gè)子集,她一直是低版本 AutoCAD 的首選編程

19、語(yǔ)言。它是一種表處理語(yǔ)言,是被解釋執(zhí)行的,任何一個(gè)語(yǔ)句鍵入后就能馬上執(zhí)行,它對(duì)于交互式的程序開發(fā)非常方便。其缺點(diǎn)是繼承了 LISP 語(yǔ)言的編程規(guī)則而導(dǎo)致繁多的括號(hào)。(2)(2) ADSADSADS 的全名是 AutoCAD Development System,它是 AutoCAD 的 C 語(yǔ)言開發(fā)系統(tǒng),ADS 本質(zhì)上是一組可以用 C 語(yǔ)言編寫 AutoCAD 應(yīng)用程序的頭文件和目標(biāo)庫(kù),它直接利用用戶熟悉的各種流行的 C 語(yǔ)言編譯器,將應(yīng)用程序編譯成可執(zhí)行的文件在 AutoCAD 環(huán)境下運(yùn)行,這種可以在 AutoCAD 環(huán)境中直接運(yùn)行的可執(zhí)行文件叫做 ADS 應(yīng)用程序。ADS 由于其速度快,又

20、采用結(jié)構(gòu)化的編程體系,因而很適合于高強(qiáng)度的數(shù)據(jù)處理,如二次開發(fā)的機(jī)械設(shè)計(jì) CAD、工程分析 CAD、建筑結(jié)構(gòu) CAD、土木工程 CAD、化學(xué)工程 CAD、電氣工程 CAD 等。(3)(3) ObjectARXObjectARXObjectARX 是一種嶄新的開發(fā) AutoCAD 應(yīng)用程序的工具, 她以 C+為編程語(yǔ)言,采用先進(jìn)的面向?qū)ο蟮木幊淘恚峁┛膳c AutoCAD 直接交互的開發(fā)環(huán)境,能使用戶方便快捷地開發(fā)出高效簡(jiǎn)潔的 Auto CAD 應(yīng)用程序。ObjectARX并沒有包含在 AutoCAD 中,可在 AutoDESK 公司網(wǎng)站中去下載,其最新版本是ObjectARX forAuto

21、CAD 2000,它能夠?qū)?AutoCAD 的所有事務(wù)進(jìn)行完整的、先進(jìn)的、面向?qū)ο蟮脑O(shè)計(jì)與開發(fā),并且開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強(qiáng)。(4)(4) VlispVlispVLISP 已經(jīng)被完整地集成到 AutoCAD 2000 中,她為開發(fā)者提供了嶄新的、增強(qiáng)的集成開發(fā)環(huán)境, 一改過(guò)去在 AutoCAD 中內(nèi)嵌 AtuoLISP 運(yùn)行引擎的機(jī)制,這樣開發(fā)者可以直接使用 AutoCAD 中的對(duì)象和反應(yīng)器,進(jìn)行更底層的開發(fā)。其特點(diǎn)為自身是 AutoCAD 2000 中默認(rèn)的代碼編輯工具;用它開發(fā)AutoLISP 程序的時(shí)間被大大地縮短,原始代碼能被保密,以防盜版和被更改;能幫助大家使用

22、 ActiveX 對(duì)象及其事件; 使用了流行的有色代碼編輯器和完善的調(diào)試工具,使大家很容易創(chuàng)建和分析 LISP 程序的運(yùn)行情況。(5)(5) VBAVBAVBA 即 Mcrosoft office 中的 Visual Basic for Applications,它被集成到AutoCAD 2000 中。 VBA 為開發(fā)者提供了一種新的選擇, 也為用戶訪問(wèn) AutoCAD2000 中豐富的技術(shù)框架打開一條新的通道。VBA 和 AutoCAD 2000 中強(qiáng)大的ActiveX 自動(dòng)化對(duì)象模型的結(jié)合,代表了一種新型的定制 AutoCAD 的模式構(gòu)架。通過(guò) VBA,我們可以操作 AutoCAD,控制

23、ActiveX 和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動(dòng)。1.5 AutoCAD 二次開發(fā) 流程簡(jiǎn)介二次開發(fā)概述二次開發(fā)概述AutoCAD 是當(dāng)今風(fēng)靡世界的 CAD 應(yīng)用軟件, 為了提高其繪圖效率, 增強(qiáng)其設(shè)計(jì)能力,常會(huì)用到 AutoLISP 及 DCL 對(duì)其進(jìn)行二次開發(fā)。由于 AutoLISP 及DCL 均附著于 AutoCAD 軟件內(nèi),AutoLISP 是編寫繪圖、編輯圖形等程序的表處理語(yǔ)言,易學(xué)易用且功能強(qiáng)大;DCL 是用戶對(duì)話框設(shè)計(jì)語(yǔ)言,可設(shè)計(jì)出簡(jiǎn)潔、美觀且人機(jī)交互強(qiáng)的用戶對(duì)話框。二者配合使用,對(duì) AutoCAD 有著強(qiáng)大的二次開發(fā)能力。以雙頭螺柱為例,說(shuō)明如何應(yīng)用 AutoLIS

24、P 和 DCL 對(duì) AutoCAD 進(jìn)行二次開發(fā)及開發(fā)效果。開發(fā)流程開發(fā)流程1 用用 DCL 編寫用戶對(duì)話框界面編寫用戶對(duì)話框界面根據(jù)設(shè)計(jì)意圖,編寫用戶對(duì)話框,如圖1-1所示。圖1-1 用戶對(duì)話框界面用戶點(diǎn)擊圖中單選按鈕,選取繪圖所需的國(guó)標(biāo)及等級(jí)代號(hào),右側(cè)則展現(xiàn)對(duì)應(yīng)螺柱樣式的圖片。在圖中下拉列表框中選取所需公稱直徑 d 和公稱長(zhǎng)度 l,選取或輸入所需旋轉(zhuǎn)角度 angle,點(diǎn)擊“確定”按鈕在 AutoCAD 界面中繪出所希望的雙頭螺柱。2 制作制作 SLD 文件文件為了實(shí)現(xiàn)用戶對(duì)話框中的八種類型的雙頭螺柱的圖像顯示,首先在AutoCAD軟件的繪圖區(qū)域中分別繪制這八種類型的雙頭螺柱,然后在命令行中

25、輸入“mslide”命令,分別創(chuàng)建相應(yīng)的幻燈片文件。制作幻燈片文件前盡量將每種類型的圖形居中且填滿繪圖區(qū)域。3 編寫編寫 LISP 程序程序LISP 程序在二次開發(fā)各環(huán)節(jié)中是唯一具有驅(qū)動(dòng)能力的,它用來(lái)開啟用戶對(duì)話框,響應(yīng)用戶動(dòng)作,控制繪圖命令,直至完成開發(fā)任務(wù)。程序由一個(gè)主程序和四個(gè)子程序組成。圖1-2 主程序流程圖四個(gè)子程序使得主程序變得簡(jiǎn)潔明了,且便于修改。分別是:一個(gè)參數(shù)預(yù)設(shè)子程序,兩個(gè)動(dòng)作響應(yīng)子程序和一個(gè)繪圖子程序。4 自定義并加載局部菜單自定義并加載局部菜單將以上涉及到的文件均保存在 AutoCAD 所在目錄的 Support 文件夾下,在命令行中輸入相應(yīng)命令,對(duì)程序進(jìn)行調(diào)試。在調(diào)試

26、無(wú)誤后,編寫局部菜單。菜單文件編寫完成,在 AutoCAD 命令行中輸入 menuload 命令進(jìn)行菜單的加載。程序的運(yùn)行程序的運(yùn)行進(jìn)行 AutoCAD 操作環(huán)境,點(diǎn)擊“自編 LISP”菜單,選擇“雙頭螺柱”命令,如圖 1-3 所示。此時(shí)系統(tǒng)彈出“雙頭螺柱”對(duì)話框,如圖 1-4 所示。圖 1-3 自定義菜單此時(shí),對(duì)話框會(huì)響應(yīng)用戶動(dòng)作,對(duì)話框如圖 1-5 所示。點(diǎn)擊“確定” ,關(guān)閉對(duì)話框,進(jìn)入繪圖程序,要求用戶輸入基點(diǎn),如圖 1-6 所示?;c(diǎn)輸入完畢,繪圖自動(dòng)完成,如圖 1-7 所示。圖 1-5 對(duì)話框響應(yīng)用戶動(dòng)作界面圖 1-5 基點(diǎn)輸入提示圖 1-6 程序繪圖有時(shí)用戶可能并不專業(yè), 選取的公

27、稱直徑與公稱長(zhǎng)度的組合并不在機(jī)械設(shè)計(jì)手冊(cè)中。此時(shí),點(diǎn)擊“確定”后會(huì)彈出 AutoCAD 信息對(duì)話框,如圖 1-7 所示。圖 1-7 信息提示二次開發(fā)結(jié)論二次開發(fā)結(jié)論由圖例可知, 應(yīng)用 AutoLISP 和 DCL 可以對(duì) AutoCAD 進(jìn)行十分有效的二次開發(fā)。不但可以開發(fā)出各種零件庫(kù),大大提高繪圖效率,還可以減少甚至免除用戶翻閱手冊(cè)的繁重工作,從而使得 AutoCAD 真正地起到輔助設(shè)計(jì)的作用。1.6 基于 Autolisp 的 AutoCAD 若干輔助設(shè)計(jì)功能開發(fā)AutoCAD 可用多種方法進(jìn)行二次開發(fā),為 AutoCAD 二次開發(fā)者提供了巨大的方便,基于各方面綜合的考慮,本文采用 aut

28、olisp 開發(fā)工具。要更快更好的完成 AutoCAD 的二次開發(fā),需要多種技術(shù)支持,本文采用參數(shù)化技術(shù),菜單定制技術(shù),對(duì)話框編制技術(shù),來(lái)更好的完成開發(fā)任務(wù)。人工完成粗糙度的標(biāo)注將給 AutoCAD 的使用者造成很多麻煩, 本文中的粗糙度的智能標(biāo)注將很輕易地解決這個(gè)問(wèn)題。本文還包括標(biāo)注件的設(shè)計(jì),共四種標(biāo)準(zhǔn)件,六角頭螺栓,雙頭螺柱,螺母,軸中標(biāo)準(zhǔn)件,將給使用者提供巨大的幫助。本文中粗糙度的智能標(biāo)注和標(biāo)準(zhǔn)件的設(shè)計(jì)開發(fā)成一個(gè)系統(tǒng), 更加友好方便。在結(jié)論中,總結(jié)了一些不足之處,由于時(shí)間的原因,無(wú)法更加的完善。在展望中,提出了一些發(fā)展方向和目標(biāo),期望 AutoCAD 的二次開發(fā)更進(jìn)一步。第二章 Auto

29、CAD 二次開發(fā)技術(shù)基礎(chǔ)通過(guò)實(shí)例說(shuō)明,應(yīng)用 AutoLISP 和 DCL,能夠編寫出人機(jī)交互強(qiáng),功能強(qiáng)大的程序,對(duì) AutoCAD 進(jìn)行十分有效的二次開發(fā),從而提高繪圖效率,并使AutoCAD 真正地起到輔助設(shè)計(jì)作用。參數(shù)化設(shè)計(jì)是 Revit Building 的一個(gè)重要思想,它分為兩個(gè)部分:參數(shù)化圖元和參數(shù)化修改引擎。Revit Building 中的圖元都是以構(gòu)件的形式出現(xiàn),這些構(gòu)件之間的不同,是通過(guò)參數(shù)的調(diào)整反映出來(lái)的,參數(shù)保存了圖元作為數(shù)字化建筑構(gòu)件的所有信息。參數(shù)化設(shè)計(jì)的本質(zhì)及意義參數(shù)化設(shè)計(jì)的本質(zhì)及意義在參數(shù)化設(shè)計(jì)系統(tǒng)中,設(shè)計(jì)人員根據(jù)工程關(guān)系和幾何關(guān)系來(lái)指定設(shè)計(jì)要求。要滿足這些設(shè)計(jì)要

30、求,不僅需要考慮尺寸或工程參數(shù)的初值,而且要在每次改變這些設(shè)計(jì)參數(shù)時(shí)來(lái)維護(hù)這些基本關(guān)系,即將參數(shù)分為兩類:其一為各種尺寸值,稱為可變參數(shù);其二為幾何元素間的各種連續(xù)幾何信息,稱為不變參數(shù)。參數(shù)化設(shè)計(jì)的本質(zhì)是在可變參數(shù)的作用下,系統(tǒng)能夠自動(dòng)維護(hù)所有的不變參數(shù)。因此,參數(shù)化模型中建立的各種約束關(guān)系,正是體現(xiàn)了設(shè)計(jì)人員的設(shè)計(jì)意圖。參數(shù)化設(shè)計(jì)可以大大提高模型的生成和修改的速度,在產(chǎn)品的系列設(shè)計(jì)、相似設(shè)計(jì)及專用 CAD 系統(tǒng)開發(fā)方面都具有較大的應(yīng)用價(jià)值。目前,參數(shù)化設(shè)計(jì)中的參數(shù)化建模方法主要有變量幾何法和基于結(jié)構(gòu)生成歷程的方法, 前者主要用于平面模型的建立,而后者更適合于三維實(shí)體或曲面模型。參數(shù)化設(shè)計(jì)在

31、參數(shù)化設(shè)計(jì)在 CADCAD 中的應(yīng)用中的應(yīng)用用 CAD 方法開發(fā)產(chǎn)品時(shí),零件設(shè)計(jì)模型的建立速度是決定整個(gè)產(chǎn)品開發(fā)效率的關(guān)鍵。產(chǎn)品開發(fā)初期,零件形狀和尺寸有一定模糊性,要在裝配驗(yàn)證、性能分析和數(shù)控編程之后才能確定。這就希望零件模型具有易于修改的柔性。參數(shù)化設(shè)計(jì)方法就是將模型中的定量信息變量化,使之成為任意調(diào)整的參數(shù)。對(duì)于變量化參數(shù)賦予不同數(shù)值,就可得到不同大小和形狀的零件模型。在 CAD 中要實(shí)現(xiàn)參數(shù)化設(shè)計(jì),參數(shù)化模型的建立是關(guān)鍵。參數(shù)化模型表示了零件圖形的幾何約束和工程約束。幾何約束包括結(jié)構(gòu)約束和尺寸約束。結(jié)構(gòu)約束是指幾何元素之間的拓?fù)浼s束關(guān)系,如平行、垂直、相切、對(duì)稱等;尺寸約束則是通過(guò)尺寸

32、標(biāo)注表示的約束,如距離尺寸、角度尺寸、半徑尺寸等。工程約束是指尺寸之間的約束關(guān)系, 通過(guò)定義尺寸變量及它們之間在數(shù)值上和邏輯上的關(guān)系來(lái)表示。參數(shù)化設(shè)計(jì)是 20 世紀(jì) 80 年代提出的一種 CAD 產(chǎn)品設(shè)計(jì)方法。 他的基本思想是保持圖形結(jié)構(gòu)之間的相互拓?fù)潢P(guān)系不變, 通過(guò)設(shè)置一組參數(shù)來(lái)來(lái)控制圖形的幾何尺寸大小,部分參數(shù)值的改變能夠直接導(dǎo)致設(shè)計(jì)結(jié)果的自動(dòng)修改。參數(shù)化設(shè)計(jì)極大的改善了圖形設(shè)計(jì)的重構(gòu)能力,提高了設(shè)計(jì)的柔性。參數(shù)化設(shè)計(jì)特別適合于結(jié)構(gòu)形式固定而結(jié)構(gòu)尺寸變化的規(guī)格化、系列化產(chǎn)品,尤其的機(jī)械領(lǐng)域的標(biāo)準(zhǔn)件設(shè)計(jì),如螺栓、螺母、導(dǎo)柱、導(dǎo)套等。他不僅可以使 CAD 系統(tǒng)具有交互式繪圖功能而且還具有自動(dòng)繪

33、圖功能利用參數(shù)化設(shè)計(jì)手段開發(fā)抓用的設(shè)計(jì)系統(tǒng),可以使設(shè)計(jì)人員從大量繁瑣的繪圖工作中解脫出來(lái),極大的提高設(shè)計(jì)速度。AutoCAD 包含有豐富的菜單,這些菜單均由菜單文件定義。用戶可以修改菜單文件或創(chuàng)建自己的菜單文件,以定義菜單項(xiàng)的外觀和位置;以及與各菜單項(xiàng)對(duì)應(yīng)的、用于表示執(zhí)行特定操作的菜單宏。菜單程序編寫菜單程序編寫/一、定義菜單組的名稱 /*MENUGROUP=dia8c/二、下面定義菜單欄/定義 ARC 菜單組的第一個(gè)下拉菜單:編號(hào)為 POP1,菜單名稱為“畢業(yè)設(shè)計(jì)” ,鍵盤操作方式名為 ALT+A*POP1畢業(yè)設(shè)計(jì)粗糙度(&A)/定義下拉菜單項(xiàng)的第一個(gè)菜單命令粗糙度 CCP(load

34、 “dia8c”)(dia8c)/加載”dia8c” 的程序并運(yùn)行。菜單程序加載菜單程序加載執(zhí)行 MENULOAD 命令彈出加載對(duì)話框。如圖 2-1 所示。圖 2-1 菜單程序加載程序加載完成程序加載完成加載完成后,效果圖如圖 2-2 所示。圖 2-2 效果圖展示2.3 DCL 對(duì)話框編制DCLDCL(DialogueDialogue ControlControl LanguageLanguage)的強(qiáng)大功能)的強(qiáng)大功能Autolisp 能力雖強(qiáng),但在以往只能通過(guò) AutoCAD 原有的下拉式菜單,數(shù)字化儀菜單,屏幕菜單,按鈕菜單或命令 command 提示輸入所需的數(shù)據(jù)或選項(xiàng),一個(gè)數(shù)值輸入錯(cuò)

35、誤,可能要重頭再來(lái)一遍,很不方便。但若能在執(zhí)行 Autolisp 的同時(shí), 調(diào)用一個(gè)對(duì)話框, 多樣化的接口與提供程序執(zhí)行時(shí)所需要的數(shù)據(jù)與選項(xiàng)一身,那樣的極其方便。在 AUTOCAD 的 SUPPORT 的文件夾下,有兩個(gè)重量級(jí)的 DCL 文件,非常重要,不要輕易加以修改!* BASE.DCL內(nèi)容 DCL 得原始定義與整合性 DCL 對(duì)象定義。*ACAD.DCL內(nèi)容 AutoCAD 所使用到的各個(gè) DCL 畫面,是一個(gè)不錯(cuò)的觀摩學(xué)習(xí)文件。DCLDCL 程序設(shè)計(jì)的基本結(jié)構(gòu)程序設(shè)計(jì)的基本結(jié)構(gòu)* NAME 相當(dāng)于 AUTOLISP 中 defun 后定義的函數(shù)和程序一樣。* “:dialog”相當(dāng)于

36、AUTOLISP 中的 defun 函數(shù)。* “”于”“相當(dāng)于 AUTOLISP 眾的”()”與“”“。* “:edit_box”與“:button”都是 DCL 對(duì)象,* “l(fā)abel”、“width”與“edit_width”都是各對(duì)象的屬性,屬性值設(shè)定后,都需要加一個(gè)“;”分號(hào)。*對(duì)話框定義結(jié)束前,請(qǐng)注意一定至少要一個(gè)“ok”或“cancel”鍵。*屬性 KEY 值,相當(dāng)于各 DCL 對(duì)象的名稱,如“edit-1”與“Button-1”,它們非常的重要,是 AUTOLISP 與 DCL 溝通的唯一橋梁,若 DCL 對(duì)象未定義 KEY值,則根本無(wú)法用 AUTOLISP 控制信息的設(shè)定、取得

37、與修改、變化。圖 2-3 程序-1DCLDCL 對(duì)話框的程序編寫對(duì)話框的程序編寫完成 DCL 的程序編寫,入下圖所示。圖 2-4 程序-2(1)(1) 程序簡(jiǎn)介程序簡(jiǎn)介其中的 label 就是這個(gè) DCL 對(duì)話框的標(biāo)簽一樣,定義一個(gè)命名。其中的 boxed_column 就是 DCL 對(duì)話框家族中的一員。圖 2-5 程序-3家族一家族一標(biāo)準(zhǔn)默認(rèn)的標(biāo)準(zhǔn)默認(rèn)的 DCLDCL 單一家族單一家族特征:皆可選擇執(zhí)行或輸入數(shù)據(jù)內(nèi)容表 2-1項(xiàng)目DCL對(duì)象名稱1Button按鈕2Edit_box編輯框3Image_button圖像按鈕4List_box列表框5Popup_list下拉列表6Radio_but

38、ton單選按鈕7Slider滑動(dòng)條8toggle切換開關(guān)家族二家族二裝飾性的裝飾性的 DCLDCL 對(duì)象對(duì)象特征:是不能選擇,也不會(huì)又動(dòng)作,純粹用來(lái)裝飾對(duì)話框畫面、信息顯示及加強(qiáng)視覺效果表 2-2項(xiàng)目DCL 對(duì)象名稱1image圖像2Icon_image圖像菜單標(biāo)準(zhǔn)圖像按鈕3Spacer空白欄4Text文字5Text_part文字組成家族三家族三群體配置的群體配置的 DCL 對(duì)象對(duì)象特征:用來(lái)設(shè)定各 DCL 對(duì)象排列的方式。表 2-3項(xiàng)目DCL 對(duì)象名稱1Column直列2Boxed_column框列3Radio_column單選按鈕列4Boxed_radio_column單選按鈕框列5Row

39、橫行6Boxed_row框行7Radio_row單選按鈕行8Boxed_radio_row單選按鈕框行9Concatenation水平群集連接10Paragraph垂直群集連接家族四家族四標(biāo)準(zhǔn)默認(rèn)的整合標(biāo)準(zhǔn)默認(rèn)的整合 DCL特征:定義于 BASE.DCL 中的整合設(shè)計(jì) DCL 對(duì)象,可以直接拿來(lái)使用,有助于快速完成所需要的 DCL 設(shè)計(jì)表 2-4項(xiàng)目DCL 對(duì)象名稱1Errtile錯(cuò)誤信息 text 文字提示2Ok_only確定 按鈕3Ok_cancel確定 取消 兩按鈕 row 組合4Ok_cancel_help確定 取消 說(shuō)明 三按鈕溶為組合5Ok_cancel_errok_cancel

40、與 errtile 兩按鈕加一個(gè) text 文字組合6Spacer_0為設(shè)定高、寬的 spacer 空白欄7Spacer_1高 寬各為 1 的 spacer 空白欄2、在、在 visualvisual lisplisp 中預(yù)覽編譯的中預(yù)覽編譯的 DCLDCL預(yù)覽所編譯的的 DCL 對(duì)話框的效果,如圖 2-6 所示。圖 2-6 DCL 對(duì)話框第三章 粗糙度的智能標(biāo)注3.1 粗糙度簡(jiǎn)介注意粗糙度的基本符號(hào)和粗糙度的分類,還有粗糙度的標(biāo)注方法,這是粗糙度的最基本的內(nèi)容。粗糙度基本符號(hào)粗糙度基本符號(hào)粗糙度基本符號(hào)如下圖 3-1 所示:圖 3-1 粗糙度基本符號(hào)粗糙度的分類粗糙度的分類粗糙度大致可分為五

41、類,具體分類如下圖:粗糙度的分類圖 3-2 粗糙度的分類粗糙度的標(biāo)注方法粗糙度的標(biāo)注方法在不同方向的表面上標(biāo)注時(shí),代號(hào)中的數(shù)字及符號(hào)的方向必須按下圖規(guī)定標(biāo)注。圖 3-3 粗糙度的標(biāo)注方法3.2 粗糙度程序編寫與功能實(shí)現(xiàn)公式公式設(shè) pt10 的坐標(biāo)為(x10,y10)、pt11 的坐標(biāo)為(x11,y11)10111011arctanxxyyang(3-1)1011()1011(22xxyydis(3-2)2llmm(3-3)設(shè)粗糙度高度為 H222*21Hmmmm(3-4)程序程序/下面一段為 COND 函數(shù),為區(qū)分四個(gè)粗糙度選項(xiàng)服務(wù),此功能運(yùn)用非常廣泛。Cond 多條件式的多條件式的 if 整

42、合功能整合功能語(yǔ)法: (cond( )( ).(t)t 代表其他情況)功能重點(diǎn):多條件式的 if 整合功能,由上而下逐一比較,執(zhí)行其中之一若對(duì)應(yīng)當(dāng)成立時(shí),則執(zhí)行某一判斷式成立,則執(zhí)行其后的表達(dá)式,最后若各判斷式皆不成立,且存在有 t 值對(duì)應(yīng),則執(zhí)行 t 后對(duì)應(yīng)的。此系統(tǒng)將完成以下功能:提供使用者四個(gè)按鈕選項(xiàng)框,每個(gè)按鈕代表了不同的粗糙度符號(hào)Cond 函數(shù)四個(gè)選項(xiàng)粗糙度 1粗糙度 2粗糙度 3粗糙度 4圖 3-4 cond 的四個(gè)選項(xiàng)粗粗糙度輔助標(biāo)注程序?qū)崿F(xiàn)粗粗糙度輔助標(biāo)注程序?qū)崿F(xiàn)1.、選擇完需要的粗糙度的形式,在輸入所需要的粗糙度的大小,和粗糙度圖像的大小。圖 3-5 粗糙度智能標(biāo)注對(duì)話框2、

43、選擇完需要標(biāo)注的地方,粗糙度就可自動(dòng)標(biāo)注完成,入下圖。圖 3-6 粗糙度標(biāo)注效果圖展示第四章 標(biāo)準(zhǔn)件的設(shè)計(jì)4.1 六角頭螺栓首先進(jìn)行參數(shù)化設(shè)計(jì),然后完成圖形繪制程序的編寫。在標(biāo)注件的設(shè)計(jì)中能設(shè)計(jì)出更為友好的圖形。標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)在 AutoCAD 的標(biāo)準(zhǔn)件的二次開發(fā)中,最為緊要的是先確定所要設(shè)計(jì)的標(biāo)注件的各點(diǎn)之間的關(guān)系,以 SETQ 這個(gè)賦值函數(shù)定義每一個(gè)點(diǎn),再以 polar 這個(gè)函數(shù)聯(lián)系每個(gè)點(diǎn)之間的數(shù)學(xué)關(guān)系,這種設(shè)計(jì)將使使用者節(jié)約大量時(shí)間,使用者不必在去定義大量的未知數(shù),使工作效率大大提高,通過(guò) COMMAND 函數(shù),設(shè)計(jì)者就能得到需要的函數(shù)。(1)(1)公式公式設(shè)點(diǎn) pa1

44、 的坐標(biāo)為(x1,y1),點(diǎn) pa2 的坐標(biāo)為(x2,y2),以此類推。(1)112ryy(4-1)(2)1430sin3xkx(4-2)(3)2430cos3yky(4-3)(4)kxx 34(4-4)(5)44xy(4-5)(6)17xx(4-6)(9)117ryy(4-7)(8)1430sin6xkx(4-8)(9)7430cos6yky(4-9)(10)kxx 34(4-10)(11)kxx 65(4-11)(12)1513dyy(4-12)(13)41010kyx(4-13)(14)45xx(4-14)(15)211011dyy(4-15)(16)211012dyy(4-16)(17

45、)lxx 1116(4-19)(18)lxx 1217(4-18)(19)445sin1618kyy(4-19)(20)445sin1619ky4-20)(21)245sin1618kxx(4-21)(22)1918xx(4-22)(2)(2)程序程序用 CAD 方法開發(fā)產(chǎn)品時(shí),零件設(shè)計(jì)模型的建立速度是決定整個(gè)產(chǎn)品開發(fā)效率的關(guān)鍵。參數(shù)化設(shè)計(jì)方法就是將模型中的定量信息變量化,使之成為任意調(diào)整的參數(shù)。對(duì)于變量化參數(shù)賦予不同數(shù)值,就可得到不同大小和形狀的零件模型。(3)(3)下拉再次效果展示下拉再次效果展示六角頭螺栓的參數(shù)設(shè)計(jì)采用了下拉菜單的方式,使用者可以不需要改數(shù)據(jù),程序?qū)丛O(shè)定的初始值運(yùn)行,或

46、者在之后的下拉列表菜單中選擇所需要的數(shù)據(jù),加以更改,以滿足要求。圖 4-1 下拉菜單列表圖像繪制命令編寫圖像繪制命令編寫Command 命令函數(shù)是完成標(biāo)準(zhǔn)件設(shè)計(jì)的一步不可或缺的步驟,他決定著所設(shè)計(jì)的的標(biāo)準(zhǔn)件的生成,沒有這個(gè)函數(shù),SETQ 和 POLAR 等函數(shù)都無(wú)法將他們的功能展現(xiàn)出來(lái)。通過(guò)子程序(new_dia0b)調(diào)用,將參數(shù)設(shè)計(jì)調(diào)入,根據(jù)所獲得的數(shù)據(jù)程序?qū)⑦\(yùn)行。效果圖展示效果圖展示不同參數(shù)所繪制圖像將改變,使用者可以根據(jù)要求加以調(diào)整。如圖 4-2 顯示:圖 4-2 效果圖展示4.2 雙頭螺柱完成標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)和圖像繪制程序編寫時(shí)必不可少的任務(wù)標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)在 Auto

47、CAD 的標(biāo)準(zhǔn)件的二次開發(fā)中,最為緊要的是先確定所要設(shè)計(jì)的標(biāo)注件的各點(diǎn)之間的關(guān)系,以 SETQ 這個(gè)賦值函數(shù)定義每一個(gè)點(diǎn),再以 polar 這個(gè)函數(shù)聯(lián)系每個(gè)點(diǎn)之間的數(shù)學(xué)關(guān)系,這種設(shè)計(jì)將使使用者節(jié)約大量時(shí)間,使用者不必在去定義大量的未知數(shù),使工作效率大大提高,通過(guò) COMMAND 函數(shù),使用者就能得到需要的函數(shù)。(1)(1)公式公式設(shè) pb1 的坐標(biāo)為(x1,y1),pb2 的坐標(biāo)為(x2,y2),以此類推(1)1212zdyy( 4-23)(2)12xx (4-24)(3)215 xx(4-25)(4)225 yy(4-26)(5)1213zdyy(4-27)(6)13xx (4-28)(7)

48、214 xx(4-29)(8)234 yy(4-30)(9)bmxx 19(4-31)(10)59xx (4-32)(11)xbzlbmxx510(4-33)(12)bzlbmxx513(4-34)(13)5(14zlbmxx(4-35)(14)xbmxx 47(4-36)(15)bmxx 48(4-37)(16)1417xx(4-38)(17)1312xx(4-39)(2)(2)程序程序在 CAD 中要實(shí)現(xiàn)參數(shù)化設(shè)計(jì),參數(shù)化模型的建立是關(guān)鍵。參數(shù)化模型表示了零件圖形的幾何約束和工程約束。幾何約束包括結(jié)構(gòu)約束和尺寸約束。圖形繪制程序編寫圖形繪制程序編寫同樣的調(diào)入子程序的方法將前一步所做的參數(shù)化

49、設(shè)計(jì)調(diào)入。 圖中程序中第二句語(yǔ)言(new_dia0b2)作為一個(gè)子程序?qū)⑶耙徊剿龅膮?shù)化設(shè)計(jì)調(diào)入, 完成圖形繪制。效果圖展示效果圖展示設(shè)計(jì)者選擇完所要繪制的圖形的主要數(shù)據(jù),程序就將這些數(shù)據(jù)通過(guò)參數(shù)化,確定所要繪制的點(diǎn),最后繪制成圖形,圖形如圖 4-3 所示。圖 4-3 效果圖展示4.3 軸在軸的設(shè)計(jì)中,標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)和圖像繪制命令編寫是不可少的。使用者將更為簡(jiǎn)便的使用它。標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)(1)(1)公式公式設(shè) pc1 的坐標(biāo)為(x1,y1),pc2 的坐標(biāo)為(x2,y2),以此類推(1)12xx (4-40)(2)2212dyy(4-41)(3)2213dyy(4-42)(

50、4)13xx (4-43)(5)124lxx(4-44)(6)24yy(4-45)(7)135lxx(4-46)(8)35yy (4-47)(9)222346ddyy(4-48)(10)46xx 4-49)(11)267lxx(4-50)(12)3710dyy(4-51)(13)2109lxx(4-52)(14)21114llxx(4-53)(2)(2)程序程序參數(shù)化設(shè)計(jì)極大的改善了圖形設(shè)計(jì)的重構(gòu)能力,提高了設(shè)計(jì)的柔性。當(dāng)設(shè)計(jì)者的某些數(shù)據(jù)已經(jīng)改變時(shí),無(wú)需再重新編寫程序,只需在原程序上稍加修改,即可完成設(shè)計(jì)者所要完成的操作,非常簡(jiǎn)單方便。圖形繪制命令編寫圖形繪制命令編寫Command 是訪問(wèn) A

51、utoCAD 的最常用的 autolisp 函數(shù), 此函數(shù)根據(jù)有關(guān)的信息向AutoCAD 的“command: ”提示直接發(fā)送 AutoCAD 命令。此函數(shù)功能非常強(qiáng)大,圖 4-9 中程序所涉及到的是將 command 作為一個(gè)圖形繪制函數(shù), 畫折線 “pline” 。效果圖展示效果圖展示圖 4-4 效果圖展示螺母標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)(1)(1)公式公式設(shè) pd1 的坐標(biāo)為(x0,y0),pe1 的坐標(biāo)為(x1,y1),pe2 的坐標(biāo)為(x2,y2),以此類推(1)255225ddr(4-54)(2)503rxx(4-55)(3)2503dxy(4-56)(4)14xx (4-57

52、)(5)514dyy(4-58)(6)505rxx(4-59)(7)2505dyy(4-60)(8)56xx (4-61)(9)2506dyy(4-62)(2)(2)程序程序參數(shù)化設(shè)計(jì)特別適合于結(jié)構(gòu)形式固定而結(jié)構(gòu)尺寸變化的規(guī)格化、系列化產(chǎn)品,尤其的機(jī)械領(lǐng)域的標(biāo)準(zhǔn)件設(shè)計(jì),如螺栓、螺母、螺柱柱、軸等。不僅可以使CAD 系統(tǒng)具有交互式繪圖功能而且還具有自動(dòng)繪圖功能利用參數(shù)化設(shè)計(jì)手段開發(fā)抓用的設(shè)計(jì)系統(tǒng),圖中程序是對(duì)參數(shù)化設(shè)計(jì)的強(qiáng)大體現(xiàn)。圖形繪制命令編寫圖形繪制命令編寫Autolisp 提供了很多函數(shù)用于檢查當(dāng)前加載圖形內(nèi)容,實(shí)現(xiàn) AutoCAD 的通信,Autolisp 與 AutoCAD 通信包括訪

53、問(wèn) AutoCAD 的命令、查詢系統(tǒng)的設(shè)置、顯示控制、幾何繪圖等等多種功能,各個(gè)功能均可以用函數(shù)來(lái)實(shí)現(xiàn)。圖 4-5 中的程序就是用到了其中的幾何繪圖功能。效果圖展示效果圖展示螺栓的效果如圖 4-5 所示。圖 4-5 效果圖展示第五章 系統(tǒng)開發(fā)5.1 組成圖應(yīng)用 AutoLISP 和 DCL,能夠編寫出人機(jī)交互強(qiáng),功能強(qiáng)大的程序,對(duì)AutoCAD 進(jìn)行十分有效的二次開發(fā),從而提高繪圖效率,并使 AutoCAD 真正地起到輔助設(shè)計(jì)作用。系統(tǒng)組成DCL 對(duì)話框參數(shù)化設(shè)計(jì)圖形繪制程序驅(qū)動(dòng)程序圖 5-1 系統(tǒng)組成5.2 系統(tǒng)的開發(fā)效果展示一共開發(fā)出兩個(gè)系統(tǒng),一個(gè)為粗糙度智能標(biāo)注系統(tǒng),另一個(gè)為標(biāo)準(zhǔn)件系統(tǒng)。

54、每個(gè)系統(tǒng)各其功能。粗糙度智能標(biāo)注系統(tǒng)粗糙度智能標(biāo)注系統(tǒng)(1)(1) 粗糙度智能標(biāo)注系統(tǒng)圖形粗糙度智能標(biāo)注系統(tǒng)圖形為了提高其繪圖效率, 增強(qiáng)其設(shè)計(jì)能力, 常會(huì)用到 AutoLISP 及 DCL 對(duì)其進(jìn)行二次開發(fā)。由于 AutoLISP 及 DCL 均附著于 AutoCAD 軟件內(nèi),AutoLISP 是編寫繪圖、編輯圖形等程序的表處理語(yǔ)言,易學(xué)易用且功能強(qiáng)大;DCL 是用戶對(duì)話框設(shè)計(jì)語(yǔ)言, 可設(shè)計(jì)出簡(jiǎn)潔、 美觀且人機(jī)交互強(qiáng)的用戶對(duì)話框。 二者配合使用,對(duì) AutoCAD 有著強(qiáng)大的二次開發(fā)能力。圖 5-2 中的圖形就是粗糙度智能標(biāo)注系統(tǒng),此系統(tǒng)將為設(shè)計(jì)者節(jié)約大量時(shí)間,減少大量的繁瑣的工作,設(shè)計(jì)者可

55、以一心一意投入到設(shè)計(jì)之中。圖 5-2 粗糙度智能標(biāo)注系統(tǒng)(2)(2)效果圖選取第一個(gè)框中的粗糙度,填寫粗糙度大小和粗糙度數(shù)據(jù),就可繪制成粗糙度圖形,效果如圖 5-3 所示。圖 5-3 效果圖展示標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng)標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng)(1)(1) 標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng)圖形盡管 AutoCAD 已經(jīng)提供足夠強(qiáng)大的各種功能,但是為了提高效率、也為了滿足各個(gè)企業(yè)不同產(chǎn)品生產(chǎn)、設(shè)計(jì)的需求,可能會(huì)對(duì) AutoCAD 做一些可以滿足自己需求功能的二次開發(fā),以提高設(shè)計(jì)者的設(shè)計(jì)效率,例如建立公司產(chǎn)品的模型數(shù)據(jù)庫(kù),對(duì)模型實(shí)現(xiàn)可參數(shù)化設(shè)計(jì),一些快捷功能的開發(fā)等等。圖 5-4 中的程序就是一個(gè)標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng),功能就如同公司建立的模型

56、數(shù)據(jù)庫(kù),設(shè)計(jì)者將為此節(jié)約大量時(shí)間。圖 5-4 標(biāo)準(zhǔn)件設(shè)計(jì)系統(tǒng)(2)(2) 效果圖圖 5-5 是標(biāo)準(zhǔn)件系統(tǒng)中的雙頭螺柱,通過(guò)下拉菜單,確定具體數(shù)據(jù),再選定所要畫的圖形,點(diǎn)擊“確定” ,或者雙擊推行就可,根據(jù)系統(tǒng)提示,選擇所要拜訪位置的點(diǎn),系統(tǒng)就可自動(dòng)生成圖形。圖 5-5 效果圖展示第六章 結(jié)論及展望6.1 結(jié)論為了對(duì) AutoCAD 進(jìn)行二次開發(fā),使之功能更為強(qiáng)大,運(yùn)用 autolisp 語(yǔ)言開發(fā)出一個(gè)標(biāo)準(zhǔn)件庫(kù)和一個(gè)智能粗糙度標(biāo)注系統(tǒng),應(yīng)用 Vlisp 工具編寫設(shè)計(jì) DCL對(duì)話框控制語(yǔ)言, 在執(zhí)行 autolisp 的同時(shí), 調(diào)用一個(gè)對(duì)話框, 提供多樣化的借口,并提供程序執(zhí)行時(shí)所需的數(shù)據(jù)或選項(xiàng)于

57、一身。通過(guò)分析,得出以下結(jié)論:1粗糙度的智能標(biāo)注系統(tǒng)粗糙度的智能標(biāo)注系統(tǒng)在 AutoCAD 中進(jìn)行手工繪制粗糙度對(duì)于設(shè)計(jì)者是一個(gè)很大的麻煩,設(shè)計(jì)者不得不畫大量的時(shí)間在這個(gè)繁瑣的小工作上。 而粗糙度的智能標(biāo)注系統(tǒng)將使設(shè)計(jì)者從繁瑣的小工作上擺脫出來(lái)。(1) 設(shè)計(jì)者不再為實(shí)現(xiàn)粗糙度與所取線段的對(duì)準(zhǔn)而煩惱,系統(tǒng)實(shí)現(xiàn)自動(dòng)對(duì)準(zhǔn)。(2) 在對(duì)話框可直接修改粗糙度數(shù)據(jù)和粗糙度大小,更加友好、方便。(3) 自動(dòng)根據(jù)線段角度調(diào)整粗糙度圖像方向。2標(biāo)準(zhǔn)件庫(kù)系統(tǒng)標(biāo)準(zhǔn)件庫(kù)系統(tǒng)(1) 數(shù)據(jù)采用下拉列表式,設(shè)計(jì)者可輕松更改數(shù)據(jù)。(2) 友好、快捷的對(duì)話框,操作異常輕松。(3) 可自動(dòng)更改數(shù)據(jù),獲得使用者所需要的圖形。由以上結(jié)果, 以上的粗糙度智能標(biāo)注系統(tǒng)和標(biāo)準(zhǔn)件系統(tǒng)可輕松幫助設(shè)計(jì)者完成繁瑣、無(wú)趣的小工作,以友好、快捷、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論