保捱科技网
您的当前位置:首页基于Visual C++与ANSYS的渐开线齿轮参数化建模

基于Visual C++与ANSYS的渐开线齿轮参数化建模

来源:保捱科技网


5

基于 Visual C++与 ANSYS 的渐开线齿轮

参数化建模

杨旭,仲平

(1. 重庆大学 机械工程学院,重庆 400044; 2. 东方汽轮机有限公司,四川 德阳 618322)

摘要:利用 Visual C++6.0 及 ANSYS 的二次开发工具 APDL 语言,开发了界面友好的高效率渐开线齿轮参数化建模系统。借助 VC++前台开发友好、方便易用的人机交互系统,对复杂、难于理解和掌握的 ANSYS 命令流进行后台封装,能够大大减少渐开线齿轮有限元分析

1

2

10 15

过程中的建模工作量。

关键词:ANSYS;VC++;参数化;渐开线;齿轮 中图分类号:TH132.413

Parametric Modeling of Asymptotic Gear Based on Visual

C++ and ANSYS

YANG Xu, ZHONG Ping

1

2

20

(1. College of Mechanical Engineering, Chongqing University, Chongqing 400044;

2. DongFang Turbine CO.,LTD, Sichuan Deyang 618322)

25

Abstract: In this paper, a friendly and efficiency system of parametric modeling of asymptotic gear is developmented based on Visual C++ 6.0 and the APDL of ANSYS. The VC + + is front-friendly, easy-to-use while the ANSYS is complex, difficult to understand and master. It can greatly reduce the work for models of asymptotic gear with both the benifits of the two softwares. Key words: ANSYS; VC++; parametric; asymptotic; gear

0 引言

ANSYS 有限元分析软件是美国 CAE 供应商 ANSYS 公司的产品,是集结构、热、流体和电磁四大物理场或耦合作用的 CAE 分析工具

[1]

。以 ANSYS 为代表的 CAE 软件不断吸

收计算机技术的最新技术,将有限元分析、计算图形学和优化技术结合起来,已成为解决工程

30

问题的有效工具。APDL 是 ANSYS 的一种专用解释性语言,由类似于 FORTRAN77 的 程序设计语言和 1000 多条 ANSYS 命令组成

[2]

。APDL 允许复杂的数据输入,能实现有限元

模型的参数化建模、加载、求解和后处理。其核心是参数和宏,并具有简单的流程控制功能, 如分支、循环等。但 APDL 可视化程度差,开发过程不直观,故并不为研究人员广泛接受。

Visual C++是微软公司开发的具有良好图形用户界面的集成开发工具,在众多的面向对

象的可视化程序设计语言中,受到广大用户的青睐。本文将结合工程常见的渐开线直齿轮的 参数化建模,介绍 Visual C++调用 ANSYS 的方法。以期实现二者的优势互补,并为渐开线直齿轮的有限元参数化建模提供一种通用有效的方法。

35

1 渐开线齿轮建模

如图 1 所示,当一条直线 CK 沿一圆周作纯滚动时,直线上任意点 K 的轨迹 AB,就是该圆的渐开线。该圆为渐开线的基圆,直线 KC 为渐开线的发生线,角α为 K 点的压力角,

作者简介:杨旭(1986-),男,计算机辅助设计. E-mail: cqu_yangxu@163.com

- 1 -

40 角θ为压力角α的渐开线函数。渐开线的极坐标方程式为:

R  R cosα k b

(1)

θ  tan α −α

式中:Rk——K 点到圆心的距离;

Rb——基圆半径。

ANSYS 中没有利用曲线方程构造图形的方法,故渐开线齿廓只能用多段连续的直线段 进行拟合。齿廓渐开线分得段数越多,拟合得就越逼真。限于计算机配置以及考虑到运算速度,本文中将把一个齿廓渐开线分成 20 段。即在齿根圆的点与齿顶圆的点之间均匀插入 19 个点。

45

图 1 渐开线形成原理图

50 Fig. 1 Schematic of asymptote

1.1 几何特征参数化

将待建模型的几何特征参数化是参数化建模的关键。渐开线直齿轮结构的主要特征是齿数、模数、压力角、顶高系数、顶隙系数、齿轮厚度。本文首先将这六个变量参数化。在 ANSYS 中通过以下语句来实现:

*set,Par,Val

其中,Par 是自定义的参数名,Val 是赋给该参数的值

[3]

55

。如欲将齿数赋值为 20,对

应的命令为:

*set,CS,20 !定义齿轮齿数为 25

有了这个参数,当需要改变齿轮齿数时就无需使用 GUI 方式进行手动修改,只要将

上 60 述语句中的值改为期望值,重新建模即可。其余五个变量的处理方法与此类似。

1.2 渐近线的离散

ANSYS 并未提供连续曲线的直接建模方法,故需将渐进线离散化,得到有限个关键点,然后自底向上构造渐进线的模型。此处可利用 APDL 语言中的循环语句生成其余的关键点。

65

循环语句如下所示: n=0 i1=(ra-rf)/20

0 if,rf,ge,rb,then pp=rf

ai=acos(rb/rf)

70 oii=tan(ai)-ai

- 2 -

* do,p,rf,ra,i1

