減速器輔助設計軟件的開發(fā)――關鍵零部件的參數(shù)化設計_畢業(yè)設計論文_第1頁
減速器輔助設計軟件的開發(fā)――關鍵零部件的參數(shù)化設計_畢業(yè)設計論文_第2頁
減速器輔助設計軟件的開發(fā)――關鍵零部件的參數(shù)化設計_畢業(yè)設計論文_第3頁
減速器輔助設計軟件的開發(fā)――關鍵零部件的參數(shù)化設計_畢業(yè)設計論文_第4頁
減速器輔助設計軟件的開發(fā)――關鍵零部件的參數(shù)化設計_畢業(yè)設計論文_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 第 頁 共 頁目 次1 引言 11.1 AutoCAD應用 11.2 AutoCAD二次開發(fā) 11.3 ActiveX Automation技術 31.4 本課題研究內(nèi)容安排 42 零部件參數(shù)化設計 43 齒輪的參數(shù)化設計 43.1 齒輪的機械設計方法 43.2 系統(tǒng)的工作流程 53.3 系統(tǒng)的用戶界面 53.4 創(chuàng)建對AutoCAD部件對象的引用 63.5 程序中強度的計算與校驗 73.6 用戶界面中各個模塊的實現(xiàn) 83.7 零件圖的繪制 113.8 應用實例 134 軸的參數(shù)化設計 144.1 系統(tǒng)的用戶界面 144.2 應用實例 15結論 18致謝 19參考文獻20附錄A 齒輪參數(shù)化設

2、計程序 21附錄B 軸的參數(shù)化設計程序 471 引言AutoCAD是當前應用最廣泛的CAD圖形支撐平臺但缺少參數(shù)化設計功能,因而不能完成零部件的自動設計與繪圖,設計效率難以提高。本文主要研究減速器計算機輔助設計軟件的開發(fā),闡述應用VB語言對AutoCAD進行二次開發(fā),以實現(xiàn)減速器關鍵零部件的參數(shù)化設計。11 AutoCAD應用CAD是一種利用計算機強大的圖形處理和數(shù)值計算能力,輔助人們進行工程或產(chǎn)品的設計與分析,以達到理想的目的并取得創(chuàng)新成果的一種技術。現(xiàn)階段由于人們對軟件的開發(fā)產(chǎn)生了許多以CAD技術為基礎的應用軟件。在這些軟件中,應用人數(shù)最多、最具影響力的當屬AutoCAD。AutoCAD具

3、有良好的用戶界面,通過交互菜單或命令行方式便可以進行各種操作。它的多文檔設計環(huán)境,讓非計算機專業(yè)人員也能很快地學會使用。在不斷實踐的過程中更好地掌握它的各種應用和開發(fā)技巧,從而不斷提高工作效率。AutoCAD還具有廣泛的適應性,它可以在各種操作系統(tǒng)支持的微型計算機和工作站上運行,并支持40多種分辨率由320200到20481024的各種圖形顯示設備,以及30多種數(shù)字儀和鼠標器,數(shù)十種繪圖儀和打印機,這就為AutoCAD的普及創(chuàng)造了條件1-3。然而在許多方面,AutoCAD還是無法達到預計的目的,如參數(shù)化設計等,因此,人們又對AutoCAD進行了進一步開發(fā),使AutoCAD能適應更多的軟件支持。

4、這就是所謂的AutoCAD二次開發(fā)。12 AutoCAD二次開發(fā)121 系統(tǒng)的二次開發(fā)功能AutoCAD不僅能夠勝任二、三維繪圖工作,而且還是一個良好的CAD二次開發(fā)平臺,系統(tǒng)提供的主要開發(fā)功能有:(1)用戶能自定義屏幕菜單、下拉式菜單、圖標菜單、圖形輸入板菜單和按鈕菜單。(2)用戶能定義與圖形有關的一些屬性,如線型、剖面線圖案、文本字體、符號、樣板圖形等。(3)建立命令組文件,自動執(zhí)行預定義的命令序列。(4)通過DXF或IGES等規(guī)范的圖形數(shù)據(jù)轉換接口,與其他CAD系統(tǒng)或應用程序進行數(shù)據(jù)交換,以實現(xiàn)不同系統(tǒng)之間的集成。(5)提供了一個完全集成在AutoCAD內(nèi)部的Visual LISP編程開

