張自強, 王 麗, 王國君, 王立靖
(1.長春工業大學工程訓練中心,吉林長春 130012;2.吉林省石油集團有限責任公司供電公司,吉林松原 138000)
隨著機械設計與制造技術的不斷發展,凸輪機構作為控制機構在機械中有著重要的應用。另一方面,隨著計算機的發展,凸輪機構的計算機輔助設計和制造已被熟練地應用,不僅提高了設計速度和加工質量,也為凸輪機構的進一步應用創造了條件。
文中基于SolidWorks2010三維設計軟件平臺,考慮產品總體設計需要,研究平面凸輪機構二次開發技術。以Visual Basic 6.0為開發工具設計操作界面,通過調用SolidWorks API接口[1]函數完成機構各組成元件的參數化設計。該系統開發的平面凸輪機構CAD系統[2]可以直接對三維設計軟件SolidWorks2010進行智能驅動,進而實現平面凸輪機構三維模型的整體設計。
該平面凸輪機構操作系統可以實現多種從動件類型及從動件不同運動規律的組合,例如:尖端從動件的直動和擺動、滾子從動件的直動和擺動等。根據相應參數進行計算,最終自動生成凸輪三維模型、凸輪運動曲線、凸輪輪廓曲線并顯示運動仿真結果。
凸輪機構是由凸輪、從動件和機架3部分組成,其結構形式主要取決于凸輪和從動件。凸輪機構可以將主動件凸輪的等速連續轉動變換為從動件的往復直線運動或繞某定點的擺動,并依靠凸輪輪廓曲線準確實現所要求的運動規律。
一對心直動尖頂推桿盤形凸輪機構如圖1所示。
圖中,以凸輪回轉中心為圓心,以最小半徑為半徑所作的圓稱為凸輪的基圓。凸輪的輪廓由AB,BC,CD及DA四段曲線組成。凸輪在運動過程中,經過推程、遠休止、回程、近休止4個過程。與之相對應的凸輪轉角分別稱為推程運動角、遠休止角、回程運動角及近休止角。在運動過程中,推桿移動的距離h為推桿的行程。各參數符號見表1。

表1 凸輪各參數符號
平面凸輪機構CAD系統主要是以平面凸輪機構的設計原理為基礎,以三維設計軟件Solid-Works2010作為整體系統的開發平臺,以Visual Basic[3]作為開發工具,將三者合為一體,實現平面凸輪機構的整體設計。
機構參數化設計[4]是基于機構各組成零件參數化設計,通過添加相應約束進行自動裝配。機構參數化設計主要分為以下3種方法:1)基于幾何約束的數學方法;2)基于幾何原理的人工智能方法;3)基于特征模型的造型方法。通常,凸輪機構參數化設計需要提供凸輪具體參數,根據用戶的需求設計參數,采用VB編程建立專用的凸輪設計計算模塊。對零件參數化設計的方式采用設計變量與計算參數相結合的方式,即以Solid-Works2010環境中建立的典型三維結構模型為基礎,用設計變量作為VB程序與三維模型的聯系紐帶。綜上所述,建立平面凸輪機構總體方案如圖2所示。

圖2 總體方案結構
平面凸輪機構CAD系統界面設計[5]力求簡潔美觀、操作方便。按照該系統要求將其界面劃分為3個區域,其操作界面如圖3所示。

