云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于UG的二次开发技术实现齿轮参数化设计

基于UG的二次开发技术实现齿轮参数化设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 15:33:26

40 13

2.4 UG/Open API程序设计

2.4.1自定义菜单的添加方法

UG的菜单文件扩展名为.men的文本文件,可以使用Windows的记事本进行编辑。UG/Open MenuScript提供了一套用于定义UG菜单的脚本语言。实际上,UG系统的菜单文件也是用该脚本语言编写的。将菜单文件放在startup文件下面,然后将.men文件夹的路径注册到custom_dirs.dat文件中,启动UG就可以看到定制的下拉菜单。 2.4.2 程序代码的添加方法

对于通过UISyler建立的对话框,主要采用CallBack(回调)方式来调用。由CallBack调用的程序如下:

#ifdef DISPLAY_FROM_CALLBACK

extern int (int *response ) {

int error_code = 0;

if ((error_code = UF_initialize())!= 0 ) return (0);

if ((error_code = UF_STYLER_create_dialog (\, CHANGE_cbs, /* Callbacksfrom dialog由另一对话框调用*/ CHANGE_CB_COUNT, /* numberof callbacks*/ NULL, /* This is your clientdata */ response ))!= 0 )

{

char fail_message[133];

/* Get the user function fail message based on the fail code.*/ UF_get_fail_message(error_code,fail_message); UF_UI_set_status (fail_message); printf (\, fail_message ); }

UF_terminate(); return (error_code); }

#endif /* DISPLAY_FROM_CALLBACK*/

40 14

被CallBack的调用,指被其他对话框调用。另外,要使这部分程序发生作用,必须将程序中#ifdef以及#endif的所在语句去掉或屏蔽。

在菜单脚本文件与UIStyler对话框之间是通过UF_MB_add_styler_actions(actions)来关联上。其中形参actions传递数组actions[]的首地址。数组actions[]的定义如下:

static UF_MB_styler_actions_t actions[]= {

{\,NULL,CHANGE_cbs,UF_MB_STYLER_IS_NOT_TOP }, { NULL, NULL, NULL, 0 } /* Thisis a NULL terminated list */ };

对话框响应后,以一个数组的形式将对话框中回调信息资源,即各UIObject对象ID包含进来,程序如下:

static UF_STYLER_callback_info_t CHANGE_cbs[CHANGE_CB_COUNT]= { { {

UF_STYLER_DIALOG_IDEXUF_STYLER_BACK_CB

0

CHANGE_back_cb},

UF_STYLER_DIALOG_INDEX,UF_STYLER_CANCEL_CB

,0,

CHANGE_cancel_cb},

{ CHANGE_PREVIEW_MANNER,UF_STYLER_ACTIVATE_CB,0,CHANGE_PREVIEW_MANNER_cb },

{ CHANGE_INQUIRE_MANNER ,UF_STYLER_ACTIVATE_CB,0,CHANGE_INQUIRE_MANNER_cb},

{ UF_STYLER_NULL_OBJECT,UF_STYLER_NO_CB, 0, 0 } };

对话框被调用后,就是UIObject对象的响应,UIObject对象主要包括各种按钮、控件等。UIStyler主要是通过回调函数实现的。在回调函数中,在语句/* ---- Enter your callback code here ----- */ 的下面,编制用户程序,调用UG API,实现用户的特定任务。

另外,所有UG/Open API 程序必须位于初始化函数UF_initialize()和UF_terminate ()之间,在定义变量后调用的第一个UG/Open API函数必须是UF_initialize(),最后一个必须是UF_terminate ()。

40 15

3 基于UG的齿轮三维参数化模型的构建

3.1 渐开线齿轮的基本结构

3.1.1 渐开线齿轮轮廓

渐开线齿轮的齿廓主要是渐开线曲面,此外还包括过渡平面。要在UG中生成渐开线齿廓,是比较复杂的同时也是非常重要的,本课题首先要解决的问题就是完成渐开线齿廓的构造,继而实现齿轮的参数化设计。

渐开线齿廓涉及到齿轮的四个基本圆,即分度圆、齿顶圆、齿根圆和基圆。它们与齿轮基本参数之间得基本关系为:

分度圆直径d=m*z,其中m为模数,z为齿数;

齿顶圆直径da=(z+2*ha)*m ,其中 ha为齿顶高系数,标准化值为1; 齿根圆直径df=(z-2*ha-2*ca)*m ,其中为ca顶隙系数,标准化值为0.25; 基圆直径db=d*cosα,α为压力角,标准值为20o; 3.1.2 常见渐开线齿轮的基本结构型式

常见的齿轮结构型式有实心式(图3-1(a))、腹板式(图3-1(b)、(c))、轴齿轮等。轴齿轮是当与齿轮配合的轴和齿轮相差不大的时候采用的一种结构型式。本系统主要对实心式和腹板式两种型式的齿轮参数化设计进行了研究。

(a) (b) (c)

图3-1 齿轮的常见结构型式

3.2 渐开线直齿圆柱齿轮参数化模型的构建

3.2.1 齿轮基本参数的设置

40 16

众所周知,齿轮的几何尺寸和形状取决于齿轮的六个基本参数(齿数z、模数m、压力角ak、齿顶高系数ha、顶隙系数c、齿轮厚度h) 。按照UG中的要求,所有的变量必须预先定义,且表达式必须使用“参数表达式变量”,故在对齿轮进行三维建模前首先要对以上六个基本参数赋予初值。又由于UG系统不兼容希腊字母以及上、下标,因此通过表达式对基本参数赋初值时采用英文字母或字母与数字的组合来替代表示(在对齿轮进行数学模型分析时相关符号采用希腊字母或不同的上下标表示) 。选择工具>表达式 ,建立如下表达式: z = 20 ∥z为齿数

m= 3 ∥m 为模数 ak = 20 ∥ak 为压力角 ha = 1 ∥ha 为齿顶高系数 c = 0.25 ∥c 为顶隙系数 h = 16 ∥h 为齿轮厚度 3.2.2 齿轮基准曲线的绘制

在绘制基准曲线之前,要实现参数化控制,还需建立控制基准曲线尺寸的如下表达式: d = m*z ∥d 为分度圆直径 da = d + 2*ha*m ∥da 为齿顶圆直径 db = d *cos(ak) ∥db 为基圆直径 df = d - 2*m*(ha+c) ∥df 为齿根圆直径

在完成上述基准曲线参数表达式的建立后, 利用“草图” 选项中的“建立草图” 和“基本曲线”功能选项在XC-YC基准面上绘制出齿轮的四条基本曲线(基圆、分度圆、齿根圆和齿顶圆) ,并使用“尺寸约束” 操作使它们的直径分别为:db,d,df和da;选用“几何约束” 功能操作使它们的圆心共心,且都位于ZC轴上。如图3-1所示。

图3-1 齿轮基准曲线 图3-2 渐开线与基圆的关系

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

40 13 2.4 UG/Open API程序设计 2.4.1自定义菜单的添加方法 UG的菜单文件扩展名为.men的文本文件,可以使用Windows的记事本进行编辑。UG/Open MenuScript提供了一套用于定义UG菜单的脚本语言。实际上,UG系统的菜单文件也是用该脚本语言编写的。将菜单文件放在startup文件下面,然后将.men文件夹的路径注册到custom_dirs.dat文件中,启动UG就可以看到定制的下拉菜单。 2.4.2 程序代码的添加方法 对于通过UISyler建立的对话框,主要采用CallBack(回调)方式来调用。由CallBack调用的程序如下: #ifdef DISPLAY_FROM_CALLBACK extern int

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com