杜寶江,鄭飛飛,李傳磊,馬 丹,王孟飛
(上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200093)
CATIA標(biāo)準(zhǔn)零件庫的開發(fā)
杜寶江,鄭飛飛,李傳磊,馬 丹,王孟飛
(上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200093)
針對CATIA 標(biāo)準(zhǔn)零件庫更新性差、種類少、無法應(yīng)對企業(yè)進(jìn)行針對性使用的缺點(diǎn),研究了CATIA標(biāo)準(zhǔn)零件庫的二次開發(fā)。文中主要以CATIAV5R18作為支撐平臺,利用SQL Server 2005存儲和管理標(biāo)準(zhǔn)件信息,通過VB.NET對CATIA二次開發(fā),并且做出整個系統(tǒng)的主界面。根據(jù)企業(yè)對機(jī)械零件的不同要求,在主界面中選擇不同的參數(shù),并將從數(shù)據(jù)庫中搜索到的零件調(diào)用到CATIA中進(jìn)行編輯和裝配。結(jié)果表明,該管理系統(tǒng)針對性強(qiáng)、避免了重復(fù)建模,減少了設(shè)計時間、提高了設(shè)計效率。
CATIA;VB.NET;SQL;標(biāo)準(zhǔn)零件庫
隨著機(jī)械制造自動化的不斷發(fā)展,各企業(yè)需要的三維模型種類繁多、形狀復(fù)雜且被反復(fù)利用。企業(yè)都有自己的零件庫,但是多數(shù)都是依賴于CAD軟件自帶的標(biāo)準(zhǔn)零件庫,該標(biāo)準(zhǔn)零件庫更新性差、沒有針對性、實(shí)用性差、調(diào)用較復(fù)雜。針對以上問題,文中利用CAD/CAM軟件開發(fā)的參數(shù)化建模功能。通過該功能可以設(shè)計具有用戶特性的零件庫,以便于滿足不同需求和指導(dǎo)機(jī)械零件的生產(chǎn)[8]。三維參數(shù)化建模是機(jī)械工作的基礎(chǔ)比二維更能體現(xiàn)零件的特性,滿足不同客戶個性化的特征。將CATIA建好的模型導(dǎo)出Excle表,表內(nèi)包含模型的幾何參數(shù)及附帶加工信息,便于改變參數(shù)來豐富自己的模型庫和指導(dǎo)機(jī)械零件的加工[1]。CATIA標(biāo)準(zhǔn)零件庫的開發(fā)大幅提高了零件調(diào)用的效率、裝備的準(zhǔn)確性和生產(chǎn)效率。
大多數(shù)三維軟件的參數(shù)化建模需要通過軟件的接口編程實(shí)現(xiàn),進(jìn)行編程對操作人員的技術(shù)水平要求較高[7]。CATIA V5為用戶提供了可視化的操作工具在可視化的操作環(huán)境下可以輕松的完成三維的參數(shù)化建模。CATIA的參數(shù)化建模功能就是在三維機(jī)械模型創(chuàng)建的過程中對其幾何尺寸進(jìn)行參數(shù)化,通過改變參數(shù)(如模型長度、寬度以及拉伸高度等)來控制模型的目的,其中的關(guān)鍵就是參數(shù)、公式、表格、特征驅(qū)動圖形[2]。以用于航空零件的HB-7208沉頭螺釘為例。
圖1 HB-7208沉頭螺釘
以CATIA內(nèi)部的系統(tǒng)參數(shù)為基礎(chǔ)來創(chuàng)建不同的零件模型。根據(jù)不同的要求選擇了螺釘?shù)牟煌瑓?shù),然后再用公式對螺釘參數(shù)進(jìn)行約束。公式是自定義參數(shù)和系統(tǒng)參數(shù)的橋梁,當(dāng)改變螺釘參數(shù)的大小時就會通過公式連接系統(tǒng)參數(shù)從而驅(qū)動改變螺釘?shù)男螤睢?/p>
將一個創(chuàng)建好的“三維機(jī)械模型”存放在表格中。這里存放在表格中的是模型本身所附帶的參數(shù),而非真正的CATIA模型。通過手動改變、添加表內(nèi)的數(shù)據(jù)進(jìn)而修改螺釘?shù)膸缀纬叽绾吞砑右粋€新的螺釘模型。以HB-7208螺釘為例來觀察表格中的對應(yīng)參數(shù)。
表1 沉頭螺釘?shù)膮?shù)化特性
表1所示是螺釘建模時所涉及的主要參數(shù)和一些附帶的加工信息(Mass、Material、Finish)來指導(dǎo)螺釘?shù)募庸ず脱b配。用戶可以根據(jù)需求來擴(kuò)充附帶的加工信息。
圖2 模型參數(shù)關(guān)聯(lián)表格參數(shù)
共有設(shè)計參數(shù)的尺寸、約束和公式尺3種主要類型。尺寸主要用來表示機(jī)械零件的形狀、大小等;約束的主要功能就是來限制各元素之間的特殊關(guān)系,比如垂直相切等。各參數(shù)之間存在的加減、乘除等的數(shù)學(xué)關(guān)系就用公式來表示。如圖2示的界面就是將CATIA內(nèi)模擬的參數(shù)與表格中的參數(shù)關(guān)聯(lián)起來以此來實(shí)現(xiàn)通過填寫表格來獲得更多的模型。Columns 所表示的名稱是表格中所填寫的參數(shù)。Parameters 下是模型本身具有的參數(shù)。操作的時候要一組一組的進(jìn)行關(guān)聯(lián),選定要關(guān)聯(lián)的參數(shù)點(diǎn)擊Associate 就是實(shí)現(xiàn)的模型參數(shù)和表格參數(shù)的關(guān)聯(lián)。
三維機(jī)械設(shè)計軟件的二次開發(fā)其實(shí)并不容易,而本論文所涉及到的VB對CATIA的二次開發(fā)主要是一些簡便、易行的操作步驟。通過VB這個橋梁,從數(shù)據(jù)庫中把符合設(shè)計要求的三維零件調(diào)取到CATIA中進(jìn)行編輯。最后將VB編寫的程序發(fā)布成一個軟件,利用打開軟件的方式進(jìn)行對三維模型篩選[3]。
在通過編程啟動CATIA之前要引用其的庫文件。
(1)CATIA V5 GSMInterfaces Object Library;
(2)CATIA V5 InfInterfaces Object Library;
(3)CATIA V5 KnowledgeInterfaces Object Library;
(4)CATIA V5 MecMoldInterfaces Object Library;
(5)CATIA V5 PartInterfaces Object Library;
(6)CATIA V5 SpaceAnalysisInterfaces Object Library。
以下是通過VB來啟動CATIA的程序段:
Dim CATIA As Object
On Error Resume Next
CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
On Error GoTo 0
圖3 利用VB.net編寫的搜索界面
一般情況下利用VB啟動CATIA較慢,最好的辦法就是手動啟動CATIA,然后在利用程序?qū)ATIA連起來[6]。 如圖3所示是利用VB設(shè)計的搜索主界面,該主界面主要包括: 常用零件、搜索零件、搜索圖標(biāo)、退出。主要的工作原理:在輸入框內(nèi)輸入需要搜索的零件點(diǎn)擊搜索,該界面是利用VB.net編程和數(shù)據(jù)庫連在一起的[9]。數(shù)據(jù)庫內(nèi)的零件都是通過平時積累完善的,在搜索的過程中可以根據(jù)要求的質(zhì)量、型號、加工方式以及表面的處理情況等參數(shù)來進(jìn)行搜索。常用零件后的內(nèi)容不斷更新,根據(jù)零件被搜索的次數(shù)來決定排列的順序,達(dá)到方便用戶搜索零件的目的[11]。
零件庫是CAD最主要的一部分,在計算機(jī)輔助設(shè)計、機(jī)械制造、計算機(jī)的信息集成等方面起著至關(guān)重要的作用。系統(tǒng)的零件庫主要是根據(jù)不同公司的要求以及某零件的不同使用頻率,以SQL為媒介建立一個不同于CATIA自帶的標(biāo)準(zhǔn)零件庫[12]。對于某個零件應(yīng)該包括質(zhì)量、型號、表面處理方法、材料等信息以方便用戶對零件庫查詢、檢索和調(diào)用。最后的目的就是根據(jù)機(jī)械設(shè)計的要求將零件庫中的零件調(diào)用到CATIA中[5]。對于零件庫的訪問需要借助到VB.net工具。以下是VB連接SQL模塊代碼[13]
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public addFlag As Boolean
Public Function OpenCn(By Val As Strig)As Boolean
Dim mag As String
On Error Go To strerrmag
Set.conn=New.ADODB.Connection
conn.Connection Timeout=25
conn.Provider=“sqloledb”
conn.Properties(“data source”).Value=Cip//服務(wù)器名稱
conn.Properties(“initial catalog”).Value=“zqoa”零件庫的名稱
conn.Properties(“integrated catalog”).Value=“sspi”登錄的類型
conn.Properies(“password”).Value=“sa”
conn.Open
OpenCn=True
addFlag=True
Exit Function
Strerrmag
Mag=“DATA can not connect”
Call MsgBox(mag,vbOKOnly,“ErrorData connect”)
addFlag=False
Exit Function
End Function
本文主要通過設(shè)計一個搜索機(jī)械零件的系統(tǒng)達(dá)到開發(fā)CATIA標(biāo)準(zhǔn)零件庫的目的。
圖4 系統(tǒng)工作的主要流程
圖4所示是該系統(tǒng)工作的主要流程,其中包括訪問數(shù)據(jù)庫、開發(fā)CATIA以及根據(jù)不同的參數(shù)對機(jī)械零件的搜索原理。
根據(jù)機(jī)械設(shè)計的不同要求來選擇不同的機(jī)械零件,然后打開該軟件進(jìn)入搜索功能。輸入有關(guān)零件的不同參數(shù):質(zhì)量、型號、材料以及表面處理方法等等進(jìn)行機(jī)械零件檢索。檢索原理是利用VB.net訪問數(shù)據(jù)庫,找出數(shù)據(jù)庫中滿足要求的機(jī)械零件,找到滿足機(jī)械設(shè)計的零件后將零件調(diào)到CATIA繪圖軟件中進(jìn)行編輯設(shè)計[14]。
隨著機(jī)械自動化的不斷發(fā)展,機(jī)械設(shè)計有一個多樣、復(fù)雜的發(fā)展趨勢。對于機(jī)械零件需求量越來越大、種類越來越多。CATIA繪圖軟件自帶的機(jī)械零件庫里的標(biāo)準(zhǔn)件已經(jīng)無法滿足多樣的設(shè)計要求和原則?;赩B.net、SQL的CATIA標(biāo)準(zhǔn)零件庫系統(tǒng)能填補(bǔ)這方面的不足,企業(yè)根據(jù)自己產(chǎn)品設(shè)計的特性,對零件庫進(jìn)行實(shí)時的增、刪達(dá)到不斷更新的目的[15]。一個完善的零件庫將大幅提高設(shè)計的效率和準(zhǔn)確度。該庫內(nèi)的機(jī)械零件不是標(biāo)準(zhǔn)件,零件的尺寸,材料通過參數(shù)化建模進(jìn)行的規(guī)定來滿足各式各樣的設(shè)計需求。基于VB.net、SQL的CATIA標(biāo)準(zhǔn)零件庫系統(tǒng)不僅在數(shù)量有了提升,在機(jī)械零件的種類方面對于標(biāo)準(zhǔn)庫更是一個完善。
[1] Dassault Systemes.CAA V5encyclopaedia[C].Paris:Dassault Systemes,2000.
[2] Liu Jianfeng,Jiang Yong,Sun Gengyue.The application and research of 3-D standard P-lib of the die CAD[C].Paris:Proceedings of the 2007 IEEE International Conference on Mechatronics and Automation,2002.
[3] Rezayat.Konwledge-based product development using XML and KC[J].Computer-Aided Design,2000(6):7-10.
[4] 萬久團(tuán),黃翔.基于UG的三維參數(shù)化標(biāo)準(zhǔn)件庫的建立[J].機(jī)械制造與自動化,2002(6):82-84.
[5] 崔再惠.Access數(shù)據(jù)庫與SQL Server數(shù)據(jù)庫主要功能的比較[J].鞍山師范學(xué)院學(xué)報,2009,11(6):51-52.
[6] 杜寶江.虛擬制造[M].上海:上海科學(xué)技術(shù)出版社,2012.
[7] 郭靜靜,杜寶江,馬群,等.多種CAD環(huán)境下的標(biāo)準(zhǔn)件參數(shù)化方法[J].電子科技,2011,24(12):7-9.
[8] 胡師彥.微軟SQL Server2000數(shù)據(jù)庫的特點(diǎn)及查詢優(yōu)化研究[J].蘭州工業(yè)高等??茖W(xué)校學(xué)報,2002,9(1):1-4.
[9] 胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.
[10] 王麗,李媛.SQL Server 數(shù)據(jù)庫教學(xué)研究與實(shí)踐[J].石家莊理工職業(yè)學(xué)院學(xué)術(shù)研究,2009(4):7-8.
[11] 魏慧,王琳.剖析ACCESS數(shù)據(jù)庫安全機(jī)制[J].中國高科技企業(yè),2009(23):177-178.
[12] 楊流輝,張和明.基于COM組件的CATIA產(chǎn)品信息集成技術(shù)研究與實(shí)現(xiàn)[J].計算機(jī)工程與應(yīng)用,2001,37(24):132-134.
[13] 趙廣,楊宏,赫立遠(yuǎn).基于CATIA平臺的自頂向下參數(shù)化車身設(shè)計[J].汽車實(shí)用技術(shù),2013(8):8-12.
[14] 朱烜璋,李婭菲.MSSQL數(shù)據(jù)庫遠(yuǎn)程備份系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].湖南科技學(xué)院學(xué)報,2008(8):95-96.
[15] 朱玉琳.關(guān)于網(wǎng)站的Access數(shù)據(jù)庫轉(zhuǎn)換成SQL Server數(shù)據(jù)庫相關(guān)問題的探討[J].錫林郭勒職業(yè)學(xué)院報,2007(2):4-6.
Development of CATIA Standard Parts Library
DU Baojiang,ZHENG Feifei,LI Chuanlei,MA Dan,WANG Mengfei
(School of Mechanical Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
Secondary development of CATIA Standard Parts Library was studied to solve its disadvantages of poor updating, less species and weak pertinence. Regarding CATIA V5R18 as the support platform, using SQL server 2005 to manage the standard part and the standard part information, the paper did secondary development of CATIA through VB.NET and made the main interface for entire system. According to the different requirements of mechanical parts from enterprises, different parameter was selected from the main interface, then the parts searched from database were compiled and assembled in CATIA. The results show that the management system has strong pertinence, avoids repeated modeling, reduces the design time and improves the design efficiency.
CATIA; VB.NET; SQL; Standard parts library
2016- 10- 31
杜寶江(1962-),男,副教授。研究方向:虛擬制造。鄭飛飛(1990-),男,碩士研究生。研究方向:虛擬制造。
10.16180/j.cnki.issn1007-7820.2017.09.010
TP311;TK413.44
A
1007-7820(2017)09-034-04