AutoCAD二次開發(fā)――參數(shù)化繪制帶輪設(shè)計
AutoCAD二次開發(fā)――參數(shù)化繪制帶輪設(shè)計,autocad,二次開發(fā),參數(shù),繪制,設(shè)計
目 錄 目 錄 ................................................................................................................................................................- 1 - 第一章 AUTOCAD 二次開發(fā)概述 .......................................................................................................- 1 - 1.1 AUTOCAD 簡介 .......................................................................................................................................- 1 - 1.2 AUTOCAD 二次開發(fā)語言及工具簡介 .................................................................................................- 2 - 1.2.1 AutoLISP ...........................................................................................................................................- 2 - 1.2.2 ADS....................................................................................................................................................- 2 - 1.2.3 ObjectARX ........................................................................................................................................- 3 - 1.2.4 VisualLISP.........................................................................................................................................- 3 - 1.2.5 VBA ...................................................................................................................................................- 4 - 1.2.6 Visual Java.........................................................................................................................................- 4 - 1.3 AUTOLISP 語言與 DCL 簡介 ...............................................................................................................- 4 - 1.3.1 AutoLISP 簡介 ..................................................................................................................................- 4 - 1.3.2 AutoLISP 的特點 ..............................................................................................................................- 5 - 1.3.3 DCL 簡介 ..........................................................................................................................................- 6 - 1.4 參數(shù)化繪圖系統(tǒng)簡介 ..............................................................................................................................- 6 - 1.4.1 概 述 .................................................................................................................................................- 6 - 1.4.2 理解參數(shù)化設(shè)計 ..............................................................................................................................- 7 - 1.4.3 設(shè)計參數(shù)化系統(tǒng)的基本要素 .........................................................................................................- 8 - 第二章 用繪圖工具的開發(fā)設(shè)計 ...........................................................................................................- 9 - 2.1 概述 ...........................................................................................................................................................- 9 - 2.2 設(shè)置繪圖環(huán)境設(shè)計 ..................................................................................................................................- 9 - 2.2.1 設(shè)計思想及流程 .............................................................................................................................- 10 - 2.2.2 設(shè)計實施與程序設(shè)計 ...................................................................................................................- 10 - 2.2.3 圖框的繪制 ....................................................................................................................................- 14 - 2.2.4 繪制標題欄 ....................................................................................................................................- 17 - 2.2.5 倒角標注 ........................................................................................................................................- 20 - 2.2.6 基準符號 ........................................................................................................................................- 21 - 2.2.7 技術(shù)要求可視化輸入 ...................................................................................................................- 23 - 2.2.8 粗糙度符號 ....................................................................................................................................- 25 - 第三章 三角帶輪參數(shù)化繪圖設(shè)計 ......................................................................................................- 30 - 3.1 總體設(shè)計思想 .........................................................................................................................................- 30 - 3.2 參數(shù)化繪圖程序的實現(xiàn) ........................................................................................................................- 31 - 3.2.1 帶輪繪圖參數(shù)的確定 ....................................................................................................................- 31 - 3.2.2 參數(shù)的是輸入 .................................................................................................................................- 32 - 3.2.3 帶輪零件圖的繪圖功能模塊 ........................................................................................................- 34 - 3.2.4 零件圖的生成 .................................................................................................................................- 35 - 3.3 本章小結(jié) .................................................................................................................................................- 43 - 結(jié) 論 ..............................................................................................................................................................- 45 - 參考文獻 .........................................................................................................................................................- 45 - 致 謝 ..............................................................................................................................................................- 46 - 附錄表 ..............................................................................................................................................................- 46 - 四川理工學院畢業(yè)設(shè)計 - 1 - 第一章 AutoCAD 二次開發(fā)概述 AutoCAD 是一個通用 CAD 平臺,它不僅具有強大的繪圖、編輯功能,而且具有 開放的體系結(jié)構(gòu),允許用戶對其進行二次開發(fā),以滿足繪圖過程中的特殊要求。 AutoCAD 榮登全球繪圖軟件的龍頭寶座,主要是因為它具有開放的體系結(jié)構(gòu)。它允許 用戶和開發(fā)者采用高級編程語言對其進行擴充和修改,即二次開發(fā),能最大限度地滿 足用戶的特殊要求。AutoCAD 第一版于 1982 年 11 月由 AutoDESK 公司推出,目前最 新版本是 AutoCAD 2007。 1.1 AutoCAD 簡介 Auto CAD是美國 AUTODESK 公司1982年在微機上開發(fā)的繪圖軟件包,Auto CAD 的版本不斷更新 ,更新的版本功能逐步增加,現(xiàn)已成為強有力繪圖工具,在國際 上廣為流傳。 Auto CAD 廣泛應(yīng)用于建筑、機械、電子、藝術(shù)造型及工程管理等領(lǐng)域,是微機 上最為流行的繪圖軟件之一。使用Auto CAD對用戶的計算機和英語不作要求,現(xiàn)在已 有了中文版的Auto CAD 軟件,可應(yīng)用中文直接與軟件對話,使用相當方便,掌握好 Auto CAD 的關(guān)鍵就是實踐,通過實踐掌握各種命令的應(yīng)用,技巧繪圖以提高繪圖的 速度。其主要功能有: 一、繪圖功能 Auto CAD 提供了豐富的基本繪圖實體,具有完善的圖形繪制功能,繪制的圖形 是由預(yù)先定義好的圖形元素即實體(Entity) 所組成,實體通過命令調(diào)用和光標定位即 可輸入所繪制的圖形。如:點、直線、多邊形、圓弧、橢圓、文本、剖面線、尺寸等 等。 二、編輯功能 Auto CAD提供了各種修改手段,具有強大的圖形編輯功能,Auto CAD 可以對圖 形進行擦除、修改、拷貝、移動、鏡像、斷開、修剪、旋轉(zhuǎn)等多種編輯操作。 三、繪圖工具 Auto CAD 為用戶提供了大量的繪圖工具,如捕捉、刪格、正交、動態(tài)坐標、目 標捕捉、縮放、點過濾、用戶坐標等等輔助繪圖工具。 第一章 AUTO CAD 二次開發(fā)語言及工具 - 2 - 四、三維功能 Auto CAD 可直接繪制三維圖形,它提供了一個實體造型模塊(AME),可生成 典型三維實心體、拉伸體、回轉(zhuǎn)體,對這些實心體進行并差交等布爾運算可以構(gòu)成組 合體,進而可獲得剖切圖輪廓圖著色圖等。 五、開發(fā)環(huán)境 Auto CAD 內(nèi)含AutoLISP語言和ADS開發(fā)系統(tǒng),便于用戶進行二次開發(fā)。用戶可 以利用AutoLISP 編制各種程序,從而為 Auto CAD增加新的命令,也可以為各專業(yè)編制 圖形數(shù)據(jù)庫。ADS是以C語言為基礎(chǔ)的開發(fā)系統(tǒng),它具有AutoLISP 的大部分功能,并可 使用標準C 函數(shù),是開發(fā)Auto CAD 的另一有效工具。 另外 Auto CAD 還有制作幻燈片、文件管理等其它功能。 1.2 AutoCAD 二次開發(fā)語言及工具簡介 1.2.1 AutoLISP AutoLISP 的全名是 LIST Processing Language,它出現(xiàn)于 1985 年推出的 AutoCAD R2.18 中,是一種嵌入在 AutoCAD 內(nèi)部的編程語言,是 LISP 原版的一個子集,她一 直是低版本 AutoCAD 的首選編程語言。它是一種表處理語言,是被解釋執(zhí)行的,任何 一個語句鍵入后就能馬上執(zhí)行,它對于交互式的程序開發(fā)非常方便。其缺點是繼承了 LISP 語言的編程規(guī)則而導(dǎo)致繁多的括號。 1.2.2 ADS ADS 的全名是 AutoCAD Development System,它是 AutoCAD 的 C 語言開發(fā)系統(tǒng), ADS 本質(zhì)上是一組可以用 C 語言編寫 AutoCAD 應(yīng)用程序的頭文件和目標庫,它直接 利用用戶熟悉的各種流行的 C 語言編譯器,將應(yīng)用程序編譯成可執(zhí)行的文件在 AutoCAD 環(huán)境下運行,這種可以在 AutoCAD 環(huán)境中直接運行的可執(zhí)行文件叫做 ADS 應(yīng)用程序。ADS 由于其速度快,又采用結(jié)構(gòu)化的編程體系,因而很適合于復(fù)雜的數(shù)據(jù) 處理,如二次開發(fā)的機械設(shè)計 CAD、工程分析 CAD、建筑結(jié)構(gòu) CAD、土木工程 CAD、化學工程 CAD、電氣工程 CAD 等。 四川理工學院畢業(yè)設(shè)計 - 3 - 1.2.3 ObjectARX ObjectARX 是一種嶄新的開發(fā) AutoCAD 應(yīng)用程序的工具,她以 C++為編程語言, 采用先進的面向?qū)ο蟮木幊淘恚峁┛膳c AutoCAD 直接交互的開發(fā)環(huán)境,能使用戶 方便快捷地開發(fā)出高效簡潔的 Auto CAD 應(yīng)用程序。ObjectARX 并沒有包含在 AutoCAD 中,可在 AutoDESK 公司網(wǎng)站中去下載,其最新版本是 ObjectARX for AutoCAD 2000,它能夠?qū)?AutoCAD 的所有事務(wù)進行完整的、先進的、面向?qū)ο蟮脑O(shè) 計與開發(fā),并且開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強。ObjectARX 從 本質(zhì)上講,是一種特定的 C++編程環(huán)境,它包括一組動態(tài)鏈接庫(DLL),這些庫與 AutoCAD 在同一地址空間運行并能直接利用 AutoCAD 核心數(shù)據(jù)結(jié)構(gòu)和代碼,庫中包 含一組通用工具,使得二次開發(fā)者可以充分利用 AutoCAD 的開放結(jié)構(gòu),直接訪問 AutoCAD 數(shù)據(jù)庫結(jié)構(gòu)、圖形系統(tǒng)以及 CAD 幾何造型核心,以便能在運行期間實時擴 展 AutoCAD 的功能,創(chuàng)建能全面享受 AutoCAD 固有命令的新命令。ObjectARX 的核 心是兩組關(guān)鍵的 API,即 AcDb(Auto CAD 數(shù)據(jù)庫 )和 AcEd(Auto CAD 編譯器) ,另外還 有其它的一些重要庫組件,如 AcRX(Auto CAD 實時擴展 )、AcGi(Auto CAD 圖形接口)、 AcGe(Auto CAD 幾何庫) 、ADSRX(Auto CAD 開發(fā)系統(tǒng)實時擴展)。ObjectARX 還可 以按需要加載應(yīng)用程序;使用 ObjectARX 進行應(yīng)用開發(fā)還可以在同一水平上與 Windows 系統(tǒng)集成,并與其它 Windows 應(yīng)用程序?qū)崿F(xiàn)交互操作。 1.2.4 VisualLISP VisualLISP 已經(jīng)被完整地集成到 AutoCAD 2000 中,它為開發(fā)者提供了嶄新的、增 強的集成開發(fā)環(huán)境,一改過去在 AutoCAD 中內(nèi)嵌 AtuoLISP 運行引擎的機制,這樣開 發(fā)者可以直接使用 AutoCAD 中的對象和反應(yīng)器,進行更底層的開發(fā)。其特點為自身是 AutoCAD 2000 中默認的代碼編輯工具;用它開發(fā) AutoLISP 程序的時間被大大地縮短, 原始代碼能被保密,以防盜版和被更改;能幫助用戶使用 ActiveX 對象及其事件;使 用了流行的有色代碼編輯器和完善的調(diào)試工具,讓用戶很容易創(chuàng)建和分析 LISP 程序的 運行情況。在 VisualLISP 中新增了一些函數(shù):如基于 AutoLISP 的 ActiveX/COM 自動 化操作接口;用于執(zhí)行基于 Auto CAD 內(nèi)部事件的 LISP 程序的對象反應(yīng)器;新增了能 夠?qū)Σ僮飨到y(tǒng)文件進行操作的函數(shù)。Visual LISP 為 AutoLISP 應(yīng)用程序提供三種文件 格式選項: ? LSP 文件 (.lsp) - 一種包含 AutoLISP 程序代碼的 ASCII 文本文件。 ? FAS 文件 (.fas) - 一個 LSP 程序文件的二進制編譯版本。 第一章 AUTO CAD 二次開發(fā)語言及工具 - 4 - ? VLX 文件 (.vlx) - 一個或多個 LSP 文件和/或?qū)υ捒蚩刂普Z言 (DCL) 文件的編 譯集合。 1.2.5 VBA VBA 即 Mcrosoft office 中的 Visual Basic for Applications,它被集成到 AutoCAD 2000 中。VBA 為開發(fā)者提供了一種新的選擇,也為用戶訪問 AutoCAD 2000 中豐富的 技術(shù)框架打開一條新的通道。VBA 和 AutoCAD 2000 中強大的 ActiveX 自動化對象模 型的結(jié)合,代表了一種新型的定制 AutoCAD 的模式構(gòu)架。通過 VBA,現(xiàn)在可以操作 AutoCAD,控制 ActiveX 和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動。 1.2.6 Visual Java Java 是最早由 Sun 公司創(chuàng)建的一種頗具魅力的程序設(shè)計語言,它是針對嵌入系統(tǒng) 而設(shè)計的。像許多開發(fā)語言一樣,Java 是一組實時庫的集合,可為軟件開發(fā)者提供多 種工具來創(chuàng)建軟件,管理用戶接口,進行網(wǎng)絡(luò)通訊、發(fā)布應(yīng)用程序等。對 AutoCAD 用 戶和開發(fā)者而言,Java 代表著新一代的編程語言,它主要用于開發(fā)出全新的優(yōu)秀產(chǎn)品。 Auto CAD 為現(xiàn)在提供了完整的、高性能的、面向?qū)ο蟮?CAD 程序開發(fā)環(huán)境,為 用戶和開發(fā)者提供了多種新的選擇,使得對 AutoCAD 二次開發(fā)和定制變得輕松而容易。 通過以上的介紹,幫助大家在二次開發(fā)時有所選擇,提高工效,達到事半工倍的目的。 1.3 AutoLISP 語言與 DCL 簡介 1.3.1 AutoLISP 簡介 AutoCAD 為用戶提供了眾多的高級編程環(huán)境,主要有嵌套在 AutoCAD 之中的 AutoLISP 和 VBA,面向?qū)ο筇卣鞯?C++編程環(huán)境 ARX,以及其它通過動態(tài)數(shù)據(jù)交換 (DDE )完成與 AutoCAD 之間通信的高級語言應(yīng)用程序等。 AutoLISP 是一種計算機的表處理語言, LISP(List Processing,表處理解釋語言) 誕生于 20 世紀 50 年代末期,是人工智能學科領(lǐng)域廣泛應(yīng)用的程序設(shè)計語言。 四川理工學院畢業(yè)設(shè)計 - 5 - AutoLISP 語言是 Autodesk 公司為用戶提供的在 AutoCAD 平臺上進行二次開發(fā)的 早期語言。AutoLISP 程序源于人工智能語言 LISP,是一種對 AutoCAD 進行定制、二 次開發(fā)的非結(jié)構(gòu)化程序設(shè)計語言,它嵌套于 AutoCAD 內(nèi)部,是 LISP 語言與 AutoCAD 有機結(jié)合的產(chǎn)物。AutoLISP 是開發(fā) AutoCAD 的重要工具之一。AutoLISP 不僅具備一 般高級基本結(jié)構(gòu)與功能,而且還具有強大的圖形處理功能。由于 AutoLISP 語法簡單易 于掌握,函數(shù)功能強大,因此,是 AutoCAD 用戶使用較為廣泛的編程語言之一。 就目前而言,與 VBA 和 ARX 相比,采用 AutoLISP 對 AutoCAD 進行工程專業(yè)領(lǐng) 域的應(yīng)用程序或 CAD 系統(tǒng)的開發(fā)有許多明顯的優(yōu)勢,比如在功能上與 ARX 已相差無 幾,而學習 AutoLISP 所需計算機專業(yè)知識遠遠低于 C++。VBA 雖然在對話框設(shè)計能 力上比 AutoLISP 強許多,但由于它使用 ActiveX 與 AutoCAD 交互,運行效率不如 AutoLISP,且代碼保密性差。另外,從 AutoCAD 版本不斷升級中可看出,Autodesk 公 司仍在繼續(xù)擴充 AutoLISP 的功能。 1996 年底推出 Visual LISP,對 AutoLISP 是一次重大改進,增強了 AutoCAD 的二 次開發(fā)能力。Visual LISP(簡稱 VLISP)是一個用 AutoLISP 語言進行程序開發(fā)的軟件 工具,它提供的集成開發(fā)環(huán)境(Integrated Development Environment,IDE)提供有眾 多工具,功能十分強大,可使用戶方便地用 AutoLISP 語言進行程序開發(fā)中的編寫程序 代碼、調(diào)試程序等操作。 1.3.2 AutoLISP 的特點 AutoLISP 具有如下功能: (1)AutoLISP 語言是在普通的 LISP 語言基礎(chǔ)上,擴充了許多適用于 CAD 應(yīng)用 的特殊功能而形成的,一種僅能以解釋方式運行于 AutoCAD 內(nèi)部的解釋性程序設(shè)計語 言。 (2)AutoLISP 語言中的一切成分都是以函數(shù)的形式給出的,它沒有語言概念或 者其他語法結(jié)構(gòu)。執(zhí)行 AutoLISP 程序就是執(zhí)行一些函數(shù),再調(diào)用其他函數(shù)。 (3)AutoLISP 把數(shù)據(jù)和程序統(tǒng)一表達為表的結(jié)構(gòu),既 S—表達式,故可把程序當 作數(shù)據(jù)來處理,也可把數(shù)據(jù)當作程序來執(zhí)行。 (4)AutoLISP 是開發(fā) AutoCAD 的重要工具之一。語言中的程序運行過程就是對 函數(shù)求值的過程,是在對函數(shù)求值的過程中實現(xiàn)對函數(shù)的功能。 (5)AutoLISP 語言的主要控制結(jié)構(gòu)是采用遞歸調(diào)用的方式。遞歸方式的使用, 使得程序設(shè)計簡單易懂。 第一章 AUTO CAD 二次開發(fā)語言及工具 - 6 - 就象上面所說的 AutoLISP 有自己的優(yōu)點以及適用場合、基本數(shù)據(jù)結(jié)構(gòu)以及程序結(jié) 構(gòu),包括程序的編輯、加載和運行。 1.3.3 DCL 簡介 對話框是一種邊界固定的窗口,也是一種先進的、流行的人機交互界面。運用對 話框可以方便而直觀的實現(xiàn)程序設(shè)計時的數(shù)據(jù)傳輸和信息傳輸,所以當今幾乎所以的 軟件都要用到對話框界面與用戶交流。 DCL 話框具有操作直觀、方便、易于輸入和修改數(shù)據(jù)等特點,是現(xiàn)代軟件設(shè)計中 必不可少的風格。對話框是一個彈出式窗口,它與用戶進行信息通信,一般被用于特 定的與輸入有關(guān)的任務(wù)。 AutoCAD 有自己的一套對話框設(shè)計語言,稱之為對話框控制語言(DCL) 。 AutoCAD 從 12 版本起就提供了對話框語言,用戶基于 AutoCAD 開發(fā)自己的應(yīng)用程序 時,可以利用 AutoCAD 所提供的可編程對話框 PDB(Programmable Dialog Box) 功能創(chuàng)建新的對話框,也可以修改一個已經(jīng)存在的對話框。AutoCAD 對話框新穎直觀, 在一定程度上簡化了用戶交互操作,極大地提高了軟件的使用效率。 對話框是用對話框控制語言 DCL(Dialog Control Language )編寫的 ASCII 文件 定義的。DCL 語言將定義對話框以什么方式出現(xiàn)以及它包含的內(nèi)容,例如按鈕,列表, 文本等。對話框的設(shè)計以約束條件為基礎(chǔ),框的尺寸及其部件的布局均應(yīng)遵循統(tǒng)一規(guī) 則,用戶不需要指出每一部分的尺寸大小及定位關(guān)系,系統(tǒng)自動進行布置。 AutoCAD 為用戶提供的可編程對話框技術(shù)是由專用的對話框描述語言(DCL)和 AutoLISP 驅(qū)動函數(shù)兩部分內(nèi)容組成的。對話框的部件只定義了其行為方式,如按鈕只 意味著按壓,列表只顯示相關(guān)的內(nèi)容以便用戶做出選擇等,一個對話框的使用方式實 際上完全由它的應(yīng)用程序(利用 Auto LISP/VLISP 或 ADS 所編寫的程序)所決定。 1.4 參數(shù)化繪圖系統(tǒng)簡介 1.4.1 概 述 AutoCAD 參數(shù)化程序從用戶取得參數(shù)或外部文件,然后在 AutoCAD 圖形中生成 圖像。這些參數(shù)可以是基于 AutoCAD ,AutoLisp 或 ADS 的。一個參數(shù)程序可以畫一 個公共零件的許多不同尺寸,不同形狀的圖。通過參數(shù)化,可以畫出一系列復(fù)雜的物 體,他們共享公共的參數(shù)關(guān)系。如果只改變比例,塊是最好的解決方法。但如果這種 四川理工學院畢業(yè)設(shè)計 - 7 - 變動需要大規(guī)模的相似塊的庫時,采用參數(shù)化可以提高柔性,減少錯誤,并產(chǎn)生巨大 的效益。 1.4.2 理解參數(shù)化設(shè)計 參數(shù)化繪圖在現(xiàn)代機械 CAD 中的應(yīng)用很廣,特別是對于定型的機械產(chǎn)品設(shè)計,需 要形成系列,以便針對用戶的生產(chǎn)特點提供不同大小、功率、規(guī)格的產(chǎn)品。這就要求 該產(chǎn)品的 CAD 系統(tǒng)具有參數(shù)化的設(shè)計功能,使得產(chǎn)品的設(shè)計圖可以方便地隨著某些結(jié) 構(gòu)尺寸的修改而修改并自動地重新繪出所要求的圖樣,實現(xiàn)尺寸驅(qū)動圖形的自動變化。 在當今流行 CAD 軟件中,每一個簡單的命令調(diào)用就是一個參數(shù)化繪圖的應(yīng)用。這 就像 C 語言或其他高級語言中的函數(shù)的調(diào)用一樣,輸入?yún)?shù)后執(zhí)行特定的操作。對一 個復(fù)雜的機械圖進行參數(shù)化設(shè)計,其實就是一些簡單的命令按照一定的拓撲關(guān)系的中 和。參數(shù)化設(shè)計對象的結(jié)構(gòu)形狀一般比較定型,其尺寸關(guān)系可以用一組參數(shù)來確定。 這樣參數(shù)化系統(tǒng)的繪圖功能就很明確的得以實現(xiàn)。 為了設(shè)計出更好的對話框,不僅要考慮其實際用途,而且還要從美觀、功效、和 WINDOWS 環(huán)境的 GUI 標準等方面來考慮。包括以下幾點: (1)美觀和功效; (2)前后一致的設(shè)計和清晰明了的語言; (3)用戶控制:可以為用戶提供一些可以訪問對話框輸入的控件。 (4)容錯處理:讓對話框具有一定的容錯性可以使用戶更加自如的操作而不必擔 心產(chǎn)生不可逆的錯誤。 (5)提供幫助:在設(shè)計對話框時,應(yīng)提供相應(yīng)的幫助功能模塊。 (6)考慮殘疾用戶:如果能為身有殘疾的用戶多考慮一些,則所設(shè)計的程序就能 夠方便更多的用戶。 (7)單詞字母大寫; (8)避免縮略語:由于縮略語不便于用戶理解,如果空間的限制而不得不使用縮 略語,則盡量在一個組(如加框的列)內(nèi)使用一致的縮略語; (9)布局:設(shè)計對話框時,應(yīng)將其中的部件合理的按行或者列排列,以便用戶從 左至右或者從上至下的瀏覽; (10)控件的大小和位置; (11)禁用控件; 第一章 AUTO CAD 二次開發(fā)語言及工具 - 8 - (12)嵌套對話框; (13)隱藏對話框; (14)提供默認值; (15)處理鍵盤輸入; (16)預(yù)定義控件和控件組的指導(dǎo); (17)錯誤處理:對話框可以通過錯誤控件 errtile(文本控件的一種) ,或者是嵌 套的警告對話框顯示錯誤和警告信息。 1.4.3 設(shè)計參數(shù)化系統(tǒng)的基本要素 一個較復(fù)雜的參數(shù)化部件系統(tǒng)的各個部分是隨系統(tǒng)的設(shè)計而變化,但他們大致上都 包括下列元素: A. 非 CAD 的外部文件,包括不見數(shù)據(jù)和設(shè)計特征。 B. 一個進行提示和通信的用戶界面函數(shù)。 C. 一個讀數(shù)據(jù)文件的 AutoLisp 子程序。 D. 計算和繪圖函數(shù)。 E. 程序和函數(shù)的菜單界面。 F. 零件表列的屏幕幫助。 G. 材料幫助 。 設(shè)計一個整體系統(tǒng)實際上就是設(shè)計其各個功能的模塊,即通常說的:模塊化設(shè)計。 這樣,以后的公共模塊就可以通用,這就大大的提高了設(shè)計效率! 四川理工學院畢業(yè)設(shè)計 - 9 - 第二章 用繪圖工具的開發(fā)設(shè)計 2.1 概述 為了簡便繪圖工序,節(jié)省繪圖時間,利用 CAD 集成的 AutoLISP 語言編寫固定的 繪圖程序,來完成比較通用的繪圖工序是一件十分必要的事情。 AutoLISP 語法簡單,不用特殊的變量定義,非常富有彈性,比起其他的程序語言, 它的語法簡單而又有其獨特風格。除一般性的功能函數(shù)外,又擁有為數(shù)不少控制配合 AutoCAD 的特殊函數(shù),而且 AutoLISP 可直接調(diào)用執(zhí)行所有 AutoCAD 的命令,以及掌 握運用所有的 AutoCAD 系統(tǒng)變量,功能十分強大。 編寫 AutoLISP 可以用來強化 AutoCAD 原有命令,可以創(chuàng)造更加有用的 AutoCAD 新命令,可以簡化繁瑣的環(huán)境設(shè)定或繪圖步驟,可處理參數(shù)式繪圖,可用用來達到真 正靈活控制 AutoCAD 等等。 在實際生產(chǎn)中,利用 AutoLISP 語言來編寫程序,可大大的提高生產(chǎn)效率。設(shè)想某 員工花了 20 小時編寫一個 AutoLISP 程序,表面上,這將近三天的時間,他一張圖都 沒有畫,甚至可能偶有發(fā)呆,沉思。如此程序一天可以替公司繪圖部門節(jié)省一個小時 繪圖時間,那算一算,只要 20 天就可以抵消開發(fā)成本,而 20 天以后就能節(jié)省大量的 繪圖時間,隨著使用的人越多,使用的時間越長,就可以獲得更大的生產(chǎn)效率。 根據(jù)這次對帶輪的設(shè)計,可將本次設(shè)計的繪圖環(huán)境分解如下: (01) 圖框的繪制(包括國家標準圖幅的繪制) ; (02) 表面粗糙度的標注 (03)形位公差標注; (04)技術(shù)要求可視化輸入; (05) 標題欄繪制; 2.2 設(shè)置繪圖環(huán)境設(shè)計 計算機輔助設(shè)計(CAD)技術(shù)具有快速設(shè)計和自動繪圖的功能,是幫助企業(yè)適應(yīng) 飛速變化的技術(shù)要求和市場要求的產(chǎn)物。其中,AutoCAD 是一種通用圖形處理軟件, 功能強大,具有良好的開放性,是機械行業(yè)“甩圖板 ”的好幫手,在企業(yè)中使用越來越 第二章 用繪圖工具的開發(fā)設(shè)計 - 10 - 來普遍。但要繪制出符合我國機械制圖標準的工程圖,需要設(shè)置好繪圖環(huán)境才能達到 事半功倍的目的,而且每畫一張新圖都要重新創(chuàng)建。在企業(yè)之間甚至企業(yè)內(nèi)部,由于 不同用戶設(shè)置的繪圖環(huán)境不同給用戶的技術(shù)文件交流造成混亂與障礙的現(xiàn)象時有發(fā)生。 為此可利用 AutoCAD 提供的模板功能將設(shè)置好的繪圖環(huán)境保存為模板文件,另一個較 好的方法是對此進行二次開發(fā)。從而可大大提高繪圖效率及軟件開發(fā)效率,同時還可 為技術(shù)文件的交流帶來方便。 2.2.1 設(shè)計思想及流程 機械工程圖模板的 AutoCAD 二次開發(fā),即繪圖環(huán)境的設(shè)置的程序開發(fā)設(shè)計,主要 包括對象特性(即層設(shè)置) 、尺寸標注樣式設(shè)置、文字樣式設(shè)置、圖幅設(shè)置及標題欄的 程序開發(fā),以便在實際使用中符合國家標準,同時也提高繪圖效率。開發(fā)過程結(jié)合實 際工程的二次開發(fā)工作,以體現(xiàn)其優(yōu)越性。 2.2.2 設(shè)計實施與程序設(shè)計 2.2.2.1 設(shè)計中采用的國家標準 在設(shè)計中應(yīng)根據(jù)我國最新的機械制圖國標的規(guī)定,在開發(fā)過程中主要采用的國標 有:GB10609.1-89 《技術(shù)制圖 標題欄》 ; GB/T 14689-93 《技術(shù)制圖 圖紙幅面和格 式》 ;GB/T 14691-93 《技術(shù)制圖 字體》 ;GB/T 17450-1998 《機械制圖 圖線》 ;GB/T 16675.2-1996 《機械制圖 尺寸注法》 ;GB/T 14665-93 《計算機制圖用計算機信息交 換 制圖規(guī)則》 。 2.2.2.2 設(shè)置圖層 在 AutoCAD 軟件中,圖形對象的組織和管理是用圖層來實現(xiàn)的。每個圖形對象都 有其特性,包括對象的圖層、顏色、線型、線寬等。由于該項設(shè)置與輸出圖效果有較 大的聯(lián)系,因此在繪圖環(huán)境中的設(shè)置恰當與否至關(guān)重要。根據(jù)繪圖經(jīng)驗,在此設(shè)置好 后直接按繪制樣式輸出,效果較理想,而且也可預(yù)見的。選擇計算機繪圖線寬的第 4 組,即粗實線、粗點畫線為 0.7mm,其余為 0.25mm。圖層的名字取為漢字,且與圖層 的用途一致以便分層作圖時圖層的轉(zhuǎn)換。根據(jù)使用效果粗實線線寬改為 0.4,其余改為 0。最后設(shè)置的圖層效果見下圖 2-1. 四川理工學院畢業(yè)設(shè)計 - 11 - 圖 2-1 設(shè)置圖層 2.2.2.3 置文字樣式 設(shè)置漢字字體、羅馬字體及字高。為方便使用,設(shè)置了多種字高的文字樣式。 參照國家標準,根據(jù)經(jīng)驗,字體應(yīng)設(shè)為兩種樣式:TEXT 字體樣式選用 Romans.shx,寬度比例選 0.67,傾斜角度選 15°,該字體專用于標注英文字母和阿拉伯 數(shù)字。HZ 字體樣式選仿宋 GB_2312,文字寬度系數(shù)選 0.67,該字體專用于漢字內(nèi)容的 書寫。 2.2.2.4 設(shè)置標注樣式 尺寸標注樣式的設(shè)置是二維工程制圖繪圖環(huán)境設(shè)置的重要內(nèi)容。圖樣的標注能否 符合國標的關(guān)鍵在于尺寸標注樣式的設(shè)置。在軟件開發(fā)過程中只能通過尺寸標注變量 的設(shè)置來完成,設(shè)置的具體內(nèi)容見下面程序說明。在實際使用中,需要設(shè)置多個尺寸 標注樣式。 第二章 用繪圖工具的開發(fā)設(shè)計 - 12 - 設(shè)計的樣式見圖 2-2 設(shè)置標注樣式 標注樣式 0 標注樣式 1 標注樣式 2 標注樣式 3 標注樣式 4 (字體 TEXT3.5) (字體 HZ3.5) 無指引線 (用于直徑文字水平書寫及漢字說明) 圖 2-2 設(shè)置標注樣式 2.2.2.5 源程序 ; =================================================== (defun szhthj() ;;; 設(shè)置所需的圖層 (command "linetype" "load" "center, ACAD_ISO02W100,ACAD_ISO10W100, ACAD_ISO12W100" "acadiso.lin" "") ;調(diào)所需線型 (command "layer" "make" "標注層" "on" " 標注層 " "color" 3 "標注層" "lw" 0.0 "標注層""") (command "layer" "make" "粗點畫線層" "on" " 粗點畫線層 " "color" 2 "粗點畫線層" "lw" 0.4 "粗點畫線層""L" "ACAD_ISO10W100" "粗點畫線層""") (command "layer" "make" "粗實線層" "on" " 粗實線層 " "color" 7 "粗實線層" "lw" 0.4 "粗實線層""") (command "layer" "make" "雙點畫線層" "on" "雙點畫線層" "color" 6 "雙點畫線層" "lw" 0.0 "雙點畫線層""l" "ACAD_ISO10W100""雙點畫線層""") (command "layer" "make" "文本層" "on" "文本層" "color" 5 "文本層" "lw" 0.0 "文本 層""") (command "layer" "make" "細點畫線層" "on" " 細點畫線層 " "color" 4 "細點畫線層" "lw" 0.4 "細點畫線層""") (command "layer" "make" "細實線層" "on" " 細實線層 " "color" 1 "細實線層" "lw" 0.0 "細實線層""") 四川理工學院畢業(yè)設(shè)計 - 13 - (command "layer" "make" "虛線層" "on" " 虛線層 ""color" 2 "虛線層" "lw" 0.0 "虛線層" "L" "ACAD_ISO02W100" "虛線層""") (command "layer" "make" "中心線層" "on" " 中心線層 ""color" 1 "中心線層" "lw" 0.0 "中心線層" "L" "center2" " 中心線層""") (command "layer" "make" "特性表層" "on" " 特性表層 ""color" 7 "特性表層" "lw" 0.0 "特性表層" "") ;;; 設(shè)置字體樣式 (command "-style" "text0" "romans" 0 0.7 15 """""") (command "-style" "text3.5" "romans" 3.5 0.7 15 """""") (command "-style" "text5" "romans" 5 0.7 15 """""") (command "-style" "text7" "romans" 7 0.7 15 """""") (command "-style" "text10" "romans" 10 0.7 15 """""") (command "-style" "text14" "romans" 14 0.7 15 """""") (command "-style" "text20" "romans" 20 0.7 15 """""") (command "-style" "hz0" "仿宋_GB2312" 0 0.7 0 """") (command "-style" "hz3.5" "仿宋_GB2312" 3.5 0.7 0 """") (command "-style" "hz5" "仿宋_GB2312" 5 0.7 0 """") (command "-style" "hz7" "仿宋_GB2312" 7 0.7 0 """") (command "-style" "hz10" "仿宋_GB2312" 10 0.7 0 """") (command "-style" "hz14" "仿宋_GB2312" 14 0.7 0 """") ;;; 設(shè)置尺寸標注樣式 (command "dimclrd" 0 "dimdli" 5 "dimclre" 256 "dimexe" 3 "dimgap" 0.5 "dimasz" 2.5 "dimclrt" 256 "dimtxsty" "text3.5" "dimtxt" 3.5 "dimtad" 1 "dimjust" 0 "dimgap" 1 "dimtih" 0 "dimatfit" 2 "dimlunit" 2 "dimdec" 2 "dimdsep" "." "dimatftt" 2 "dimexo" 0 "dimse1" 1 "dimse2" 1 "dimstyle" "save" "標注樣式 4" ) (command "dimclrd" 0 "dimdli" 5 "dimclre" 256 "dimexe" 3 "dimgap" 0.5 "dimasz" 2.5 "dimclrt" 256 "dimtxsty" "hz3.5" "dimtxt" 3.5 "dimtad" 1 "dimjust" 0 "dimgap" 1 "dimtih" 0 "dimatfit" 2 "dimlunit" 2 "dimdec" 2 "dimdsep" "." "dimatftt" 2 "dimexo" 0 "dimtoh" 1 "dimse1" 0 "dimse2" 0 第二章 用繪圖工具的開發(fā)設(shè)計 - 14 - "dimstyle" "save" "標注樣式 3" ) (command "dimclrd" 0 "dimdli" 5 "dimclre" 256 "dimexe" 3 "dimgap" 0.5 "dimasz" 2.5 "dimclrt" 256 "dimtxsty" "text3.5" "dimtxt" 3.5 "dimtad" 1 "dimjust" 0 "dimgap" 1 "dimtih" 0 "dimatfit" 2 "dimlunit" 2 "dimdec" 2 "dimdsep" "." "dimatftt" 2 "dimexo" 0 "dimtoh" 1 "dimse1" 0 "dimse2" 0 "dimstyle" "save" "標注樣式 2" ) (command "dimclrd" 0 "dimdli" 5 "dimclre" 256 "dimexe" 3 "dimgap" 0.5 "dimasz" 2.5 "dimclrt" 256 "dimtxsty" "text3.5" "dimtxt" 3.5 "dimtad" 1 "dimjust" 0 "dimgap" 1 "dimtih" 0 "dimatfit" 2 "dimlunit" 2 "dimdec" 2 "dimdsep" "." "dimatftt" 2 "dimexo" 0 "dimtoh" 0 "dimse1" 0 "dimse2" 0 "dimstyle" "save" "標注樣式 1" ) );defun end 2.2.3 圖框的繪制 在使用 CAD 繪圖軟件時,如果每次畫圖都要手工操作 CAD 繪制出圖框,是一件 繁瑣的事情。如果圖紙數(shù)量巨大,為每一幅圖都繪制上圖框,需要的時間,耗費的精 力是很巨大的。 圖框是幾乎每幅圖都必須繪制的基本模塊之一,具有極強的通用性,如果能用一 個 LISP 程序來代替這樣的手工繪制,可以節(jié)省大量時間和精力,提高勞動效率,是省 時省事的好方法。于是構(gòu)思設(shè)計一個關(guān)于圖框繪制的 LISP 程序。 由于繪制圖框時,繪制某一幅面總有對應(yīng)的一組 B 和L,所以不需要給出其他的 變量,繪制圖框的基準點定為坐標原點(0,0) ,只需帶入相應(yīng)的B和 L,即可繪制 出所需要的圖框。 2.2.3.1 圖紙的基本幅面 繪制技術(shù)圖樣時優(yōu)先選用代號為 A0,A1,A2,A3,A4 ,自定義,六種基本幅面 (提供選擇) ,自定義圖框的尺寸由用戶輸入。 幅面代號 A0 A1 A2 A3 A4 自定義 尺寸 B * L 841*1189 594*841 420*594 297*420 210*297 xxx*xxx 四川理工學院畢業(yè)設(shè)計 - 15 - 幅面尺寸中,B 表示短邊,L 表示長邊。 2.2.3.2 圖框格式 圖框格式有兩種:一種是保留裝訂邊的圖框,用于需要裝訂的圖樣。另一種是不 留裝訂邊的圖框格式,用于不需要裝訂的圖樣。如圖 2-3、2-4 所示為兩種圖框的基本 樣式。 圖 2-3 帶裝訂邊圖框 圖 2-4 不帶裝訂邊圖框 幅面代 A0 A1 A2 A3 A4 自定義 第二章 用繪圖工具的開發(fā)設(shè)計 - 16 - 號 B * L 841*1189 594*841 420*594 297*420 210*297 xxx*xxx e 20 10 c 10 5 a 25 2.2.3.3 實際程序所生成的圖框(見圖 2-5) 圖 2-5 圖框的繪制圖 2.2.3.4 操作實例(見圖 2-6) 在操作界面上選取圖紙幅面為 A3,格式為不帶邊框,復(fù)選對中符號和方向符號畫 圖。 四川理工學院畢業(yè)設(shè)計 - 17 - 圖 2-6 A3 圖框繪制操作實例 2.2.3.5 源程序 源程序如下: (defun t
收藏
編號:2654713
類型:共享資源
大?。?span id="td7lh3t" class="font-tahoma">575.77KB
格式:ZIP
上傳時間:2019-11-28
15
積分
- 關(guān) 鍵 詞:
-
autocad
二次開發(fā)
參數(shù)
繪制
設(shè)計
- 資源描述:
-
AutoCAD二次開發(fā)――參數(shù)化繪制帶輪設(shè)計,autocad,二次開發(fā),參數(shù),繪制,設(shè)計
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。