基于Creo 二次开发的减速器系统参数化设计

2021-05-06 11:59
南通职业大学学报 2021年1期
关键词:减速器二次开发箱体

周 昇

(南通职业大学 机械工程学院, 江苏 南通 226007)

0 引言

当前,机械产品设计常用的主流三维设计软件有Creo、UG、solidworks 等,这些软件有较好的通用性,但在用于设计特定产品时,存在设计速度慢、设计效率低等不足。为此考虑在上述三维软件平台上,开发适用于企业特定产品设计的应用程序,以提高产品的设计效率和企业核心竞争力。

减速器是一种原动件与工作机之间的减速传动装置[1],在现代机械中应用极为广泛,每年的产销量极大,所以提高减速器产品的设计效率具有较高的经济效益和社会效益。本文以一级直齿圆柱齿轮减速器系统为例,使用Creo7.0 64 位简体中文版和 WINDOWS10(64 位),基于 Visual Studio 2019,按照其设计需求进行Creo 的二次开发,完成减速器系统参数化定制修改和功能扩展。

1 参数化设计的思路和原则

1.1 参数化设计思路

产品开发效率取决于零件设计模型的建立速度。产品开发初期,零件形状和尺寸还未精确设计,要通过性能需求分析、装配过程验证和数控编程设计之后才能最终确定[1]。因此,零件模型设计一般要求具有柔性,以便根据需要修改。参数化设计就是将模型中各定量参数通过函数关系设计成关联变量,对变量化参数赋予不同数值,就可得到相应大小和形状的零件模型,以此提升设计效率。同样,减速器系统零件虽然较多,但可设计为由几个关键变量(参数)驱动,通过给关键变量(参数)赋值,确定零件大小或形状,从而形成所需的减速器系统。

基于上述思路,对一级直齿圆柱齿轮减速器选定4 个基本参数,即模数M、高速轴齿轮齿数Z1、低速轴齿轮齿数Z2和齿宽B,建立减速器零件的基础参数化模型。4 个参数确定后,高低速直齿圆柱齿轮尺寸、相应的高低速轴尺寸、与之配套的轴承大小型号均可确定,承载这些零件的箱体尺寸也即确定。减速器系统零件设计的基本参数驱动模型可表示为:

通过改变4 个关键参数,即可生成新的减速器系统,自动形成图纸。不需要针对每次需求变更重新建模或手动逐个修改模型参数,省去了重新绘图的烦琐操作,节时省力,且不易遗漏和出错,可大大提高设计效率。

为了较为方便地修改和更新参数,在完成参数化设计后,还需基于Creo 平台开发一组用于减速器设计的菜单,通过菜单操作完成零件更新设计。根据目前软件和硬件的主流运用情况,拟选用WINDOWS10(64 位)操作系统、Creo7.0 64 位简体中文版Visual Studio 2019 开发平台,进行基于Creo 二次开发的减速器系统设计。

1.2 参数的选取原则

参数化设计是二次开发的关键。为了缩短产品开发周期,多数企业采用改进型设计,即对旧产品的模型参数稍加改进得到新产品。其参数选取原则是:参数独立可变且尽量以最少参数来确定零件的可变尺寸,并通过参数化尺寸实现对设计结果的修改[2-4]。因此,设计时首先要分析零件,提取其关键尺寸作为驱动参数。参数化设计最大的难点在于保证参数变化时,三维模型会得到更新而不至于崩溃。因此,要特别注意模型的架构和特征参数的“父子关系”。

2 一级直齿圆柱齿轮减速器典型零部件的参数化设计

2.1 减速器上盖和基座的参数化建模

如图1,减速器箱体由上盖和基座组成。遵循“先整体后局部”的设计理念,先完成减速器箱体的整体建模,再采用“实体化”工具将箱体分成上盖和基座分别进行建模。

图1 箱体建模

