邵文慶
(永城職業(yè)學(xué)院機(jī)電工程系,河南 永城476600)
在機(jī)械產(chǎn)品設(shè)計(jì)時,往往用到大量的標(biāo)準(zhǔn)件,在標(biāo)準(zhǔn)件的建模過程中需要查詢國家標(biāo)準(zhǔn)查詢。根據(jù)國家標(biāo)準(zhǔn)確定的數(shù)據(jù)來確定零件的外形、尺寸耗費(fèi)時間和精力,效率低并且容易出錯。隨著科學(xué)技術(shù)的發(fā)展,對零部件設(shè)計(jì)的要求越來越高,設(shè)計(jì)周期也越來越短,如何能夠高效的設(shè)計(jì)產(chǎn)品對快速占領(lǐng)市場非常重要。因而,建立標(biāo)準(zhǔn)件庫以及產(chǎn)品零件庫顯得非常重要。目前,CAD軟件發(fā)展迅速,各個軟件廠商分別以自己軟件平臺建立起標(biāo)準(zhǔn)件庫,如Solidworks、Pro/E和UG等。但國內(nèi)以CATIA建立的標(biāo)準(zhǔn)零件庫還比較少,而以CATIA軟件為基礎(chǔ)建立的聯(lián)軸器標(biāo)準(zhǔn)件庫就根本沒有。為此提出利用CATIA軟件來建立聯(lián)軸器標(biāo)準(zhǔn)件庫。
CATIA軟件是由法國達(dá)索公司開發(fā)的一款高端的三維CAD/CAM/CAE軟件,從1982年面世以來,其界面友好、易于操作、功能強(qiáng)大獲得了用戶的好評,成為高端CAD/CAM/CAE軟件領(lǐng)導(dǎo)者。CATIA軟件本身帶有零件庫,其零件庫主要為螺栓類標(biāo)準(zhǔn)件庫,其標(biāo)準(zhǔn)件庫在設(shè)計(jì)時主要以歐洲、美國和日本等標(biāo)準(zhǔn)為主,缺少以國內(nèi)的國家標(biāo)準(zhǔn)為依據(jù)的零件庫。因此,開發(fā)出適合國內(nèi)機(jī)械產(chǎn)品設(shè)計(jì)人員需求的標(biāo)準(zhǔn)零件庫顯得非常重要。在CATIA V5R20軟件中實(shí)現(xiàn)標(biāo)準(zhǔn)零件庫的開發(fā)可以通過以下三種方法實(shí)現(xiàn):
(1)利用CATIA軟件的知識工程與專家系統(tǒng)的開發(fā)
在CATIA軟件的知識工程與專家系統(tǒng)中,提供了公式、設(shè)計(jì)表和目錄功能,利用這些功能可以實(shí)現(xiàn)三維標(biāo)準(zhǔn)零件庫的開發(fā)。
(2)基于CATIA V5 Automation的開發(fā)
基于CATIA V5 Automation的開發(fā)既以Visual Basic6.0(簡寫為VB)為工具,通過訪問CATIA軟件Automation中的對象,完成對標(biāo)準(zhǔn)件庫的開發(fā)。VB是一種可視化語言,簡單、易用,利用VB可以訪問CATIA軟件的類、函數(shù)和庫,可以完成聯(lián)軸器標(biāo)準(zhǔn)零件庫的開發(fā)。
(3)基于構(gòu)件的應(yīng)用編程接口開發(fā)(CAA)
CAA是利用C++語言對CATIA軟件提供的組件的定制開發(fā),對其組件進(jìn)行組合和擴(kuò)展。
本文通過利用CATIA軟件的知識工程與專家系統(tǒng)建立參數(shù)化模型,通過VB程序訪問ACCESS數(shù)據(jù)庫,根據(jù)設(shè)計(jì)人員在VB界面的選擇,查詢聯(lián)軸器的數(shù)據(jù)并顯示出來,由設(shè)計(jì)人員通過VB界面選擇輸入聯(lián)軸器參數(shù),最后由VB界面通過CATIA V5 Automation功能修改聯(lián)軸器零件模型參數(shù),達(dá)到生成所需聯(lián)軸器的目的。本文以LX型彈性柱銷聯(lián)軸器為例展示實(shí)現(xiàn)的方法。
在國家標(biāo)準(zhǔn)《GB/T12458-2017聯(lián)軸器分類》中,聯(lián)軸器分為:剛性聯(lián)軸器、撓性聯(lián)軸器和安全聯(lián)軸器三大類,每一類又根據(jù)其結(jié)構(gòu)和用途不同,分為多個子類別[1]。性聯(lián)軸器中的《彈性柱銷聯(lián)軸器GB/T5014-2017》LX型為例,建立聯(lián)軸器三維實(shí)體模型。
聯(lián)軸器三維模型的建立可以通過兩種方法實(shí)現(xiàn)。一是利用VB調(diào)用CATIA V5 Automation來建立;二是使用CATIA軟件建立聯(lián)軸器模型,再設(shè)置相關(guān)尺寸為變量,通過修改變量來實(shí)現(xiàn)三維模型尺寸數(shù)據(jù)的修改。第二種方法簡單、方便,本文采用第二種方法來建立聯(lián)軸器三維模型。
參數(shù)和關(guān)系在CATIA軟件中,默認(rèn)沒有激活。需要在CATIA軟件工具菜單中選擇選項(xiàng),選擇基礎(chǔ)結(jié)構(gòu)中的產(chǎn)品結(jié)構(gòu),設(shè)置自定義樹,激活自定義樹中的參數(shù)和關(guān)系兩個選項(xiàng)。以便在CATIA軟件中設(shè)置的參數(shù)和關(guān)系能夠在樹狀圖中顯示出來。
LX型彈性柱銷聯(lián)軸器(軸孔長度Y型)三維模型如圖1所示,LX型彈性柱銷聯(lián)軸器參數(shù)定義如圖2所示。在《彈性柱銷聯(lián)軸器GB/T5014-2017》中已經(jīng)給定了以下參數(shù):聯(lián)軸器外圓直徑D、凸緣直徑D1、軸孔直徑d1(d2,dz)、聯(lián)軸器寬度b、間隙S和軸孔長度L(L1),這些參數(shù)可參照國家標(biāo)準(zhǔn)值;聯(lián)軸器連接孔D3、聯(lián)軸器連接孔中心距D2,聯(lián)軸器JZ型凹槽Dj/Dz在國家標(biāo)準(zhǔn)中并沒有給定,可根據(jù)生產(chǎn)需要指定。在建立聯(lián)軸器三維模型時,把以上參數(shù)定義為用戶參數(shù),類型設(shè)置為長度變量。LX型彈性柱銷聯(lián)軸器用戶參數(shù)如圖3所示。
圖1 LX型彈性柱銷聯(lián)軸器(軸孔長度Y型)三維模型
圖2 LX型彈性柱銷聯(lián)軸器參數(shù)[2]
圖3 LX型彈性柱銷聯(lián)軸器用戶參數(shù)
衡量一個系統(tǒng)的易用性的重要指標(biāo)是其人機(jī)界面和人機(jī)交互能力,良好的人機(jī)交互界面可以使用戶在進(jìn)行產(chǎn)品設(shè)計(jì)時輕松自如,也很容易掌握系統(tǒng)的功能。以美觀、直觀、易于操作為原則,通過VB6.0開發(fā)環(huán)境設(shè)計(jì)出了LX型彈性柱銷聯(lián)軸器的人機(jī)交互界面。聯(lián)軸器人機(jī)交互界面需要實(shí)現(xiàn)以下功能:(1)選擇不同的類型、輸入不同的參數(shù),在人機(jī)交互界面中可把同一類型的共同的參數(shù)通過ACCESS查詢得到,顯示在界面上;(2)把參數(shù)分類,如把參數(shù)分為主動端參數(shù)、從動端參數(shù),以及國標(biāo)給定的公共參數(shù)、國標(biāo)未給定的參數(shù);(3)聯(lián)軸器連接時用到的其它國標(biāo)件選擇;(4)在《彈性柱銷聯(lián)軸器GB/T5014-2017》中給定了公稱轉(zhuǎn)矩和許用轉(zhuǎn)速,但這兩個參數(shù)不屬于尺寸參數(shù),對于聯(lián)軸器模型的生成無影響,但其可做為聯(lián)軸器選擇的一種條件,本文中在輸入聯(lián)軸器型號時,在界面中顯示公稱轉(zhuǎn)矩和許用轉(zhuǎn)速,以此做為聯(lián)軸器型號選擇的參照。LX型彈性柱銷聯(lián)軸器人機(jī)交互界面如圖4所示。
圖4 LX型彈性柱銷聯(lián)軸器人機(jī)交互界面
利用VB編程時,可以用下面的方法來訪問CATIA軟件。
Dim CATIA As Object /*定義CATIA為
Object對象);*/
On Error Resume Next /*出現(xiàn)錯誤執(zhí)行下一名;*/
Set CATIA=GetObject(,"CATIA.Application")
/*CATIA已經(jīng)打開,利用GetObject獲得Application;*/
If Err.Number<>0 Then
Set CATIA=CreateObject("CATIA.Application")
/*CATIA未打開,利用CreateObject獲得Application;*/
CATIA.Visible=True /*CATIA對象可見*/
End If
On Error GoTo 0 /*取消錯誤控制*/;
利用程序判斷CATIA軟件是否已經(jīng)運(yùn)行,如果已經(jīng)運(yùn)行,利用GetObject方法訪問;如果CATIA未運(yùn)行,利用CreatObject方法建立。
把LX型彈性柱銷聯(lián)軸器LX1至LX14型共115條記錄建立《LX型彈性柱銷聯(lián)軸器》表,字段包括國標(biāo)給定參數(shù):聯(lián)軸器外圓直徑D、凸緣直徑D1、軸孔直徑d1(d2,dz)、聯(lián)軸器寬度b、間隙S和軸孔長度L(L1),未給定參數(shù)參考數(shù)據(jù):聯(lián)軸器連接孔D3、聯(lián)軸器連接孔中心距D2,聯(lián)軸器JZ型凹槽Dj/Dz.以上參數(shù)建立數(shù)據(jù)表,建立LX1至LX14型共115條記錄,以SELECT語句查詢數(shù)據(jù)查詢調(diào)用。LX型彈性柱銷聯(lián)軸器表如圖5所示。
圖5 LX型彈性柱銷聯(lián)軸器數(shù)據(jù)表(部分)
建立《LX型彈性柱銷聯(lián)軸器》表后,利用VB軟件的ADO功能來訪問ACCESS,使用SELECT語句查詢數(shù)據(jù),查詢結(jié)果賦給人機(jī)交互界面的列表框。下面程序查詢《LX型彈性柱銷聯(lián)軸器》表中所有s的不重復(fù)值,并把結(jié)果賦給下拉列表ListBoxD。
Private Sub Form_Load()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim D As ADODB.Field
Dim StrConnect As String
Dim strSQL As String
Dim ZiDuan As String '字段變量
Dim arr()as Single
Dim i as Integer
ZiDuan="s"
StrConnect="D:LX型彈性柱銷聯(lián)軸器.mdb"'連接路徑
cn.Provider="Microsoft.Jet.OLEDB.4.0"
cn.Open StrConnect
strSQL="select distinct"+ZiDuan+"from LX型彈性柱銷聯(lián)軸器"
rs.Open strSQL,cn,adOpenDynamic,adLock-Optimistic,adCmdText
Set D=rs.Fields(ZiDuan)
i=0
Do While Not rs.EOF
arr(i)=D'把D的數(shù)據(jù)賦給數(shù)組arr()
rs.MoveNext
Loop
ListBoxD.List=arr() '把數(shù)組 arr()賦給下拉列表ListBoxD
rs.Close
cn.Close
Set rs=Nothing
Set cn=Nothing
End Sub
在完成系統(tǒng)設(shè)計(jì)后,以主動端、從動端均為Y型軸孔、鍵槽為A型、d1=38 mm、L=160 mm LX3聯(lián)軸器為例生成聯(lián)軸器工程圖紙。在VB人機(jī)界面中選擇主動端、從動端軸孔類型為LX3 1250*4750,VB程序通過select語句查詢ACCESS中的數(shù)據(jù)得到S、擋板外徑和擋板內(nèi)徑,并確定d1(d2或dz)的查詢范圍,在VB界面的combobox中顯示d1(d2或dz)備選項(xiàng)。在確定d1(d2或dz)的值后,由VB程序通過select語句查詢ACCESS中的數(shù)據(jù)得到L或L1、D、D1和b.最后選擇確定D2,D3,選擇螺栓標(biāo)準(zhǔn)件和鍵槽即完成參數(shù)輸入。單擊參數(shù)確認(rèn)更新,VB與CATIA軟件建立連接,傳送輸入?yún)?shù)到三模型,刷新后生成LX3聯(lián)軸器38*160 GB/T5014-2017.生成的聯(lián)軸器三維模型和工程圖如圖6、圖7所示。
圖6 LX型彈性柱銷聯(lián)軸器三維模型(YY型軸孔)
圖7 LX型彈性柱銷聯(lián)軸器剖視圖
本文對基于CATIA的聯(lián)軸器標(biāo)準(zhǔn)件庫設(shè)計(jì)開發(fā)進(jìn)行了一些研究和探討,并在LX型彈性柱銷聯(lián)軸器標(biāo)準(zhǔn)件庫開發(fā)中進(jìn)行了應(yīng)用,解決了在機(jī)械產(chǎn)品設(shè)計(jì)時快速使用國家標(biāo)準(zhǔn)中的聯(lián)軸器尺寸數(shù)據(jù)、生成聯(lián)軸器標(biāo)準(zhǔn)件的問題,在某礦用機(jī)械廠已經(jīng)使用,大大提高了產(chǎn)品的設(shè)計(jì)效率,也為其它標(biāo)準(zhǔn)件庫的開發(fā)提供了一種思路。