版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計)</p><p><b> ?。ǘ?屆)</b></p><p> 特殊零件的CAD二次開發(fā)設(shè)計</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 電氣工程及其自動化 </p>
2、<p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p><p> 本設(shè)計
3、主要是利用LISP語言開發(fā)一個可以讓使用者在AutoCAD2000/2004標(biāo)準(zhǔn)模式下插入標(biāo)準(zhǔn)螺母(螺栓)系列零件視圖的小程序。本文介紹了AutoCAD常用的幾種二次開發(fā)技術(shù),并對它們各自的特點(diǎn)進(jìn)行了分析與比較。本設(shè)計是按照任務(wù)書的要求開發(fā)一個在Auto CAD環(huán)境下使用Visual LISP語言開發(fā)小型用戶的程序。因為在AutoCAD中要調(diào)用已編寫的AutoLISP應(yīng)用程序,必須先將它加載到內(nèi)存中所以使用本程序用戶首先要進(jìn)入AutoC
4、AD2000/2004標(biāo)準(zhǔn)界面單擊功能區(qū)的“工具”選項卡,再單擊“應(yīng)用程序”面板中的“加載應(yīng)用程序”按鈕。在加載LSP文件后就能根據(jù)使用者的需要自行的輸入合適的參數(shù)完成畫圖功能。</p><p> 使用本程序后,用戶在AutoCAD中作圖時,欲插入螺母(螺栓)零件的現(xiàn)成圖形,如果該螺母(螺栓)的尺寸是標(biāo)準(zhǔn)的,那么本設(shè)計所開發(fā)的界面和圖形調(diào)用就可滿足用戶的要求。這能減少設(shè)計人員設(shè)計、工人加工生產(chǎn)不可或缺的一類重要
5、零件時精力。更好的使用這計算機(jī)繪圖技術(shù),使類標(biāo)準(zhǔn)件的設(shè)計加工生產(chǎn)及應(yīng)用變得極其簡單起來。</p><p> 關(guān)鍵詞:AutoCAD; 二次開發(fā); 螺母; 螺栓; LISP語言</p><p><b> Abstract</b></p><p> This design is mainly used to develop a LISP la
6、nguage allows the user to insert the standard mode in AutoCAD2000/2004 standard nut (bolt) Series parts view of small programs. This article describes several common AutoCAD secondary development, and their respective ch
7、aracteristics of the analysis and comparison. This design is in accordance with the requirements of the mission statement to develop a Auto CAD environments in Visual LISP language development of small user programs. Bec
8、ause in AutoC</p><p> Using this procedure, users in AutoCAD mapping, to insert nut (bolt) parts of available graphics, if the nut (bolt) size is a standard, so this design development interface and graphic
9、s calls can satisfy the requirements of the customers. This can reduce designers design, workers processing production indispensable an important class of components with energy. Better use this computer graphics technol
10、ogy, enable the class standard design processing production and application become extremely sim</p><p> Key Words: AutoCAD;Secondary development; Nut; Bolt; LISP language</p><p><b> 目
11、錄</b></p><p><b> 1 引言1</b></p><p> 2 AutoCAD二次開發(fā)簡介2</p><p> 2.1 AutoCAD二次開發(fā)工具2</p><p> 2.1.1 第一代二次開發(fā)工具2</p><p> 2.1.2 第二代二次開發(fā)工具
12、3</p><p> 2.1.3 第三代二次開發(fā)工具4</p><p> 2.2 AutoCAD二次開發(fā)環(huán)境9</p><p> 2.2.1 基于文件系統(tǒng)的開發(fā)9</p><p> 2.2.2 基于高級語言的開發(fā)9</p><p> 2.3 AutoCAD二次開發(fā)應(yīng)用10</p>&l
13、t;p><b> 3 總體設(shè)計12</b></p><p> 3.1設(shè)計思路12</p><p> 3.2 確定總體方案13</p><p><b> 4設(shè)計過程14</b></p><p> 4.1 編寫程序15</p><p> 4.2 加載程
14、序15</p><p> 4.3 運(yùn)行程序16</p><p><b> 5 開發(fā)實例17</b></p><p><b> 5.1螺母17</b></p><p><b> 5.2螺栓18</b></p><p> 5.3組裝零件
15、19</p><p><b> 6 結(jié)論20</b></p><p> 致 謝錯誤!未定義書簽。</p><p> 附錄1 畢業(yè)設(shè)計作品說明書22</p><p> 附錄2 螺母程序:23</p><p> 附錄3 螺栓程序:26</p><p>
16、; 附錄4 零件組裝程序:30</p><p><b> 1 引言</b></p><p> AutoCAD是目前世界范圍內(nèi)使用最為廣泛的二維繪圖軟件,以其豐富的繪圖命令、強(qiáng)大的編輯功能和良好的用戶界面受到了廣大工程技術(shù)人員的歡迎[1] 。人們在使用AutoCAD過程中發(fā)現(xiàn)其中存在著較多的不足之處,為此AutoDesk公司也提供了二次開發(fā)語言。為了適合于各種
17、不同類型設(shè)計人員對AutoCAD 進(jìn)行二次開發(fā),Auto Desk公司先后推出了AutoLISP、ADS、ObjectARX、VBA、VisualLISP、DotNet等二次開發(fā)語言。幾種二次開發(fā)語言特點(diǎn)各異, 各有其優(yōu)缺點(diǎn)具體見表1-1所示[2] : </p><p> 表1-1 幾種二次開發(fā)語言的比較</p><p> 2 AutoCAD二次開發(fā)簡介</p><
18、p> Autodesk公司是目前世界上在CAD領(lǐng)域比較成功的的開發(fā)商,其開發(fā)的AutoCAD在CAD工業(yè)上一直被作為旗幟產(chǎn)品。到目前為止AutoCAD都被作為一種定位與全球各大領(lǐng)域和各類專業(yè)的通用微機(jī)CAD平臺軟件。迄今,Autodesk公司已經(jīng)相繼推出三代二次開發(fā)工具。</p><p> 表2-1 AutoCAD二次開發(fā)工具的演變</p><p> 2.1 AutoCAD二次
19、開發(fā)工具[3]</p><p> 2.1.1 第一代二次開發(fā)工具</p><p> AutoLISP是由Autodesk公司開發(fā)的一種采用LISP編程語言的二次開發(fā)編程工具(LISP是LISTP rocessor的縮寫)。AutoLISP是一種完全嵌入在AutoCAD內(nèi)部的人工智能語言,具備一般高級語言的基本結(jié)構(gòu)和功能的同時又具備一般高級語言所沒有的圖形處理能力。AutoLISP在進(jìn)行
20、AutoCAD的二次開發(fā)時可直接調(diào)用大部分的AutoCAD命令。由于AutoCADLT和 AutoCAD2.17以下的版本中不含AutoLISP,所以AutoLISP只能夠在AutoCAD2.18以上的版本中使用。Auto LISP在沒有其它任何特定的硬件設(shè)備,就能在AutoCAD系統(tǒng)能夠中運(yùn)行。它是一種唯一的解釋型語言。實現(xiàn)參數(shù)化繪圖的程序設(shè)計就是利用AutoLISP開發(fā)AutoCAD的最典型例子。</p><p&
21、gt; AutoLISP的優(yōu)點(diǎn)為:</p><p> 沒有語法結(jié)構(gòu),語言規(guī)則簡單,易學(xué)易用;</p><p> 直接針對AutoCAD,易于交互;</p><p> 解釋執(zhí)行,立竿見影。</p><p> Auto LISP的缺點(diǎn)為:</p><p> 功能單一,綜合處理能力差;</p>&l
22、t;p> 解釋執(zhí)行,程序運(yùn)行速度慢;</p><p> 缺乏很好的保護(hù)機(jī)制,源程序保密性差;</p><p> LISP用表來描述一切,不能很好地反映現(xiàn)實世界和過程,跟人的思維方式不一致;</p><p> 不能直接訪問硬件設(shè)備、進(jìn)行二進(jìn)制文件的讀寫。</p><p> 由于Auto LISP編寫的AutoCAD應(yīng)用程序是用記
23、事本等文字處理軟件編寫的,調(diào)試起來很不方便。</p><p> 2.1.2 第二代二次開發(fā)工具</p><p> ADS(AutoCAD Development System)是AutoCADR11開始支持的一種基于C語言開發(fā)應(yīng)用程序系統(tǒng)。它可以讓用戶先用熟悉的C語言編譯應(yīng)用程序,再將應(yīng)用程序編譯成可執(zhí)行文件后在AutoCAD環(huán)境下運(yùn)行,既利用了AutoCAD環(huán)境的強(qiáng)大功能,又利用了C
24、語言的結(jié)構(gòu)化編程、運(yùn)行效率高的優(yōu)勢。ADS不僅克服了AutoLISP所有的很多缺點(diǎn)而且具有速度快、安全性高的特點(diǎn)。ADS作為一組AutoLISP外部函數(shù),是不包含于AutoCAD內(nèi)部的而是由AutoLISP解釋器裝入、解釋并請求AutoCAD運(yùn)行,因此ADS的各方面性能受到了限制。同時,隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,面向過程的ADS己經(jīng)不能滿足要求了。所以,在AutoCAD R13 中提供了面向?qū)ο蟮拈_發(fā)工具ARX。</p>&
25、lt;p> 與AutoLISP相比,ADS優(yōu)點(diǎn)在于:</p><p> 具備錯綜復(fù)雜的大規(guī)模處理能力;</p><p> 編譯成機(jī)器代碼后執(zhí)行速度快;</p><p> 編譯時可以檢查出程序設(shè)計語言的邏輯錯誤;</p><p> 程序源代碼的可讀性好于AutoLISP 。</p><p> 與 Aut
26、o LISP相比,ADS缺點(diǎn)在于:</p><p> C語言比LISP語言難于掌握和熟練應(yīng)用;</p><p> ADS程序的隱藏錯誤往往導(dǎo)致AutoCAD,乃至操作系統(tǒng)的崩潰;</p><p> 需要編譯才能運(yùn)行,不易見到代碼的效果;</p><p> 同樣功能,ADS程序源代碼比Auto LISP代碼長 。</p>
27、<p> 從第二代的ADS開始,Autodesk開始采用多種語言環(huán)境下的開發(fā)工具,從LISP語言到Basic,C/C++等。</p><p> 表2-1 幾種常用語言間的主要差別</p><p> 2.1.3 第三代二次開發(fā)工具</p><p> 1 VisualLISP</p><p> 為了給AutoLISP提供的一
28、個完整的開發(fā)環(huán)境,Autodesk公司的AutoCAD從R14版開始支持VisualLISP開發(fā)工具。VisualLISP是AutoLISP的換代產(chǎn)品,不僅與AutoLISP完全兼容,而且還提供它所有的功能,是新一代的Auto LISP語言。為了能給開發(fā)者提供了一個更好的集成開發(fā)環(huán)境,VisualLISP已經(jīng)被完整地集成到 AutoCAD系統(tǒng)之中,改變了過去在AutoCAD中內(nèi)嵌Auto LISP運(yùn)行引擎的機(jī)制,讓開發(fā)者可以直接使用Au
29、toCAD 中的對象和反應(yīng)器,進(jìn)行更深層的開發(fā),大大地縮短開發(fā)應(yīng)用程序的時間且更好的保密原始代碼,以防盜版和被更改的情況發(fā)生。在VisualLISP中新增了一些函數(shù):如基于AutoLISP的ActiveX/COM自動化操作接口,可以在Microsoft ActiveX Automation接口與對象交互;用于執(zhí)行基于AutoCAD內(nèi)部事件的LISP程序的對象反應(yīng)器,擴(kuò)展了AutoLISP響應(yīng)事件的能力;新增能夠?qū)Σ僮飨到y(tǒng)文件進(jìn)行操作的函
30、數(shù)。另外VisualLISP還可以將LISP程序編譯成ObjectARX應(yīng)用程序,大大提高</p><p> VisualLISP 應(yīng)用程序具有如下特點(diǎn):</p><p> 更快運(yùn)行的應(yīng)用程序。因為VisualLISP編譯器可以把 LISP源程序編譯成ObjectARX應(yīng)用程序,使其能通過AutoCAD的ObjectARX接口運(yùn)行,所以比用AutoLISP加載運(yùn)行程序快,并且解決了每次
31、打開新圖再調(diào)用的麻煩。</p><p> 更高的靈活應(yīng)用程序。因為VisualLISP應(yīng)用程序使用了ObjectARX接口,能把AutoCAD與其它的應(yīng)用程序比如Windows、Office、ActiveX包含到Auto LISP源程序中,從而改善了ActiveX和AutoCAD對象模型之間接口特性,提高了應(yīng)用程序的靈活性。</p><p> 更高的安全性。由于VisualLISP編譯
32、成的二進(jìn)制代碼無法直接讀取,所以它生成的應(yīng)用程序更加安全。</p><p> 更強(qiáng)大的編程環(huán)境功能。在控制臺的命令行使用AutoLISP命令,可以直接看到結(jié)果。 AutoLISP和DCL源程序的命令、注釋、提示等,可以在編輯窗中同時顯示并加以各種顏色區(qū)分表示,易于檢查。提供DCL對話框預(yù)覽功能,并可以多窗口同時編輯LISP和DCL文件;可直接將 LISP和DCL文件編譯成一個ObjectARX程序。</p
33、><p> 綜上所述VisualLISP編程可減少了LISP程序調(diào)試過程的繁鎖,提高了編程效率,它不僅對CAD編程人員提供了新的強(qiáng)大編程工具,而且對每個AutoCAD使用者都提供了更簡單易用的LISP環(huán)境。</p><p> 2 ObjectARX</p><p> ObjectARX是Autodesk公司針對AutoCAD(R13及其以上版本)平臺上的二次開發(fā)而
34、推出的一個用C++語言為基礎(chǔ)面向?qū)ο蟮拈_發(fā)環(huán)境。它不僅支持面向?qū)ο缶幊膛c應(yīng)用程序接口,而且還完全兼容ADS。ObjectARX的早期版本被稱為ARX(AutoCAD RuntimeeXtention,AutoCAD運(yùn)行庫擴(kuò)展)。ObjectARX應(yīng)用程序是以C++為基本開發(fā)語言,特點(diǎn)是具有面向?qū)ο缶幊谭绞降臄?shù)據(jù)可封裝性、可繼承性及多態(tài)性,用其開發(fā)的CAD軟件具有模塊性好、獨(dú)立性強(qiáng)、連接簡單、使用方便、代碼可重用性強(qiáng),并且支持MFC基本類
35、庫,能簡潔高效地實現(xiàn)許多復(fù)雜功能。ObjectARX是一個面向?qū)ο蟮腃++應(yīng)用程序開發(fā)環(huán)境,這個環(huán)境利用了類的概念封裝AutoCAD中的各類信息,簡化對信息的訪問手段,使得應(yīng)用程序能直接調(diào)用AutoCAD的核心代碼,從而更充分地發(fā)揮AutoCAD開放系統(tǒng)結(jié)構(gòu)的作用。</p><p> AutoLISP與ADS都是通過內(nèi)部進(jìn)程通訊和AutoCAD進(jìn)行通訊的。它們與 AutoCAD是相互分離的過程,而ObjectA
36、RX應(yīng)用程序?qū)嵸|(zhì)上是一個Windows動態(tài)鏈接庫,應(yīng)用程序與AutoCAD和Windows之間均采用Windows消息傳遞機(jī)制直接通訊,與AutoCAD共享同一個地址空間,能夠直接調(diào)用AutoCAD的核心函數(shù),并能直接操縱AutoCAD數(shù)據(jù)庫的核心數(shù)據(jù)結(jié)構(gòu)和代碼,用ObjectARX編寫的命令和AutoCAD中的命令等同。與Auto LISP、ADS相比其速度更快、運(yùn)行更穩(wěn)定、更簡單。除了提高運(yùn)行速度之外,通過ObjectARX開發(fā)還允
37、許用戶創(chuàng)建或派生新的類,這些類和程序源代碼可以為其他程序共享,從而充分利用面向?qū)ο缶幊痰膬?yōu)點(diǎn)。由于ObjectARX應(yīng)用程序是在Windows及VC++編程環(huán)境中開發(fā)的。所以開發(fā)者要求有較高的編程能力。</p><p> ObjectARX應(yīng)用程序具有如下特點(diǎn):</p><p> 強(qiáng)大的功能。ObjectARX應(yīng)用程序可以直接調(diào)用AutoCAD核心函數(shù),訪問 AutoCAD數(shù)據(jù)庫的數(shù)據(jù)
38、結(jié)構(gòu)和代碼,并且用戶還可以創(chuàng)建或派生新的AutoCAD數(shù)據(jù)庫對象,可以是可見的實體,也可以是不可見的字典。</p><p> 快速的運(yùn)行速度。作為AutoCAD的一部分,ObjectARX應(yīng)用程序擁有同AutoCAD一樣的內(nèi)存地址空間,可以直接訪問AutoCAD的各種內(nèi)存對象,而AutoLISP和ADS都是通過函數(shù)間接的訪問AutoCAD,故在訪問AutoCAD數(shù)據(jù)庫的操作上,比AutoLISP和ADS的速度要
39、快得多。</p><p> 面向?qū)ο缶幊?。ObjectARX應(yīng)用程序是以C++為基本開發(fā)語言,具有面向?qū)ο缶幊坦δ埽瑫rObjectARX還提供了6個主要類庫(運(yùn)行擴(kuò)展庫、命令擴(kuò)展庫、數(shù)據(jù)庫訪問庫、通用幾何庫、圖形界面庫、邊界描述庫),可對AutoCAD對象及常見的事物對象進(jìn)行描述、訪問和控制。Object ARX的相對不足之處:</p><p> 對程序設(shè)計者的計算和專業(yè)知識、軟件專
40、業(yè)知識要求較高。ObjectARX程序比ADS程序具備更大的危險性和破壞性,Object ARX程序比ADS要復(fù)雜得多,程序設(shè)計的錯誤,經(jīng)常導(dǎo)致AutoCAD系統(tǒng)崩潰,甚至操作系統(tǒng)的崩潰。雖然如此,從ObjectARX應(yīng)用程序的優(yōu)點(diǎn)及二次開發(fā)長遠(yuǎn)的角度考慮,掌握和利用ObjectARX技術(shù)是AutoCAD二次開發(fā)的很好選擇。</p><p><b> 3 VBA</b></p>
41、<p> VBA(Visual Basic for Application)是基于ActiveX Automation技術(shù)的二次開發(fā)工具。ActiveX Automation以前稱為OLE Automation 技術(shù),是一套微軟標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)允許通過外顯的對象由一個Windows應(yīng)用程序控制另一個Windows應(yīng)用程序,這也是面向?qū)ο缶幊碳夹g(shù)的精髓所在。從R14開始AutoCAD增加了作為ActiveX Automatio
42、n服務(wù)器應(yīng)用程序的功能,使得許多面向?qū)ο缶幾g語言和應(yīng)用程序可以通過ActiveX與AutoCAD進(jìn)行通信,并操縱AutoCAD的許多功能。ActiveX Automation服務(wù)器應(yīng)用程序通過自身對象的屬性、方法和事件實現(xiàn)其功能。對象是服務(wù)器應(yīng)用程序簡單而抽象的代表。不管是用VB、VC、OFFICE VBA 等從外部開發(fā),還是用AutoCAD VBA從內(nèi)部對AutoCAD進(jìn)行二次開發(fā),都是通過調(diào)用AutoCAD的對象體系結(jié)構(gòu)來進(jìn)行的。A
43、utoCAD ActiveX Automation技術(shù)將 AutoCAD的各種功能封裝在AutoCAD ActiveX對象中,供編程使用。</p><p> VBA應(yīng)用程序具有如下特點(diǎn):</p><p> VBA提供強(qiáng)大的窗體創(chuàng)建功能,為應(yīng)用程序建立對話框及其他屏幕界面。</p><p><b> 創(chuàng)建自己的工具條。</b></p&
44、gt;<p> 建立功能強(qiáng)大的模塊級宏指令,宏名實質(zhì)就是模塊的過程名。</p><p> 提供建立類模塊的功能,這對開發(fā)大型工程非常有用,因為類可提供重用組件。另外,對于AutoCAD ActiveX將使用類模塊調(diào)用技術(shù)中的應(yīng)用程序級和對象級事件。</p><p> 具備完善的數(shù)據(jù)訪問與管理能力,通過DAO(數(shù)據(jù)訪問對象),可以對Access數(shù)據(jù)庫或其他外部數(shù)據(jù)(象dB
45、ase、Fox pro等)實現(xiàn)訪問與管理。此功能比直接使用AutoCAD的數(shù)據(jù)庫管理系統(tǒng)要方便,且功能強(qiáng)大。</p><p> 可以使用AQL語句檢索數(shù)據(jù),與RDO(遠(yuǎn)程數(shù)據(jù)對象)結(jié)合起來,能夠建立客戶機(jī)、服務(wù)器級的數(shù)據(jù)通信。</p><p> 能夠使用Win32API提供的功能,建立應(yīng)用程序與操作系統(tǒng)之間的通信。</p><p><b> VBA的
46、不足之處</b></p><p> VBA不能像VisualLISP那樣可以隨意使用AutoCAD命令,只能像腳本文件的模式,以字符串的方式向AutoCAD命令發(fā)送一串響應(yīng),這個字符串的內(nèi)容也只能在自己的程序中生成和進(jìn)行數(shù)據(jù)轉(zhuǎn)換。</p><p> 由于VBA以對象作為數(shù)據(jù)處理的基本單元的,因此像Trim Etend之類的命令都不能真正實施,要想完成這樣的操作,相關(guān)數(shù)據(jù)只能
47、在程序中自己計算。</p><p> 源程序始終以比較容易接近的方式,暴露在最終用戶面前。由于用戶的錯誤操作,很容易使正常的應(yīng)用程序出錯甚至崩潰。</p><p><b> 4 NET</b></p><p> NET是基于Microsoft.NET架構(gòu)進(jìn)行AutoCAD直接二次開發(fā)的一種新技術(shù)。目前AutoCAD2006版本及其以后的版
48、本能夠完全支持NET的開發(fā)方法。AutoCAD支持使用ObjectARX托管包裝類開發(fā)NET應(yīng)用程序。托管包裝類是針對大多數(shù)ObjectARX SDK提供的,讓用戶可以直接使用NET支持的任意語言(包括VB NET和 C#)來編寫應(yīng)用程序。托管類可執(zhí)行數(shù)據(jù)庫功能,使用戶能夠編寫讀取和寫入圖形格式(DWG)文件的應(yīng)用程序。使用托管類還可訪問AutoCAD用戶界面元素(包括命令行、功能對話框、AutoCAD編輯器以及發(fā)布和打印部件)。它由a
49、cdbmgd.dll和acbmgd.dll兩個程序集組成:acdbmgd.dll是ObjectDBX SDK的一部分,內(nèi)部封。</p><p> 裝了Object DBX API;acbmgd.dll封裝了大部分Auto CADAPI。托管Object ARX和絕大部分ObjectARX類對應(yīng),通過ObjectARX類名的前四個字母就可以確定對應(yīng)托管類的命名空間,如:AcDb與Autodesk AutoCAD
50、Database Services對應(yīng)。</p><p> NET應(yīng)用程序具有如下特點(diǎn):</p><p> 完全面向?qū)ο?。NET采用VB.NET、C#等面向?qū)ο蟮木幊陶Z言,將 Object ARX下的全局函數(shù)封裝為.NET API下的某些對象或?qū)ο蟮膶傩裕╅_發(fā)者使用。</p><p> 方便易用強(qiáng)大功能。采用傳統(tǒng)Object ARX編程時,開發(fā)者需要自己管理
51、內(nèi)存的申請和釋放,而NET采用了垃圾回收機(jī)制,自行判斷內(nèi)存回收的時機(jī)并實行回收;利用NET開發(fā)的應(yīng)用程序與Object ARX應(yīng)用程序功能幾乎同樣強(qiáng)大。開發(fā)者可以使用NET所支持的任何語言進(jìn)行開發(fā),并能達(dá)到與Object ARX應(yīng)用程序幾乎同樣強(qiáng)大的功能,因此, NET具有方便易用、功能強(qiáng)大的特點(diǎn),是較理想的AutoCAD二次開發(fā)工具。此外, NET還提供了便于開發(fā)基于Windows和基于Web的安全可互操作的應(yīng)用程序類庫。</p
52、><p> 以上對AutoCAD的三代開發(fā)工具分別做了介紹和比較。目前,第一代的Auto LISP已能被第三代的Visual LISP完全替代,第二代的ADS在AutoCAD中已不再支持,所以第三代開發(fā)工具將成為今后AutoCAD二次開發(fā)的必然選擇。而在第三代工具中具體選擇使用哪種,要根據(jù)開發(fā)者的需求和編程經(jīng)驗來確定,已達(dá)到事半功倍的效果。</p><p> 2.2 AutoCAD二次開發(fā)
53、環(huán)境</p><p> AutoCAD為用戶提供的開放式體系結(jié)構(gòu),稱之為AutoCAD二次開發(fā)環(huán)境[4]。AutoCAD提供的二次開發(fā)環(huán)境主要有兩類: </p><p> 2.2.1 基于文件系統(tǒng)的開發(fā)</p><p> AutoCAD為用戶開放了眾多的系統(tǒng)文件,用戶可以通過修改或創(chuàng)建這些文件來完成對AutoCAD軟件的“用戶化”工作,或稱為“定制”工作。定制
54、工作雖然能夠進(jìn)一步增強(qiáng)AutoCAD原有功能,使其更加“用戶化”一些但這種方法開發(fā)AutoCAD仍受到許多方面的限制。</p><p> 2.2.2 基于高級語言的開發(fā)</p><p> AutoCAD為用戶提供的高級語言編程環(huán)境主要有以下幾種:嵌套在AutoCAD內(nèi)部的AutoLISP、Visual LISP和VBA ;面對象征性的C++編程環(huán)境境ObjectARX以及其他通過動態(tài)數(shù)
55、據(jù)交換(DDE)完成與AutoCAD之間的通信的高級語言應(yīng)用程序net等等。而AutoLISP成為開發(fā)軟件最方便最直接最簡單的一種高級程序設(shè)計語言,與VBA和C++相比,采用AutoLISP對AutoCAD進(jìn)行工程專業(yè)領(lǐng)域的應(yīng)用程序或CAD系統(tǒng)的開發(fā)有許多明顯的優(yōu)勢,例如在功能上它與ObjectARX已相差無幾,而在學(xué)習(xí)AutoLISP所需計算機(jī)專業(yè)知識卻遠(yuǎn)遠(yuǎn)低于C++。雖然VBA在對話框的設(shè)計能力上比AutoLISP強(qiáng)上許多, 但是由
56、于它使ActiveX與AutoCAD交互,運(yùn)行效率還不如AutoLISP,且代碼保密性差。在Windows環(huán)境下, Auto LISP的增強(qiáng)級VisualLISP功能十分強(qiáng)大,身臨其境,足以領(lǐng)略現(xiàn)代化設(shè)計的各種風(fēng)格與方法。</p><p> 2.3 AutoCAD二次開發(fā)應(yīng)用</p><p> 在進(jìn)行機(jī)械設(shè)計時不僅需要繪制二維的平面圖形,還需要進(jìn)行大量的三維建模。用戶們在建模過程中發(fā)現(xiàn)
57、了一些使用機(jī)件難以實現(xiàn)的交互方式。例如彈簧、螺紋、齒輪、蝸桿、蝸輪等。若用LISP程序,將設(shè)計的建模過程簡化,也可以大量的減少數(shù)學(xué)計算。這種建模方式的思路是,按照機(jī)械的加工原理,模擬機(jī)床的切削過程,通過連續(xù)的布爾運(yùn)算完成建模。下面以普通外螺紋為例來說明LISP程序應(yīng)用。</p><p><b> 螺紋的結(jié)構(gòu)要素</b></p><p> 螺紋公稱直徑(大徑):與外
58、螺紋牙頂或內(nèi)螺紋牙底相切的假想圓柱的直徑。</p><p> 螺距:螺紋相鄰兩牙在中徑上對應(yīng)點(diǎn)的軸向距離。</p><p> 螺紋長度:螺紋沿軸向的長度。</p><p> 牙型:通過螺紋軸線的剖面上螺紋的輪廓形狀。</p><p> 普通外螺紋的數(shù)學(xué)建模過程</p><p> 以螺紋外徑創(chuàng)建一個圓柱,在平行
59、軸剖面的平面上按齒形建立一個斷面,按螺旋線的方向拉伸斷面,構(gòu)成一個齒條。每次轉(zhuǎn)動螺桿并移動齒條一個 步距,連續(xù)求差(在求差之前先復(fù)制齒條,用圓柱減去齒,直至切出指定的螺紋長度。</p><p> 普通外螺紋的LISP程序編程過程</p><p> 啟動AutoCAD,然后才能進(jìn)入Visual LISP環(huán)境。啟動Visual LISP的方式為: </p><p>
60、<b> 菜單形式 : </b></p><p> 點(diǎn)擊【Tools(工具)】→【Auto LISP】→【Visual LISP Editor (Visual LISP編輯器) 】</p><p><b> 命令行形式 :</b></p><p> 在命令提示行中輸入:vlide(或vlisp) 。</p&g
61、t;<p> 編程(后面做詳細(xì)介紹)</p><p> 普通螺紋程序的執(zhí)行和使用說明</p><p> 點(diǎn)擊【Tools(工具)】→【Auto LISP】→【Load(加載)】,在Load/Unload Appliaction(加載/卸載應(yīng)用)對話框內(nèi),選擇目錄和文件名, 單擊加載按鈕并關(guān)閉對話框在命令提示行輸入LUOWEN。按提示輸入有關(guān)參數(shù),指定基點(diǎn)創(chuàng)建螺紋的造型。
62、切換不同的三維視點(diǎn)觀看效果。</p><p> 現(xiàn)在的二次開發(fā)除了CAD之外還有一個畫圖軟件也在流行著二次開發(fā)。這個軟件就是Pro/E軟件。這個軟件和CAD的同在于它是一個以三維空間為主的畫圖軟件,因為同是畫圖軟件也在這提下[5]。司輝基于Pro/Engineer二次開發(fā)的雙流道葉輪流道設(shè)計很好的介紹了雙流道葉輪自身形狀不規(guī)則,傳統(tǒng)的的Pro/Engineer建模方法相對困難,且不可避免地耗費(fèi)了大量的重復(fù)勞動[
63、6]。</p><p> 運(yùn)用Pro/E的二次開發(fā)工具Pro/TOOLKIT進(jìn)行程序自動特征建模技術(shù),提出用動態(tài)鏈接庫方式實現(xiàn)用微軟基本類庫(MFC)開發(fā)Pro/E對話框界面的通訊機(jī)制,并給出了實現(xiàn)方案和程序示例[7]。運(yùn)用Pro/E提供的二次開發(fā)工具Pro/TOOLKIT可以比較容易地實現(xiàn)由程序動態(tài)地、自動地進(jìn)行特征建模的功能,并且所建模型能由程序自動加入較為豐富的非幾何特征,并存入模型統(tǒng)一的數(shù)據(jù)庫、特征庫中
64、,為CAD/CAM/CAE/CAPP系統(tǒng)的集成打下良好基礎(chǔ)[8]。</p><p> AutoCAD 二次開發(fā),被廣泛應(yīng)用于模具、機(jī)械等行業(yè),結(jié)合Visual LISP 語言實現(xiàn)對模具零件的參數(shù)化設(shè)計, 開發(fā)適合本專業(yè)的繪圖工具, 以提高繪圖效率[9]。利用VBA 對AutoCAD 進(jìn)行專項的二次開發(fā),建立一個標(biāo)準(zhǔn)零件庫,以提高工作效率[10]。與利用VisualLisp 語言開發(fā)AutoCAD 的方法相比,
65、組合零件庫的開發(fā)主要使用了VBA 程序, 簡化了開發(fā)程序, 節(jié)省了開發(fā)的時間[11]。</p><p><b> 3 總體設(shè)計</b></p><p><b> 3.1設(shè)計思路 </b></p><p> 本設(shè)計是基于AutoCAD平臺,在VisualLISP環(huán)境下,開發(fā)出以AutoLISP語言編寫的應(yīng)用軟件,能夠
66、解決之前提到一些標(biāo)準(zhǔn)件、常用件必須一筆劃一筆劃的繪制, 顯得費(fèi)時費(fèi)力的問題,且由于AutoLISP與AutoCAD高度融合性,使得軟件使用起來更加方便本設(shè)計是AutoCAD環(huán)境下使用VisualLISP開發(fā)小型用戶程序。用戶在AutoCAD中作圖時,欲插入某零件的現(xiàn)成圖形,該零件的尺寸是標(biāo)準(zhǔn)的,那么本設(shè)計所開發(fā)的界面和圖形調(diào)用就可滿足用戶的要求。</p><p> 以螺母為例,介紹一下本設(shè)計編制程序?qū)崿F(xiàn)一個完整
67、的調(diào)用過程:</p><p> 圖3-1 螺母繪圖過程</p><p> 3.2 確定總體方案</p><p> 編寫程序:從AutoCAD工具欄的AutoLISP進(jìn)入LISP編輯器編寫程序。</p><p> 調(diào)試程序:看是否存在在錯誤并修改,把調(diào)試好的程序以LSP格式保存到指定的文件中,方便以后的調(diào)用。</p>&l
68、t;p> 調(diào)用程序:從AutoCAD工具欄的AutoLISP進(jìn)入加載器,加載剛剛我們保存的LSP程序。</p><p> 開始畫圖:按要畫的的圖形需要,在命令欄中輸入命令,按所要的規(guī)格輸入數(shù)據(jù)即可自動完成圖形的繪畫工作(如圖3-2)。</p><p> 圖3-2 標(biāo)準(zhǔn)螺母圖</p><p><b> 4設(shè)計過程</b></p
69、><p> 根據(jù)前面確定的設(shè)計方案,下面按照程序的調(diào)用流程來詳細(xì)分析各個步驟以及它們程序編寫方法。</p><p> 圖4-1 進(jìn)入LISP編輯 </p><p> 圖4-2 進(jìn)入LISP加載</p><p><b> 4.1 編寫程序</b></p><p> 先如圖4-1從A
70、utoCAD2004標(biāo)準(zhǔn)界面的工具欄進(jìn)入到Auto LISP的編輯器。到圖4-2的界面進(jìn)行編程。按照我們的要求編輯程序。并按照不同的的圖形分別保存成[螺母]:LM.LSP [螺栓]:BLS.LSP等LSP文件方便以后的調(diào)用(程序見附錄1)</p><p> 圖4-3:LISP程序的編輯界面</p><p><b> 4.2 加載程序</b></p>
71、<p> 在運(yùn)行Visual LISP程序之前必須先進(jìn)行加載,在程序窗口的任意位置單擊可以激活選定的窗口。在文本窗口中加載程序的方法有以下兩種。</p><p> 單擊菜單欄中的“工具欄”→“加載編輯器中的文字”命令。</p><p> 單擊“工具”工具欄中的“加載活動編輯器窗口”按鈕。</p><p> 如圖4-4進(jìn)行加載。加載程序后,控制臺窗口
72、將顯示一條確認(rèn)信息(如圖4-5)。如果出現(xiàn)了錯誤報告,必須仔細(xì)檢查源程序并修改錯誤。經(jīng)常出現(xiàn)的兩類語法錯誤是括號左右不匹配和文字符號串的雙引號不匹配。</p><p> 圖4-4 加載編輯器的文字</p><p> 圖4-5 加載程序后</p><p><b> 4.3 運(yùn)行程序</b></p><p> 在
73、AutoCAD中要調(diào)用已編寫的Auto LISP應(yīng)用程序,必須先將它加載到內(nèi)存中。可以使用“APPLOAD”命令或Auto LISP的“l(fā)oad”函數(shù)加載應(yīng)用程序。調(diào)用“APPLOAD”命令的方法有以下3種[12]。</p><p> 單擊菜單欄中的“工具”→“Auto LISP”→“加載應(yīng)用程序”命令 。</p><p> 單擊功能區(qū)的“工具”選項卡,再單擊“應(yīng)用程序”面板中的“加載
74、應(yīng)用程序”按鈕。</p><p> 在命令窗口中輸入“APPLOAD”命令。</p><p> AutoCAD彈出“加載/卸載應(yīng)用程序”對話框(如圖4-6)。從相應(yīng)的子目錄中選擇LISP程序,單擊“加載”按鈕,AutoCAD將把選定的文件加載到內(nèi)存中,供當(dāng)前的AutoCAD進(jìn)程使用。</p><p> 圖4-6 加載/卸載應(yīng)用程序5 開發(fā)實例</p&g
75、t;<p><b> 5.1螺母</b></p><p> 下面介紹下具體怎么來應(yīng)用這個軟件實現(xiàn)螺母的繪制。具體的操作流程如圖5-1所示:</p><p> 圖5-1 螺母繪圖過程</p><p> 圖5-2:螺母效果圖</p><p><b> 5.2螺栓</b></
76、p><p> 本文也介紹了螺栓的操作流程圖如圖5-3所示:</p><p> 圖5-3 螺栓的操作過程</p><p> 圖5-4 螺栓的效果圖</p><p><b> 5.3組裝零件</b></p><p> 因為設(shè)計者在繪畫時,大部分都是以幾個零件的組裝圖的形式進(jìn)行繪畫的。所以本設(shè)計開
77、發(fā)了組裝零件圖繪畫程序。其操作過程如圖5-5</p><p> 圖5-5 組裝零件操作過程圖</p><p> 圖6-6 組裝零件圖</p><p><b> 6 結(jié)論</b></p><p> 現(xiàn)在很多用戶在使用AutoCAD2000或AutoCAD2004版本時,為了使繪圖變的更加簡單,通常會使用一些外部模塊
78、或其它方法來處理一些常用件或標(biāo)準(zhǔn)件。但諸如此類方法并不方便,也不能保證所插入圖形尺寸完全符合標(biāo)準(zhǔn)。本設(shè)計基于AutoCAD平臺,在VisualLISP環(huán)境下,開發(fā)出以Auto LISP語言編寫的應(yīng)用軟件,能夠解決這些問題,且由于AutoLISP與AutoCAD高度融合性,使得軟件使用起來更加方便[13]。</p><p> 本設(shè)計方案按照任務(wù)書的要求在AutoCAD環(huán)境下使用VisualLISP開發(fā)小型用戶程序
79、。用戶在AutoCAD中作圖時,欲插入螺母(螺栓)零件的現(xiàn)成圖形,該螺母(螺栓)的尺寸是標(biāo)準(zhǔn)的,那么本設(shè)計所開發(fā)的界面和圖形調(diào)用就可滿足用戶的要求。值得一提的是在本設(shè)計中還有一個程序是只要用戶知道螺栓的規(guī)格,系統(tǒng)就能知道的為螺栓提供配套的螺母墊片這些配套零件。</p><p> 因為本設(shè)計是基于AutoCAD平臺開發(fā)的,在VisualLISP環(huán)境下,開發(fā)出以AutoLISP語言編寫的應(yīng)用軟件,能夠解決這些問題,
80、且由于AutoLISP與AutoCAD高度融合性,使得本軟件使用起來更加方便。由于時間和工具等條件的不足,沒有對其它一些加工生產(chǎn)不可或缺的一類重要零件進(jìn)行編程開發(fā),有待在以后的工作學(xué)習(xí)中不斷進(jìn)步。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王斌,連永祥. AutoCAD二次開發(fā)技術(shù)VBA在擠出機(jī)螺桿CAD系統(tǒng)中的應(yīng)用[J].中國制造業(yè)信
81、息化,2005,34(12):81-82.</p><p> [2] 方貴盛,王建軍. AutoCAD二次開發(fā)技術(shù)及其應(yīng)用研究[J].機(jī)床與液壓,2007,35(6):187-212.</p><p> [3] 晁彩霞,魏永樂. AutoCAD 二次開發(fā)工具探討[J]. 機(jī)械,2008 ,(35):35-70.</p><p> [4] 雷子山. AutoCA
82、D 二次開發(fā)在機(jī)械設(shè)計中的應(yīng)用[J] . 科技信息.,機(jī)械與電子,2008,(24):440-441 .</p><p> [5] 司輝,叢小青,王霄. 基于Pro/Engineer二次開發(fā)的雙流道葉輪流道設(shè)計[J]. 排灌機(jī)械,25(5):5-8.</p><p> [6] Wu Jie.Lachlan J.Energy efficiency study on axial flow
83、impellers[J],Chemied Engineering and Processing,2006,45(8):625-632.</p><p> [7] 賴朝安等. Pro/E的二次開發(fā)的關(guān)鍵技術(shù)[J]. 機(jī)械設(shè)計與制造工程,2001,30(1):43-45.</p><p> [8] Parametric Technology Corporation.Pro/TOOLKIT
84、User's Guide[Z].USA:PTC公司出版,1998.</p><p> [9] 王志峰. AUTOCAD二次開發(fā)技術(shù)在模具設(shè)計中的應(yīng)用[J]. 多媒體技術(shù)及其應(yīng)用,2006,6:1113-1119.</p><p> [10]蘆光.基于AutoCAD二次開發(fā)的標(biāo)準(zhǔn)零件庫的建立[J]. 現(xiàn)代制造技術(shù)與裝備,2006,5(174) :59-67.</p>
85、<p> [11]付靖渝 馬詠梅. 基于AutoCAD二次開發(fā)的組合零件庫設(shè)計[J]. 機(jī)械設(shè)計與制造,2007,(1):52-53.</p><p> [12]劉言松 賀煒 .AutoCAD的二次開發(fā)實例教程[M].北京:化學(xué)工業(yè)出版社,2009,4.</p><p> [13]劉 祥. 基于AutoCAD的二次開發(fā)設(shè)計[J].科技信息.,2009,( 36 ):222
86、-223.</p><p> 附錄1 畢業(yè)設(shè)計作品說明書</p><p><b> 一、作品名稱 </b></p><p> 基于LISP螺栓、螺母的AutoCAD二次開發(fā)</p><p><b> 二、作品功能</b></p><p> 主要是利用LISP語言開
87、發(fā)一個用戶可以在AutoAD標(biāo)準(zhǔn)模式下插入零件視圖的小程序。 用戶在AutoCAD中作圖時,欲插入螺母(螺栓)零件等的現(xiàn)成圖形,該螺母的尺寸是標(biāo)準(zhǔn)的, 那么本設(shè)計所開發(fā)的界面和圖形調(diào)用就可滿足用戶的要求。以利于減少設(shè)計人員設(shè)計、工人加工生產(chǎn)不可或缺的一類重要零件時所花費(fèi)的精力。</p><p><b> 三、運(yùn)行環(huán)境</b></p><p> AutoCAD200
88、4及以上的CAD版本</p><p><b> 四、操作步驟</b></p><p> 1、AutoCAD2000/2004標(biāo)準(zhǔn)界面→工具→Auto LISP→加載器→加載LSP文件</p><p> 2、按要畫圖形輸入命令→輸入插入點(diǎn)→輸入規(guī)格→輸入比例系數(shù)→旋轉(zhuǎn)角度</p><p><b> 五、注
89、意事項</b></p><p> 1、Visual LISP編輯器不能正確處理雙字節(jié)字符。</p><p> 2、在Visual LISP IDE中,/r轉(zhuǎn)義字符不能得到回車符。</p><p> 3、Visual LISP 允許用戶在編輯應(yīng)用程序時將DVB文件打包到單個VLX文件中。</p><p> 4、LOAD加載單
90、獨(dú)名稱空間VLX時出現(xiàn)錯誤。</p><p> 5、將acad.lsp 加載到所有新文檔中時,請將ACADLSPASDOC系統(tǒng)變量設(shè)置為1.</p><p> 6、MNL LISP代碼中不要包含任何用戶交互操作,使用MNL代碼加載所需的LISP文件。</p><p> 附錄2 螺母程序:</p><p> 下面[螺母]:LM.LSP
91、的程序:</p><p> (defun C:LM() ;定義程序名為LM并開始定義對話框</p><p> (SETQ o(getpoint "\n 輸入插入點(diǎn):")) </p><p> (SETQ d0(getreal "\n 輸入螺母規(guī)格:"))</p><p>
92、 (SETQ SC(GETREAL "\n 輸入比例系數(shù):"))</p><p> (SETQ ang1(getangle o "\n 輸入旋轉(zhuǎn)角度:"))</p><p> (SETQ ang(- (/ (* ang1 180) pi) 90))</p><p> (SETQ os(getvar "osmo
93、de"))</p><p> (command "osmode" 0) ;不同規(guī)格的選擇</p><p> (cond ((= D0 5) (setq E0 8.63) (setq m0 5.6))</p><p> ((= D0 6) (setq E0 11.0) (setq m0 6.1))&l
94、t;/p><p> ((= D0 8) (setq E0 14.4) (setq m0 7.9))</p><p> ((= D0 10) (setq E0 17.8) (setq m0 9.5))</p><p> ((= D0 12) (setq E0 20.0) (setq m0 12.2))</p><p> ((= D0 14)
95、 (setq E0 23.4) (setq m0 13.9))</p><p> ((= D0 16) (setq E0 26.8) (setq m0 14.9))</p><p> ((= D0 18) (setq E0 29.6) (setq m0 15.9))</p><p> ((= D0 20) (SETQ E0 33.0) (SETQ m0 18.
96、7))</p><p> ((= D0 24) (setq E0 39.6) (SETQ m0 22.3))</p><p> ((= D0 30) (setq E0 50.9) (setq m0 26.4))</p><p> ((= D0 36) (setq E0 60.8) (setq m0 31.5))</p><p> ((
97、= D0 42) (setq E0 72) (setq m0 34.9))</p><p> ((= D0 48) (SETQ E0 82.6) (setq m0 38.9))</p><p> ((= D0 56) (setq E0 93.6) (setq m0 45.9))</p><p> ((= D0 64) (setq E0 104.9) (setq
98、 m0 52.4))</p><p> ((= d0 4) (SETQ E0 7.7) (SETQ m0 3.2))</p><p><b> )</b></p><p> (SETQ D(* d0 sc)) ;比例系數(shù)的調(diào)整</p><p> (setq e(* e0 sc
99、))</p><p> (setq m(* m0 sc))</p><p> (SETQ H1(SQRT (- (* 2.25 (* d d)) (/ (* e e) 16))))</p><p> (setq h(- (* 1.5 d) h1))</p><p> (setq r1 (+ (* h h) (/ (* e e) 64)
100、))</p><p> (setq r (/ (/ r1 2) h))</p><p> (setq P1 (list (/ e 2) (- m h)))</p><p> (setq p2 (list (/ e 4) (- m h)))</p><p> (SETQ c1 (list (* 0.375 E) (- m r)))<
101、;/p><p> (command "ucs" "o" o) ;圖形旋轉(zhuǎn)的角度</p><p> (command "ucs" "z" ang)</p><p> (command "arc" p1 "c" c1 p
102、2)</p><p> (setq P3 (list (/ e 4) h))</p><p> (setq p4 (list (/ e 2) h))</p><p> (setq C2 (list (* 0.375 e) r))</p><p> (command "arc" p3 "c" c2
103、 p4)</p><p> (setq p5 (list (- 0 (/ e 4)) (- m h)))</p><p> (SETQ p6 (list (- 0 (/ e 2)) (- m h)))</p><p> (SETQ c3 (list (- 0 (* 0.375 e)) (- m r)))</p><p> (comma
104、nd "arc" p5 "c" c3 p6)</p><p> (SETQ p7 (list (- 0 (/ e 2)) h)) </p><p> (SETQ p8 (list (- 0 (/ e 4)) h)) </p><p> (SETQ c4 (list (- 0 (* 0.375 e)) r))</p&
105、gt;<p> (command "arc" p7 "c" c4 p8)</p><p> (command "line" p1 p4 "")</p><p> (command "line" p2 p3 "")</p><p>
106、; (command "line" p5 p8 "")</p><p> (command "line" p6 p7 "")</p><p> (SETQ P9 (list (* 0.375 e) m))</p><p> (SETQ p10 (list (- 0 (* 0.37
107、5 e)) m))</p><p> (command "line" p9 p10 "")</p><p> (SETQ p11 (list (* 0.375 e) 0))</p><p> (SETQ p12 (list (- 0 (* 0.375 e)) 0))</p><p> (comm
108、and "line" p11 p12 "")</p><p> (setq c5 (list 0 (- m (* 1.5 d))))</p><p> (command "arc" p2 "c" c5 p5)</p><p> (setq c6 (list 0 (* 1.5 d))
109、)</p><p> (command "arc" p8 "c" c6 p3)</p><p> (command "ucs" "z" (- 0 ang))</p><p> (command "ucs" "w")</p>&l
110、t;p> (command "osmode" os)</p><p> (COMMAND "REDRAWALL")</p><p> (COMMAND "REGEN")</p><p><b> (princ)</b></p><p><b&
111、gt; )</b></p><p> 附錄3 螺栓程序:</p><p> 下面是[螺栓]:BLS.LSP的程序:</p><p> (defun C:LS()</p><p> (SETQ o(getpoint "\n 輸入插入點(diǎn):"))</p><p> (setq D
112、0(getreal "\n 輸入螺栓規(guī)格:"))</p><p> (setq l0(getdist O "\n 輸入螺栓長度:"))</p><p> (setq SC(getreal "\n 輸入比例系數(shù):"))</p><p> (setq ang1(getangle o "\n 輸入
113、旋轉(zhuǎn)角度:")) </p><p> (SETQ zx(getstring "\n 是否要中心線(Yes/<No>):"))</p><p> (setq os(getvar "osmode"))</p><p> (setq ang (/ (* 180 ang1) Pi))</p>
114、<p> (command "osmode" 0)</p><p> (cond ((= D0 5) (setq E0 8.63) (setq k0 3.5) (setq l1 20.0) (setq l2 16))</p><p> ((= D0 6) (setq E0 11.0) (setq k0 4.0) (setq l1 23.0) (setq
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 特殊零件的cad二次開發(fā)設(shè)計【開題報告】
- 特殊零件的cad二次開發(fā)設(shè)計【文獻(xiàn)綜述】
- 特殊零件的cad二次開發(fā)設(shè)計【任務(wù)書】
- cad二次開發(fā)
- proe二次開發(fā)畢業(yè)設(shè)計論文
- cad二次開發(fā)ppt
- cad二次開發(fā)教程
- 畢業(yè)論文范文——基于ecshop的二次開發(fā)
- 機(jī)械畢業(yè)設(shè)計891基于proe的通用零件的二次開發(fā)設(shè)計正文
- 機(jī)械畢業(yè)設(shè)計891基于proe的通用零件的二次開發(fā)設(shè)計正文
- 基于Pro-E二次開發(fā)技術(shù)的凸輪零件設(shè)計.pdf
- 基于solidworks的麻花鉆的二次開發(fā)系統(tǒng)設(shè)計【畢業(yè)論文+cad圖紙全套】
- 機(jī)械畢業(yè)設(shè)計891基于ProE的通用零件的二次開發(fā)設(shè)計正文.doc
- solidworks二次開發(fā)畢業(yè)設(shè)計
- 機(jī)械畢業(yè)設(shè)計891基于ProE的通用零件的二次開發(fā)設(shè)計正文.doc
- 基于UG二次開發(fā)的零件設(shè)計可重用技術(shù)研究.pdf
- cad二次開發(fā)學(xué)習(xí)筆記五
- 二次開發(fā)論文正文.doc
- cad二次開發(fā)學(xué)習(xí)筆記五
- 畢業(yè)設(shè)計-erp軟件的二次開發(fā)
評論
0/150
提交評論