圖3 系統界面
凸輪標準模型顯示區域:該模塊為VB編輯平臺上圖片顯示框,根據平面凸輪的從動件類型和凸輪的運動來確定凸輪系統的基本結構,并在該模塊中顯示相應的模型圖片。
凸輪機構基本參數輸入區域:該區域包含4個部分,分別為運動形式選擇部分、凸輪參數輸入部分、運行參數輸入部分、參數輸入校核部分。該模塊在系統操作界面上添加了下拉菜單按鈕、文本框、標簽等操作,來實現凸輪基本參數的選擇及輸入。
凸輪機構結果顯示區域:該模塊采用多頁選擇框的形式來對運算結果進行預覽,共計有5個分頁,分別為結構模型、運動曲線、輪廓曲線、3D模型和模擬仿真動畫。
SolidWorks的API應用程序接口[6]是一個基于ActiveX Automation的編程接口,其中包含數百個可從VB,VBA,C,C++或SolidWorks宏文件調用的函數。為了提高SolidWorks的使用效率和滿足某些特殊功能,文中主要介紹采用支持ActiveX技術的編程語言VB對SolidWorks進行二次開發的基本原理和方法。
SolidWorks支持ActiveX Automation技術,在VB環境下建立的客戶程序可直接訪問Solid-Works中的對象。
VB和SolidWorks的接口程序如下:

應用平面凸輪機構CAD系統[7]建立凸輪的實際模型,根據凸輪機構的反轉法原理設定參數,在系統操作界面上對凸輪機構的基本參數進行設定,并將每個參數值賦給程序中設定好的參數變量。凸輪機構基本參數見表2。

表2 凸輪機構的基本參數
平面凸輪機構涉及到數據處理問題,必須根據傳統凸輪的計算方法、運算過程等,將所有的數據編寫成VB語言程序。這些數據包括設計數據、表格、線圖以及標準范圍等。其中設計數據通常是指設計時給定的已知條件和工作參數。表格、線圖及標準規范指在進行工程設計計算時需要檢索的有關圖表和數據,應將它們以恰當的方式存入計算機。完成參數的輸入后,根據設定好的參數便可實現凸輪模型的構建。
在VB中繪制凸輪從動件運動曲線[8],利用VB語言中自帶的繪圖功能在VB界面下進行繪制,將凸輪運動曲線的傳統算法用VB語言表達出來。凸輪運動曲線分為位移運動曲線、速度運動曲線、加速度運動曲線。在VB中采用描點法繪制,假設凸輪每轉一度視為一點,代入以轉角為自變量、位移為輸出變量的公式,記錄這一點的數值,則凸輪旋轉一周后輸出一個含有360個點數值的數組,應用VB自帶的繪圖工具并根據這個數組進行曲線的繪制。X軸表示轉過的角度,Y軸表示位移,進行描點繪制曲線,如圖4所示。
凸輪輪廓曲線是應用VB繪圖功能在VB界面繪制出凸輪的輪廓線。以滾子直動從動件凸輪機構為例,根據從動件運動規律計算的凸輪輪廓曲線公式為:

式中:e——偏距;
δ——凸輪轉過角度;
由式(1)得出,一組關于X,Y坐標的數組,根據該數組,通過曲線擬合繪制凸輪的輪廓曲線,如圖5所示。

圖4 凸輪運動曲線圖

圖5 輪廓曲線圖
平面凸輪機構三維模型的建立是應用Solid-Works API接口將VB程序數據傳輸給Solid-Works三維設計軟件中,通過尺寸驅動的方式來實現三維模型[9]建立。主要有以下6個步驟:
1)建立VB和SolidWorks通信接口,統一設置程序和模型的結構尺寸變量;
2)平面凸輪三維模型建立,應用SolidWorks三維軟件中宏設計功能將凸輪輪廓上對應點的坐標導入SolidWorks中,再生成凸輪模型;
3)在SolidWorks中建立凸輪從動件、鉸鏈、固定件的模型;
4)對模型的結構尺寸標注進行變量命名;
5)傳遞相關參數到SolidWorks中重建凸輪從動件模型;
6)應用edrawings在VB中進行模型預覽。
幾何造型必須滿足模型尺寸完全約束的要求,保證通過參數驅動模型重建時的準確性。初始幾何模型的建立需按照一定的規則進行處理,以符合參數化設計的要求。另外,在造型過程中,SolidWorks系統為標注的尺寸設置了默認的尺寸名稱,并且對于不同的特征尺寸可以重復,但特征名稱不同。
尺寸的主要值分為兩部分,一部分為該尺寸線的名稱,另一部分為尺寸的數值。尺寸驅動是將設計人員輸入的參數和計算出的參數賦給對應的尺寸,進而更新模型中的尺寸,如圖6所示。