点击“工具”“参数”设置4 个基本参数:模数M,高速轴齿轮齿数Z1(20

图2 设置箱体参数

减速器箱体轮廓尺寸关系示意如图3,根据其性能要求和制造工艺建立减速器箱体零部件尺寸关系如表1。

图3 箱体轮廓尺寸关系示意

表1 减速器箱体零部件尺寸关系

箱座高度H 通常按结构需要确定。为避免传动件转动时将油池底部污物搅起,大齿轮齿顶圆距油池底应大于30 mm,一般为30~50 mm[1],故表 1 中 H= Φ2/2+40。H、R1、R2的取值关乎箱体的轮廓尺寸,应采用取整函数ceil()取整为5 的倍数。

如图4,箱体的2 个轴孔内径(应和轴承外径配合,其尺寸关系如表2。

图4 轴孔尺寸关系示意

表2 轴孔内径与轴承孔外径的关系

2.2 轴承的参数化选用

如图5,高速轴轴承是标准件,其尺寸是一个序列,可根据高速齿轮的分度圆直径大小用Creo中自带的判断语句“if……else……endif”来判断轴承序列尺寸的取舍,其尺寸关系如表3。

图5 高速轴轴承的尺寸示意

关系式 说明If M*Z1>40 && M*Z1 ≤60 40<分度圆直径≤60 D=47 高速轴轴承外径d=25 高速轴轴承内径W=12 高速轴轴承宽度endif 继续条件语句If M*Z1>60 && M*Z1 ≤80 60<分度圆直径≤80 D=55 高速轴轴承外径d=30 高速轴轴承内径W=13 高速轴轴承厚度…… ……

2.3 高速轴闷盖的参数化建模

高速轴闷盖模型尺寸显然可由箱体和轴承的相关尺寸获取,其余零件的尺寸关系受篇幅所限,不做赘述。

3 基于Creo 的二次开发过程

3.1 开发环境的配置

开发环境配置路径一定要正确,包含头文件和库文件的配置:

E:ptcCreo 7.0Common Filesprotoolkitincludes

E:ptcCreo 7.0Common Filesprotoolkitx86e_win64obj[5-7]

3.2 文件布局

在D 盘上建一个名为“Reducer design”的文件夹,在此文件夹下再建立8 个子文件夹,如图6所示。

3.3 创建注册文件

在“Reducer design”文件夹中新建一记事本文件,文件名为prokt,保存后将扩展名改为.dat,也就是prokt.dat。在记事本内写入以下内容:

NAME Reducer design

EXEC_FILE D:/Reducer design/Reducer.dll

TEXT_DIR D:/Reducer design/text

STARTUP dll

ALLOW_STOP TRUE

DELAY_START FALSE

REVISION Creo7.0

unicode_encoding FALSE

END

3.4 创建菜单文件

在如图6 的“text”文件夹内新建记事本,名为“Message”,内容为:

MainMenu

减速器设计系统#

submenu1

一级圆柱齿轮减速器#

Active submenu1 menu

输入一级圆柱齿轮减速器参数

submenu2

二级圆柱齿轮减速器#

Active submenu2 menu

输入二级圆柱齿轮减速器参数

submenu3

蜗轮蜗杆减速器#

Active submenu3 menu

输入蜗轮蜗杆减速器参数

submenu4

行星齿轮减速器#

Active submenu4 menu

输入行星齿轮减速器参数

submenu5

摆线针轮减速器#

Active submenu5 menu

输入摆线针轮减速器参数

Submenu6

关于减速器设计系统#

Active submenu6 menu

版本信息和版权

3.5 菜单程序(主程序)

主程序“Reducer design.cpp”是程序中最重要的部分,程序的主要框架均在主程序中建立,所有的菜单也在主程序中建立。

// 头文件

#include "stdafx.h"

#include "Reducer.h"

#include "dhk1.h"

#include "about.h"

#include

#include "ProMenubar.h"

#include "ProMenu.h"

#include "ProUtil.h"

#include "ProWindows.h"[8]

//添加主菜单

status=ProMenubarMenuAdd("MainMenu", "MainMenu", "Utilities ", PRO_B_TRUE, MsgFile);

//添加子菜单

ProCmdActionAdd("ShowTest1",(uiCmdCmdActFn)submenu1,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,PRO_B_TRUE, &cmd_id1);

//添加菜单响应动作

ProMenubarmenuPushbuttonAdd ("Main-Menu", "submenu1", "submenu1", "Active sub -menu1 menu", NULL,PRO_B_TRUE, cmd_id1,ProStringToWstring(message_file,"Message.txt"));

//设置菜单图标

ProCmdIconSet(cmd_id1, "d:

//Reducer design//图标//减速器 1.jif");

//启动对话框

int submenu1()

{AFX_MANAGE_STATE(AfxGetStaticModuleState());

dhk1 *dhk = new dhk1;

dhk->Create(IDD_DIALOG1);

dhk->ShowWindow(SW_SHOW);

return(0);}

3.6 对话框程序

点击菜单会弹出对话框,点击对话框按钮实现人机交互,包括模型的获取和显示、参数修改更新及模型再建。

对话框可用Pro/TOOLKIT 编写,但程序由纯手工编写,不能直观检验。Visual Studio 2019 提供了很多对话框模板,利用图形化界面可很方便地修改这些模版而获得如图7 的对话框。“输出三维总装图”程序设计如下:

图7 对话框

void Dialogbox1::OnBnClickedButton1()

{//将所有零件更新并显示

//将箱体底座更新并显示ProMdlRetrieve(L"d://Reducer design//一级圆柱齿轮减速器//箱体底座.prt",PRO_MDL_PART, &part);

redsmdl();

//将箱体上盖更新并显示ProMdlRetrieve(L"d://Reducer design//一级圆柱齿轮减速器//箱体上盖.prt",PRO_MDL_PART, &part);

redsmdl();

//将高速轴透盖更新并显示

ProMdlRetrieve(L"d://Reducer design//一级圆柱齿轮减速器//高速轴透盖.prt",PRO_MDL_PART, &part);

redsmdl();

//将高速轴闷盖更新并显示

ProMdlRetrieve(L"d://Reducer design//一级圆柱齿轮减速器//高速轴闷盖.prt",PRO_MDL_PART, &part);

redsmdl();

…………

//显示更新后的减速器总装三维图

//将三维总装图调入内存

ProMdlRetrieve(L"d://Reducer design//一级圆柱齿轮减速器//总装三维图.asm",PRO_MDL_ASSEMBLY, &part);

redsmdl();

//组件自动重新生成asmregenerate(); }

模型更新子程序:

void Dialogbox1::redsmdl()

{//获取零件ID

int i;

ProMdlIdGet(part, &i);

//初始化零件特征

ProModelitemInit(part, i, PRO_PART,&feature);

//初始化各参数(Z1、Z2 为齿数, M 为模数,B 为齿宽)

ProParameterInit(&feature,L"Z1",¶m1);

ProParameterInit(&feature,L"Z2",¶m2);

ProParameterInit(&feature, L"M", ¶m3);

ProParameterInit(&feature, L"B", ¶m4);

//更新对话框输入的变量

UpdateData(true);

//变量赋值

value1.type = PRO_PARAM_INTEGER;

value1.value.i_val = Z1;

value2.type = PRO_PARAM_INTEGER;

value2.value.i_val = Z2;

value3.type = PRO_PARAM_INTEGER;

value3.value.i_val = M;

value4.type = PRO_PARAM_INTEGER;

value4.value.i_val = B;

//设置参数值

ProParameterValueSet(¶m1, &value1);

ProParameterValueSet(¶m2, &value2);

ProParameterValueSet(¶m3, &value3);

ProParameterValueSet(¶m4,&value4);[9-10]

//显示零件

ProMdlDisplay(part);

//激活当前窗口

ProMdlWindowGet(part, &window);

ProWindowActivate(window);

partregenerate( );

/

/程序停顿 0.5 s

Sleep(500);

4 二次开发程序使用步骤

(1)打开 CREO7.0,点击“实用工具”→“辅助应用程序”。

(2)点击“辅助应用程序”→“注册”,选中D:Reducer designprotk.dat 文件,点击“启动”。

(3)点击“工具”→“减速器设计系统”,进入减速器系统设计二次开发菜单界面,如图8 所示。

图8 减速器设计二次开发菜单

(4)点击“一级圆柱齿轮减速器”,打开对话框,在对话框里输入如图7 所示的数据, 点击“输出三维总装图”,绘图区域显示图9 所示的三维总装图。

图9 减速器系统三维总装图

(5)点击“输出二维总装图”,绘图区域即显示二维总装图。

(6)点击“关于减速器设计系统”,可得到版本说明。

5 结束语

本文以一级直齿圆柱齿轮减速器系统为例,基于Creo 二次程序开发,进行参数化设计,完成了定制修改和功能的扩展。功能测试和实际运用表明:该二次开发程序运行可靠,新产品开发时间只需原来的1/3 左右,可明显提高设计效率,缩短产品开发周期,同时也减少了设计错误,取得较好的经济效益。Creo 二次开发需参数化建模、二次开发模块 (Creo/TOOLKIT)、Windows API、MFC、Visual Studio 2019 等方面知识的融会贯通,有一定难度。目前,二次开发的专门指导书籍和教材也很少,借助Visual Studio 2019 平台进行二次开发非常方便快捷,但软件在智能化设计和计算机模拟验证方面,还有进一步上升的空间,值得进一步探索。

猜你喜欢
减速器二次开发箱体
基于ADAMS的洗衣机减速器多体动力学仿真
变桨减速器承压能力及加油量计算分析方法
一种分束玻璃纤维拉丝机
浅谈Mastercam后处理器的二次开发
低密度超音速减速器
例谈课本习题的“二次开发”
一种带支撑架的合页
基于ANSYS Workbench 的ATB260 减速器箱体模态分析
一款箱体可整体收缩折叠式帘布半挂车
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用