




摘要:工藝分析在產品開發過程中十分重要,焊點空間可行性分析是工藝分析中的重點之一。應用CATIA Automation二次開發技術,開發自動生成模擬焊鉗的應用程序,通過模擬焊鉗應用程序,來提高產品數據工藝分析效率。
關鍵詞:CATIA;焊接可行性;焊點;焊槍
在焊裝工藝分析中,焊接空間的可行性分析至關重要,白車身焊點數一般在4500~5500,自動化線采用仿真軟件進行確認,手動線通過在CATIA內插入焊鉗確認焊接可行性。但是在前期數據階段,通常仿真還未介入,只能通過工程師手動插入焊鉗,單個焊點進行確認,這樣工作量大、效率低且易于出錯。因此,本文嘗試通過應用CATIA二次開發技術,結合VB軟件,開發自動生成模擬焊鉗的應用程序,并經實例驗證運用程序,極大提高了焊接空間可行性分析的效率,縮短了產品工藝分析的時間。
CATIA二次開發技術
CATIA軟件在3D建模、分析、裝配及制圖等領域運用十分廣泛,軟件本身不僅功能強大,還為設計者提供了進程內應用程序和進程外應用程序兩種二次開發技術。進程內的應用程序是指腳本和CATIA在同一進程內運行,簡單地說,是由CATIA的腳本引擎來解析執行宏腳本命令的。進程內的宏腳本可以兼容Unix和Windows平臺。進程外的應用程序是指腳本運行不由CATIA來調用,CATIA作為一個OLE自動化服務器,外部程序通過COM接口來訪問CATIA內部的對象。進程內的應用程序有一定的局限性,因此二次開發多指進程外的應用程序開發。文中的二次開發是用VB軟件進行編程,用Automation技術直接應用API進行開發。
應用Automation進行二次開發的基本流程(見圖1),通過VB軟件設計交互界面,調用CATIA API獲取當前活動CATIA的Application、Documents、Product及Part等關鍵對象信息,并通過相關的方法、屬性在CATIA里生成模擬焊鉗數據。
焊點批量模擬的關鍵技術
1.CATIA內模擬焊鉗建模技術
一般焊接空間>50mm即可滿足普通焊鉗焊接,普通焊鉗電極桿直徑是16mm,故模擬焊鉗參數是直徑16mm,高度上、下各50mm。按參數要求在CATIA軟件內進行建模,并發布坐標值和向量值參數(見圖2)。
2.程序設計和程序開發
打開VB軟件,引用工程(見圖3),焊點批量模擬開發流程如圖4所示,打開CATIA軟件后,判斷是否選擇了焊點文件,然后遍歷焊點文件里的焊點數據,并獲取和計算坐標、向量,用Insert—Instantiate From Document命令選擇模擬焊鉗,然后批量生成所有焊點的模擬焊鉗數據。
關鍵程序代碼如下:
''鏈接到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
'''獲取焊點文件信息
Dim oDocumentDest, oProduct,sel1
Set oDocumentDest = CATIA.ActiveDocument
Set sel1 = oDocumentDest.Selection
If sel1.count = 0 Then
MsgBox "請選擇焊點文件?。。?
Exit Sub
End If
'''選擇焊點文件,獲取數值并存在數組內
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
實例驗證
開發的應用程序操作很簡單,選擇焊點文件,點擊應用程序按鈕。CATIA軟件內即可生成模擬焊鉗,例如側圍外板總成焊點(93點,見圖5)焊接可行性分析,發現流水槽處焊接不可行(見圖6)。
結語
焊接可行性分析的全面徹底,會提高產品的數據質量,減少異形焊鉗、弧焊,降低開發成本。本文應用CATIA二次開發技術,借助VB軟件開發了可以批量生成模擬焊鉗的應用程序,并通過實例驗證程序的有效性,將縮短焊接可行性分析的周期,提高焊接可行性分析的準確性。
參考文獻:
[1] 胡挺,吳立軍.CATIA二次開發技術基礎[M].北京:電子工業出版,2006.