10.16638/jki.1671-7988.2020.23.014
基于CATIA二次开发的驱动运动分析方法
段维
(威马汽车技术有限公司成都研究院,四川成都610100)
摘要:文章利用CATIA自动化对象技术,通过VB对CATIA进行二次开发,研究将复杂的驱动轴运动校核过程用程序进行封装。设计人员仅需要在含有驱动轴的悬架DMU运动模型基础上提供简单的驱动轴相关的参数,即可完成驱动轴的运动校核过程,程序将以Excel的形式自动输出所需要的结果。设计人员可通过该结果进行驱动轴后续的分析与校核,基本实现了提供输入,马上得到输出的结果,省去了中间大量的复杂的操作过程,提高了工作效率。结果表明,文章所述的二次开发程序对于驱动轴的运动分析校核有较大的应用价值,降低了出错率,缩短了开发周期。
关键词:驱动轴;运动分析;VB;二次开发
中图分类号:U462.1 文献标识码:A 文章编号:1671-7988(2020)23-42-04
Driving shaft motion analysis based on CATIA secondary development
Duan Wei
( Weima Automobile Technology Co. LTD, Chengdu Research Institute, Sichuan Chengdu 610100 )
Abstract: Using CATIA automation technology of secondary development, this paper studies encapsulating the process of driving shaft motion analysis with VB program. Designers only need to provide simple parameters of driving shaft in DMU, then it will complete the driving shaft motion analysis process. The program will output the required results in the form of excel automatically. The designers can complete the following analysis and check of the driving shaft. The program realizes output the results immediately with the input, eliminating a lot of complicated operation process, and work efficiency is improved. The results show that, the secondary development program described in this paper has great application value or the driving shaft motion analysis and check, which reduces the error rate and shortens the development cycle. Keywords: Driving shaft; Motion analysis; VB; Secondary development
CLC NO.: U462.1 Document Code: A Article ID: 1671-7988(2020)23-42-04
引言
在驱动轴的滑移率校核时,主要关注驱动轴内、外球笼在随悬架运动过程中的最大摆动角度,以及内球笼铰接点的滑移量。在悬架的DMU运动模型当中,首先测量外球笼的摆动角度、内球笼的摆动角度以及内球笼铰接点与参考点的距离,再在命令驱动窗口当中激活上述外球笼角度、内球笼角度、内球笼滑移点距离共三个测量的传感器。然后,在我们按需将驱动命令拖动到各个极限位置时,上述角度与距离会按步变化,同时,每一步的具体值将被记录,最终可通过Excel表格进行输出,再进行后续的处理与分析。在获取数据表格的过程中,上述方式需要进行多步的操作,十分繁琐。若考虑左、右驱动轴,动力总成的28工况,工作量将成倍增加。
作者简介:段维(1989-),男,工程师,本科,就职于威马汽车技术有限公司成都研究院,研究方向:底盘系统布置与校核。
42
段维:基于CATIA 二次开发的驱动轴运动分析方法
43
本文以VB 为开发工具,基于CATIA 的自动化接口,对CATIA 进行二次开发,将上述驱动轴的滑移率校核的操作以程序进行打包,用户仅需要选择并输入简单的参数,即可得到内、外球笼夹角及滑移随悬架运动的变化的Excel 表格。同时,可以快速获得最大夹角与最大滑移量。
1 CATIA 二次开发方法
CATIA 是法国达索公司开发的CAD/CAE/CAM 一体化软件,它不仅仅是一款优秀的计算机辅助设计软件,用户可以直接使用它内部的丰富的命令,同时,它还为用户提供了多种二次开发的接口,如自动化对象编程(V5 Automation )和开放的基于组件的应用程序编程(CAA ),使得用户可以自定义更符合自己习惯与专业的工具。
本文主要是用VB 进行自动化对象编程。在CATIA 的安装目录下可以很轻松到  V5Automation.chm 文件。在该文件中,我们可查询到CATIA 各个自动化对象的名称以及其对应的属性及方法。本文涉及到的自动化对象主要有:ProductDocument 对象,Selection 对象(图1), SPAWorkbench (图2)对象以及AnyObject 对象中的Mechanism (图3)对象。
图1  CATIA 自动化对象树结构
图2  CATIA 自动化对象SPAWorkbench 对象树结构
用Item 的方法遍历集合下的所有子元素;使用Selection 对象中的SelectElement3方法进行人机的交互选择;使用SPAWorkbench 工作台中的GetMeasurable 方法获取点坐标、
直线间的角度等;在Mechanism 对象中使用PutCommand Values 方法给悬架DMU 运动模型的驱动命令赋值。具体的自动化对象结构树见图。
图3  CATIA 自动化对象Mechanism 对象树结构
2 悬架DMU 运动模型的预处理
在运行程序之前,需要对悬架DMU 运动模型进行预处理。以前驱车,前转向为例:
(1)DMU 运动模型中驱动命令须有且仅有3个,即:转向驱动,左侧跳动驱动,右侧跳动驱动,且三个驱动命令的顺序依次为转向驱动、左侧驱动、右侧驱动;
(2)驱动轴内球笼中心线应为左、右球笼铰接点的连线的延长线,延长的距离为定长即可,这将作为程序的输入。
以上预处理为二次开发的程序结构所要求,并不是在每次运行程序时都需要进行处理。而是在每一个项目的DMU 运动模型的搭建时形成以上的规范,这在公司的规范化建设上是非常容易实现的。
3 驱动轴运动分析的软件实现过程
驱动轴运动分析主要需要获取驱动轴在各个极限状态下的内、外球笼夹角以及内球笼的滑移量。通过依次做出悬架运动的极限状态:内转极限、下极限→外转极限、下极限→外转极限、上极限→内转极限、上极限→内转极限、下极限,达到一个循环,再在其中选取若干个分步点,具体点的数量
视分析的精度而定,进而得到各个分步点下对应的外球笼夹角、内球笼夹角以及内球笼的滑移量。
首先,在程序的输入UI 界面中,我们需要用户判断进行分析的是左侧驱动轴还是右侧驱动轴,另外,需要用户输入如2中(2)所述的延长线的距离。如图4所示。
图4  程序输入界面
程序运行后,进入设计模式,程序将提示用户依次选择
汽车实用技术
44 悬架DMU 运动模型中的外球笼中心线、驱动轴轴杆中心线、内球笼中心线。程序会按设定的分步依次对悬架DMU 施加驱动命令,并分别测量当前驱动命令下的外球笼中心线与轴杆中心线的夹角(即外
球笼夹角),轴杆中心线与内球笼中心线夹角(即内球笼夹角),以及轴杆中心线内侧端点坐标和内球笼中心线端点的坐标。内球笼中心线端点与轴杆内侧端点的距离即为当前状态下的滑移状态,再用上文所述延长线的距离减去此距离,即为当前状态下的内球笼滑移量,其中滑出为正值,滑入为负值。再将各个结果与对应的最大值进行比较,若最大值比该结果小,则将该结果重新赋值给最大值。同时,将各个分步的各个结果存放于Excel 中。程序输出的界面如图5。
图5  程序输出界面
程序的主流程图如图6。
图6  主程序流程图
4 程序的关键内容
将程序参数关联用户输入参数: Private Sub OptionButton1_Click() NameStr = "左" End Sub …
PreDistance = Val(TextBox1.Text) 获取当前的product 文件对象:
Set oRootProduct = CATIA.ActiveDocument.Product oRootProduct.ApplyWorkMode (DESIGN_MODE)
获取机械装置对象并获取转向齿条行程及轮跳上、下极限行程:
Set Mec = oRootProduct. GetTechnological Object ("Mech -anisms").Item(1)
k = Mec.Joints.Count For i = 1 To k On Error Resume Next
Lower1 = Mec.Joints.Item(i).LowerLimit1 Uper1 = Mec.Joints.Item(i).UpperLimit1 If Abs(Lower1) = Uper1 Then Neg_TurnValue = Lower1 Pos_TurnValue = Uper1 Else
LowValue = Lower1 UpValue = Uper1
End If Next
进行人机交互选择并赋值: InputObjectType(0) = "MonoDim"
Status = Selection1.SelectElement3(InputObjectType,"请选择一条轴线", ture,1,False)
Set Axis(i) = Selection1.Item(1).Value
创建所选择轴线的参考,由于在product 文件对象中,需要区别于part 文件对象中的参考的创建:
Set Refe_Axis(1) = oRootProduct. CreateReference From Name(sRefName_1)
给悬架DMU 运动模型进行赋值: Mec.PutCommandValues dValcmd
获取文件对象下的测量工具,测量角度与点的坐标: Set TheSPAWorkbench = CATIA. Active Document. Get Workbench("SPAWorkbench")
Set MyMeasure = TheSPAWorkbench. GetMeasurable (Re -fe_Axis(3))
MyMeasure.GetPointsOnCurve PointsCageIn
Set MyMeasure = TheSPAWorkbench.GetMeasurable ( Re -fe_ Axis(1))
Angle_Out=MyMeasure.GetAngleBetween(Refe_Axis (2)) 将坐标点转换为滑移量:
PPDistance = Sqr((PrePointX - PointX) ^2+(PrePointY - PointY) ^ 2 + (PrePointZ - PointZ) ^ 2)
SlideDistance = PreDistance – PPDistance 创建Excel 表格,并将过程存放于表格中: Set Xlapp = CreateObject("excel.application") Set XlWorkbook = Xlapp.workbooks.Add …
段维:基于CATIA 二次开发的驱动轴运动分析方法
45
Xlapp.Sheets(1).cells(h + 2, 1).Value = dV alcmd(0) & "," & dValcmd(1) & "," & dValcmd(2)
Xlapp.Sheets(1).cells(h + 2, 2).Value = Angle_Out Xlapp.Sheets(1).cells(h + 2, 3).Value = Angle_In Xlapp.Sheets(1).cells(h + 2, 4).Value = SlideDistance 最大值的判断并输出到用户UI 输出界面: If Angle_In > MaxAngleIn Then MaxAngleIn = Angle_In End If …
Label7.Caption = MaxAngleOut Label8.Caption = MaxAngleIn Label9.Caption = MaxSlideDistance Label10.Caption = MinSlideDistance
利用程序自动生成的Excel 部分结果如表1。
表1  输出Excel 部分结果
5 结论
在利用VB 进行CATIA 的二次开发后,利用程序对驱动 轴的运动分析便变得异常简单。设计人员仅需向程序输入两个值:驱动轴位置及驱动轴内球笼中心线延长线的延长量;并在程序开始后选择外球笼中心线、驱动轴轴杆中心线以及内球笼中心线,其余的分析过程均由程序来完成。校核过程简单,工作效率显著提高。设计人员可以将更多的精力专注于驱动轴运动的结果分析上,在现实工作中有较大的应用价值。
此外,将原来复杂的分析校核过程用程序进行固化,不仅使得整个过程更加规范,也使得人为犯错率大
大的下降。即使是对CATIA 数字样机不熟悉的设计人员,也可以通过此程序顺利地完成驱动轴的运动分析,具有较大的实际价值。
参考文献
[1] 刘宏新,宋微微,史玉红.CATIA 数字样机运动仿真详解[M].北京:
机械工业出版社,2012.
[2] 周桂生,陆文龙.CATIA 二次开发技术研究与应用[J].机械设计与
制造, 2010, 000(001):81-83.
[3] 李自胜,朱莹,向中凡.基于CATIA 软件的二次开发技术[J].西华大诸城汽车网
学学报(自然科学版), 2003,22(1):16-18.
[4] 黄河.基于VB 环境下CATIA 三维试验设备库的建立[J].结构强度
研究,2008(3):58-60.
[5] 胡挺,吴立军.CA TIA 二次开发技术基础[M].北京:电子工业出版
社2006.