链传动是应用较广的一种机械传动。它的常用结构形式可分为实心式、孔板式和齿圈式等。其齿形有端面齿形和轴面齿形之分;不同尺寸的滚子链轮对应的结构形式也将有所不同[ 1 - 2 ] 。由于滚子链轮结构较为复杂,因此其CAD建模效率较低。为了提高滚子链轮的CAD建模效率,本文作者基于UG,运用其二次开发工具UG/OPEN API编制了较为通用的子链轮参数化实体建模程序。该程序能够设计多种结构的滚子链轮,并采用了交互式对话框,参数化驱动和UG风格的界面环境。从而大大提高了滚子链轮的CAD建模效率。
1链轮参数化实体建模程序实现流程
1. 1 链轮结构设计程序流程
链轮结构设计程序流程如图1所示。流程图左边为链轮结构设计实现过程,分为类型选择,结构尺寸确定和模型生成几个部分。分别对应流程图右边的菜单,对话框和底层应用程序。
其中在结构尺寸的确定上使用了预先确定选择范围的办法,解决了链轮结构尺寸手工确定时繁琐的计算选择问题;在链轮计算尺寸选择时采用了容错处理,解决了因错误输入所带来的问题。整个过程屏蔽了底层开发,采用参数驱动机制,实现了自动化设计。
图1 链轮结构程序设计流程 1. 2 链轮实体模型创建流程
链轮实体模型创建流程如图2所示。流程图说明了怎样调用AP I函数来进行具体的建模。当结构尺寸确定后,通过平面草图的旋转,拉伸以及实体模型的阵列等操作,创建出相应的实体,最终生成链轮三维实体模型。其中在创建轴向齿廓形状草图时,将链轮的轴孔,齿侧凸缘,齿根圆的轴向草图也一并创建,经过旋转即可生成无齿的链轮盘。建模简单,紧密贴合设计过程;在多排处理时,采用循环程序的方法,解决了重复建模效率低的问题。在创建三圆弧一直线齿槽形状草图时,草图的创建计算复杂,计算结果进行了相应的圆整。解决了曲线间的连接问题。
图2 链轮实体模型创建流程 2链轮参数化实体建模实现的关键技术
2. 1菜单设计
菜单通过UG/Open MenuScrip 模块开发实现, 即利用MenuScrip提供的UG菜单脚本语言,编写成后缀名为3 . men的文本文件。文件的内容结构以实心式为例如下:
BUTTON BELT_WHEEL1
LABEL 实心式
ACTIONS VBW_SX. dlg
END_OF_MENU
将该文件放在用户目录下的\ startup 目录内,通过设UG的环境变量,UG在启动时会自动加载用户菜单文件,生成UG用户菜单。如图3所示:
图3 链轮实体建模菜单 2. 2 对话框设计
滚子链轮的对话框利用U Istyler制作,对话框上有参数输入框,文本框,回调按钮,图片等控件。共分为图片显示区,零件基本参数输入区,零件结构尺寸计算按钮,零件结构尺寸选择区和零件结构尺寸输入区以及回调区。该对话框体现了链轮结构设计过程。图4所示为实心式滚子链轮的对话框。
所有对话框都有5种基本回调函数,分别为App ly、Ok、Cancel按钮的回调函数,对话框构造函数和对话框析构函数。为便于零件结构设计,在对话框上设置有基本设计参数和由此确定的结构设计参数,方便进行具体的结构设计。同时当对话框构造函数进行初始化操作时,可将零件的常用规格及技术要求显示到信息窗口,供设计者参考。对话框析构函数用于对话框的会话结束, 信息窗口的结束等。
滚子链轮其他几种结构形式的对话框与上面的对话框大同小异。
图4 链轮实体建模对话框 2. 3实体建模程序设计
2. 3. 1 模型的创建思路
一种是通过创建简单的特征,然后进行布尔运算。这种建模方式在进行简单零件建模时是很好的方法,但在创建像链轮这样的复杂零件时在很多时候都需要创建辅助模型,因而参数化驱动效率不高,过程繁琐。
另一种是通过平面草图的旋转和拉伸等特征操作来完成建模过程。由于滚子链轮的零件图纸大多都是二维的,而且是旋转体,参数也可以直接取定,不用转换。所以适合先建立草图特征,然后进行相应的拉伸和旋转操作。
本文采用第二种建模过程。基于特征的建模过程参数化效率高。模型易修改,具体的建模过程如图2所示。如果是孔板式,需要建立相应的参考平面,按照结构尺寸定位圆孔中心,然后调用孔生成函数,便可产生孔板式结构。
如果是齿圈式结构,就需要首先建立齿圈,然后进行轮芯和联接螺栓的建模。最后使用装配函数用螺栓联接齿圈和轮芯。
2. 3. 2参数驱动的过程
1)首先由链传动设计计算得到链轮的基本参数。将些按国家标准选好的参数依次输入到对话框的零件基本参数输入区。
2)然后按下结构参数计算按钮,驱动内部表达式进行计算,得到的是可供选择的结构参数,这些参数有的给出了最大值和最小值。有的则给出可以选用的几组数据,直接调用即可。
3)最后由得到的用于参考的主要结构尺寸,齿槽形状尺寸和轴向齿廓尺寸。向链轮结构尺寸栏内人工输入尺寸。最终由这些尺寸驱动UG/OPEN API函数创建模型。
2. 3. 3 应用程序设计
本模型的创建采用内部模式。在VC ++ 6. 0编译环境下创建一个工程,然后向其中添加头文件,资源文件等。在建模过程中,关键是能够对UG/OPEN API函数和过程有充分的认识和了解。这样就可以很容易的在*. CPP文件中加入相应的代码,编程就变得比较方便了。经过调试,编译生成*.DLL文件。
所要用到的主要函数有:
UF_MODL _ create _ revolution ( generators, 50, trim _ data,
body_ limit, offsets, region _ point, false, true, origin, direction,
mode_sign, &objects, &obj_count)
/ /用于创建旋转实体的函数。
UF_CURVE_create_arc (&arc1_coords, &line[ 1 ] )
UF_CURVE_create_arc (&arc2_coords, &line[ 2 ] )
UF_CURVE_create_arc (&arc3_coords, &line[ 3 ] )
UF_CURVE_create_line (&sline[ 0 ] , &line[ 0 ] )
/ /用于创建三圆弧一直线平面齿形的四个函数。
UF_MODL _create_extruded ( loop _ list, taper_angle, limit1,
ref_p t, direction, create, &features)
/ /用于创建拉伸实体的函数。
UF_MODL_create_circular_iset ( 0, origin, direction, number
_str, angle_iset, features, &feature_obj_id)
/ /用于创建环形阵列的函数。
UF_MODL _create _ rect_ slot ( origin _ slot, tool_ axis, direc2
tion, slot _wideth, slot _ dep th, slot _ len, dp lane, NULL, NULL,
&slot1)
/ /用于创建键槽的函数。
创建过程中要注意坐标的一致性,由于UG的分辨率问题,还必须注意计算精度的取舍和圆整以及曲线端点之间的连接。
2. 4程序挂接
在用户应用程序创建之前,首先应对编译环境进行设置:
1)对UG编译环境的设置:假设UG安装位置如下E: \EDS\UnigraphicsNX2,则在${UGII_BASE_D IR} \UGII\menus文件夹下找到文件custom _dirs. dat,在其中加入用户目录,保存该文件。在建立好用户目录之后, 在用户目录下建立STARTUP、APPL ICATION 两个子目录。其中STARTUP目录下存放Unigraphics启动时自动载入的菜单脚本文件(*.men) 、用户工具文件(*. utd)等; APPL ICATION目录存放具体的功能扩展程序文件、对话框资源文件(*. dlg)及模块菜单文件等。
2)对VC ++ 6. 0 编译环境的设置:将${UGII_BASE_D IR} \UGOPEN 中UGOPEN _V19.awx和UGOPEN _V19. hlp 两个文件拷贝到VC ++ 6. 0 安装目录\COMMMON \MSDev98 \ Tem2p late下。完成环境设置。
3)应用程序的挂接
将对话框制作过程中产生的头文件和模板文件添加到工程中。随后运用C /C ++语言和API函数进行建模。最后调试编译。得到3 . dll文件。将该文件放到用户目录下。
图5 孔板式链轮三维实体模型 3程序测试
本文作者对开发程序进行了反复测试,测试结果均令人满意。图5中给出了其中一道考题的测试结果,即孔板式滚子链轮三维实体模型。
4结束语
对该滚子链轮参数化实体建模程序的反复测试结果表明:该程序性能稳定可靠,建模效率高,利用本文作者开发的滚子链轮参数化实体建模程序,用户只需进行少量的人工干预,便可快速地得到所需的滚子链轮三维实体模型。本文作者的工作为机械设计者提供了一个高效的滚子链轮CAD建模工具。
参考文献
1吴宗泽. 机械零件设计手册[M ]1北京:机械工业出版社, 2003
2濮良贵,纪名刚. 机械设计[M ]1北京:高等教育出版社, 2001
3董正卫,田立中,付宜利. UG/OPENAPI编程基础[M ] 1北京:清华大学出版社, 2002(end)
|