施 敏,陳新元,湛從昌,魯臘福,黃智武,左 林
(1.武漢科技大學機械自動化學院,湖北 武漢,430081;2.韶關液壓件廠有限公司,廣東 韶關,512029)
參數化設計也叫尺寸驅動,是指將參數化模型的尺寸用對應的關系表示,通過人機交互的方式調整圖形的一部分尺寸或修改已定義的參數,使圖形其他部分相關聯的尺寸也隨之改變,從而控制圖形幾何形狀,自動實現元件的精確造型。目前,參數化設計的方法通常都是用于標準件的設計[1-3],還未見關于其在非標準件設計中應用的相關報道。
AGC液壓缸是HAGC伺服系統中的關鍵部件。同一系列不同型號的AGC液壓缸其零部件結構相似但尺寸不同,本文嘗試對這類非標零件采用參數化設計方法進行設計,用Access建立零件數據庫,用SolidWorks建立液壓缸零部件模型模板[4],通過API接口函數,傳遞給SolidWorks,利用尺寸驅動法驅動模型模板。用戶可以根據自己的設計要求輸入液壓缸零部件關鍵參數值,程序會自動生成零件的二維工程圖和三維圖,并能對零件進行裝配得到完整的液壓缸的二維工程圖和三維裝配圖。
AGC液壓缸主要由缸體、活塞及活塞桿、端蓋、密封圈等部分組成。根據各零件的結構特點和不同型號液壓缸同一零件結構的差異程度,分別采用不同的方法[5]設計。不同型號AGC液壓缸的活塞桿、缸體、端蓋等相應部件結構大體一致,僅局部存在細微差異,且結構相對復雜,故采用SolidWorks自帶的“系列零件設計表”驅動設計,便于修改;而O形圈、防塵圈等元件結構簡單,結構完全相同,僅尺寸不同,因此可以用SolidWorks本身提供的API接口并通過VB驅動設計。AGC液壓缸參數化設計主界面如圖1所示。

圖1 AGC液壓缸參數化設計主界面
Fig.1Maininterfaceofparametricdesignforhydrauliccylinder
以AGC液壓缸活塞及活塞桿為例,假設系統壓力為P,負載壓力為PL,活塞桿側低壓為P2,壓下力為已知,則可推算出單臺AGC缸所需活塞推力F,計算公式為
F=(A1PL-A2P2)/10
(1)
式中:A1為活塞側面積;A2為活塞桿側面積。

結合VB,在軟件界面添加與上述參數相同數量的Label和Textbox控件,并一一對應命名。通過編程將上述公式中的參數用對應的Textbox輸入值代替。運行程序,用戶輸入所需設計液壓缸的基本參數,如活塞負載壓力、速比、活塞桿側低壓等,軟件會粗略地計算出符合要求的液壓缸的缸徑、活塞直徑等參數。
同一系列的AGC液壓缸其零部件的結構比較近似。通過一些主參數就能控制零件的基本結構,如活塞的主參數是活塞的外徑、孔徑和活塞寬度,缸體的主參數是缸體的外徑和缸筒的高度等。對這些零部件進行參數化設計,實際就是通過驅動這些主參數重新建模。因此,創建Access數據庫,只需對主參數命名并賦值,如圖2所示。

