基于CATIA的圆柱凸轮参数化设计系统的设计及实现
2022-11-23张聚涛
张聚涛
基于CATIA的圆柱凸轮参数化设计系统的设计及实现
张聚涛
(唐山学院 教务处,河北 唐山 063000)
文章以建立凸轮轮廓曲线参数方程为理论基础,通过CATIA的曲线功能生成凸轮轮廓曲线,结合CATIA零件设计工作台建立凸轮的工作廓面,利用CATIA的宏录制命令记录空间凸轮的设计过程,并提取宏程序,以CATIA作为参数化设计的平台,使用VB语言结合提取的宏程序代码设计不同的功能模块对CATIA进行二次开发,建立了圆柱凸轮参数化设计系统,开发的系统可在不启动CATIA的情况下对圆柱凸轮进行参数化设计,不仅提高了设计的精度还提高了设计效率。
圆柱凸轮;轮廓曲线;宏录制;参数化设计;CATIA;系统设计
与平面凸轮机构相比,圆柱凸轮机构具有传力性能好、运动精度高,相比平面凸轮机构其工作轮廓面是空间曲面,如果采用设计平面凸轮轮廓的方法,把圆柱凸轮廓面展成矩形平面,用平面凸轮廓线的设计方法进行设计,此种方法设计的凸轮廓面不仅精度较低,而且计算工作量大,不能自动生成廓面,圆柱凸轮廓面的空间坐标的计算也比较困难。随着计算机辅助设计技术的发展,为了降低圆柱凸轮廓面的设计难度,计算机辅助设计也由原先的平面设计转向基于特征的三维参数化设计,通过改变模型中的一个或几个设计参数的约束量,可以自动改变模型中的关联变量,生成新的模型。基于参数化的设计方法,不仅提高了设计精度,还缩短了设计周期[1]。当前人们对UG、Solidworks、Proe等[1-3]三维软件进行参数化建模研究较多,二次开发较少,CATIA与其它三维软件相比是集设计、组装、运动仿真、加工仿真、有限元分析为一体的三维设计软件,对CATIA的二次开发可充分发挥其设计到加工制造的一体化功能,提高设计制造的精度,此软件的开发对凸轮机构的设计制造具有一定的现实意义。本文通过CATIA的宏录制命令记录空间凸轮的设计过程,再对宏程序的变量进行修改,实现空间圆柱凸轮的参数化设计。
本文以单滚子直动从动件空间圆柱凸轮机构的参数化设计为例进行说明,设计的关键是如何生成圆柱凸轮的轮廓曲线。先建立轮廓曲线的参数化方程,通过参数方程求得轮廓曲线的坐标,再通过CATIA的曲线功能生成凸轮轮廓曲线,利用CATIA零件设计工作台的扫掠、开槽等操作在圆柱表面建立凹槽或者凸缘作为凸轮的工作廓面,在凸轮绘制的同时启用CATIA的宏录制命令,录制凸轮绘制的宏指令,最后通过修改宏指令完成对CATIA的二次开发。
1 凸轮轮廓曲线参数方程的建立
建立如图1所示的柱面坐标系[4],从动件做与凸轮轴线同方向的上下往复运动,根据从动件的运动规律确定从动件的行程、推程角0、远休止角01、回程角0、近休止角02,设凸轮的转角为,可得从动件的行程方程(),设凸轮外径,推程的起始位置与凸轮底面的距离为,从动件滚子外端面中心点为,在平面内投影的极坐标为R和φ,点到轴的距离为,那么点的柱面坐标为
将此方程转换为坐标参数方程为
此方程即为凸轮轮廓曲线的参数化方程,根据已知的基础参数通过此方程可求得轮廓曲线各点的坐标。
图1 柱状坐标系
2 凸轮的建模过程
在凸轮建模前,先启用CATIA软件,在工具菜单下启动宏录制命令,然后在CATIA零件设计工作台建立圆柱凸轮机构的实体操作,点击全部更新和停止录制即完成建模过程及模型特征顺序和关系的所有程序代码的录制。
以设计一个从动件运动规律为余弦加速度的圆柱凸轮,设基圆半径为80 mm,高180 mm从动件行程80 mm,槽宽24 mm,槽深20 mm,推程角60°,远休止角01160°,回程角060°、近休止角0280°,为例进行说明,凸轮各阶段的行程公式为[3][4]
推程:
远休:=+(4)
回程:
近休:=(6)
2.1 凸轮实体的建立
在CATIA开始菜单下选择机械设计模块—零件设计工作台——凸台命令,输入长180 mm,在轮廓工具栏草图命令中建立半径为80 mm的圆,点击确定即可建立半径为=80 mm,高度= 180 mm的凸轮实体,如图2所示。通过输入不同的值和值,就可得到不同的凸轮实体。
图2 凸轮实体
2.2 轮廓曲线的建立
凸轮实体建立后,需要建立包络凸轮实体的轮廓曲线,首先根据设计的行程值、推程值、远休角、近休角、回程值,在凸轮不同转角下利用式(2)—(6)来计算轮廓曲线上某一点的坐标,根据转角值的不同可得到相应的坐标值。编制计算凸轮轮廓曲线上点的坐标程序,把不同的点坐标值写入CATIA安装文件Dassault Systemes B21intel_acodecommand下自带excel宏文件GSD_PointSplineLoftFromExcel中,如图3所示。
图3 excel宏文件
图3中startcurve和endcurve之间的每组数值是点的坐标值,每一组点可连成一条样条曲线。当把excel中的点坐标换成轮廓曲线的点坐标值后,打开CATIA,在excel中运行宏,在显示的对话框中运行宏Feuill.Mail,根据提示选择2运行如图4所示,此曲线即为生成的凸轮轮廓曲线。
图4 凸轮轮廓曲线
2.3 圆柱凸轮的建立
根据已建立的凸轮轮廓曲线,使用CATIA机械设计模块下零件设计工作台的开槽命令,在开槽命令中绘制槽宽24 mm和槽深20 mm矩形作为开槽轮廓,以轮廓曲线为中心曲线,在图4的凸轮实体上开槽,生成圆柱凸轮,如图5所示。
图5 圆柱凸轮
至此圆柱凸轮的设计过程已完成,点击CATIA工具菜单下宏命令的停止录制,即完成录制圆柱凸轮设计过程的程序代码,在CUsers ThinkAppdataLocalemp可找到已命名保存的宏程序,提取程序代码以备后用。
3 圆柱凸轮参数化设计系统的建立
使用VB语言对CATIA进行二次开发,能对CATIA 进行操作及数据的共享和面向对象编程,采用Automation技术面向对象编程所开发的应用程序可在不启动 CATIA 的情况下对圆柱凸轮进行参数化设计,不仅提高了设计的精度,还提高了设计效率[6]。
3.1 编程的基本流程
对CATIA进行操作先要连接CATIA的COM接口,程序如下:
Dim CATIA As Object
On Error Resume Next
Set CATIA=GetObject(,”CATIA.Application”)
IF Err.Number<>0 Then
Set CATIA=CreateObject(“CATIA.Application”)
CATIA.Visible=True
End If
On Error GoTo 0
在获取 Application 对象后就可以对文档进行相应的操作。一般通过add加一个文档,使用add添加文件可以分别对应零件文档、产品文档和工程图文档,程序如下:
Dim oPartDoc As Document
Set oPartDoc=CATIA.Documents.Add(“Part”)
不同类型的文档具有不同的属性和操作方法,空间凸轮是实体和线框曲面组成,是创建混合元素,基本操作流程如图6所示。
图6 编程流程图
3.2 功能模块设计
运用VB对CATIA进行二次开发,对系统的功能进行分析,根据需求对界面、菜单、模块数量进行设定,从最基本的模块进行编程,其结构如图7所示[7-8]。
图7 编程模块图
根据结构图,对系统的功能进行开发:
(1)为了让系统运行简便,我们需要在VB中建立一个“标准EXE”文件;
(2)为了直接调用CATIA类型库的文件,并预防后续编程引用类型库错误,我们需要打开在VB界面菜单中的引用对话框,选中所有CATIA开头的库,如图8所示,通过编写VB链接CATIA的启动代码,就可以使用VB代码自动启动CATIA软件。
(3)为了使用方便,根据设计的功能模块,我们需要对界面进行设计,将空间凸轮机构分为圆柱凸轮和圆锥凸轮,再对圆柱凸轮进行更详细的模块划分,如图8所示,其设计的模块简洁易操作。
图8 凸轮系统模块图
打开VB编译功能模块,在窗体上添加标签和文本框,编写VB的源文件与CATIA的类型库建立数据通讯、输入、输出,通过调用 CATIA 中的 API 函数,与 CATIA 进行交互,建立的人机交互界面如图9所示。
图9 空间凸轮参数化设计系统
(4)工程文件的调试。文件的程序是VBScript语言编写的程序,VBScript是VB语言的一个子集,API对象、属性及API对象的方法在宏文件中都以实例形式存在,使用VB对已录制的宏程序文件的脚本代码进行重新定义,删除冗余代码,把修改后的脚本代码放到VB查看代码中,使界面模块与相应程序建立正确的对应关系,点击“开始生成”按钮,通过运行宏程序在CATIA中可直接生成零部件,最终设计界面如图10所示,通过在系统中输入不同的数值,即可生成相应的圆柱凸轮。
图10 圆柱凸轮设计操作界面
(5)不同参数圆柱凸轮的设计,可在不打开 CATIA 程序的情况下通过 VB 编写的窗口输入预设计的数值,再次点击“开始生成”,即可完成凸轮的设计。
用 VB修改该零件尺寸的程序如下:
Dim partDoc as PartDocument
Dim pa as Part
Dim paras as Parameters
Dim para As Parameter
Set partDoc =CATIA.ActiveDocument
Set pa =partDoc.Part
Set paras=pa.Parameters
Set para=paras.Item(“r”)
Para.ValuateformeString(r)
Set para=paras.Item(“H”)
Para.ValuateformeString(H)
Set para=paras.Item(“h”)
Para.ValuateformeString(h)
Set para=paras.Item(“a”)
Para.ValuateformeString(a)
Set para=paras.Item(“b”)
Para.ValuateformeString(b)
Set para=paras.Item(“δ0”)
Para.ValuateformeString(δ0)
Set para=paras.Item(“δ01”)
Para.ValuateformeString(δ01)
Set para=paras.Item(“δ'0”)
Para.ValuateformeString(δ'0)
Set para=paras.Item(“δ02”)
Para.ValuateformeString(δ02)
Set para=paras.Item(“”)
Para.ValuateformeString()
4 实例验证
利用空间凸轮参数化设计系统设计一个滚子直动件圆柱凹槽凸轮,基圆直径120 mm,高度140 mm,滚子的形成=30 mm,凸轮的凹槽深 20 mm、宽25 mm,从动件为余弦加速度运动,推程角60o、回程角60o、远休止角160o、近休止角80o,把上述数据输入到系统中,点击开始生成,可得到如图11所示的圆柱凸轮。
图11 空间圆柱凸轮
5 结束语
通过建立圆柱凸轮轮廓曲线的理论公式,结合CATIA的曲线、零件建模和宏录制功能,利用VB对CATIA二次开发的空间凸轮参数化设计系统,通过实例验证可知,对于不同凸轮的设计只需更改相应参数便可生成三维模型,节省了设计的步骤,提高了设计精度,保证了设计的精确性,具有实际的应用价值,为后期空间凸轮机构的运动仿真、加工制造、有限元分析奠定了基础。
[1] 高东强,黎忠炎,毛志云.基于UG的圆柱凸轮参数化建模与仿真加工[J].机械设计与制造.2010(10)207- 209.
[2] 桑华希,张小新.基于 VB 语言下Solidworks凸轮参数化修改的二次开发应用[J].现代工业经济和信息化.2020(10):42-43.
[3] 申鹏.基于Pro/E5.0的圆柱凸轮多种建模方法及其多轴仿真加工研究[J].内燃机与配件.2020(23)128- 130.
[4] 李建功黄永强.用柱面坐标计算圆柱滚子直动从动件圆柱凸轮的轮廓曲面[J].机械工程师.1997(6)23- 24.
[5] 陶维利.基于工作过程的圆柱凸轮参数化造型与数控加工[J].应用工程技术.2021(4)137-143.
[6] 贾帅帅.基于CATIA的非标零件库参数化设计系统的研究[D].长春:长春理工大学.2016.
[7] 李俊.Visual Basic 6.0程序设计与应用教程[M].北京:电子工业出版社,2013.
[8] 胡挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006.
Design and Realize of Cylindrical Cam Parametric Design System Based on CATIA
ZHANG Jutao
( Academic Affairs Office, Tangshan University, Tangshan 063000, China )
Based on the theory of establishing the parameter equation of cam profile curve, this paper re-developedCATIA, with the object-oriented program of Automation technology and the cam profile curve generated by the CATIA curve function. The re-development adopted a variety of function modules of VB language and used CATIA as parameter design platform with the design process of macro recording command to record the design process of spacecam and extracting macro program. The developed system can carry out parametric design of parts without starting CATIA, it can improveboth the design precision and the design efficiency.
Ylindrical Cam; Cam profile curve; Macro recording; Parametric design; CATIA; System design
TH122
A
1671-7988(2022)21-53-06
TH122
A
1671-7988(2022)21-53-06
10.16638/j.cnki.1671-7988.2022.021.010
张聚涛(1980—),男,实验师,硕士,研究方向为机械工程教学与科研工作。
河北省高等学校科学技术研究项目:空间凸轮机构参数化设计系统及数控加工研究(Z2020239),主持人:张聚涛。