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