您的当前位置:首页正文

文献综述

2022-05-07 来源:步旅网


学校代码:11517

学 号:200806111108

HENAN INSTITUTE OF ENGINEERING

文献综述

题 目 基于VB的圆柱齿轮CAD系统研究与开发

学生姓名 程克强

专业班级 机械设计制造及其自动化0844 学 号 200806111108

系 (部)机械工程系

指导教师(职称) 孟凯

完成时间 2012年2月12日

基于VB的圆柱齿轮CAD系统研究与开发

基于VB的圆柱齿轮CAD系统研究与开发

摘 要: 圆柱齿轮在机械行业设计中应有相当广泛,雷同率高,每次设计都需要根据不同尺寸重复性绘制,使设计人员大部分精力集中在绘图上,设计周期较长。而利用vb设计的参数化绘制系统,可以加速齿轮的绘制过程,从而使设计人员的精力集中在机构和整体性能的设计。

基于 VB开发一个对表达式进行自动计算的控件,以实现通过表达式的方式自动采集齿轮的传动比要求;基于模块设计方法搭建了系统框架,然后用数值计算方法,开发不同要求下圆柱齿轮节曲线的设计模块,从而生成圆柱齿轮图形。并经过反复测试了程序,使所开发的插件能够完成常用圆柱齿轮的自动设计。

关键词:vb语言程序/catia二次开发/齿轮/表达式计算

1 基于vb的catia二次开发

1.1 Catia二次开发技术研究与应用

凭借 CATIA软件在业界内的领先地位和其功能的完善性,把 CATIA作为二次开发技术平台,具有很好的实际应刖价值和创新价值。程序版本及运行环境分别为catiav5r20、Microsoft Visual Basic 6.0 中文版、window xp。

一般而言,对 CAD产品的二次开发工具主要有两火类:(1)是基于OLEAutomation的工具,即第三方工具,如开发AutoCAD的VBA和autolisp技术;(2)是 CAD软件本身所提供的开发平台。同样CATIA接口也通过这两种方式与外部程序通信:进程内应用程

1

基于VB的圆柱齿轮CAD系统研究与开发

序(In—ProcessApplication)方式和进程外应用程序(Out—ProcessApplication)方式。我们所说的二次开发大部分都是指的进稗外开发方式。在此方式下,CATIA提供了多种二次开发的接口,最主要的有两种方法,一种是开放的基于构件的应用编程接口CAAV5技术,另一种是自动化对象编程 CATIAAutomation技术。前者是基于CATIA已有组件的定制开发,后者是交互方式的定制开发。两者的共同特点是程序脚本均由第三方软件开发,通过CATIA提供的连接组件实现两者之间的通信。CATIA Automation技术-CATIA自动化是一种在解释环境下执行,在 COM基础上文现的技术,继承了COM的与语言无关、进程透明特点,简化了COM的底层细节,应用更加广泛。COM是一种二进制兼容规范,使不同语言开发的组件在二进制可执行代码级基础相互通信,增强了代码的重用性,提高了编程效率。这一技术的主要思想就是用一种程序去控制另一种程序,Automation并不能直接地获取和处理数据,只能间接地通过开放的对象、方法和属性,来获取、设置和处理数据。在进行CATIA的二次开发之前,还应清楚两个问题。(1)选择合适的开发语言。(2)对CATIA编程的整体流程有一个清晰的思路。

1.2 VB语言应用程序界面的显示

Visual Basic极大地简化了界面的设计,它使程序员可以直观地设计应用程序的用户界面。通过事件驱动机制,用户在界面上的任何操作都自动被映射到了相应的处理代码上。这样,程序员可以将精力集中在程序功能的实现上,无须像以前那样需要耗费大量的精力为界面编写代码。例如:当用鼠标单击一个按钮时,用户并不需要知道这个过程是怎样发生的,或者这个过程的代码是什么,而只需写一段代码来告诉计算机单击按钮时要执行什么命令。因此,在程序设计中Visual Basic比以往的各种工具都简便,快速。Visual Basic还提供了OLE(Object Linking and Embedding,对象的链接与嵌入)功能。也就是在应用程序里,可以通过控制其它应用程序中的对象来借用他们的某些功能。例如,建立一个Visual Basic应用程序,在这个程序中,可以使用Microsoft Excel建立一个计算器,用

