1 引言
图1 系统结构图 |
2 系统结构
- 虚拟加工环境:虚拟加工环境由机床、工件、刀具和夹具构成,采用OpenGL和AutoCAD对机床、夹具、刀具和工件进行特征造型。
- 虚拟加工过程:此模块包括数控程序译码、三维动画仿真、碰撞干涉检查、加工精度分析、加工工时统计分析五个模块。数控加工过程仿真包括几何仿真和物理仿真两个部分。几何仿真将刀具与零件视为刚体,不考虑切削参数、切削力及其它因素对切削加工的影响,只是对数控程序进行翻译,产生刀具位置数据,并以此数据驱动机床运动部件和刀架运动,刀具对工件进行虚拟切削,同时检查是否有碰撞、干涉。物理仿真包括加工精度分析,切削过程的热变形,切削力作用下的系统弹性变形、夹紧变形,以及机床的动态、静态分析等。
3 系统实现
- 加工环境的数据描述
- 双刀架数控车床实现多刀同时进行加工,加工环境复杂,这要求有功能强、效率高的图形工具对其进行描述。OpenGL在三维真实感图形制作中的优秀性能,使它已成为新一代工业标准的三维计算机图形软件接口。利用它可以方便地对加工环境进行描述。
- OpenGL 的图形库除了提供基本的几何要素(点、线、多边形、图象、位图)的绘制函数外,也提供了绘制复杂的三维物体(如球、锥、多面体)以及复杂曲线曲面(如 Bezier,Nurbs)绘制函数,在此基础上设计者可以建立起复杂的三维模型,并可以设置光照模型及材质属性以生成更逼真的图象。对于加工环境中较复杂的三维图形部分,则采用AutoCAD,再通过相关软件将其转换为OpenGL的数据格式。
- OpenGL的显示列表是一个非常有用的工具,它是一系列可反复执行的命令的高速缓存。这些OpenGL命令对所有命令的执行只存储其最终结果,因此可以避免在绘图过程中因反复执行相同命令而浪费大量时间。OpenGL用如下语句将省略号替代的部分定义为一个显示列表:
- glNewList (listIndex,Mode):......glEndList();
- 例如对数控机床的四方刀架(见图2),若在计算机中画几把相同的刀具,由于每绘制一把刀具都需要大量的计算而浪费时间。如使用显示列表,OpenGL只需绘制一把刀具,就会绘制其他主体结构相似的刀具,因而节省了时间。
- 图形消隐
- 图形消隐的目的是找出并消除要显示的物体中不可见的部分,以增强图形的真实性。OpenGL本身提供了这一功能,即通过深度检验。屏幕上每个像素的深度,即观察点与像素的距离保存在深度缓冲区(Z-Buffer)中,可根据像素与观察点的距离,用较近的像素覆盖较远的像素,达到曲面消隐的目的。现在很多微机用户添装了OpenGL图形加速卡,极大的提高了消隐的能力。
- 动画的实现
- 电脑动画的生成通常有两种生成方式,一种是逐帧动画,另一种是实时动画。逐帧动画就是当计算机每生成一幅画面,就及时地将它记录下来,最后再将所有画面连续地插放出来,它的优点是显示速度较快,但不能根据用户的要求交互改变,应用范围比较小。实时动画是一边计算一边在计算机终端上直接产生动画,优点是交互能力强,可以根据用户的要求实时改变画面,但对计算机的图形处理能力提出了更高的要求。根据以上的分析,结合所做课题交互性的要求,我们采用实时动画方式。OpenGL中实现动画是用双缓存区实现的,即前台显示缓冲区和后台显示缓冲区。当后台缓冲区执行当前的绘制命令时,在前台显示缓冲区中进行图形显示,这样就增强了双刀架数控车床加工过程三维动画显示的连续性和运动感。
图2 虚拟数控加工过程仿真- 图2所示是一个双刀架数控加工过程仿真,由图可清楚看到金属光滑表面在加工过程中所形成的高光带,光源所形成场景中的各个物体的阴影及物体表面每个像素的亮度值都单独计算所形成的层次感,使仿真程度更加逼真。
- 电脑动画的生成通常有两种生成方式,一种是逐帧动画,另一种是实时动画。逐帧动画就是当计算机每生成一幅画面,就及时地将它记录下来,最后再将所有画面连续地插放出来,它的优点是显示速度较快,但不能根据用户的要求交互改变,应用范围比较小。实时动画是一边计算一边在计算机终端上直接产生动画,优点是交互能力强,可以根据用户的要求实时改变画面,但对计算机的图形处理能力提出了更高的要求。根据以上的分析,结合所做课题交互性的要求,我们采用实时动画方式。OpenGL中实现动画是用双缓存区实现的,即前台显示缓冲区和后台显示缓冲区。当后台缓冲区执行当前的绘制命令时,在前台显示缓冲区中进行图形显示,这样就增强了双刀架数控车床加工过程三维动画显示的连续性和运动感。
4 系统的特点
- 易移植性:本系统虽然是在Windows98平台上开发的,但采用OpenGL生成图形,它独立于窗口系统和操纵系统,因此十分方便的在各种平台间移值。 #p#分页标题#e#
- 自定义性:由于本系统采用交互式设计,允许用户按自己特定的要求选择或修改加工环境结构,因此极大限度的满足用户的需求。
- 真实性:由于采用实体造型,结合光照、纹理、颜色等一系列特殊处理,使得仿真加工环境更接近真实。
- 易开发性:OpenGL的使用,使系统图形的编程量减少,开发者无须掌握大量的图形学知识,而可以集中精力掌握困难的算法问题。