5、發(fā)環(huán)境,用戶可使LISP語言定義新命令,開發(fā)新應用,迅速而方便地建立自己的高效解決方案。編譯后的Visual LISP代碼是二進制的,從而有助于保護軟件算法和知識產(chǎn)權。(6)具有一個功能強大的編程接口Object ARX,提供了對AutoCAD進行二次開發(fā)的C語言編程環(huán)境與接口。用戶可以用從Object ARX AcDb的基本類中導出AutoCAD的所有對象,因此,用戶自定義的對象可以完全建立在已有的AutoCAD對象庫上。(7)配備了更加豐富的ActiveX對象用于定義和編程。應用AutoCAD ActiveX技術,可以從AutoCAD內(nèi)部或外部應用程序控制編程。(8)熟悉Visual Ba

6、sic的用戶還可以用VBA進行開發(fā),這也是一個面向對象的編程環(huán)境,它具有與VB類似的特點,語法簡單、功能強大4。122 AutoCAD二次開發(fā)工具(1)Visual LISP(VLISP)VLISP是新一代的AutoCAD LISP語言。VLISP對語言進行了擴展,可以通過Microsoft ActiveX Automation接口與對象交互。同時,通過實現(xiàn)反應器函數(shù),還擴展AutoLISP響應事件的能力。作為開發(fā)工具,VLISP提供了一個完整的集成開發(fā)環(huán)境(IDE),包括編譯器、調(diào)試器和其他工具,可以提高二次開發(fā)的效率 。另外,VLISP還提供了工具用于發(fā)布獨立的應用程序。(2)ARXObj

7、ectARX應用程序以C+為基本開發(fā)語言,具有面向對象編程方式的數(shù)據(jù)可封裝性、可繼承性及多態(tài)性的特點,用其開發(fā)的CAD軟件具有模塊性好、獨立性強、連接簡單、使用方便、內(nèi)部功能高效實現(xiàn)以及代碼可重用性強等特點,并且支持MFC基本類庫,能簡潔高效地實現(xiàn)許多復雜功能。(3) 基于ActiveX Automation技術的VBA等開發(fā)工具ActiveX Automation是一套微軟標準,該標準允許通過外顯的對象由一個Windows應用程序控制另一個Windows應用程序,這也是面向對象編程技術的精髓所在。ActiveX Automation服務器應用程序是通過自身對象的屬性、方法、事件外顯其功能。對

8、象是服務器應用程序的簡單而抽象的代表。不管是用VB、VC、OFFICE VBA等從外部,還是用AutoCAD VBA從內(nèi)部對AutoCAD進行二次開發(fā),都是通過調(diào)用AutoCAD的對象體系結構來進行的。ActiveX Automation技術的完全面向對象化編程的特點,使其開發(fā)環(huán)境具備了強大的開發(fā)能力和簡單易用的優(yōu)良特點,開發(fā)工具的選擇也具有很大的靈活性。所以,利用ActiveX Automation技術,是極具潛力的一種開發(fā)手段5-15。對于減速器輔助設計關鍵零部件的參數(shù)化設計,就需要用到AutoCAD的這一二次開發(fā)。利用ActiveX Automation技術,對減速器的零部件進行分析,以

9、達到參數(shù)化設計。13 ActiveX Automation技術ActiveX Automation的使用方法(1)Application對象如果在計算機系統(tǒng)上安裝了AutoCAD,則Windows會自動將其所有的信息注冊到系統(tǒng)注冊表里。那么在啟動Visual Basic后,用戶可以象調(diào)用VB自己的對象一樣調(diào)用AutoCAD所提供的ActiveX。(2)Preferences與Document對象與AutoCAD中的Preferences對話框的作用相同,通過Preferences對象可以讀取或設置AutoCAD的一些基本設置。Preferences對象通過Application的Prefere

10、nces屬性返回。(3)創(chuàng)建、查詢與修改AutoCAD圖形對象在創(chuàng)建AutoCAD圖形對象之前,首先必須定義并創(chuàng)建ModelSpace與PaperSpace集合對象。這兩個對象可通過Document對象的ModelSpace屬性與PaperSpace屬性返回。(4)非圖形對象除了ModelSpace與PaperSpace集合,Document對象中另外12個集合中的對象都是非圖形對象,如Layers集合包含了AutoCAD當前文檔中所有的層,而Linetypes和TextStyles則分別為線型對象與字符型對象的集合。(5)用戶輸入Document對象中還包含有一個很重要的子對象Utility