2

基于VB的圆柱齿轮CAD系统研究与开发

Microsoft Word 建立一个报表Visual Basic是一种基于对象的程序设计语言。一个Visual Basic程序由众多的对象以及各种事件的代码组成。当用户对对象进行操作时,就产生特定的事件。对象在某些特定的条件下也会自动产生事件。当事件产生时,Visual Basic程序就自动调用相应的代码来处理。可以说,应用程序在运行的过程当中,始终在等候事件的产生并做出响应,直到用户结束整个程序为止。 Visual Basic程序的主体是众多的对象,也就是窗体、控件、菜单等。当用户在某个对象上进行某些操作时,比如在命令按钮上进行单击鼠标,就会在这个命令按钮的对象上激发一个鼠标单击事件。一般来说,用户的操作都是有目的的,应用程序该响应用户的操作,也就是说,程序员应该编写代码处理这些事件

用户界面是window应用程序最重要的部分,它是最直接的现实世界,对用户而言,界面就是应用程序。就是评判应用程序好坏的根据。因而我们在开发应用程序的过程中,精力主要集中在用户界面设计上。利用visualbasic可视化开发工具,使用户界面的设计变得更容易。但是在保证设计的用户界面美观、实用的同时,还应考虑到与设备的无关性。也就是开发的应用程序应该能够在不同类型的显示器上运行就象 windows一样。在不同显示分辨率与颜色浓度的计算机中运行,都能显示出漂亮的用户界面。为达到这一点.我们在用visualbasic设计应用程序的用户界面时。应考虑到窗体及控件元素的安排受显示器分辨率和颜色显示能力的影响。

1) 设计与分辨率无关的窗体

在缺省的情况下,当改变屏幕的分辨率时。用VisualBasic开发的应用程序不会改变窗体和控件的尺寸。这就意味着在分辨率为 1024 X 768的屏幕设计的窗体,在分辨率为640X480的屏幕中运行时会伸出屏幕的边界之外。如果想创建不管使用什么样的屏幕分辨率都能有相同比例的窗体和控件,必须在最低的分辨率下设计窗体,或者将改变窗体的代

3

基于VB的圆柱齿轮CAD系统研究与开发

码添加到程序中去:避免尺寸问题的最简单的方法是:在640×480的分辨率下设计窗体。如果更喜欢欢在高一些的分辨率下工作,仍需要考虑窗体在低一些的分辨率下将如何显示。实现这一点的方法是创建 640x480象素纯色位图并把它赋值给窗体的picture属性。然后,可以在设计时把控件放置在位图的边界之内。一旦设计完成,别忘记删除该位图。在运行时.visualbasic根据设计时的位置来放置窗体。如果设计时在 1024×768的分辨率上运行,井把窗体放到屏幕的右下角,则当它在比较低的分辨率下运行时该窗体可能看不见。可以用以下的formload事件中的代码来定位窗体,从而避免这种情况的发生:

Private Sub form-load()

Me. Move 0.0

End Sub

若是设置窗体的left与top的属性都为0,也能有同样的效果,但Move方法只要一步就能完成。

2) 设计不同浓度的颜色

在设计应用程序时.也需要考虑运行应用程序计算机可能的颜色显示能力。有些计算机可以显示 256色或更多的颤色.而另一些只能显示 16种颜色。如果使用256色的调色板来设计窗体,那么在 16色上显示时,抖动 (模仿无效颜色的一种方法)会使窗体上的—些元素消失。为了避免这种情况,最好把应用程序使用的颜色局限于windows标准的16颜色。这些颜色由visualbasic的颜色常数来表示 (如vbBlack、vbBlue等)。如果在应用程序中需要用16种以上的颜色,那么对于文本 、按钮以及其他界面元素仍然应当坚持

4

基于VB的圆柱齿轮CAD系统研究与开发

