1. 引言
CATIA软件设计人员为了满足高级用户的定制化工作需求,为用户预留了众多的二次开发接口 [1] ,用户可使用这些接口完成自定义命令按钮、编写宏程序、自动装配等高级功能。
这些接口的开放,极大地提升了软件的易用性和拓展性,对提高工作人员的工作效率、节约研发成本和缩短开发周期有着重要作用 [2] 。
空间柔性链是一种轻型的组合立体输送系统,可以完成水平、螺旋、翻转等复杂输送形式。柔性链设计前期,在三维软件内虚拟装配耗费时间长,劳动成本高,干涉检查困难。本文旨在开发柔性链自动装配工具,保证设计的精准性,提高设计人员工作效率。
2. 柔性链装配探讨
空间柔性链主要运用于食品加工运输行业,输送距离长,链节数量多,往往存在两个方向(垂直、水平)以上的侧弯(如图1所示),文献 [3] 讨论了普通输送链、坦克链的高效装配方法。Solidworks软件提供沿曲线的自动装配技术,装配人员只需选择装配曲线与链节、设置链节距即可完成空间链条装配。

Figure 1. Flexible chains vertical and horizontal turn
图1. 空间柔性链垂直、水平侧弯示意
本文旨在讨论CATIA软件中,空间柔性链的自动装配技术,并通过DMU模块驱动链条运转进行动态干涉检查。
以笔者项目中设计的烟条夹持输送链为例,800个链节,需要创建三千多个约束,手动装配随着链节数的增加,计算机运算量的提升,添加单个配合所需花费的时间将急剧升高。进行输送链DMU分析文献的前期投入劳动强度巨大。
以最少两个链节为例,要完全约束链节并实施DUM分析,至少需要为链节及销轴创建以下配合约束:(表1)

Table 1. Assembly mate type of flexible chains
表1. 柔性链装配所需配合类型
3. 批量装配的实现
手动约束链节与销轴时,零件数量巨大,手动添加约束效率极低,特别是选取约束点、轴线、面时,极易选错、排错亦相当困难。
自动装配方案的实现:
1) 首先获取链条装配线的总长度L;
2) 手动导入一个链节与销钉并添加相应配合,在DMU模块驱动该链节;
3) 通过API移动一个节距P,实例化链节与销钉并创建相应运动副;
4) 循环执行第3步,直到链节首尾相连,至此即完成空间柔性链装配及DMU运动学仿真;
5) 在DMU模块为装配完成的柔性链添加动态碰撞检测,柔性链运动状态下即可验证柔性链导轨设计的合理性。
流程图如图2所示。

Figure 2. Flow chart of flexible chain automatic assembly
图2. 柔性链自动装配流程图
4. 核心代码解析
1) 获取处于激活状态的运动机构:
Set cActiveMechanisms = oRootProduct.GetTechnologicalObject(Mechanisms)
Set WorkMechanism = cActiveMechanisms.Item(1)
2) 获取水平铰链副的参考线与参考面:
sRefName = sChainName&i& /!Axis.1
Set oRefLine1 = oRootProduct.CreateReferenceFromName(sRefName)
sRefName = sConnectName&i + 1 & /!Axis.2
Set oRefLine2 = oRootProduct.CreateReferenceFromName(sRefName)
sRefName = sChainName&i& /!Plane.1
Set oRefPlane1 = oRootProduct.CreateReferenceFromName(sRefName)
sRefName = sConnectName&i + 1 & /!zx plane
Set oRefPlane2 = oRootProduct.CreateReferenceFromName(sRefName)
3) 创建水平铰链副:
Set oNewJoint = WorkMechanism.AddJoint(CATKinRevoluteJoint, rotateJointRef)
与步骤b、c相似可以创建垂直铰链副。
4) 获取点-线副的参考点与参考线:
sRefName = sRootName& /Guideline.1/!Join.1
Set oRefLine1 = oRootProduct.CreateReferenceFromName(sRefName)
sRefName = sChainName&i + 1 & /!Point.6
Set oRefPoint = oRootProduct.CreateReferenceFromName(sRefName)
5) 创建点-线副:
Set oNewJoint = WorkMechanism.AddJoint(CATKinPointCurveJoint, pointCurveJointRef)
以上程序均在Windows 7系统下的CATIA P3V5R21版本中调试通过。
5. 实例测试
利用本文所述方法,通过对CATIA的二次开发建立了柔性链的自动装配工具。以图3左所示空间曲线为柔性链装配参考线验证文中所述方法。图中柔性链节距33.5 mm,装配参考线周长4489 mm,所需链节数134个。图3右是完成装配的柔性链,用时380秒。自动装配的实现,将装配人员从单一重复的命令操作中解放出来,提高工作效率的同时,更保证了柔性链的装配质量。

Figure 3. Result of flexible chain automatic assembly
图3. 柔性链批量装配效果
在DMU模块内为当前激活的运动机构设置适当的运动仿真参数以及动态碰撞监测值即可对所设计柔性链的运动学性能进行仿真分析。图4是该输送链的碰撞检查结果,链节在运行至水平转弯时产生最大0.14 mm的干涉,为解决该问题,可增大轨道转弯半径,或为每个链节产生干涉的部分添加适当倒角。
6. 结论
本文针对实际工作过程中空间柔性链条手动装配操作繁琐、准确率低、劳动强度大的难题,利用CATIA的二次开发工具设计出了自动装配工具并验证了其可行性。本方法极大地提高了空间链装配效率和准确率,装配完成的同时,DMU运动机构亦被创建,装配完成即可进行DMU仿真。
基金项目
红塔烟草(集团)有限责任公司科技项目“基于仿真的红塔集团卷接包设备智能管理平台研究与应用”(S-6018002)。