AutoCAD 中利用AutoLisp語言的二次開發
AutoCAD 中利用AutoLisp
語言的二次開發
李善鋒 王 佳 吉林鐵道職業技術學院汽車工程系 吉林 132200
吉林省教育廳“十二五”科學技術研究項目( 吉教科合字[2011] 第419 號
【文章摘要】
采用AutoCAD 內置二次開發工具AutoLISP 語言以及DCL 語言,以一個機械標準件——螺母為例,開發一個新的AutoCAD 命令,實現機械設計的參數化繪圖,避免大量重復性繪制工作,減少失誤,提高作圖效率.對許多企業已形成標準化、系列化的產品也同樣可以大幅度提高作圖效率.
【關鍵詞】
機械設計;計算機輔助設計;二次開發;參數化繪圖
0 引言
AutoCAD 是目前國內外使用最為普遍的繪圖軟件之一,由美國Autodesk 公司研制開發。隨著版本的不斷更新,其功能越來越強,又因為其支持的平臺多、外設廣、性能價格比好、易學易用,使用越來越方便,因而得到了廣泛的應用。更重要的是它具有開放的體系結構,允許用戶和開發者對其進行擴充和修改,能最大限度地滿足用戶的特殊要求。它廣泛應用于機械、電氣、建筑、造船、航空航天、冶金、輕工、電子、土木工程、石油化工、地質、氣象、紡織等領域。
AutoCAD 這種面向大多數用戶的優點,同時也導致了其專業性、針對性不強的缺憾。Autodesk 公司的本意是把AutoCAD 作為一個提供基本功能和可以進行再次開發的軟件平臺推出的,因此, AutoCAD 不主動提供包括機械在內的各個行業所需要的一些特殊功能,但是提供了開發這些功能的工具,由使用者自行開發。同樣,對許多企業已形成系列化的產品,在其機械工程圖樣中,往往包含著許多形狀相似但參數不同的各類零件以及許多形狀相似但參數不同的各類標準件和常用件,這使得設計中不可避免地要進行大量重復性繪制工作,導致繪圖效率降低,并容易出錯。
采用AutoCAD 內置二次開發工具AutoLISP 語言、DCL 語言,結合國家標準, 開發一個新的AutoCAD 平臺上的命令,就可以實現機械產品設計的參數化;對已形成系列化的產品,設計人員只需調用該命令,在彈出的對話框中輸入相應的參數, 即可自動繪出該產品的圖形,從而節約設計人員的繪圖時間,提高作圖效率.
1 參數化繪圖命令的建立
1.1 AutoLISP 語言、DCL 語言概述
LISP(1ist processing language) 是人工智能領域廣泛采用的一種程序設計語言,主要用于人工智能、機器人、專家系統、博弈、定理證明等領域。LISP 在它15 多年的發展過程中產生了多種版本。AutoLISP 語言是嵌套在AutoCAD 內部、將LISP 語言與AutoCAD 有機結合的產物。使用AutoLISP 可以直接調用幾乎所有的AutoCAD 命令。AutoLISP 語言既具備一般高級語言的基本結構和功能,又具有一般高級語言所沒有的強大的圖形處理功能,是目前世界上CAD 軟件中被廣泛采用的語言之一。美國Autodesk 公司在AutoCAD 中內部嵌入AutoLISP 語言的目的是使用戶充分利用AutoCAD 進行二次開發,實現直接增加和修改AutoCAD 命令,隨意擴大圖形編輯功能,建立圖形庫和數據庫并對當前圖形進行直接訪問和修改,開發CAD 軟件包等。
AutoLISP 嵌入AutoCAD 之后,使僅僅作為交互圖形編輯軟件的AutoCAD 通過編程能真正成為進行計算機輔助設計、繪圖的CAD 軟件。LISP 靈活多變、易于學習和使用,因而使AutoCAD 成為功能強大的工具性軟件。
為使開發程序與用戶友好交流數據, 讓不懂編程的用戶方便地使用,設計對話框就成為程序開發不可或缺的工作。AutoCAD 有自己的一套對話框設計語言,稱為對話框控制語言(DCL,dialogue control language),DCL 語言文件形式定義對話框,對話框中的各種元素( 如按鈕、列表框和編輯框等) 稱為控件,其布局、外觀和動作由控件的屬性指定。用戶只需要提供最基本的位置信息,AutoCAD 就可以自動確定對話框的大小和控件的布局.
1.2 命令開發
本文采用AutoCAD 內置二次開發工具AutoLISP 語言以及DCL 語言,以一個機械標準件——螺母為例,開發一個新的AutoCAD 命令,實現機械設計的參數化繪圖。程序框圖如圖1 所示。
圖1 命令程序框圖
本命令分為三個模塊,主程序模塊和處理輸入數據的子程序模塊以及繪圖子程序模塊。各個模塊之間是相對獨立的; 在編寫主程序之前就可以先做好兩個子程序。在主程序中首先編制調入對話框的代碼,給出動態文本框以及命令按鈕等組件,以用于用戶輸入需要繪制的螺母的各項參數。在輸人各項參數以后,可單擊命令按鈕,一方面結束參數輸入,另一方面啟動響應命令按鈕,處理輸入數據的子程序;再編寫啟動和卸載對話框的代碼,最后添加調用繪圖子程序的代碼。
確保Load_luomu.lsp 文件和C_ luomu.dcl 文件都保存在\AutoCAD\support 子目錄下。在AutoCAD 中選擇加載應用程序命令導入Load_luomu.1sp 文件,就可以像使用任何一個AutoCAD 命令一樣,在命令行輸入“Load_luomu”來繪制一個螺母。
輸入命令后,會彈出參數對話框,用戶可以在該對話框中給定各參數。單擊確定按鈕后,AutoCAD 會按給定的參數自行繪制零件圖形。如圖2 所示。
圖2 編程繪制的螺母正視圖
2 結語
本文采用AutoCAD 內置二次開發工具AutoLISP 語言以及DCL 語言,以一個機械標準件——螺母為例,開發一個新的AutoCAD 命令,實現機械設計參數化繪圖。
【參考文獻】
[1] 徐慧娟,夏治,李恭瓊.淺議AutoCAD[J].國家制造業信息化, 2004,33(11) :97—99.
[2] 李善鋒,姜東華,姜勇.AutoCAD 應用教程(第2 版)[M].北京:人民郵電出版社,2013.
[3] 李善鋒,孫志剛.計算機輔助設計——AutoCAD2012 中文版基礎教程(第2 版)[M].北京:人民郵電出版社,2013.
[4] 李善鋒,王小艷.計算機輔助設計——AutoCAD2008 中文版基礎教程(第2 版)[M].北京:人民郵電出版社,2013.
[5] 張班.AutoCAD 二次開發探討:對話框設計的可視化實現[J].當代建設,2002,1(4) :43.44.
[6] 谷芳,王洪海.雙錐密封的參數化繪圖[J].石油化工設備技術,2001, 22(5) :41—43.
[7] 譚妹.參數化設計繪圖系統[J].機械設計與制造,2005,1(8) :66— 68.062
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!