国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

在AutoCAD中應用Autolisp實現(xiàn)軸承參數(shù)化繪圖

2012-03-30 08:05王弘慧李建輝
哈爾濱軸承 2012年1期
關(guān)鍵詞:子程序二次開發(fā)繪圖

王弘慧 ,李建輝

(1.哈爾濱軸承集團公司 質(zhì)量管理部,黑龍江 哈爾濱 150036;2.中航工業(yè)哈爾濱軸承有限公司 研發(fā)中心,黑龍江 哈爾濱 150036)

1 前言

AutoCAD是由美國Autodesk公司推出的通用繪圖設(shè)計軟件,功能強大,但其功能還僅限于幫助用戶完成CAD中的圖形顯示和繪制。AutoCAD開發(fā)性好,可以利用Autolisp進行二次開發(fā),通過接口將其余高級應用相連接,可實現(xiàn)結(jié)合造型、分析計算等功能,提高輔助設(shè)計能力。本文通過編寫Autolisp程序,實現(xiàn)AutoCAD能以參數(shù)化繪圖為基礎(chǔ)的實體參數(shù)化設(shè)計。用戶只要給出參數(shù)如直徑、長度等信息,通過檢索圖形庫,即可快速生成所需圖形。

2 參數(shù)化繪圖

所謂參數(shù)化繪圖,是指用戶根據(jù)參數(shù)對話框的提示,輸入相關(guān)的參數(shù),就能繪制出所需的圖樣。實質(zhì)上,就是將圖形信息記錄在程序中,圖形的描述通??煞譃椋簣D形的拓撲關(guān)系、圖形的幾何參數(shù)以及這些集合參數(shù)與圖形結(jié)構(gòu)參數(shù)之間的聯(lián)系,通常用一組變量記錄圖形的集合參數(shù)(如點的坐標),用一系列的賦值語句表達幾何參數(shù)與及結(jié)構(gòu)參數(shù)(如圖形的長、寬等)之間的關(guān)系,然后用一系列的調(diào)用語句來描述圖形的拓撲關(guān)系。對于一般的參數(shù)化繪圖的程序設(shè)計,可以遵循以下步驟:

(1)分析結(jié)構(gòu)特征,確定繪圖參數(shù)。通常繪制一個零件圖樣,需要很多尺寸,但是不可能把所有尺寸都做參數(shù)化。這時就需要我們分析這個零件,確定既能體現(xiàn)零件的結(jié)構(gòu)特征,又能推導出其他尺寸的基本尺寸作為繪圖參數(shù),參數(shù)越少越好。

(2)按照圖形要求,編寫繪圖程序。在工程設(shè)計中,所有圖形都可以分解為點、直線、圓弧、圓這四種基本圖元。在二維圖形中,集合信息表示為圖形元素的關(guān)鍵點,例如點的坐標、直線的起點和終點、圓弧的起點和終點和圓的圓心,基本圖元用多種參數(shù)表示,將這些拓撲關(guān)系及控制變量信息編制成程序,設(shè)計出一組在形狀和結(jié)構(gòu)上具有相似性的產(chǎn)品模型,當修改圖形數(shù)據(jù)庫中的參數(shù)時即可生成不同尺寸的圖形。

3 Autolisp語言的特點與AutoCAD的二次開發(fā)

Autolisp語言是嵌套于AutoCAD內(nèi)部,是AutoCAD開放式設(shè)計的具體表現(xiàn)。使用Autolisp可直接調(diào)用幾乎所有AutoCAD命令,Autolisp語言既具有一般高級語言的基本結(jié)構(gòu)和功能,又具有一般高級語言所沒有的強大的圖形處理功能,是當今世界上cad軟件廣泛應用的語言之一。

Autolisp語言的一個最大特點是語法較為簡單易懂,廣泛地應用于AutoCAD的二次開發(fā)上。此外,Autolisp語言還能夠利用pdb函數(shù)驅(qū)動dcl(dialog control language)文件創(chuàng)建自己的對話框,實現(xiàn)自定義的交互式參數(shù)設(shè)定對話模式,實現(xiàn)個性化圖形設(shè)計。

4 Autolisp程序示例

編制參數(shù)化繪制深溝球軸承的Autolisp程序,各坐標點如圖1 所示。