11、,Utility對象提供了一些其它的實用功能,如用戶輸入控制(user-input)。user-input方法可以在AutoCAD的命令提示行中提示用戶輸入,并顯示相應的輸入數(shù)據(jù)類型。這種類型的輸入對于屏幕坐標系,實體選擇,短字符與數(shù)字的輸入有著極為重要的應用。AutoCAD 的ActiveX Automation技術的出現(xiàn),標志著AutoCAD 的二次開發(fā)技術取得了歷史性轉折。首先,它首次完全實現(xiàn)了OLE Automation,使得其他軟件可以方便地訪問AutoCAD;其次,AutoCAD 首次實現(xiàn)了面向對象的開發(fā)技術,用戶可以操縱它提供所有的AutoCAD 對象;最后,基于ActiveX

12、Automation開發(fā)技術的開發(fā)工具得到空前的膨脹,已不再局限于C及C+系列語言,用Visual Basic, Delphi等工具都可以進行開發(fā)。ActiveX Automation技術大大地提高了系統(tǒng)開發(fā)的效率、健壯性及易維護性。14 本課題研究內(nèi)容安排選好課題后,在開學期間充分利用學校圖書館、數(shù)字圖書館進行文獻搜索。然后根據(jù)檢索來的文獻,按照任務書要求完成方案設計、開題報告、外文翻譯。初期任務在前4周內(nèi)全部做完。由于該課題需要運用到程序語言來進行編程,在中期需要學習一種程序語言,并能夠運用該語言編寫出一些具有代表性的程序。同時學習和掌握齒輪類零件的參數(shù)化設計基本方法,然后利用AutoCA

13、D的二次開發(fā),運用VB語言對程序進行編制,開發(fā)一個原型軟件系統(tǒng),對參數(shù)化設計進行驗證。最后,結合實際工作,完成畢業(yè)設計說明書的撰寫。2 零部件參數(shù)化設計零部件參數(shù)化設計模塊完成減速器中關鍵零部件(如齒輪、軸等)的參數(shù)化設計功能,如對于齒輪零件,系統(tǒng)能夠根據(jù)所輸入的已知參數(shù)(如齒輪的傳遞功率、主動齒輪轉速、傳動比、主動齒輪齒數(shù)等),自動完成齒輪的結構設計,并輸出二維工程圖。下面主要以標準直齒圓柱齒輪為例,闡述零部件參數(shù)化設計的實現(xiàn)方法。3 齒輪的參數(shù)化設計31 齒輪的機械設計方法齒輪在工程中應用極其廣泛??紤]到常用齒輪減速器中的齒輪通常為閉式傳動的實際情況,故齒輪的設計計算可分為2種形式1:(1

14、)軟齒面閉式齒輪傳動。齒輪的主要失效形式是齒面疲勞點蝕,設計時應先按齒面接觸疲勞強度計算出小齒輪直徑,再利用齒根彎曲疲勞強度進行校核。(2)硬齒面閉式齒輪傳動。齒輪的主要失效形式是齒根彎曲折斷,設計時應先按齒根彎曲疲勞強度計算出模數(shù),再用齒面接觸疲勞強度進行校核。32 系統(tǒng)的工作流程根據(jù)齒輪設計步驟,本系統(tǒng)按圖1所示的流程完成齒輪的參數(shù)化設計。圖1 齒輪參數(shù)化設計系統(tǒng)工作流程33 系統(tǒng)的用戶界面為方便用戶與系統(tǒng)的交互,系統(tǒng)具有如圖2所示的用戶交互界面5?!俺跏荚O計條件”功能模塊,采用“文本庫”形式供用戶輸入已知參數(shù),包括傳遞功率、轉速、齒數(shù)、傳動比等;采用“組合框”控件,列出常用齒輪材料、熱處