用标准颜色。

1.3 用VB对Catia进行简单的二次开发

用Visual Basic语言(VB)对Catia软件进行简单二次开发。通过引用相应的库文件,启动Catia软件。在相应草图平面用VB代码创建草图。目前常用的各种商业化的机械设计软件,如二维的AutoCAD和三维的Catia,Pro/E和UG等都不是针对齿轮行业设计开发的,因此在使用这类软件进行齿轮结构设计或者三维造型时总感到不是很方便或者不习惯,许多设计人员都希望能对这些软件进行二次开发,除了能够提高设计效率,还能够提高使用的方便性(或者是降低使用难度),特别是针对三维机械设计软件。首先在Visual Basic开发环境下引用Catia软件的相关库文件,启动Catia软件与启动AutoCAD软件或者excle的方法一样一般来说,catia的启动速度较慢,一次不建议用代码来启动catia软件,而是手动启动后在运行自行开发的程序。然后定义一些基本的变量。这些变量根据实际编程的情况设置成全局变量或者局部变量。可知使用Visual Basic语言对Catia软件进行简单的二次开发,能够方便地创建草图平面,以及绘制各种轮廓曲线,能够有效克服因不熟悉或是不习惯三维机械设计软件的草绘方法而带来的使用困难。

1.4 基于CATIA 二次开发的圆柱齿轮参数化设计

CATIA 系统与 VB 具有无缝接口,从而使基于 CATIA 系统的二次开发更加便捷,用 VB 编程语言可以实现直接创建对象来调用 CATIA 系统。在产品的开发中,有限元分析、运动仿真、装配设计和数控加工等都要以三维模型为基础。齿轮传动作为一种常用的传动形式被广泛应用于各类机械中,其中圆柱齿轮应用最为普遍。但CATIA 没有提供齿轮建模模块,因此本课题提出了用VB开发CATIA 绘制渐开线直齿轮,解决开发过程中遇到的问题,可以快速地实现直齿圆柱齿轮的参数化设计。

5

基于VB的圆柱齿轮CAD系统研究与开发

1) 圆柱齿轮参数化造型设计原理

首先输入模数 m、齿数z、 压力角、齿宽 b、齿顶高系数的值,生成齿轮毛坯,继而程序计算渐开线的点坐标值,由样条曲线连接生成渐开线。利用CATIA的自动获取边界功能绘制以基圆直径的一段圆弧,将两渐开线相连,与齿轮毛坯实体进行布尔运算,生成一个渐开线齿槽,再将该齿槽沿圆周阵列,生成所有的齿轮轮齿。

2) 基于CATIA二次开发参数化编程实现过程

基于VB6.0,调用CATIA API函数,对渐开线直齿轮进行参数化编程

定义、计算及验证相关参数,定义并赋值模数、齿数、压力角、齿宽、齿顶高系数,圆周率。计算基圆半径 rb, 分度圆半径 rd, 齿顶圆半径 ra

rd = m•z/2 ,

rb = rd•cos(alpha),

ra = rd + ha•m 。

对参数进行错误控制。根据加工原理和几何关系,确定齿数的最小值和最大值。

Zmin = 2 * ha / (sin(alpha)) ^ 2

If z < Zmin Then

6

基于VB的圆柱齿轮CAD系统研究与开发

