陆 畅, 陈 奇, 马 奎
(合肥工业大学 机械工程学院,安徽 合肥 230009)
花键作为传递动力的关键零件,以其强承载能力、高定位精度和较好的互换性被广泛应用于车辆和工程机械装备。常用花键一般分为矩形花键和渐开线花键,不过两者都有外形比较复杂的特点,这给花键建模带来了困难。尽管存在各种版本的参数化建模的花键生成器方便人们工作,但这些花键生成器都有一个共同特点,即新建一个文件、独立生成一个花键;设计人员在此零件的基础上进行下一步的建模。这个特点不符合理想的设计顺序,因为一旦需要变更花键参数或者轴向长度,则需重新设计花键轴,所以给设计带来不便。
目前,使用CATIA进行花键建模的二次开发工作较少,主要集中于UG、SolidWorks等其他三维软件。文献[1]以CATIA为二次开发平台,用Visual Basic6.0作为开发环境,以日本标准JIS进行参数化建模,得到单个渐开线花键零件(不具备交互功能);文献[2]基于UG二次开发技术,结合MFC对渐开线花键进行参数化建模,得到完整渐开线花键轴三维实体模型;文献[3]利用VC++6.0编制程序框架,设置基于表达式的参变量与参变量方程,调用UG-API函数更新模型,获得新生成的花键轴模型;文献[4]提出了在SolidWorks中以直角坐标系渐开线参数方程绘制渐开线的2种方法;文献[5]运用了VBA语言对AutoCAD进行二次开发,实现矩形花键截形及花键滚刀齿形的参数化建模。但以上研究均未涉及交互式参数建模的领域,且对矩形花键的三维建模研究较少。
鉴于上述分析,本文基于CATIA的VBA二次开发技术,开展具有交互功能的花键建模软件开发,用户可以在已有的零件模型上直接生成花键,从而方便工程人员进行花键设计,提高工作效率,为后续强度校核和优化设计奠定基础。
由文献[6-7]可知,矩形花键是端平面上外花键的键齿或内花键的键槽,两侧的齿形为互相平行的直线而且对称于轴平面的花键。矩形花键参数主要有齿数N、小径d、大径D、齿宽B、圆角r和倒角c,其示意图如图1所示。图1中,N=6。
图1 矩形花键示意图
渐开线花键是键齿在圆柱或圆锥上,而且齿形是渐开线的花键。内花键参数主要有齿数z、模数m、压力角αD、大径Dei、小径Dii、分度圆D、渐开线终止圆直径Dfi和齿形裕度CF;外花键参数主要有齿数z、模数m、压力角αD、大径Dee、小径Die、分度圆D、渐开线起始圆直径Dfe和齿形裕度CF,其示意图如图2所示。
图2 渐开线花键示意图
CATIA是一款功能强大的建模软件,不仅可以贯穿产品CAD/CAM/CAE/PDM Ⅱ全生命设计周期,而且为用户提供了二次开发接口和开放式内部命令集合。作为二次开发手段之一的组件应用架构(component application architecture,CAA)二次开发可以为企业定制一版特殊的CATIA。通过CAA开发的组件与原系统的结合非常紧密,但是CAA二次开发难度较大;另一种开发手段即VBA二次开发基于组件对像模型(component object model,COM)技术,遵循面向对象的设计思想,允许一个应用程序控制另一个应用程序,这种方法的二次开发较易上手,具有开发周期短、稳定性好的特点。因此,本文基于VBA二次开发,利用CATIA自带的VB编辑器访问CATIA,实现花键的参数化三维建模。
程序建模的主要步骤包括:① 用户选定类型,输入参数,选择生成平面;② 程序中轴中心点的获取;③ 花键草绘的建立;④ 草绘拉伸或开槽;⑤ 建立轴线并以此轴线阵列齿形,更新特征。用户使用流程如图3所示。
图3 用户使用流程
2.2.1 草绘平面的选择
CATIA的V5 Automation是一种面向对象的编程语言。交互功能涉及V5 Automation中提供Selection对象,在编程时,定义一个“Selection”类型的对象,并定义用户过滤器,枚举类型为“Plane”和“PlanarFace”,即可将用户鼠标点选的平面以“reference”类型存储。
2.2.2 轴中心的获取
在得到草绘平面之后,由于用户难以通过自定义二维坐标轴位置的方式进行平面作图,为获取轴端面圆点二维坐标,本文采用了以下步骤:使用对象的方法“CreateProjections”获得草绘平面(端面圆)的投影;并使此投影作为构造线;在草图原点绘制一个圆circle2D;使用方法“AddBiEltCst”命投影与circle2D同心;使用circle2D的方法“GetCenter”读取此圆的圆心坐标。应注意的是,轴端面应保持投影后为一个完整的圆,否则投影至二维H-V草绘平面后同心约束会失败。
2.2.3 草绘的建立
以平齿根渐开线花键草绘为例,由文献[8-11]可知,渐开线齿廓方程为:
其中:x2m、y2m为待求坐标;x1m、y1m为已设定坐标;r2为分度圆半径;b为齿条横向移动距离;b为齿轮相应转过的角度。
过渡曲线方程为:
其中:xk、yk为齿刀顶圆弧与直线段的交点k1在坐标系O1中的坐标;γ为发生线与坐标系横轴交点;r0为齿条齿刀的圆弧半径;α为齿轮压力角,详细内容参考上述文献。
根据以上公式,设使用500个点拟合渐开线,通过输入的渐开线花键参数,如齿数z、模数m、压力角αD,即可求出渐开线基于原点(0,0)齿廓坐标。利用对称关系,可以得到另一半全齿廓。再根据2.2.2节中获取的端面圆心坐标,将基于原点渐开线齿廓坐标平移即可得到交互式渐开线花键齿廓。基于此齿廓草图,可对齿顶圆凸台切槽形成外花键,也可在齿圈特征基础上拉伸而形成内花键。草绘形成的齿廓草图如图4所示。
图4 渐开线花键全齿廓二维草绘
至于矩形花键,其构造曲线较为简单,在此仅列举难于计算的外花键的过渡圆弧圆心、切点坐标公式,即
其中,x0、y0为要求解的过渡圆弧圆心坐标;R为花键小径圆半径;r为对应标准选型圆角半径;B为键宽;Xh、Yv为2.2.2节中获取的端面圆心坐标。
圆角切点坐标为:
其中,x、y为要求解的切点坐标。据此圆心坐标使用方法“CreateCircle”以上述圆点、切点即可建立过渡圆弧。矩形花键草图多为直线,不再赘述其建立过程。
2.2.4 阵列轴的建立
使用V5 Automation中“AddNewPointCenter”方法,即可建立三维坐标中曲面上的点,进而以此点与草绘平面为参变量使用“AddNewLineNormal”方法创建三维直线,并以此线作为圆周阵列的旋转轴。上述方法的采用使用户只需选择草绘平面,减少了用户的对象选择,令整个程序更加实用。
设待建立的渐开线花键参数如下:模数m=2,齿数z=20,压力角αD=30。花键长L=30 mm;通过点击“生成外花键”进入选择界面,用户单击轴端面即可生成平齿根渐开线花键建模。程序界面和建模实例如图5所示。
图5 建模软件界面及平齿根渐开线外花键建模实例
设待建立的矩形花键参数如下:小径d=20 mm,花键长L=20 mm,花键类型选择“外花键”。用户输入矩形花键参数后,通过点击“进入选择”按钮即可进入选择界面选定轴端面;完成选择后程序读取用户输入的小径进行花键选型,下方编辑栏输出各参数数值,可供用户更改的建立非标花键程序界面如图6a所示;与基准坐标面有夹角的待键模轴零件如图6所示,点击“确定生成”即可在选定轴端面生成矩形花键,如图6c所示。通过这种方法,即使是在与基准坐标面呈一定夹角的平面,该程序仍然能准确地生成出模型。
图6 软件界面及矩形花键建模实例
本文利用VBA二次开发技术,实现了花键的快速建模。具体工作如下:
(1) 介绍了矩形花键和齿轮花键的特点及其主要参数。
(2) 提出了基于CATIA的VBA的交互式花键建模实现方法。主要流程包括:定义一个selection对象选定草绘平面;对草绘平面投影、约束;根据花键类型做出特定的草图;对所用草图拉伸或切槽;创建空间点、线,并阵列齿形特征。
(3) 通过平齿根渐开线花键、矩形花键的实例建模,验证了本文二次开发软件编程的可靠性,证明了在任意轴端面圆上本文软件建模的有效性。