找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 256|回复: 0

虚拟数控加工过程的研究

[复制链接]
发表于 2010-10-22 00:27:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

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

×

1 引言

. H9 _4 [2 E1 `/ r9 S0 Q0 W% t
数控加工过程隐含在数控程序中,数控程序中的错误不容易发现,目前常采用计算机图形模拟刀具轨迹显示法和机床试切法对数控程序进行校验,但两者都有缺点。计算机图形模拟刀具轨迹显示法缺少真实感,刀具与工件的干涉和过切难以发现;试切法成本高,周期长。 / W4 Q9 A4 k7 d5 I$ a4 V
虚拟加工技术是指数控机床在虚拟环境中的映射,它集制造技术、机床数控理论、计算机辅助设计(CAD)、计算机辅助制造(CAM)和建模与仿真技术于一体。人能够凭直觉感知计算机产生的三维仿真模型的虚拟环境,在设计新的方案或更改方案时,就能够在真实制造运行之前进行数控机床的虚拟设计,在虚拟环境中进行零件的数控加工,并对数控程序加以检验,检查数控加工过程中可能出现的碰撞、干涉危险,分析零件的可加工性和工序的合理性。虚拟加工技术的采用可缩短产品的开发周期,降低生产成本,提高产品质量和生产效率。 6 s' @: A$ ]/ f$ B& y# e- P3 b4 p# D( u6 x6 t7 h9 ?* B1 v1 w- E- E, t% s2 g9 Y9 n, g! J/ q. M; d3 F6 p, d

图1 系统结构图
) p" q) r. d( |. ?' p3 @/ A c V

2 系统结构

# }6 ?3 d( L& E) }8 o0 }, C' G7 Z7 q
在国内虚拟机床技术研究的基础上,笔者对数控加工过程的可视化进行了研究,总结出一套虚拟加工技术的初步实施方案。本系统以Windows98为开发平台,采用Visual C++软件及三维图形软件标准接口OpenGL为工具,初步设计了整个虚拟加工的过程。我们所设计的系统采用特征造型方式,即用零件、刀具和夹具产品模型来构造加工过程,将加工过程视为一个四维时空,即空间三维和时间维。 % j# @) X) Z' y( j% {( m
系统主要由以下几个模块组成(见图1): ) F: h- i( e1 k2 {! ^" t
    / F/ }4 u6 V4 r" [) d
  1. 虚拟加工环境:虚拟加工环境由机床、工件、刀具和夹具构成,采用OpenGL和AutoCAD对机床、夹具、刀具和工件进行特征造型。 ( D# j. h0 L( h9 g
  2. 虚拟加工过程:此模块包括数控程序译码、三维动画仿真、碰撞干涉检查、加工精度分析、加工工时统计分析五个模块。数控加工过程仿真包括几何仿真和物理仿真两个部分。几何仿真将刀具与零件视为刚体,不考虑切削参数、切削力及其它因素对切削加工的影响,只是对数控程序进行翻译,产生刀具位置数据,并以此数据驱动机床运动部件和刀架运动,刀具对工件进行虚拟切削,同时检查是否有碰撞、干涉。物理仿真包括加工精度分析,切削过程的热变形,切削力作用下的系统弹性变形、夹紧变形,以及机床的动态、静态分析等。
' V( Q N v. V1 A( N

3 系统实现

4 l9 w& O& G/ h% v' t
数控加工过程仿真包括加工环境数据描述、图形消隐和动画显示等各个部分。下面将对几个主要部分的实现进行讨论。 & b8 P' z6 B) c* Q- i) }4 l
    $ s+ K+ a; X9 R/ _& X" C0 f
  1. 加工环境的数据描述 ! V/ C6 J/ Y7 T* N$ Y, I6 ?$ m! q
    双刀架数控车床实现多刀同时进行加工,加工环境复杂,这要求有功能强、效率高的图形工具对其进行描述。OpenGL在三维真实感图形制作中的优秀性能,使它已成为新一代工业标准的三维计算机图形软件接口。利用它可以方便地对加工环境进行描述。 % {" p; S4 O) E) O& @" n
    OpenGL的图形库除了提供基本的几何要素(点、线、多边形、图象、位图)的绘制函数外,也提供了绘制复杂的三维物体(如球、锥、多面体)以及复杂曲线曲面(如Bezier,Nurbs)绘制函数,在此基础上设计者可以建立起复杂的三维模型,并可以设置光照模型及材质属性以生成更逼真的图象。对于加工环境中较复杂的三维图形部分,则采用AutoCAD,再通过相关软件将其转换为OpenGL的数据格式。 ! H- S2 W! E3 E# ]
    OpenGL的显示列表是一个非常有用的工具,它是一系列可反复执行的命令的高速缓存。这些OpenGL命令对所有命令的执行只存储其最终结果,因此可以避免在绘图过程中因反复执行相同命令而浪费大量时间。OpenGL用如下语句将省略号替代的部分定义为一个显示列表: ; `4 ]$ |7 J8 v- a* v/ Y7 A
    glNewList (listIndex,Mode):......glEndList(); 3 o7 [9 {) C* b$ l2 b+ E# m# p
    例如对数控机床的四方刀架(见图2),若在计算机中画几把相同的刀具,由于每绘制一把刀具都需要大量的计算而浪费时间。如使用显示列表,OpenGL只需绘制一把刀具,就会绘制其他主体结构相似的刀具,因而节省了时间。
    # L& L M/ T9 I& h) h* s
  2. 图形消隐 / y X9 X7 l( D s4 S
    图形消隐的目的是找出并消除要显示的物体中不可见的部分,以增强图形的真实性。OpenGL本身提供了这一功能,即通过深度检验。屏幕上每个像素的深度,即观察点与像素的距离保存在深度缓冲区(Z-Buffer)中,可根据像素与观察点的距离,用较近的像素覆盖较远的像素,达到曲面消隐的目的。现在很多微机用户添装了OpenGL图形加速卡,极大的提高了消隐的能力。
    $ {, E9 J K- [" q
  3. 动画的实现 ; m \# x( L$ |4 x9 [
    电脑动画的生成通常有两种生成方式,一种是逐帧动画,另一种是实时动画。逐帧动画就是当计算机每生成一幅画面,就及时地将它记录下来,最后再将所有画面连续地插放出来,它的优点是显示速度较快,但不能根据用户的要求交互改变,应用范围比较小。实时动画是一边计算一边在计算机终端上直接产生动画,优点是交互能力强,可以根据用户的要求实时改变画面,但对计算机的图形处理能力提出了更高的要求。根据以上的分析,结合所做课题交互性的要求,我们采用实时动画方式。OpenGL中实现动画是用双缓存区实现的,即前台显示缓冲区和后台显示缓冲区。当后台缓冲区执行当前的绘制命令时,在前台显示缓冲区中进行图形显示,这样就增强了双刀架数控车床加工过程三维动画显示的连续性和运动感。 / D! I; i: @! K; p3 G " a# ]2 C' b" ~% y! ]: o) O: y) n- `& X+ D+ s, O* |, ~; t" M9 q7 i" Y

    图2 虚拟数控加工过程仿真
    9 m5 e0 @; X5 {8 ^1 C
    图2所示是一个双刀架数控加工过程仿真,由图可清楚看到金属光滑表面在加工过程中所形成的高光带,光源所形成场景中的各个物体的阴影及物体表面每个像素的亮度值都单独计算所形成的层次感,使仿真程度更加逼真。
! m0 L I1 M( S: V+ O

4 系统的特点

5 ]* { c& T5 i
    4 v; n& l+ j. [; K. a) k
  1. 易移植性:本系统虽然是在Windows98平台上开发的,但采用OpenGL生成图形,它独立于窗口系统和操纵系统,因此十分方便的在各种平台间移值。 ( a1 f8 F5 ~ j
  2. 自定义性:由于本系统采用交互式设计,允许用户按自己特定的要求选择或修改加工环境结构,因此极大限度的满足用户的需求。 - g2 R% N1 F K3 I" L
  3. 真实性:由于采用实体造型,结合光照、纹理、颜色等一系列特殊处理,使得仿真加工环境更接近真实。 + d" p4 |. c; e. @ g; }, Z
  4. 易开发性:OpenGL的使用,使系统图形的编程量减少,开发者无须掌握大量的图形学知识,而可以集中精力掌握困难的算法问题。
" X, L0 b+ H) P- o5 @

5 总结

0 o: b; `$ t$ m* Z$ Q& M3 x/ N
双刀架数控车床,由于采用多刀加工,加工过程复杂,此仿真系统的开发具有实用价值,不仅可以提高生产效率,也为虚拟数控机床技术的应用和发展起着推动作用。
1 ^5 o3 L8 ]$ m) C. U% G, Q$ D& c9 h. s
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2024-11-15 11:02 , Processed in 0.146317 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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