圖1 深溝球軸承示例圖

(defun c:test_exmaple()

(setvar "cmdecho" 0)

(setqD_out (getreal " 輸入軸承外徑尺寸D:")

d_in (getreal " 輸入軸承內(nèi)徑尺寸d:")

T_all (getreal " 輸入軸承裝配高T:")

D2_out (getreal " 輸入軸承外圈擋邊徑尺寸D2:")

d2_in (getreal " 輸入軸承內(nèi)圈擋邊徑尺寸d2:")

P0(getreal " 輸入軸承中心徑尺寸P0:")

Dw(getreal " 輸入軸承配套鋼球直徑Dw:")

draw0_pt_0 '(0.0 0.0))

(sub_draw01 draw0_pt_0)

(sub_draw02 draw0_pt_0)

(sub_draw04 draw0_pt_0)

(sub_trim circle_draw04_pt0_1 draw01_pt_4_5 draw02_pt_4_5)

(sub_trim circle_draw04_pt0_2 draw01_pt_6_7 draw02_pt_6_7))

(defun sub_draw01(draw0_pt_0) ;此處為子程序"sub_draw01 "的開始。

(setq draw01_pt_0 (polar draw0_pt_0 (* pi 0.5) (/D_out 2.0))

draw01_pt_1 (polar draw01_pt_0 0.0T_all)

draw01_pt_3 (polar draw01_pt_0 (* pi 1.5)D_out)

draw01_pt_4 (polar draw0_pt_0 (* pi 0.5) (/D2_out 2.0))

draw01_pt_4_5 (polar draw01_pt_4 0.0 (/T_all 2.0))

draw01_pt_7 (polar draw0_pt_0 (* pi 1.5) (/D2_out 2.0))

draw01_pt_6_7 (polar draw01_pt_7 0.0 (/T_all 2.0)))

(command "line" draw01_pt_0 draw01_pt_1 "")

(setq line01_0_1 (entlast))

(command "line" draw01_pt_3 draw01_pt_0 "")

(setq line01_0_3 (entlast))) ;此處為子程序"sub_draw01 "的結(jié)束。

……"sub_draw01"為第一個子程序,負責計算"draw01_pt_0"與 "draw01_pt_1"的坐標并繪畫出兩點間的直線,其余的子程序"sub_draw02"、"sub_draw04"、" sub_trim "因篇幅較長且彼此相似,故將其省略。

5 輸入方法

程序編制完畢保存后,在AutoCAD下方的輸入欄中輸入"(load "test_exmaple")命令,按“回車鍵”將看到狀態(tài)欄中顯示提示"test_exmaple",再次在輸入欄中輸入"test_exmaple"命令,將看到輸入欄提示"輸入軸承外徑尺寸D: ",在冒號后輸入外徑尺寸例如:100,然后按回車,將看到輸入欄提示"輸入軸承內(nèi)徑尺寸d: ",然后依次根據(jù)提示的文字內(nèi)容輸入d,T,D2,d2,P0,Dw等軸承參數(shù)所對應的數(shù)據(jù)。輸入完畢后,AutoCAD自動進行各坐標點的計算并繪制出示意圖,雙擊鼠標中鍵,將看到按照用戶輸入尺寸所繪制的軸承示意圖。

6 結(jié)束語

實踐表明,與傳統(tǒng)的交互式繪圖相比,應用AutoCAD中內(nèi)嵌的Autolisp進行參數(shù)化繪圖的方法,可以實現(xiàn)復雜、繁瑣、重復性繪圖的“一鍵化”操作,這將大大減少工程設(shè)計人員不必要的 重復繪圖勞動,明顯提高設(shè)計效率和準確性。此外,不僅僅在二維圖中可以進行參數(shù)化繪圖,而且在三維立體圖中也同樣可以進行廣泛的應用。

猜你喜歡
子程序二次開發(fā)繪圖
來自河流的你
“禾下乘涼圖”繪圖人
淺談基于Revit平臺的二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
垂涎三尺
西門子Easy Screen對倒棱機床界面二次開發(fā)
淺談子程序在數(shù)控車編程中的應用
Surfer和ArcView結(jié)合在氣象繪圖中的應用
子程序在數(shù)控車加工槽中的應用探索
西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序