ai=acos(rb/p) !关键点在基圆上的压力角 oi=tan(ai)-ai !关键点在基圆上的展角 oi1=tan(a)-a !分度圆上关键点的展角

75

q=p i* m/(2* r)-2*(oi-oi1) n=n+1

k,n,pp,(oi-oii)/p i* 180 !定义关键点 n k,n+21,pp,(oi+q-oii)/p i* 180 pp=pp+i1 * enddo

程序执行上述循环以后会得到若干关键点,此时需将这些关键点存贮起来以备建立渐进

80

85

线时使用。借用 ANSYS 提供的数组变量功能可以方便地实现这一点,相关命令如下:

*dim,theta,array,Z1*3+1 !定义数组 theta *vfill,theta(1),ramp,0,20 !给数组 theta 赋值

1.3 形成宏文件

把上述螺旋结构建模的 APDL 程序存为宏文件 gear.mac,作为 ANSYS 的输入文件

[4]

2 Visual C++调用 ANSYS

Visual C++主要实现三个功能:编制用户界面、向 ANSYS 传递参数,调用 ANSYS 应用程序。

90

2.1 Visual C++实现用户界面

0 Visual C++环境中实现图形用户界面十分简单,本文将根据建模过程的具体需要建立如图 2 所示的界面。

95

图 2 齿轮参数对话框 Fig.2 Dialog of Gear parameters

图 2 所示编辑框中显示的内容是渐开线齿轮参数化建模所需的所有参数。分别在各参数

对话框下输入期望模型的参数值,点击“确定”按钮,Visual C++程序将在 BATCH 模式下 运行,并自动计算出齿轮模型所需的所有参数。点击“重置”按钮,可将各参数进行重新赋

100 值[5]。

- 3 -

点击“保存”按钮,可以将自动生成的参数配置文件保存在电脑文档中,以备再次使用。

2.2 Visual C++ 向 ANSYS 传递参数

实现 Visual C++向 ANSYS 传递参数有多种方法,本文采用的是先将待传递的参数形成一个文本文件,再由 ANSYS 读入此文本来实现参数传递

[6]

。在 Visual C++中形成文本文件

105

110

的关键代码如下:

Void DLGparam::OnOK() {

UpdateData(true);

Ofstream paraFile(\"D:\\VcAnsys\\param.txe\

paraFile<<\"rd=\"<paraFile.close();

115

CDialog::OnOK();

}

ANSYS 读入此文本的命令为“/input,D:\\VcAnsys\\gear.txt”,将此命令写入 ANSYS 输 入文件的适当位置,则当 ANSYS 运行时就会读取 gear.txt 文件,从而完成参数的传递。

2.3 Visual C++调用 ANSYS

关键代码如下:

Void CMatlabVcDlg::OnButton() {

Int result,result1;

Result=system(m_path);

MessageBox(\"ANSYS 模型已建立完毕\"); Result1=system(“notepad D:\\\\VcAnsys\\\\gear.txt”); }

点击“运行 ANSYS”按钮,Visual C++将调用 ANSYS 程序完成对渐近线齿轮的建模过

120 Visual C++调用应用程序可通过多种途径,这里采用 system()函数实现对 ANSYS 的调用,

125

130

程并将建模结果形成数据库文件存入磁盘。建模完成后将弹出消息框等待用户确认是否开始新的渐近线齿轮模型建立。

2.4 程序运行示例

编译并运行此程序,分别输入各参数如表 1 所示:

135

齿轮一 齿轮二

齿数 Z 24 30

表 1 参数化建模齿轮参数

Tab. 1 Gear parameters for parametric modeling 模数 m 压力角α 齿顶系数 5 20 1 5 30 1

齿隙系数

0.25 0.25

齿轮厚度 B 44 44

则可分别得到模型如图 3、图 4 所示:

- 4 -

140

145

图 3 参数化建模模型(齿轮一) Fig.3 Parametric model (Gear one)

图 4 参数化建模模型(齿轮二) Fig.4 Parametric model (Gear two)

3 结论

本文给出了一种参数化建立渐开线齿轮模型的方法,对比上文中不同参数下所得的渐近线齿轮模型可以看出:利用 Vsuial C++与 ANSYS 的 APDL 语言对渐近线齿轮进行有限元建模,理论结果与实验结果一致。证明了所用理论方法和所建模型的正确性。

- 5 -

[参考文献] (References)

[1] ANSYS Inc. APDL Programmer's Guide[M].Beijing:Chinese Science and Technology Publishing House,2008 [2] 薛隆泉,王玉秋等. 基于 VC++和 ANSYS 接口的高效率曲轴有限元分析系统[J]. 重型机械,2004,25 (5):28-31. 25-27.

[4] 博弈创作室. APDL 参数化有限元分析技术及其应用实例[M]. 北京:中国水利水电出版社,2004. [5] 龙靖宇. 基于 ANSYS 的偏轨箱形主梁参数化建模[J]. 武汉大学学报,2003(1) [6] 姜晓铭. Visual C++6.0 程序设计[M]. 北京:北京工业大学出版社,2004.

[3] 范家宏,李成林等. 基于 APDL 的行星齿轮参数化建模与有限元分析[J]. 机械制造与研究,2010,39(3):

150

155

- 6 -

因篇幅问题不能全部显示,请点此查看更多更全内容