基于VB6.0平台开发在CATIA软件内自动分析焊接空间可行性的工具
2024-10-29梁刚
摘要:工艺分析在产品开发过程中十分重要,焊点空间可行性分析是工艺分析中的重点之一。应用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.