MsgBox (\" 展开法加工过程中将发生根切 \")

Exit Sub

End If

A = Sqr(rd ^ 2 - rb ^ 2) /rb

theta1 = A - Atn(A)

Zmax = pi / (2 * theta1)

If z > Zmax Then

MsgBox (\" 两渐开线相交 , 故该参数的齿轮不存在, 请修改 \")

Exit Sub

End If

绘制直齿轮毛坯

以齿顶圆半径ra为半径,齿宽 b为高度,绘制圆柱体ra。

Set osketch = obody.Sketches.Add(PlaneYZ)

7

基于VB的圆柱齿轮CAD系统研究与开发

Set ofactory = osketch.OpenEdition()

Set dbcircle = ofactory.CreateClosedCircle(0, 0,ra) osketch.CloseEdition

Set opad = osf.AddNewPad(osketch, b)

绘制齿槽特征

绘制齿轮的一个齿槽特征。由于CATIA API没有 提供对称函数,因而需绘制两条对称的样条曲线,定义2个数组 arraypoint() 和 arraypoint1(),用来存放渐开线的一系列点。

Set osketch1 = obody.Sketches.Add(PlaneYZ)

Set ofactory = osketch1.OpenEdition()

A = Sqr(rd ^ 2 - rb ^ 2) / rb

theta1 = A - Atn(A) 'thetas 为起始弧度角

thetas= pi / z / 2 - theta1

n=30

Dim arraypoint(n)

8

基于VB的圆柱齿轮CAD系统研究与开发

Dim arraypoint1(n)

i = 0

For t = 0 To 1 Step 1 / n

u= t * Sqr(( ra / rb) ^ 2 - 1)

rk = 0.5 * db * Sqr(1 + u ^ 2)

theta = u - Atn(u)

X = rk * Cos(theta +thetas)

Y = rk* Sin(theta + thetas)

Y1=-Y

Set osplinepoint=ofactory.CreateControlPoint(X,Y)

Set osplinepoint1 = ofactory.CreateControlPoint(X, Y1)

Set arraypoint(i) = osplinepoint

Set arraypoint1(i) = osplinepoint1

9

基于VB的圆柱齿轮CAD系统研究与开发

i = i + 1

Next t

Set oSpline = ofactory.CreateSpline(arraypoint)

Set oSpline1 = ofactory.CreateSpline(arraypoint1)

Set circle2 = ofactory.CreateCircle(0, 0, rb , -thetas, thetas)

osketch1.CloseEdition

Set ochicao = osf.AddNewPocket(osketch1, b)

当n 取值越大,精度也越高,但计算量也越大

圆周阵列齿槽

当一个齿槽生成之后,调用CATIA的API函数 Add New Circ Pattern( ),圆周阵列齿槽,生成渐开线直齿轮。

参考文献

[1] 徐峰译. Visual Basic从入门到精通[M]. 北京 : 学苑出版社,1994.

[2]

胡挺 . CATIA 二次开发技术基础[M]. 北京 : 电子工业出版社,2006.

10

基于VB的圆柱齿轮CAD系统研究与开发

[3] 刘天惠.Visual Basic程序设计教程[M].北京:清华大学出版社,2006.2..

[4] 李自胜,朱莹,向凡.基于CATIA软件的二次开发技术[J]. 四川工业学院学报,

2003.22.(1):16-18.

[5] 胡适,吴立军. CATIA二次开发技术基础[M].北京:电子工业出版社,2006.

[6] 唐俊,龙坤.CATIA V5 R14 中文版实例教程[M].北京:清华大学出版社,,2005.5.

[7] 1994.

L itv in F L. Gear G eom etry and Applied Theory [M ]. NJ:P ren tice-H

[8] Lozzi A. Non circu lar gears-graph ic generation of involu tes andbase

outlines[ A ] . Proc. Intsn. M ech. Engrs Pa rt C [ C ],2000, 214: 411 ~ 421.

[9] 孙文磊, 朱颍等. 非圆齿轮传动的计算机动态模拟及CAD [M]. 机械传动,1997.

[10] 徐晓俊, 唐德威. 非圆齿轮数控插齿加工程序的计算机辅助设计与仿真技术[M] .

[11] 汪曾祥,魏先英,刘祥至.齿轮设计手册[C].上海科学技术文献出版社[M],1986.7.

[12] 陈靖芯,徐晶. 基于CATIA的三围参数化建模方法及其应用[M],2003.

[13] 朱子宏,魏宪军. 基于CATIA的渐开线直齿轮参数化设计[M],2009.

11

基于VB的圆柱齿轮CAD系统研究与开发

[14] 宋晓波,赵韩. 基于CATIA的齿轮三维设计系统的研究[M], 2008.

[15] 盛选禹,张宏伟. CATIA机械设计命令详解[D]. 哈尔滨工业大学出版社[M],2005.

12

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