圖6 滾子擺動擺桿
模型的預覽應用SolidWorks的第三方插件——edrawings[10],并將edrawings的部分功能集成到VB界面上。通過edrawings在VB界面即可實現三維模型的預覽功能,并且可以使模型平移、局部、縮放、翻轉、全屏和復位等。在VB中引用edrawings類型庫后會在工具箱中出現一個edrawings的圖標,如圖7所示。

圖7 edrawings在工具欄里出現圖標
edrawings插入VB界面,如圖8所示。

圖8 VB操作界面
凸輪機構的仿真模擬包括其外形仿真、操作仿真、運動仿真[11]。文中利用VB技術,對Solid-Works進行二次開發,生成動態鏈接庫,在運行SolidWorks時加載動態鏈接庫,以上的裝配、運動等操作就會出現在SolidWorks菜單上。使用系統界面作為操控平臺,生成并保存三維凸輪模型,調試系統的應用程序并運行。
在系統中,給凸輪結構加上一定的約束條件,再給凸輪加上動力如電機,使其旋轉,模擬出凸輪機構真實的運動情況。仿真模擬[12]操作界面如圖9所示。

圖9 尖端直動凸輪仿真模擬操作界面
凸輪機構的輪廓曲線較為復雜,設計與加工均比較困難。文中基于SolidWorks軟件系統對平面凸輪機構進行參數化設計,并以Visual Basic 6.0為開發工具設計操作界面,其功能豐富,操作簡單,界面清晰簡潔,實現了人機對話、凸輪機構設計自動化、三維建模自動化,節省了在傳統凸輪設計中手工計算所需時間,其提供的精準輪廓曲線數據保證了設計質量,對提高凸輪設計的效率具有重要意義。
[1] 盛一川.基于SolidWorks的凸輪機構參數化設計二次開發研究[J].金華職業技術學院學報,2009,6(3):41-43.
[2] 王霜,殷國富,羅中先,等.平面凸輪機構設計CAD系統開發[J].煤礦機械,2006,27(6):999-1000.
[3] 肖啟敏,張文信.Visual Basic程序設計中數據處理方法的研究[J].機械設計與制造,2006,10:36-37.
[4] 徐國權.基于SolidWorks的參數化設計二次開發研究[J].機械設計與研究,2007(2):36-37.
[5] 王琿,楊慧香,潘英劍,等.斜齒輪插齒刀計算機輔助設計研究[J].長春工業大學學報:自然科學版,2008,29(2):218-219.
[6] 張華,陳定芳,楊艷芳.Visual Basic為基的Solid-Works二次開發與應用[J].湖北工業大學學報,2010,25(4):37-38.
[7] 徐偉.基于VB的凸輪CAD系統的研究與開發[J].組合機床與自動化加工技術,2005(2):21-23.
[8] 劉小瑞,吳努.凸輪機構通用運動曲線方程設計[J].機械設計,2011,28(8):29-33.
[9] 吳宏良,徐曉明,項春雷.基于SolidWorks三維模型參數化設計技術的研究[J].科學技術與工程,2005,5(19):1337-1338.
[10] 陳光霞.Edrawings在《工程制圖》多媒體課件中的應用[J].現代機械,2010(1):53-75.
[11] 張邦成,韓躍營,王占禮,等.基于遺傳算法的按摩機器人手臂控制系統[J].長春工業大學學報:自然科學版,2012,33(5):503-507.
[12] 王致堅.凸輪機構的參數化設計及運動仿真[J].機械研究與應用,2006,19(5):114-116.