【摘 要】采用UG/Open API技术和VC++联合开发,通过UIStlye交互式对话框实现谐波齿轮传动系统的参数化设计。研究UG二次开发主要流程及关键开发技术。二次开发系统界面简洁,操作方便,可以提高谐波齿轮的设计效率,为不同材料、不同结构的谐波齿轮传动系统的受力分析打下了基础。
【关键词】工业设计论文,UG,二次开发,参数化,谐波齿轮
Application of UG Secondary Development Technology to Design of Harmonic Gear
YAO Ji-wei ZHANG Shi-long FENG Li DONG Ling
(Tianjin University of Technology and Education,Tianjin 300222,China)
【Abstract】By using the joint development of technology of UG/Open and VC++, the harmonic gear system is achieved by UIStlye interactive dialog. The main process and key technology of the second development of UG. Simple and easy to operate, the system can be used to improve the design efficiency of harmonic gear. The system will make contribution to the force analysis of different material and structure.
【Key words】UG;Second development;Parameterization;Harmonic gear
0 引言
谐波齿轮传动是20世纪50年代后期随着航天技术的发展而出现的一种重要的机械传动方式,具有结构简单、体积小、重量轻、传动比大、传动精度高等独特优点[1],已被成功地应用在航空航天、光学仪器以及通用机械(如低速重载的起重机绞盘、矿山隧道运输用井下转辙机)、雷达系统等领域中。谐波齿轮传动系统中,虽然只有3个主要构件――柔轮、刚轮和波发生器(见图1),但各构件的参数较多,且直接影响工作性能及使用寿命。对谐波齿轮传动系统进行参数化设计,可提高设计效率和设计质量,缩短产品设计周期。
图1 谐波齿轮传动
1 开发思路
针对设计要求,在UG用户界面中交互输入谐波齿轮传动系统的初始参数,通过Visual C++程序对这些参数进行读取、计算,得到谐波齿轮传动系统三大主要零部件(柔轮、刚轮和波发生器)的设计参数,并通过调用UG绘图函数实现主要零部件的三维建模。
2 零部件关键参数设计
利用UG进行二次开发最常用的有两种基本形式:第一种为在UG界面上进行参数化建模,再利用UG/open UIstyler、UG/API语言和VC++语言联合进行程序设计、编译、链接生成动态链接文件,执行相应的菜单命令,系统将调用相应的对话框完成特定功能,此种方法适用于大批大量、系列化生产,且结构相对简单的零部件;第二种为利用UG/open UIstyler创建功能对话框,零部件的所有参数通过UG/API语言和VC++语言联合进行程序设计来实现,最终在UG界面呈现,此种方法适合专有零件、单件生产或者结构相对较复杂的零部件上[2-5]。根据谐波齿轮传动系统的特点,本文选择第二种设计方法进行谐波齿轮传动系统的设计。
柔轮是谐波齿轮传动系统中的关重件,主要由圆柱壳体与齿圈组合而成,其结构及尺寸如图2所示,主要参数包括:1)基本数据:柔轮齿数、传动比、负载转矩、模数、变位系数、柔轮分度圆直径、柔轮齿顶圆直径、柔轮齿根圆直径、柔轮齿高、柔轮初始变形量等(选择压力角为20°C的渐开线齿廓);2)结构数据:柔轮内径、齿圈宽度、筒壁厚度、筒长、筒壁外圆直径、凸缘厚度、齿圈前沿宽度等。
图2 柔轮结构及几何尺寸
3 UG二次开发
3.1 环境设置
1)安装Unigraphics软件(须确保安装ugopen和ugoenpp模块);
2)建立D:UG OPEN++目录,并在其菜单下新建startup和application文件夹;
3)增加环境变量UGII_USER_DIR,其值设为D:UG OPEN++;
3.2 开发流程
作为UG最常用的二次开发工具之一,UG/Open是一系列函数的集合,也是UG与外部应用程序之间的接口,以开放性架构面向不同的软件平台,提供灵活的开发支持。本文采用UG API语言和VC++语言联合进行二次开发,开发流程如图3所示。
图3 UG二次开发流程图
3.3 关键技术
3.3.1 创建用户菜单
采用 UG/OPEN MenuScript创建用户菜单。运行脚本程序:
VERSION 120
EDIT_UG_GATEWAY_MAIN_MENUBAR //编辑主程序路径
TOP_MENU
CASCADE BUTTON CUSTOM
LABEL谐波传动设计 //生成谐波齿轮传动设计菜单
END_OF_TOP_MENU
MENU CUSTOM
BUTTON CUSTOM UISTYLER DLG LABEL谐波齿轮选型 //生成谐波齿轮选型菜单
ACTIONS harmonic_selstyle.dlg // 打开谐波齿轮基本参数对话框
END_OF_MENU
即可生成如图4所示的菜单界面。
图4 菜单界面
3.3.2 创建自定义对话框
采用UG/OPEN UIStyler 创建自定义对话框,作为用户与UG/API程序的交互界面,实现交互式数据输入,并通过调用回调函数响应用户事件。对话框控件定义如图5所示,对话框基本属性定义如图6所示。
图5 对话框控件定义
图6 对话框基本属性定义
3.4 Visual C++程序开发关键技术
3.4.1 程序调用
主程序通过ufsta()函数连接;通过函数UF_UI_add_styler_actions和函数UF_STYLER_create_dialog 连接*.men主菜单以及对话框文件*.dlg子程序。ufsta()函数体中,通过函数UF_MB_add_stlyer_actions来连接下级子程序,开头和结尾通过回调函数UF_initialize()与UF_terminate()实现被调函数进入或退出UG系统。当进行对话框间调用时,如选择全部回调,需删除源程序#ifdef DISPLAY_FROM_CALLBACK中的#endif语句。
从菜单调用xiebo_selstyle.dlg功能函数:
extern void ufsta (char *param, int *retcode, int rlen)
{
int error_code;
if ((UF initialize())!=0)
return;
…
UF_terminate();
return;
}
3.4.2 柔轮几何建模计算函数
几何建模函数定义是二次开发的关键部分,柔轮建模函数如下:
extern int caculate()
{
iii=ii;
T2=torch;
z1=(int)(2*iii);
iii=z1/2;
ll=3*E*Yz*Ksd/iii;
dd=0.456*T2*1000/((dlt/(Kd2*nd)-3*E*Yz*Ksd/iii)*Kbd*Ksd);
d=pow((0.456*T2*1000/((dlt/(Kd2*nd)-3*E*Yz*Ksd/iii)*Kbd*Ksd)),1/3.);
ddd=pow((T2*1000/0.3),1/3.);
if(d {d=ceil(d);
dgen=d;}
else if(d>gene[14][j])
{d=ceil(d);
dgen=d;
}
Else
…
while(x1>3||x1<1);
ii2=z1/2;
h1=ha0*m;
dar=dfr+2*h1;
z2=z1+2;
if((ii2-iii)/iii>0.04)
{}//判断传动比的变化是否在允许范围内
return 0;
}
3.5 三维结果输出
运行UG,点击主菜单上谐波传动设计 谐波齿轮选型 选定基本参数,弹出如图7所示基本参数对话框,在该对话框中输入基本参数,单击ok按钮后弹出如图8所示基本部件对话框,选择“建立柔轮”,即可得到如图9所的示柔轮三维造型。
同理可实现刚轮和波发生器的三维建模。
图9 柔轮三维图
(上接第45页)建立三维模型后,各部件的计算结果可通过调入结果输出函数来实现。
图10 柔轮信息窗口
4 结束语
运用UG/Open API 语言和VC+++语言联合对谐波齿轮系统设计进行二次开发,该系统在UG软件启动时可自动加载到UG的主菜单上,界面简洁,操作方便,使用该系统可以提高设计效率、设计质量和标准化水平,为不同材料、不同结构的谐波齿轮传动系统的受力分析打下了基础。
【参考文献】
[1]阳培,张立勇,王长路,等.谐波齿轮传动技术发展概述[J].机械传动,2005,29(3):69-73.
[2]UG 二次开发技术在矿用减速器中的应用[J].矿山机械,2013(7):128-131.
[3]赵波.UG CAD教程 [M].北京:清华大学出版社,2012.
[4]姚继蔚.谐波齿轮传动的参数化设计及其仿真技术研究[D].天津:河北工业大学,2006.
[5]魏雪丽.谐波齿轮传动系统的虚拟设计研究[D].天津:河北工业大学,2003.