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