15、理方式及硬度,方便用戶選擇。根據(jù)用戶選擇的材料及齒輪的硬度,通過“齒面接觸疲勞強度設計”和“齒根彎曲疲勞強度設計”2個功能模塊,分別實現(xiàn)對軟齒面齒輪和硬齒面齒輪的設計?!皫缀纬叽纭惫δ苣K,輸出主動齒輪和從動齒輪的基本尺寸參數(shù)。圖2 齒輪參數(shù)化設計用戶界面單擊“繪圖”按鈕,自動創(chuàng)建AutoCAD文件,并輸出齒輪的二維工程圖。34 創(chuàng)建對AutoCAD部件對象的引用 此處省略NNNNNNNNNNNN字。如需要完整說明書和設計圖紙等.請聯(lián)系扣扣:九七一九二零八零零 另提供全套機械畢業(yè)設計下載!該論文已經(jīng)通過答辯35 程序中強度的計算與校驗由于齒輪有軟齒面和硬齒面之分,故在計算中可分別按齒面接觸疲勞

16、強度和齒根彎曲疲勞強度計算,而在驗算時則需按照齒根彎曲疲勞強度和齒面接觸疲勞強度進行校核1,7,11。若按齒面接觸疲勞強度計算,根據(jù)設計計算公式進行計算。式中,為齒輪1分度圓直徑,為傳遞功率,為載荷集中系數(shù),為泊松比, 為齒寬系數(shù),為齒輪2許用接觸應力。程序代碼中與之相對應的語句是d1 = Kd * (InputTorque * 1000 * Factor_LoadConcentration1 * (PoissonRatio + 1) / Factor_GearWidth / PoissonRatio / AllowableStress_contact2 / AllowableStress_c

17、ontact2) (1 / 3),其中,定義AllowableStress_contact2為齒輪2許用接觸應力,定義PoissonRatio為泊松比,定義InputTorque為傳遞功率,定義Factor_LoadConcentration1為接觸強度時的載荷集中系數(shù),定義Kd為公式系數(shù),定義Factor_GearWidth為齒寬系數(shù)。根據(jù)此公式,計算出齒輪1的分度圓直徑,進而通過已知條件,分別計算出齒輪的齒頂圓直徑、齒根圓直徑、齒輪寬度、模數(shù)等量。再而對其進行齒根彎曲疲勞強度校核,需要用到公式進行驗算。式中,為許用彎曲應力,為載荷集中系數(shù),為傳遞扭矩,為齒形系數(shù),為應力校正系數(shù),為重合度系

18、數(shù),為模數(shù),為齒寬系數(shù),為齒輪1齒數(shù)。其程序代碼中相對應的語句:AllowableStress_bend3 = 2 * Factor_LoadConcentration2 * TorqueInput * Factor * Factor_contactRatio / Factor_GearWidth / z1 2 / m 3,其中,定義TorqueInput為傳遞扭矩,定義Factor為齒形系數(shù)與應力校正系數(shù)的乘積,定義UltimateStress_bend3為校核齒輪1時的彎曲極限應力,定義Factor_LoadConcentration2為彎曲強度時的載荷集中系數(shù),定義Factor_cont

19、actRatio為重合度系數(shù)。根據(jù)此公式,檢驗齒輪是否符合彎曲強度要求。若按齒根彎曲疲勞強度計算,根據(jù)公式進行計算,而程序中的語句為m = (2 * Factor_LoadConcentration2 * TorqueInput * Factor * Factor_contactRatio / Factor_GearWidth / z1 2 / AllowableStress_bend1) (1 / 3),對以上為出現(xiàn)的量進行定義,定義AllowableStress_bend1為齒輪1許用彎曲應力。則可計算出齒輪的模數(shù),進而可得齒輪的其他參數(shù),如齒頂圓直徑、齒根圓直徑、分度圓直徑、齒輪寬度等。

20、待算出以上量后,需對齒輪進行齒面接觸疲勞強度校核,可根據(jù)公式進行驗算,與之對應的程序中的語句為AllowableStress_contact3 = Sqr(Kd 3 * InputTorque * 1000 * Factor_LoadConcentration1 * (PoissonRatio + 1) / Factor_GearWidth / PoissonRatio / d1 3),對以上為出現(xiàn)的量進行定義,定義AllowableStress_contact3為校核齒輪1時的需用接觸應力。從而檢驗齒輪是否滿足接觸強度要求。36 用戶界面中各個模塊的實現(xiàn)由圖2可看出,用戶界面可分為“初始設計

