施 敏,陳新元,湛從昌,魯臘福,黃智武,左 林
(1.武漢科技大學(xué)機械自動化學(xué)院,湖北 武漢,430081;2.韶關(guān)液壓件廠有限公司,廣東 韶關(guān),512029)
參數(shù)化設(shè)計也叫尺寸驅(qū)動,是指將參數(shù)化模型的尺寸用對應(yīng)的關(guān)系表示,通過人機交互的方式調(diào)整圖形的一部分尺寸或修改已定義的參數(shù),使圖形其他部分相關(guān)聯(lián)的尺寸也隨之改變,從而控制圖形幾何形狀,自動實現(xiàn)元件的精確造型。目前,參數(shù)化設(shè)計的方法通常都是用于標(biāo)準(zhǔn)件的設(shè)計[1-3],還未見關(guān)于其在非標(biāo)準(zhǔn)件設(shè)計中應(yīng)用的相關(guān)報道。
AGC液壓缸是HAGC伺服系統(tǒng)中的關(guān)鍵部件。同一系列不同型號的AGC液壓缸其零部件結(jié)構(gòu)相似但尺寸不同,本文嘗試對這類非標(biāo)零件采用參數(shù)化設(shè)計方法進行設(shè)計,用Access建立零件數(shù)據(jù)庫,用SolidWorks建立液壓缸零部件模型模板[4],通過API接口函數(shù),傳遞給SolidWorks,利用尺寸驅(qū)動法驅(qū)動模型模板。用戶可以根據(jù)自己的設(shè)計要求輸入液壓缸零部件關(guān)鍵參數(shù)值,程序會自動生成零件的二維工程圖和三維圖,并能對零件進行裝配得到完整的液壓缸的二維工程圖和三維裝配圖。
AGC液壓缸主要由缸體、活塞及活塞桿、端蓋、密封圈等部分組成。根據(jù)各零件的結(jié)構(gòu)特點和不同型號液壓缸同一零件結(jié)構(gòu)的差異程度,分別采用不同的方法[5]設(shè)計。不同型號AGC液壓缸的活塞桿、缸體、端蓋等相應(yīng)部件結(jié)構(gòu)大體一致,僅局部存在細微差異,且結(jié)構(gòu)相對復(fù)雜,故采用SolidWorks自帶的“系列零件設(shè)計表”驅(qū)動設(shè)計,便于修改;而O形圈、防塵圈等元件結(jié)構(gòu)簡單,結(jié)構(gòu)完全相同,僅尺寸不同,因此可以用SolidWorks本身提供的API接口并通過VB驅(qū)動設(shè)計。AGC液壓缸參數(shù)化設(shè)計主界面如圖1所示。
圖1 AGC液壓缸參數(shù)化設(shè)計主界面
Fig.1Maininterfaceofparametricdesignforhydrauliccylinder
以AGC液壓缸活塞及活塞桿為例,假設(shè)系統(tǒng)壓力為P,負載壓力為PL,活塞桿側(cè)低壓為P2,壓下力為已知,則可推算出單臺AGC缸所需活塞推力F,計算公式為
F=(A1PL-A2P2)/10
(1)
式中:A1為活塞側(cè)面積;A2為活塞桿側(cè)面積。
結(jié)合VB,在軟件界面添加與上述參數(shù)相同數(shù)量的Label和Textbox控件,并一一對應(yīng)命名。通過編程將上述公式中的參數(shù)用對應(yīng)的Textbox輸入值代替。運行程序,用戶輸入所需設(shè)計液壓缸的基本參數(shù),如活塞負載壓力、速比、活塞桿側(cè)低壓等,軟件會粗略地計算出符合要求的液壓缸的缸徑、活塞直徑等參數(shù)。
同一系列的AGC液壓缸其零部件的結(jié)構(gòu)比較近似。通過一些主參數(shù)就能控制零件的基本結(jié)構(gòu),如活塞的主參數(shù)是活塞的外徑、孔徑和活塞寬度,缸體的主參數(shù)是缸體的外徑和缸筒的高度等。對這些零部件進行參數(shù)化設(shè)計,實際就是通過驅(qū)動這些主參數(shù)重新建模。因此,創(chuàng)建Access數(shù)據(jù)庫,只需對主參數(shù)命名并賦值,如圖2所示。
圖2 AGC液壓缸參數(shù)Fig.2 Parameters of AGC hydraulic cylinder
ADO (ActiveX Data Objects)是一個由微軟提供用于存取數(shù)據(jù)源的COM組件,它為多種匯編語言提供了統(tǒng)一的數(shù)據(jù)訪問接口。本設(shè)計通過DataGrid控件與ADO綁定實現(xiàn)數(shù)據(jù)庫的建立與訪問。由于數(shù)據(jù)源需要隨著用戶的需求而變化,因此它們的連接不能在屬性中直接設(shè)置,而需要通過編程來實現(xiàn)。連接及訪問數(shù)據(jù)庫的主要代碼如下[6]:
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:學(xué)習(xí)VB98活塞及活塞桿參數(shù).mdb;Persist Security Info=False"http://通過pConn對象連接字符串,連接到數(shù)據(jù)庫Adodc1.CommandType = adCmdText
Adodc1.RecordSource="select * from cylinder3wherecylinder3.缸徑="" + Combo4.Test+""order by cylinder3. Φ1DESC"http://通過Connection對象訪問數(shù)據(jù)庫
根據(jù)AGC液壓缸活塞及活塞桿的結(jié)構(gòu)特點,采用旋轉(zhuǎn)法建立模型。本設(shè)計采用的是表驅(qū)動的方式,實際就是將表中的參數(shù)與草圖中的各個參數(shù)對應(yīng)相關(guān)聯(lián),通過修改表中的參數(shù)值就能修改草圖的尺寸,從而完成參數(shù)化設(shè)計。創(chuàng)建對象,與SolidWorks建立連接,設(shè)計代碼如下[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
實現(xiàn)液壓缸活塞及活塞桿參數(shù)化設(shè)計的部分程序代碼如下:
s(0)=Frm_main.Adodc1.Recordset.Fields("R1")
s(1)=Frm_main.Adodc1.Recordset.Fields("R2")
……
s(30)=Frm_main.Adodc1.Recordset.Fields("L13")
按設(shè)計要求繪制圖形。
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)//對繪制圖形執(zhí)行旋轉(zhuǎn)凸臺命令,生成活塞及活塞桿三維圖
End Sub
運行程序,單擊繪圖按鈕,生成活塞及活塞桿三維模型,如圖3所示。
單擊工程圖按鈕, 生成活塞及活塞桿的工程圖如圖4所示。
通過以上述類似的方法完成液壓缸蓋、缸體等零部件的參數(shù)化設(shè)計。然后將零件進行裝配,完成液壓缸三維模型的設(shè)計。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
以三維設(shè)計軟件SolidWorks為平臺,結(jié)合VB、數(shù)據(jù)庫等軟件工具,為非標(biāo)準(zhǔn)件設(shè)計自定義零件庫,用戶可即時更新零件庫,快速建立產(chǎn)品模型,提高生產(chǎn)效率。同時用戶根據(jù)自定義的零件庫,可直接選擇參數(shù)進行建模,縮短設(shè)計生產(chǎn)周期。多個零件裝配的實現(xiàn),提高了模型的可視性,真實反映了設(shè)計效果。
[1] 孟祥旭,徐延寧.參數(shù)化設(shè)計研究[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,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的標(biāo)準(zhǔn)件庫系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2010.
[4] 王宗彥,吳淑芳.SolidWorks機械產(chǎn)品高級開發(fā)技術(shù)[M]. 北京:北京理工大學(xué)出版社,2005:15-17.
[5] 陳奎生.液壓與氣壓傳動[M].武漢:武漢理工大學(xué)出版社,2001:35-36.
[6] 劉恩濤,趙耀峰.VisualBasic6.0編程技巧與實例分析[M],北京:中國水利水電出版社,1999:67-68
[7] 江洪.SolidWorks 二次開發(fā)與實例解析[M]. 北京:機械工業(yè)出版社,2004:51-53.