鄧琨 趙罘 林建邦
摘 要:漸開線齒輪是一種最常見的齒輪傳動(dòng),具有其他機(jī)械傳動(dòng)不可代替的優(yōu)點(diǎn),廣泛的應(yīng)用于各種機(jī)械結(jié)構(gòu)中。傳統(tǒng)的漸開線齒輪設(shè)計(jì)需要工作人員進(jìn)行大量的計(jì)算與查閱資料,往往需要耗費(fèi)較長(zhǎng)的時(shí)間,工作效率低也不能直接將設(shè)計(jì)結(jié)果體現(xiàn)在模型上,而且手工計(jì)算及其容易出錯(cuò)。因此本課題結(jié)合SolidWorks二次開發(fā)技術(shù),將漸開線齒輪的參數(shù)化設(shè)計(jì)與三維建模統(tǒng)一起來,設(shè)計(jì)出一套參數(shù)建模系統(tǒng),這樣不但可以大大的減少機(jī)械工程師在齒輪設(shè)計(jì)過程中的工作量,也能極大的提高機(jī)械產(chǎn)品的生產(chǎn)效率。程序設(shè)計(jì)的主要思路是,首先使用MATLAB擬合齒輪參數(shù)設(shè)計(jì)中的圖表,然后編寫強(qiáng)度校核程序界面與后臺(tái)算法,最后要鏈接到SolidWorks使能夠根據(jù)參數(shù)設(shè)計(jì)結(jié)果自動(dòng)進(jìn)行三維模型的繪制。以實(shí)際工況條件為例,使用程序進(jìn)行了漸開線齒輪設(shè)計(jì),從而證明程序方法的實(shí)用性和可行性。
關(guān)鍵詞:漸開線齒輪;參數(shù)化設(shè)計(jì);MATLAB曲線擬合;SolidWorks二次開發(fā)
中圖分類號(hào):TH128 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)10-0010-04
Abstract: Involute gear is one of the most common gear drives, which has the irreplaceable advantages of other mechanical transmission, and is widely used in various mechanical structures. The traditional involute gear design needs a lot of calculation and reference, which often takes a long time, and the low efficiency can not directly reflect the design results on the model, and manual calculation and error prone. Therefore, adopting the technology of SolidWorks secondary development, this paper unifies the parametric design and 3D modeling of involute gear, and designs a set of parameter modeling system. This can not only greatly reduce the workload of mechanical engineers in the process of gear design, but also greatly improve the production efficiency of mechanical products. The main idea of the program design is to first use MATLAB to fit the graph of gear parameter design, then write the strength check program interface and background algorithm, and finally link to SolidWorks to make 3D model drawing automatically according to the parameter design results. With the actual working condition as an example, the involute gear is designed with the program, which proves the practicability and feasibility of the program method.
Keywords: involute gear; parametric design; MATLAB curve fitting; SolidWorks secondary development
引言
漸開線齒輪傳動(dòng)是機(jī)械傳動(dòng)中的主要形式之一,具有其他機(jī)械傳動(dòng)不可代替的優(yōu)點(diǎn),如:速比范圍大、功率范圍廣、結(jié)構(gòu)緊湊等。但是齒輪的設(shè)計(jì)與校核過程需要大量的手工計(jì)算過程,往往需要耗費(fèi)較長(zhǎng)的時(shí)間,工作效率低,而且手工計(jì)算及其容易出錯(cuò)。所以現(xiàn)代的齒輪制造工程中急需一種計(jì)算機(jī)輔助設(shè)計(jì)的參數(shù)化校核與建模系統(tǒng)應(yīng)用,這樣不但可以大大的減少機(jī)械工程師在齒輪設(shè)計(jì)過程中的工作量,也能極大的提高機(jī)械產(chǎn)品的生產(chǎn)效率。
目前開發(fā)交互式系統(tǒng)實(shí)現(xiàn)齒輪的參數(shù)化設(shè)計(jì)是最熱門的應(yīng)用技術(shù)之一,能否實(shí)現(xiàn)參數(shù)化設(shè)計(jì)也成為評(píng)價(jià)CAD系統(tǒng)優(yōu)劣的重要指標(biāo)。張小明、羅靜、李新華等人做了基于SolidWorks的漸開線參數(shù)化設(shè)計(jì)的研究,探索使用VB作為主體開發(fā)語言,分析建立齒輪方程,編寫基于VB語言的齒輪仿真系統(tǒng)的源程序,實(shí)現(xiàn)漸開線齒輪參數(shù)化設(shè)計(jì)[1];陰天龍、陳林等人開發(fā)了基于SolidWorks的漸開線齒輪參數(shù)化建模與裝配的系統(tǒng),使用VB語言創(chuàng)建dll插件嵌入到SolidWorks中去進(jìn)行二次開發(fā),程序可以進(jìn)行齒輪建模與裝配,效率高精度高,將設(shè)計(jì)人員從繁復(fù)的建模過程中釋放出來,提升了設(shè)計(jì)效率[2];馬曉芳、王春燕等人做了基于Visual Basical和APDL的漸開線齒輪參數(shù)化建模的研究,利用ANSYS自帶的參數(shù)化設(shè)計(jì)語言與Visual Basical結(jié)合,對(duì)ANSYS進(jìn)行二次開發(fā),設(shè)計(jì)出了一種便捷、有效的漸開線齒輪參數(shù)化建模方法。這一方法可以是操作界面簡(jiǎn)單化并面向?qū)ο?,使沒有學(xué)習(xí)過ANSYS軟件的工程設(shè)計(jì)人員也能很好的進(jìn)行有限元分析[3];楊向 、陳順洪等人做了基于UGNX的漸開線齒輪參數(shù)化設(shè)計(jì)的研究,利用UGNX的原有命令來實(shí)現(xiàn)圓柱直齒輪的參數(shù)化設(shè)計(jì)。能夠在UG的環(huán)境下利用其表達(dá)式功能,選用適當(dāng)?shù)膮?shù)化驅(qū)動(dòng)命令,實(shí)現(xiàn)齒輪等復(fù)雜體的參數(shù)化設(shè)計(jì),同時(shí)繪制結(jié)果比較精確。這種實(shí)現(xiàn)為其他具有復(fù)雜表面形狀形態(tài)的參數(shù)化設(shè)計(jì)與建模提供的參考方法[4]。
目前研究出來的系統(tǒng)往往只能夠根據(jù)用戶輸入的參數(shù)進(jìn)行簡(jiǎn)單的三維建模,并不能保證其強(qiáng)度上的可靠性。或者有些產(chǎn)品只能進(jìn)行強(qiáng)度校核,但是沒有解決后續(xù)鏈接三維軟件進(jìn)行建模和繪制工程圖的問題。所以本課題致力于開發(fā)一種參數(shù)化設(shè)計(jì)與建模系統(tǒng),鏈接校核軟件與三維建模軟件,用戶只需輸入相應(yīng)的工況條件,由系統(tǒng)進(jìn)行強(qiáng)度校核,再將校核的參數(shù)傳遞到三維軟件中繪制三維模型和工程圖。這樣一體化的工作流程從根本上解決了繁瑣的齒輪設(shè)計(jì)的難題。
1 強(qiáng)度校核程序開發(fā)
1.1 MATLAB曲線擬合
對(duì)于強(qiáng)度校核中眾多的圖形圖表參數(shù)需要使用MATLAB的cftool工具擬合曲線模型。第一步需要截取圖形上的點(diǎn),截取的點(diǎn)的范圍要遍布整條曲線,在曲率變化較大的位置要盡可能多取點(diǎn)。第二步,取點(diǎn)完成后就可以錄入到MATLAB中,啟動(dòng)cftool工具,如圖1所示。定義的擬合方式為Custom Equation,因?yàn)榈角€最后收斂到2.106點(diǎn),所以為了使擬合結(jié)果盡可能準(zhǔn)確同時(shí)方便錄入到程序中,自定義方程為:
(1)
式中a、b、c、d、e、f是待定系數(shù),程序會(huì)自動(dòng)擬合出相應(yīng)的系數(shù)值和取值范圍,對(duì)擬合結(jié)果的準(zhǔn)確性要進(jìn)行檢驗(yàn),主要的檢驗(yàn)標(biāo)準(zhǔn)是組內(nèi)方差(SSE)值,當(dāng)SSE小于0.01時(shí),擬合的結(jié)果滿足精度要求,數(shù)學(xué)模型可以使用。
最后可以將擬合結(jié)果的參數(shù)值和方程保存到TXT文件中,方便后續(xù)工作使用,當(dāng)所有的曲線都擬合完成后,需要驗(yàn)證方程是不是符合要求,將所有的參數(shù)編寫到一個(gè)程序中,調(diào)用繪圖工具繪制出原圖形,如果與原圖形無誤則可以使用,如圖2所示。
1.2 程序設(shè)計(jì)
程序開發(fā)平臺(tái)使用的是Visual Studio 2013版,選擇VB.NET作為開發(fā)語言。這主要是因?yàn)閂B.NET語言是一種面向?qū)ο蟮木幊陶Z言,它適用于VS平臺(tái),比VB更加的便捷和強(qiáng)大。VB.NET接受了C#全部面向?qū)ο蟮奶卣?,只有在語法表現(xiàn)形式上照顧廣大VB使用者,用擴(kuò)充的VB表達(dá)。同時(shí),SolidWorks二次開發(fā)時(shí)使用的原始代碼是VBA編程語言,其在語法上與VB.NET有一定的共性,這就為編寫與修改程序提供了方便。
程序設(shè)計(jì)流程如圖3所示:
為了滿足工程上的要求,開發(fā)的強(qiáng)度校核程序需要具備一下特點(diǎn):
(1)允許用戶根據(jù)工況條件輸入或修改設(shè)計(jì)參數(shù)。
(2)程序要能夠在設(shè)計(jì)完成后展示強(qiáng)度校核所需的相關(guān)參數(shù),并展示這些參數(shù)的取值范圍。
(3)對(duì)于齒輪材料的選擇提供兩種方案,一是給出推薦材料,二是允許用戶自定義齒輪的材料。
(4)在強(qiáng)度校核后能夠在后臺(tái)計(jì)算出齒輪尺寸參數(shù),并連接SolidWorks完成三維建模繪制。
程序開發(fā)過程中首先要進(jìn)行窗體設(shè)計(jì),這里需要調(diào)用VS平臺(tái)提供的工具模塊,通過設(shè)定模塊的屬性和觸發(fā)事件可以進(jìn)行相應(yīng)的操作。在工具模塊的后臺(tái)編寫校核計(jì)算單元,定義全局參數(shù)接收保存計(jì)算結(jié)果提供后續(xù)建模程序使用。如圖4所示的程序界面,主要使用了TextBox和Button窗體工具進(jìn)行設(shè)計(jì),完成的是齒輪變位系數(shù)的計(jì)算步驟,在程序后臺(tái)定義了相應(yīng)的計(jì)算單元,通過單機(jī)計(jì)算按鈕觸發(fā)計(jì)算事件。
2 SolidWorks二次開發(fā)建模
SolidWorks二次開發(fā)是利用支持OLE和COM編程的開發(fā)平臺(tái),通過調(diào)用SW API函數(shù)來實(shí)現(xiàn)相應(yīng)功能的開發(fā)[5],從而建立專用功能模塊的過程。目前對(duì)SW二次開發(fā)有兩種方法:其一是OLE(Object Linking and Embedding), 譯為對(duì)象的嵌套技術(shù),即開發(fā)的程序以DLL插件文件的形式嵌入到SolidWorks中,用戶可以在使用時(shí)方便調(diào)用而且穩(wěn)定性較高;另外一種是COM(Component Object Model),譯為組件對(duì)象模型技術(shù)[6],使用這種方法開發(fā)的程序是獨(dú)立于SolidWorks之外的,用戶使用時(shí)能夠自動(dòng)打開建模軟件并生成三維模型,這種方法的優(yōu)點(diǎn)在于能夠編輯更多的交互界面,方便使用本課題采用的是第二種COM二次開發(fā)的技術(shù),基本的設(shè)計(jì)思路歸納如下:
(1)在SW中進(jìn)行零件的三維圖繪制和工程圖繪制,使用宏錄制功能記錄下相應(yīng)的VBA代碼。
(2)修改VBA代碼為VB.NET代碼,刪除冗余代碼,將其作為源代碼插入到開發(fā)的程序中。
(3)將源程序進(jìn)行參數(shù)化修改,將強(qiáng)度校核得到的齒輪尺寸參數(shù)添加到程序中去。
(4)在開發(fā)的程序中添加SW引用,調(diào)用相應(yīng)的API函數(shù)建立開發(fā)程序與SolidWorks的連接。
3 設(shè)計(jì)實(shí)例
根據(jù)工程實(shí)例使用開發(fā)的程序設(shè)計(jì)漸開線齒輪副,要求的工程參數(shù)是小齒輪傳遞的額定功率為250kW,小齒輪的轉(zhuǎn)速為750r/min,名義傳動(dòng)比為3.15,單向運(yùn)作滿載工作壽命為50000h,如圖5所示為程序的設(shè)計(jì)參數(shù)輸入界面。
首先需要設(shè)定齒輪材料屬性,系統(tǒng)提供了一系列常用方案供用戶選擇,用戶也可以自己定義材料和熱處理方法,如圖6所示。
程序根據(jù)用戶輸入的齒輪參數(shù)自動(dòng)計(jì)算出模式和中心矩,同時(shí)也提供計(jì)算變位系數(shù)的功能,最后根據(jù)所有參數(shù)計(jì)算出安全系數(shù)。如圖7所示。程序最后展示校核結(jié)果,連接SolidWorks自動(dòng)進(jìn)行三維模型繪制,效果如圖8所示。
4 結(jié)束語
本文的主要研究?jī)?nèi)容是漸開線齒輪參數(shù)化建模系統(tǒng)開發(fā),是齒輪設(shè)計(jì)知識(shí)與計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)相結(jié)合的綜合課題。該系統(tǒng)可實(shí)現(xiàn)漸開線齒輪參數(shù)化設(shè)計(jì)并自動(dòng)根據(jù)設(shè)計(jì)結(jié)果繪制三維模型,使設(shè)計(jì)人員從擺脫了相似零件的重復(fù)性設(shè)計(jì)的困擾。本文的主要成果有:
(1)開發(fā)出的程序能夠完成漸開線齒輪的參數(shù)化設(shè)計(jì)和建模功能,簡(jiǎn)化了繁瑣的設(shè)計(jì)過程。
(2)程序中對(duì)齒輪的材料屬性設(shè)計(jì)創(chuàng)新性的提供了用戶自定義的功能,提升了程序的實(shí)用性。
(3)開發(fā)的程序可以展示設(shè)計(jì)過程中的所有參數(shù)及其取值范圍,方便用戶調(diào)整設(shè)計(jì)方案。
(4)在開發(fā)過程當(dāng)中,充分利用SolidWorks的宏錄制功能得到程序基本框架,大大簡(jiǎn)化了程序研發(fā)的過程。
參考文獻(xiàn):
[1]張小明,羅靜,李新華.基于SolidWorks的漸開線齒輪參數(shù)化設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)應(yīng)用,2007,11(34):36-40.
[2]陰天龍,陳林,劉偉.基于SolidWorks的漸開線齒輪參數(shù)化建模與裝配[J].科技資訊,2012(23):32-34.
[3]馬曉芳,王春燕,李運(yùn)霞.基于VisualBasic和APDL的漸開線齒輪參數(shù)化建模[J].制造業(yè)信息化,2012,38(11):76-78.
[4]楊向君,陳順洪.基于UGNX的漸開線齒輪參數(shù)化設(shè)計(jì)[J].設(shè)計(jì)與研究,2014,6:5-10.
[5]張華,陳定方.以VisualBasic為基礎(chǔ)的SolidWorks二次開發(fā)與應(yīng)用[J].湖北工業(yè)大學(xué)學(xué)報(bào),2010(4):36-38.
[6]何岸楊.SolidWorks二次開發(fā)方法研究[J].計(jì)算機(jī)與信息技術(shù),2007,28:69-74.
[7]李巖,楊傳勇.一種漸開線綜合量規(guī)的制造與檢測(cè)方法研究[J].科技創(chuàng)新與應(yīng)用,2017(34):66-67.