朱 瑞,孟 光,李鴻光,朱 彥
(1.上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院,上海 200240;2.上海電力學(xué)院能源與機(jī)械工程學(xué)院,上海 200090)
軸承是機(jī)械傳動(dòng)設(shè)備中的重要零部件,它起到支撐機(jī)械旋轉(zhuǎn)體,降低設(shè)備在傳動(dòng)過程中的機(jī)械載荷摩擦系數(shù)的重要作用.隨著我國制造業(yè)數(shù)字化進(jìn)程的不斷推進(jìn),如何以最快的速度響應(yīng)市場需求,設(shè)計(jì)生產(chǎn)出符合市場需要的產(chǎn)品是產(chǎn)品設(shè)計(jì)開發(fā)的關(guān)鍵問題之一.建立軸承三維標(biāo)準(zhǔn)件庫,一方面可以大大提高開發(fā)設(shè)計(jì)的效率,避免不同設(shè)計(jì)者的重復(fù)勞動(dòng),縮短產(chǎn)品開發(fā)周期;另一方面也可以提高軸承設(shè)計(jì)的標(biāo)準(zhǔn)化程度,提高其可定制性等[1,2].
CATIA是法國達(dá)索(Dassault Aviation)公司開發(fā)的一套界面友好、功能強(qiáng)大、易于操作的世界主流CAD/CAM/CAE一體化軟件,可以實(shí)現(xiàn)復(fù)雜的三維零件實(shí)體造型和裝配.雖然CATIA具備標(biāo)準(zhǔn)件庫功能,但是其格式是開發(fā)商自行定義的,通用性和更新性較差,且標(biāo)準(zhǔn)件存儲(chǔ)的數(shù)據(jù)冗余,不易操作.因此,為了滿足產(chǎn)品研發(fā)的需要,適應(yīng)企業(yè)內(nèi)部網(wǎng)絡(luò)化、數(shù)字化、無紙化和個(gè)性化設(shè)計(jì)的迫切需求,創(chuàng)建滿足企業(yè)使用的通用性CATIA三維標(biāo)準(zhǔn)件庫是十分必要的[3,4].本文通過對(duì)軸承標(biāo)準(zhǔn)件庫的創(chuàng)建,可以實(shí)現(xiàn)一次建模和重復(fù)使用,以達(dá)到充分共享和高效利用公共資源的目的.
基于CATIA的軸承三維參數(shù)化標(biāo)準(zhǔn)件庫的設(shè)計(jì)主要包括:標(biāo)準(zhǔn)件軸承的三維實(shí)體模型的建模;軸承的特征參數(shù)數(shù)據(jù)庫的建立;接口驅(qū)動(dòng)與應(yīng)用程序設(shè)計(jì);用戶界面設(shè)計(jì).各模塊之間的關(guān)系如圖1所示.
圖1 基于CATIA的軸承三維標(biāo)準(zhǔn)件庫各模塊間關(guān)系
作為當(dāng)今功能比較強(qiáng)大的CAD軟件,CATIA提供了多種開放性接口,包括Automation編程接口和開放的基于構(gòu)件的應(yīng)用編程接口[5].通過使用CATIA的Automation技術(shù),CATIA可以與外部程序共享對(duì)象,Automation向VB提供編程接口,這樣就可以編寫程序調(diào)用CATIA,并控制CATIA完成標(biāo)準(zhǔn)件模型的尺寸更新,也就是新規(guī)格標(biāo)準(zhǔn)件模型的自動(dòng)生成過程.本文利用CATIA二次開發(fā)的Automation接口進(jìn)行軸承三維參數(shù)化標(biāo)準(zhǔn)件庫的開發(fā).CATIA的Automation描述如圖2所示.
圖2 CATIA Automation接口的構(gòu)成
CATIA自動(dòng)化接口在擴(kuò)展名為TLB的文件中,在用VB進(jìn)行二次開發(fā)調(diào)用CATIA的功能時(shí),必須在VB編程環(huán)境中選擇Project/Reference打開對(duì)象庫功能,并引用相關(guān)的CATIA對(duì)象庫.
實(shí)現(xiàn)VB和CATIA鏈接的具體代碼如下:
定義CATIA對(duì)象
Dim CATIA As Object
On Error Resume Next
當(dāng)CATIA已經(jīng)開始運(yùn)行時(shí),腳本用GetObject方法連接到CATIA
Set CATIA = GetObject(," CATIA.Application")
If Err.Number < > 0 Then
如果 CATIA沒有運(yùn)行,腳本應(yīng)先用CreateObject方法啟動(dòng)CATIA
SetCATIA = CreateObject("CATIA.Application")
CATIA.Visible=True
End If
On Error GoTo 0.
參數(shù)化設(shè)計(jì)是指通過修改尺寸來實(shí)現(xiàn)對(duì)圖紙的修改的設(shè)計(jì)方法.在利用CATIA設(shè)計(jì)草圖截面輪廓時(shí),應(yīng)先建立正確的全約束關(guān)系.由于該模型是派生其他外型相同或相似的軸承件的基礎(chǔ),為了避免在設(shè)計(jì)參數(shù)變化后出現(xiàn)形態(tài)異常的情況,先建立完整的約束關(guān)系是非常必要的,在設(shè)計(jì)時(shí)可通過位置關(guān)系或尺寸標(biāo)注建立其約束條件.尺寸驅(qū)動(dòng)是參數(shù)驅(qū)動(dòng)的基礎(chǔ),尺寸約束是實(shí)現(xiàn)尺寸驅(qū)動(dòng)的前提.利用CATIA建模時(shí)使用的參數(shù)尺寸包括描述零件的定位尺寸、特征尺寸,以及各元素之間的約束關(guān)系等.
本文以典型的深溝球軸承為例,利用機(jī)械設(shè)計(jì)手冊(cè)[6]的表6-2-52選擇軸承代號(hào)為6001的深溝球軸承,軸承標(biāo)記為:滾動(dòng)軸承6001 GB/T 276—1994.根據(jù)表6-2-52中查取的尺寸參數(shù)進(jìn)行建模,其中內(nèi)圈內(nèi)徑d=12mm,外圈外徑D=28mm,寬度 B=8mm,內(nèi)圈外徑 d2=17.4mm,外圈內(nèi)徑D2=23.8mm,圓角半徑 r=0.3mm,球徑 Dw=4.762mm,球數(shù)Z=8個(gè).CATIA中全約束繪制的參數(shù)化深溝球軸承模型見圖3.
圖3 參數(shù)化深溝球軸承的建模
數(shù)據(jù)庫是整個(gè)系統(tǒng)的關(guān)鍵,軸承的三維標(biāo)準(zhǔn)件庫中引入了數(shù)據(jù)庫的思想,用Access創(chuàng)建標(biāo)準(zhǔn)件數(shù)據(jù)庫后端,用嵌入和鏈接的方式將復(fù)雜多樣的數(shù)據(jù)內(nèi)置于數(shù)據(jù)庫中,建立一個(gè)關(guān)系型數(shù)據(jù)庫;在后端進(jìn)行數(shù)據(jù)庫的維護(hù)和更新工作.利用VB數(shù)據(jù)庫的訪問功能,制作友好的用戶界面(即數(shù)據(jù)庫的前端),使用人員的基本操作都在前端進(jìn)行,從而有效地將數(shù)據(jù)管理和常規(guī)使用這兩類工作區(qū)分開,以確保數(shù)據(jù)的獨(dú)立性和安全性.
在建立標(biāo)準(zhǔn)件特征參數(shù)數(shù)據(jù)庫的同時(shí),應(yīng)首先分析零件手冊(cè)中有關(guān)標(biāo)準(zhǔn)件的數(shù)據(jù),利用Access為每一種標(biāo)準(zhǔn)件建立數(shù)據(jù)庫,每一個(gè)數(shù)據(jù)庫由數(shù)據(jù)表組成,以存放不同形式的標(biāo)準(zhǔn)件數(shù)據(jù)庫.在數(shù)據(jù)庫建成后,可以在應(yīng)用程序中通過數(shù)據(jù)控件與特定的數(shù)據(jù)表連接起來.利用用戶輸入的主參數(shù)作為索引,用Find方法即可讀出對(duì)應(yīng)的參數(shù).深溝球軸承數(shù)據(jù)庫的設(shè)計(jì)格式如表1所示.
表1 深溝球軸承數(shù)據(jù)庫設(shè)計(jì)格式
調(diào)用標(biāo)準(zhǔn)件庫的關(guān)鍵步驟大致可以分為數(shù)據(jù)的拾取和標(biāo)準(zhǔn)件模型的動(dòng)態(tài)驅(qū)動(dòng)兩部分,也就是系統(tǒng)為用戶選擇一種標(biāo)準(zhǔn)件,并利用數(shù)據(jù)庫里的尺寸參數(shù),驅(qū)動(dòng)零件尺寸使零件自動(dòng)改變大小,從而達(dá)到自動(dòng)生成相同形狀不同尺寸的各種零件的過程.在程序中使用ADO訪問數(shù)據(jù)庫,從數(shù)據(jù)庫中讀取尺寸參數(shù),返回?cái)?shù)據(jù)集并由參數(shù)驅(qū)動(dòng)零件模型.上述程序代碼如下:
定義要改變的尺寸參數(shù)
Dim L As Length
獲取模型庫中的模型文件
Dim partdocument1 As PartDocument
Set partdocument1=CATIA.Documents.Open("D:Modelearing1.CATPart")
用ADO控件訪問數(shù)據(jù)庫來獲取標(biāo)準(zhǔn)件的尺寸數(shù)據(jù)
Adodc1.ConnectionString =" Provider =Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "db1.mdb;Persist Security Info=False"
Adodc1.RecordSource="select× from 深溝球軸承where軸承代號(hào)="&List1.Text&""
Adodc1.Refresh
定義一個(gè)當(dāng)前活動(dòng)文件
Dim partdocument2 As PartDocument
Set partdocument2=CATIA.ActiveDocument
將定義參數(shù)與模型尺寸參數(shù)連接
Dim parameters1 As Parameters
Set parameters1 = partdocument2.Part.Parameters
Set L=parameters1.Item("PartBodySketch.1Offset.5Offset")
將數(shù)據(jù)庫中獲取的數(shù)據(jù)賦予零件
L.Value=Adodc1.Recordset.Fields(4)/2
通過CATIA的Update(更新)功能重新生成文件
partdocument2.Part.Update.
本文以面向?qū)ο缶幊陶Z言VB對(duì)CATIA進(jìn)行了二次開發(fā),建立了軸承的參數(shù)化三維標(biāo)準(zhǔn)件庫工具,實(shí)現(xiàn)了用戶對(duì)于軸承標(biāo)準(zhǔn)件尺寸數(shù)據(jù)庫的管理.軸承的參數(shù)化三維標(biāo)準(zhǔn)件庫通過程序獲取數(shù)據(jù)庫數(shù)據(jù),采用模板文件作為驅(qū)動(dòng)源,驅(qū)動(dòng)已有模型文件在新的尺寸條件下重新生成模型.本文為機(jī)械傳動(dòng)零件設(shè)計(jì)中大量軸承的快速、準(zhǔn)確查詢與使用,以及軸承的數(shù)據(jù)管理提供了一條有效的途徑,大大提高了機(jī)械設(shè)計(jì)的效率,縮短了設(shè)計(jì)周期,也為使用CATIA開發(fā)其他的標(biāo)準(zhǔn)件庫和控件提供了思路.
[1] 石義民,王波.CATIA V5環(huán)境下的零件參數(shù)化建模方法[J].汽車工程師,2011(11):28-31.
[2] 李建.基于CATIA的三維參數(shù)化零件特征庫的創(chuàng)建與使用[J].成都大學(xué)學(xué)報(bào):自然科學(xué)版,2011,30(1):58-61.
[3] 趙立營,黃翔.基于CATIA的三維標(biāo)準(zhǔn)件庫的研究與實(shí)現(xiàn)[J].電氣技術(shù)與自動(dòng)化,2003(3):54-56.
[4] 魏華峰,郝泳濤.基于CATIA平臺(tái)三維通用機(jī)械零件庫系統(tǒng)的開發(fā)[J].機(jī)械設(shè)計(jì)與制造,2005(9):85-87.
[5] LU Yong,LI Yingguang,LIAO Wenhe.Research of application modes of parts library system [J].Computer Supported Cooperative Work in Design III,2007(2):335-346.
[6] 成大先.機(jī)械設(shè)計(jì)手冊(cè)[M].北京:化學(xué)工業(yè)出版社,2004:2 233-2 398.