21、條件”、“按齒面接觸疲勞強度設計”、“按齒根彎曲疲勞強度設計”和“幾何尺寸”四大模塊。361 初始設計模塊此模塊是對程序設計初始條件的設置,故使用文本框的形式顯示,以便用戶輸入已知條件。傳遞功率、輸入轉速、傳動比這3個文本框的內(nèi)容可由主界面獲取,實現(xiàn)代碼如下:txtInputTorque.Text = frmMain.lblTorQueInput_axis1.CaptiontxtInputRotate.Text = frmMain.lblRotate_Axis1.CaptiontxtI.Text = frmMain.lblI1.Caption在窗口被裝載時,這些文本框可直接獲取已知量,但由于此

22、程序未對主界面進行設置,所以此3個已知量可由用戶直接輸入。輸入齒輪齒數(shù)這一文本框的內(nèi)容是由用戶預想輸入的,可根據(jù)以上3個已知量估算出輸入齒輪的的齒數(shù),輸入齒輪的齒數(shù)對一下計算起著關鍵性的作用,若齒數(shù)取的不對,則對齒輪的校驗就可能失敗。主動齒輪軸徑、平鍵尺寸、平鍵尺寸這三個文本框的內(nèi)容是繪圖的必要參數(shù),用戶可對其自行設置,一般可在計算出幾何尺寸后進行設置,以防輸入的數(shù)據(jù)不符合計算出的參數(shù)數(shù)據(jù)。在這一模塊中,還采用了兩個組合框控件,可供用戶選擇,選擇好齒輪的材料、熱處理方式和硬度,這些資料可在窗口裝載時載入,語句說明如下: cboRigidity_InputGear.AddItem 45鋼 調(diào)質

23、=350HBS cboRigidity_InputGear.AddItem 40Cr 表面淬火 4056HRC cboRigidity_InputGear.AddItem 40Cr 調(diào)質 =350HBS cboRigidity_OutputGear.AddItem 45鋼 調(diào)質 =350HBS cboRigidity_OutputGear.AddItem 40Cr 表面淬火 4056HRCcboRigidity_OutputGear.AddItem 40Cr 調(diào)質 = 0 And Mid(s, j, 1) = 0 And Mid(s, j, 1) = 9 s1 = Mid(s, j, 1) s

24、2 = s2 & s1 j = j + 1 Loop Rigidity_Gear2 = Val(s2) Debug.Print Rigidity_Gear2 End SubPrivate Sub cmdContact_Calculation1_Click() Dim time As Long 定義變量,齒輪工作時間 Dim RotateSpeed1 As Double 定義變量,齒輪1的轉速 Dim RotateSpeed2 As Double 定義變量,齒輪2的轉速 Dim Number_StressCycle1 As Double 定義變量,齒輪1應力循環(huán)次數(shù) Dim Number_Str

25、essCycle2 As Double 定義變量,齒輪2應力循環(huán)次數(shù) Dim BaseNumber_Cycle1 As Double 定義變量,齒輪1循環(huán)基數(shù) Dim BaseNumber_Cycle2 As Double 定義變量,齒輪2循環(huán)基數(shù) Dim Factor_safety As Double 定義變量,安全系數(shù) Factor_safety = 1 計算輸入/出齒輪的齒面接觸極限應力 Select Case cboRigidity_InputGear.ListIndex Case 0, 2 UltimateStress_contact1 = 2 * Rigidity_Gear1 +

26、69 Case 1 UltimateStress_contact1 = 17 * Rigidity_Gear1 + 20 End Select Select Case cboRigidity_OutputGear.ListIndex Case 0, 2 UltimateStress_contact2 = 2 * Rigidity_Gear2 + 69 Case 1 UltimateStress_contact2 = 17 * Rigidity_Gear2 + 20 End Select lblUltimateStress_contact1.Caption = UltimateStress_contact1 lblUltimateStress_contact2.Caption = UltimateStress_contact2 讀取傳動比 i1 = Val(txtI.Text) Dim Vert2(0 To 7) As Double Vert2(0) = Center1(0) - l / 2 + b / 2 Vert2(1) = Center1(1) + b / 2 Vert2(2) = Vert2(0) Vert2(3) = Center1(1) - b / 2 Vert2(4) = Cent

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論