摘要:工藝分析在產(chǎn)品開發(fā)過程中十分重要,焊點(diǎn)空間可行性分析是工藝分析中的重點(diǎn)之一。應(yīng)用CATIA Automation二次開發(fā)技術(shù),開發(fā)自動(dòng)生成模擬焊鉗的應(yīng)用程序,通過模擬焊鉗應(yīng)用程序,來提高產(chǎn)品數(shù)據(jù)工藝分析效率。
關(guān)鍵詞:CATIA;焊接可行性;焊點(diǎn);焊槍
在焊裝工藝分析中,焊接空間的可行性分析至關(guān)重要,白車身焊點(diǎn)數(shù)一般在4500~5500,自動(dòng)化線采用仿真軟件進(jìn)行確認(rèn),手動(dòng)線通過在CATIA內(nèi)插入焊鉗確認(rèn)焊接可行性。但是在前期數(shù)據(jù)階段,通常仿真還未介入,只能通過工程師手動(dòng)插入焊鉗,單個(gè)焊點(diǎn)進(jìn)行確認(rèn),這樣工作量大、效率低且易于出錯(cuò)。因此,本文嘗試通過應(yīng)用CATIA二次開發(fā)技術(shù),結(jié)合VB軟件,開發(fā)自動(dòng)生成模擬焊鉗的應(yīng)用程序,并經(jīng)實(shí)例驗(yàn)證運(yùn)用程序,極大提高了焊接空間可行性分析的效率,縮短了產(chǎn)品工藝分析的時(shí)間。
CATIA二次開發(fā)技術(shù)
CATIA軟件在3D建模、分析、裝配及制圖等領(lǐng)域運(yùn)用十分廣泛,軟件本身不僅功能強(qiáng)大,還為設(shè)計(jì)者提供了進(jìn)程內(nèi)應(yīng)用程序和進(jìn)程外應(yīng)用程序兩種二次開發(fā)技術(shù)。進(jìn)程內(nèi)的應(yīng)用程序是指腳本和CATIA在同一進(jìn)程內(nèi)運(yùn)行,簡(jiǎn)單地說,是由CATIA的腳本引擎來解析執(zhí)行宏腳本命令的。進(jìn)程內(nèi)的宏腳本可以兼容Unix和Windows平臺(tái)。進(jìn)程外的應(yīng)用程序是指腳本運(yùn)行不由CATIA來調(diào)用,CATIA作為一個(gè)OLE自動(dòng)化服務(wù)器,外部程序通過COM接口來訪問CATIA內(nèi)部的對(duì)象。進(jìn)程內(nèi)的應(yīng)用程序有一定的局限性,因此二次開發(fā)多指進(jìn)程外的應(yīng)用程序開發(fā)。文中的二次開發(fā)是用VB軟件進(jìn)行編程,用Automation技術(shù)直接應(yīng)用API進(jìn)行開發(fā)。
應(yīng)用Automation進(jìn)行二次開發(fā)的基本流程(見圖1),通過VB軟件設(shè)計(jì)交互界面,調(diào)用CATIA API獲取當(dāng)前活動(dòng)CATIA的Application、Documents、Product及Part等關(guān)鍵對(duì)象信息,并通過相關(guān)的方法、屬性在CATIA里生成模擬焊鉗數(shù)據(jù)。
焊點(diǎn)批量模擬的關(guān)鍵技術(shù)
1.CATIA內(nèi)模擬焊鉗建模技術(shù)
一般焊接空間>50mm即可滿足普通焊鉗焊接,普通焊鉗電極桿直徑是16mm,故模擬焊鉗參數(shù)是直徑16mm,高度上、下各50mm。按參數(shù)要求在CATIA軟件內(nèi)進(jìn)行建模,并發(fā)布坐標(biāo)值和向量值參數(shù)(見圖2)。
2.程序設(shè)計(jì)和程序開發(fā)
打開VB軟件,引用工程(見圖3),焊點(diǎn)批量模擬開發(fā)流程如圖4所示,打開CATIA軟件后,判斷是否選擇了焊點(diǎn)文件,然后遍歷焊點(diǎn)文件里的焊點(diǎn)數(shù)據(jù),并獲取和計(jì)算坐標(biāo)、向量,用Insert—Instantiate From Document命令選擇模擬焊鉗,然后批量生成所有焊點(diǎn)的模擬焊鉗數(shù)據(jù)。
關(guān)鍵程序代碼如下:
''鏈接到CATIA軟件
On Error Resume Next
Dim CATIA
Set CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
Set CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
'''獲取焊點(diǎn)文件信息
Dim oDocumentDest, oProduct,sel1
Set oDocumentDest = CATIA.ActiveDocument
Set sel1 = oDocumentDest.Selection
If sel1.count = 0 Then
MsgBox "請(qǐng)選擇焊點(diǎn)文件?。?!"
Exit Sub
End If
'''選擇焊點(diǎn)文件,獲取數(shù)值并存在數(shù)組內(nèi)
Dim xp, xpname , oDt,TSP
Set xp = sel1.Item2(1).Value
xp.ApplyWorkMode 2
xpname = xp.PartNumber
sel1.Search "CATPrtSearch.Point,sel"
Set oDt = CATIA.ActiveDocument.
Set TSP = oDt. GetWorkbench("SPAWorkbench")
Dim p, xg1, point, TheMeasurable1
Dim cc(2) ,mycount As Integer, A() As String
For p = 1 To oDt.Selection.count
Set sel1 = oDt.Selection
Set xg1 = sel1.Item(p)
Set point = xg1.Value
Set TheMeasurable1 = TSP.GetMeasurable(point)
TheMeasurable1.GetPoint cc
mycount = sel1.count
ReDim Preserve A(1 To mycount, 1 To 4)
A(p, 1) = point.Name
A(p, 2) = cc(0)
A(p, 3) = cc(1)
A(p, 4) = cci(2)
Next
'''選擇插入模擬焊鉗,批量修改
Dim PartDocumentDest, factory
Set PartDocumentDest = CATIA.ActiveDocument
Set factory = PartDest.GetCustomerFactory("InstanceFactory")
factory.BeginInstanceFactory "16mm", "D:\LG_Tool\REF_DATA\16mm.CATPart"
factory.BeginInstantiate
Dim param1, param2, param3, param4,
Dim param5, param6, Instance, active1, li
Set param1 = factory.GetParameter("X")
param1.ValuateFromString CStr(x1 * 0.001)
Set param2 = factory.GetParameter("Y")
param2.ValuateFromString CStr(y1 * 0.001)
Set param3 = factory.GetParameter("Z")
param3.ValuateFromString CStr(z1 * 0.001)
Set param4 = factory.GetParameter("DX")
param4.ValuateFromString CStr(DX11)
Set param5 = factory.GetParameter("DY")
param5.ValuateFromString CStr(DY11)
Set param6 = factory.GetParameter("DZ")
param6.ValuateFromString CStr(DZ11)
Set Instance = factory.Instantiate
factory.EndInstantiate
factory.EndInstanceFactory
Instance.Name = Name
Set active1 = CATIA.ActiveDocument
Set sel1 = PartDest.InWorkObject.HybridShapes.Item(i)
Set li = sel1.GetOutput("D16")
li.Name = sel1.Name
PartDest.Update
Next
實(shí)例驗(yàn)證
開發(fā)的應(yīng)用程序操作很簡(jiǎn)單,選擇焊點(diǎn)文件,點(diǎn)擊應(yīng)用程序按鈕。CATIA軟件內(nèi)即可生成模擬焊鉗,例如側(cè)圍外板總成焊點(diǎn)(93點(diǎn),見圖5)焊接可行性分析,發(fā)現(xiàn)流水槽處焊接不可行(見圖6)。
結(jié)語(yǔ)
焊接可行性分析的全面徹底,會(huì)提高產(chǎn)品的數(shù)據(jù)質(zhì)量,減少異形焊鉗、弧焊,降低開發(fā)成本。本文應(yīng)用CATIA二次開發(fā)技術(shù),借助VB軟件開發(fā)了可以批量生成模擬焊鉗的應(yīng)用程序,并通過實(shí)例驗(yàn)證程序的有效性,將縮短焊接可行性分析的周期,提高焊接可行性分析的準(zhǔn)確性。
參考文獻(xiàn):
[1] 胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版,2006.