齿轮论坛 www.gearbbs.net

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 7610|回复: 13
收起左侧

齿轮加工的三维动画仿真

[复制链接]
发表于 2007-4-3 03:29 | 显示全部楼层 |阅读模式

本帖子中包含更多资源。

您需要 登录 才可以下载或查看,没有账号?注册

x
  一、引言
  齿轮加工动画仿真是齿轮设计中的重要环节,已有数篇关于该课题的文献。郭晓东采用基于AutoCAD环境的ObjectARX软件包,用C++语言在AutoCAD环境下实现了对锥齿轮切齿过程的仿真;罗庆生在3DSMAX环境中开发了齿轮机构工作动画;冯涓在CAD环境下,用AutoLisp语言建立了范成法加工齿轮的仿真演示程序。
  以上各种方法都有自己的特点,本文用VB对AutoCAD进行二次开发来实现齿轮加工的三维动画仿真,这是因为VB是目前最简捷的Windows软件开发工具兼程序设计语言,能对AutoCAD进行二次开发,可将AutoCAD当成自己程序中的一个图形窗口对其进行打开、绘图等操作,能十分方便地实现齿轮加工的动画仿真。
  二、仿真程序流程图与窗体设计
  常见的齿轮加工方法有仿形法和范成法,范成法又包括齿轮插刀加工法、齿条插刀和齿轮滚刀加工法等。加工直齿圆柱齿轮的仿真程序流程,如图1所示。

1.jpg

图1 仿真程序流程图


  本程序只用一个窗体,用四个文本框接收输入参数:齿数Z、模数m、压力角α和变位系数x,用4个命令框控制子程序,1个命令框取消运行程序。该窗体运行结果如图2所示。


2.jpg

图2 仿真窗体
  三、 仿真方法
  1. 在VB中连接AutoCAD
  用VB控制AutoCAD,是通过VB的Object技术来控制AutoCAD的对象及其方法和属性的。VB6.0在调用AutoCAD 2000对象时,首先必须在VB中引用该对象库,方法是在VB的“Projects/Preferences”菜单中选择“AutoCADObjectLibrary”。
  程序设计伊始,需定义一个AutoCAD对象变量GearCAD,通过该变量可以访问AutoCAD的下级对象,定义方法为:Dim GearCAD As AcadApplication。然后在VB的窗体代码中添加如下代码,即可在程序运行时启动AutoCAD:
  Private Sub Form-Load()
  On Error Resume Next
  Set GearCAD=CreatObject(“AutoCADApplication”)
  GearCAD.Visible=True(显示AutoCAD窗体)
  End Sub
  在运行时要确保硬盘中已安装了AutoCAD 2000。
  2. 设置视点和着色方式
  三维动画演示需设置三维视点,用如下语句实现:
  GearCAD.ActiveDocument. ActiveViewport.Direction=NewDirection
GearCAD.ActiveDocument.ActiveViewport = GearCAD.Active
Document.Active Viewport
  其中,NewDirection(0 To 2)为双精度型一维数组变量,存放视点的三维坐标。
  用SendCommand方法实现图形着色,本程序中使用Gouraud着色方式,可使三维模型表面光滑,富有逼真的质感。其代码如下:
  GearCAD.ActiveDocument.Send Command“_Shademode”+vbCr+“_G”+vbCr。
  3. 齿轮毛坯的生成
  在程序中先根据输入的参数计算出齿轮的齿根圆半径Rf、齿顶圆半径Ra、分度圆半径R、基圆半径Rb、轮坯厚度Height和轴孔半径r等。再利用AddCylinder方法分别生成一个以Ra为半径的一个圆柱体Gear3d和一个以r为半径的圆柱体Hole,再用布尔减(Boolean acSubtraction)方法生成齿轮中间的轴孔。
  4.刀具的生成
  以齿条刀具为例,刀具模型形状和刀具实体创建完毕时,分别如图3和图4所示。

3.jpg

图3 齿条刀具模型

4.jpg

图4 仿真轮坯和齿条刀具

  具体创建步骤如下:
  (1)过0~5点,用Addlight weightpolyline方法创建轻便多义线Curve(0);
  (2)镜像(Mirror)刀具左部多义线Curve(0),得到右部线段Curve(1);
  (3)用Addregion方法得到刀具截面面域Tool;
  (4)用Addextrudedsolid方法将刀具面域拉伸得到三维刀具实体Tool3d;
  (5)将单齿刀具实体Tool3d进行单行阵列(Arrayrectangular),得到多个齿Tools;再将多个齿Tools进行布尔加运算(Boolean Acunion)得到齿条刀具Tool3d;
  (6)将齿条刀具Tool3d一端平移至与轮坯刚好相遇,准备切齿。平移尺寸根据变位系数x、模数m等参数算出。

44.jpg
  5. 齿轮加工三维动画制作
  仍以齿条插刀为例,动画制作主要步骤及代码如下:
  (1)复制刀具Tool3d得到Tool3dcopy,用轮坯Gear3d与复制所得刀具Tool3dcopy的布尔减(Boolean acSubtraction),完成刀具对齿轮毛坯的切削;
  (2)刀具向前水平移动,每次移动距离(πm/n)mm,n为正整数;刀具沿齿轮毛坯上下移动(用Move方法实现)切制出齿轮厚度方向齿形;
  (3)轮坯Gear3d绕自身轴线旋转,每次转动[2π/(nz)]弧度。
  图5和图6分别为齿条插刀和仿形铣齿的动画仿真情形。

5.jpg

图5 齿条插刀动画仿真


6.jpg

图6 仿形铣齿动画仿真
  四、应用实例
  运行本程序时,只要输入齿数Z等参数,就可以模拟各种齿轮加工过程。例如,改变齿数Z或变位系数x可以观察根切过程及变位齿轮的加工。表1是仿真所得的标准齿轮、发生了根切的齿轮及正变位齿轮的对比。
  五、结论
  通过VB对AutoCAD进行二次开发,实现了VB界面对AutoCAD中对象的控制,既发挥了VB在科学计算、数据处理及界面友好和事件驱动方面的优势,又利用了AutoCAD的精确绘图功能。我们借此方便地实现了齿轮加工的三维动画仿真,这在科研和教学方面有较大的实用性。

评分

1

查看全部评分

发表于 2007-12-7 20:20 | 显示全部楼层
请楼主把软件发上来共享!!
发表于 2007-12-25 11:14 | 显示全部楼层
希望能见到真实的东西 呵呵
发表于 2008-6-11 23:14 | 显示全部楼层
看看软件使用怎样
发表于 2009-9-28 20:53 | 显示全部楼层
支持!!!!!!!!
发表于 2011-6-11 21:20 | 显示全部楼层
路过学习了,谢谢。
发表于 2011-7-3 12:25 | 显示全部楼层
不错,都是高手啊
发表于 2011-7-19 10:40 | 显示全部楼层
回复 cngear 的帖子

是个不错的东东,值得学习.
发表于 2011-7-19 13:19 | 显示全部楼层
不错,有了这个,学习起来,形象直观!
发表于 2011-10-25 18:13 | 显示全部楼层
有了这学习更简单
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|齿轮论坛

GMT+8, 2024-5-3 12:07 , Processed in 0.188380 second(s), 16 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表