圖2 AGC液壓缸參數Fig.2 Parameters of AGC hydraulic cylinder
ADO (ActiveX Data Objects)是一個由微軟提供用于存取數據源的COM組件,它為多種匯編語言提供了統一的數據訪問接口。本設計通過DataGrid控件與ADO綁定實現數據庫的建立與訪問。由于數據源需要隨著用戶的需求而變化,因此它們的連接不能在屬性中直接設置,而需要通過編程來實現。連接及訪問數據庫的主要代碼如下[6]:
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:學習VB98活塞及活塞桿參數.mdb;Persist Security Info=False"http://通過pConn對象連接字符串,連接到數據庫Adodc1.CommandType = adCmdText
Adodc1.RecordSource="select * from cylinder3wherecylinder3.缸徑="" + Combo4.Test+""order by cylinder3. Φ1DESC"http://通過Connection對象訪問數據庫
根據AGC液壓缸活塞及活塞桿的結構特點,采用旋轉法建立模型。本設計采用的是表驅動的方式,實際就是將表中的參數與草圖中的各個參數對應相關聯,通過修改表中的參數值就能修改草圖的尺寸,從而完成參數化設計。創建對象,與SolidWorks建立連接,設計代碼如下[7]:
Private Sub Command1_Click()
Dim swApp As Object //定義對象
Dim part As Object
Set swApp=CreateObject("SldWorks.Application")
swApp.Visible=True
定義變量:
Set part=swApp.ActiveDoc
Dim s(30) As Long
實現液壓缸活塞及活塞桿參數化設計的部分程序代碼如下:
s(0)=Frm_main.Adodc1.Recordset.Fields("R1")
s(1)=Frm_main.Adodc1.Recordset.Fields("R2")
……
s(30)=Frm_main.Adodc1.Recordset.Fields("L13")
按設計要求繪制圖形。
part.ShowNamedView2"*上下二等角軸測", 8
Set myFeature = part.FeatureManager.FeatureRevolve2(True, True, False, False, False, False, 0, 0, 6.2831853071796, 0, False, False, 0.01, 0.01, 0, 0, 0, True, True, True)//對繪制圖形執行旋轉凸臺命令,生成活塞及活塞桿三維圖
End Sub
運行程序,單擊繪圖按鈕,生成活塞及活塞桿三維模型,如圖3所示。
單擊工程圖按鈕, 生成活塞及活塞桿的工程圖如圖4所示。
通過以上述類似的方法完成液壓缸蓋、缸體等零部件的參數化設計。然后將零件進行裝配,完成液壓缸三維模型的設計。AGC液壓缸三維裝配圖如圖5所示,二維工程圖如圖6所示。

圖3 AGC液壓缸活塞及活塞桿三維模型
Fig.33DmodelofthepistonandpistonrodforAGChydrauliccylinder

圖4 AGC液壓缸活塞及活塞桿二維工程圖
Fig.42DengineeringdrawingofthepistonandpistonrodforAGChydrauliccylinder

圖5 AGC液壓缸三維裝配圖Fig.5 3D assembly drawing of AGC hydraulic cylinder

圖6 AGC液壓缸二維工程圖Fig.6 2D engineering drawing of AGC hydraulic cylinder
以三維設計軟件SolidWorks為平臺,結合VB、數據庫等軟件工具,為非標準件設計自定義零件庫,用戶可即時更新零件庫,快速建立產品模型,提高生產效率。同時用戶根據自定義的零件庫,可直接選擇參數進行建模,縮短設計生產周期。多個零件裝配的實現,提高了模型的可視性,真實反映了設計效果。
[1] 孟祥旭,徐延寧.參數化設計研究[J].計算機輔助設計與圖形學學報,2002,14(11):1086-1090.
[2] Nahm Y E, Ishikawa H. A new 3D-CAD system for set-based parametric design[J].The International Journal of Advanced Manufacturing Technology, 2006, 29(1-2): 137-150.
[3] 丁永建.基于SolidWorks的標準件庫系統設計與實現[D].成都:電子科技大學,2010.
[4] 王宗彥,吳淑芳.SolidWorks機械產品高級開發技術[M]. 北京:北京理工大學出版社,2005:15-17.
[5] 陳奎生.液壓與氣壓傳動[M].武漢:武漢理工大學出版社,2001:35-36.
[6] 劉恩濤,趙耀峰.VisualBasic6.0編程技巧與實例分析[M],北京:中國水利水電出版社,1999:67-68
[7] 江洪.SolidWorks 二次開發與實例解析[M]. 北京:機械工業出版社,2004:51-53.