APP下载

基于OpenGL的板材切割数控加工仿真系统

2010-04-11韩青江吕亚军饶运清

制造业自动化 2010年12期
关键词:校核板材温度场

韩青江,吕亚军 ,饶运清

HAN Qing-jiang, LV Ya-jun, RAO Yun-qing

(华中科技大学 数字制造装备与技术国家重点实验室,武汉 430074)

基于OpenGL的板材切割数控加工仿真系统

Plate cutting nc machining simulation system based on OpenGL

韩青江,吕亚军 ,饶运清

HAN Qing-jiang, LV Ya-jun, RAO Yun-qing

(华中科技大学 数字制造装备与技术国家重点实验室,武汉 430074)

在板材切割数控加工领域,针对如何选择加工方法、确定加工轨迹等问题,提出了利用计算机模拟生产过程进行辅助加工的方法,以实现在最短的时间内找到最佳的加工路径并完成NC代码的校核。对这一问题,通过建立基于OpenGL的三维仿真系统,将NC图形的仿真与NC代码的校核集于一体,全面实现了板材的虚拟加工,大大提高了板材加工的效率。同时提出了建立板材加工中的温度场,通过热力学计算为分析板材的受热变形提供了直观的依据。

OpenGL;数控加工;温度场;三维仿真

0 引言

目前在板材加工生产领域,越来越多的企业选择利用数控机床进行板材切割加工。数控加工技术因其高效、高质量的加工特点成为多数生产企业的首选。一般在进行数控加工之前都需要选择加工方法、确定最佳的加工轨迹,在加工开始的时候需要进行对刀、刀位检测和NC代码校验并判断加工参数是否合适等。这些工作一般会浪费大量的时间。传统的生产企业一般选择采用人工进行试切和NC代码校核,该方法对工作人员的技术水平要求较高,劳动量大且一般检错率较低,大大影响了企业的生产效率。如何快速的选择最佳的加工方法、确定最佳的加工轨迹引起了人们广泛的关注和研究。随着计算机技术在工业生产中应用的深入,利用计算机模拟实际的加工过程进行辅助生产成为了解决上述问题的首选。许多的加工企业根据自身需求的特点开发了相关的仿真系统。仿真技术可以全面再现加工的整个过程,其高效直观的特点大大节省了加工方法选择和NC代码校核的时间、提高了加工企业的生产效率。随着生产水平的提高和精益化生产的要求,板材生产企业对板材切割加工的效率和质量提出了更高的要求。比如在一些特殊应用领域,需要板材的几何尺寸有较高的加工精度,否则将无法使用。但是板材在加工过程中非常容易因受热、受力而产生形变,导致其几何尺寸发生变化而无法达到加工精度要求。为此就需要仿真系统在模拟实际加工过程的同时还可以模拟板材加工中的温度场情况,并能分析板材的几何变形。另外,目前的仿真系统多数功能比较单一,仿真的方法较为简单,随着企业需求的复杂化和专业化,传统的仿真系统已经无法满足现在生产企业的需求。

为此,针对目前多数板材加工企业的仿真需求,研究开发了使用火焰切割、激光切割等加工手段进行生产的三维仿真系统。该系统快速清晰的显示了板材加工的动态过程,顺利的实现了加工方法的比较和NC代码的校核,将NC图形仿真与NC代码校核集于一体,同时在一定程度上模拟了板材在火焰切割过程中的温度场变化,为后续分析板材的几何形体的变化提供了直观的依据。

1 仿真系统实现

1.1 系统框架

本系统围绕着NC代码的校核进行构建,从NC代码的调用、校验、编辑到保存,顺序实现了板材加工过程模拟以及加工点的温度场建模。系统通过简洁、友好的用户界面引导用户进行操作,通过直观逼真的效果图展现仿真结果。系统的总体框架如下:

图1 系统总体框架图

如图中所示,系统主要由三大模块组成,各模块的功能如下:

1.1.1 NC代码控制模块

NC代码控制模块表明了本系统的运作逻辑,实现了从NC代码调入、校核到编辑、保存等功能。其中NC代码调入子模块可以读取磁盘上已有的NC程序,并能将其保存成新的程序,是数控文件输人和输出的接口。NC代码校验子模块用于实现对NC代码的数据结构和语法进行检查,其校验方法分为步进校核与全局校核两种,分别满足了不同检测环境下对检测质量和检测效率的要求。NC代码编辑模块用于在NC程序产生错误时对其进行修改,同时通过NC代码保存模块将其保存为其他新的程序。

1.1.2 图形控制模块

改模块用于调整仿真显示区的图形显示效果。包括了画面的平移、旋转、缩放等操作,可以满足用户从任意角度查看图形的效果从而使用户的操作更加便捷。NC代码控制模块与图形控制模块配合操作,可以完整的显示数控加工的过程并能根据用户需求自由方便的进行查看。

1.1.3 温度场控制模块

该模块用于控制板材温度场的显示。用户界面右边区域的温度条上用不同的颜色设定表示不同的温度,加工过程中板材上不同区域的温度就用相应的颜色进行表示,形成了板材的温度场。该模块通过与图形控制模块相互配合,显示了板材在加工过程中温度场的变化。目前本系统中仅在加工点显示其温度场。

1.1.4 数据显示模块

数据显示模块主要用于显示当前的主要参数,如当前读取的文件名、刀具目前所在点的坐标、NC程序中当前被选中正在校核的代码等。通过这些参数可以了解系统目前的运行情况,并通过调整主要的技术参数可以实现仿真效果的优化。

1.2 系统流程

通过以上各模块的配合运作有条不紊的实现了程序的各项功能。为了减少内存占用,系统在运行过程中采用了读入一个程序段、检查与解释程序段、执行程序段,再读人一个程序段、检查与解释程序段、执行程序段,直到NC文件结束的循环方式[1]。程序读取的过程中每次以行为单位进行读取,每一行程序实现了一个刀具的动作,在一行程序出现错误时及时的进行修改和调整,然后再进行下一行程序的校核。整个程序验证完成之后系统停止,并由操作人员调整返回到初始状态,然后进行下一个程序的读取校验。程序的最终流程图如下:

图2 系统实现流程图

2 基于OpenGL的三维建模

系统的开发是在Windows环境下,以Visual C++为开发工具,采用OpenGL技术实现的。

2.1 OpenGL概述

OpenGL即Open Graphics Library的缩写,是在SGI、SUN、Microsoft、DEC、IBM和Intel等多家世界著名计算机公司的倡导下,联合推出的一种三维图形标准。它由SGI的GL标准发展而来,适用于多种操作系统。OpenGL独立于硬件设备、窗口系统和操作系统,包括120多个图形函数,可以利用这些函数建立三维模型和三维实时交互[7]。OpenGL实际上是一种图形与硬件的接口,与其他图形程序设计接口不同之处在于OpenGL提供了十分清晰明了的图形函数。OpenGL强大的图形函数不要求开发者把三维物体模型写成固定的数据格式,开发者不但可以直接使用自己的数据,而且可以利用其他不同格式的数据源,如DXF、STL、OBJ、ASE、3DS等格式。OpenGL功能强大,可移植性强,目前已经在军事、航天、医学、仿真和虚拟现实等领域得到了广泛的应用,成为最优秀的3D程序设计开发工具[7]。

2.2 建模方法分析与选择

目前基于OpenGL的三维建模实现方法可分为两种,一是直接运用OpenGL程序建模,二是先用专业建模软件进行建模,再转化为OpenGL程序[6]。直接运用OpenGL程序进行建模主要是通过简单的规则实体合成所需要的复杂模型,根据所需建立模型的不同又分为三种情况:一是在需要合成规则实体时,可以利用OpenGL提供的简单空间几何体如圆柱、椎体等进行组合,通过改变相应参数调节几何体大小使其配合适当来完成实体的建模。二是对大多数图形通常采用三角形合成法。任何多边形都可以用三角形拼成,通过不同的三角形组合完成不同规则实体的拼接,三角形合成法已经成为程序员的首选。三是对含有曲面的实体,使用以上方法建模难免会比较粗陋,此时通常是利用OpenGL工具库glu32.lib中的NURBS函数进行绘制,通过绘制NURBS曲线、面进行建模不仅便捷而且模型更加逼真。以上为直接使用OpenGL进行建模的方法。此外使用专业建模软件进行建模主要是通过3DS MAX、AUTOCAD等建模软件建立模型,然后转换成OpenGL程序,最后再通过OpenGL命令进行模型优化和控制。因为OpenGL中并没有提供高级命令,所以在建立三维模型特别是复杂的模型时工作量较大,任务繁重,而且建立的模型比较粗糙。在建立复杂模型时,特别是对模型的外观要求较高时一般采用利用专业建模软件进行建模的方法。在本文所介绍的仿真系统中,因为所要建立的模型比较简单,对模型的外观要求较低,并且考虑到该仿真系统与其他的工作平台的兼容性,所以选择采用直接运用OpenGL进行建模。

2.3 OpenGL建模过程与仿真

2.3.1 三维实体建模

因为本系统中需要建模的对象几何形体比较简单,所以选择利用OpenGL的建模函数直接进行建模。这些待建模的几何实体主要可以分为三个部分:平面的板材、圆柱体的火焰喷抢以及不规则球状的火焰头。系统中对这三部分几何体的建模是分别自定义了三个绘图函数DrawGround()、DrawGun()、ballon()进行实现。首先需要绘制的是板材。板材的几何形状比较简单,而且为了方便起见,系统中对板材不设定厚度,故直接通过OpenGL的glVertex3f(x,y,z)函数确定板材四角点的坐标进行绘制。板材的建模过程前后进行了两次绘图。系统初始化时因为没有板材的几何参数,所以人为设定一组坐标进行绘制,绘图的函数如下:

在调入数控代码之后再根据程序中的加工参数初步确定板材大小,进行重新绘制。其间对绘制图形的函数代码参数进行了修改,使板材大小符合需要。修改后的绘图参数如下:

板材建模完成之后进行喷枪的建模。喷枪几何形状为圆柱体,所以可以直接使用OpenGL中的gluCylinder()函数进行建模。首先在绘制完成板材之后通过旋转和平移等操作将画笔移动到恰当的位置,然后直接调用gluCylinder()函数进行绘制。DrawGun()中使用的主要的函数如下:

通过glTranslatef(0,100,0)、glRotatef(180,0,1,0)和glRotatef(-90,1,0,0)调整画笔的位置,最后使用gluCylinder(m_pGlQuad, 10, 10, 200, 64, 64)绘制出喷枪的几何轮廓。最后需要绘制的是火焰。因为火焰头的形状为不规则的,所以首先需要通过计算确定火焰轮廓上若干不同点的坐标,确定之后用曲线将不同的坐标点相连即形成了火焰的外形轮廓。其确定点的坐标的函数大体如下:

上述的建模过程分别实现了平面板材、圆柱喷枪以及不规则火焰的造型建模。在建模的过程中都分别使用了矩形绘制函数glbegin()和glend()。在这两个函数之前的部分分别是具体的绘图函数。不同部分建模之前使用glPushMatrix()函数将当前的绘图矩阵压入栈中以避免影响之前的操作,图形绘制结束之后再通过glPopMatrix()函数恢复到画图之前的坐标矩阵中。建模过程中使用glBindTexture()调用绘图纹理,做好画图准备。不同的图形之前通过坐标移动、旋转确定绘图开始的位置。不同的图形之间的几何形体需要考虑大小匹配,建模过程中通过改变绘图函数参数的值调整模型的大小,最后达到最佳的配合效果。

2.3.2 真实感造型

完成三维实体的绘制之后只完成了三维造型的一半工作,要建造出完美的图形还必须对实体的材质、光照、颜色等进行设置和处理,以使其充满真实感,达到与周围的环境互相融合的效果。绘图之前首先调用glBindTexture()函数对几何模型进行贴图,通过在不同的几何体上贴上预先选定的不同图形表现出板材、喷枪真实的材质效果。贴图函数分别是glBindTexture(GL_TEXTURE_2D, m_iGround)、glBindTexture(GL_TEXTURE_2D, m_iGun),参数中iGround与iGun分别指向预先选定的纹理图。火焰头的颜色效果采用OpenGL直接着色。OpenGL中每个像素点的颜色都有红(Red)、绿(Green)、蓝(Blue)按照一定的比例混合而成,成为RGB值,并增设了第四个组建A(Alpha)表示像素点的不透明程度,由此四个分量表示不同的的色彩效果[2]。程序中通过函数glColor4f(a,b,c,0.3)将火焰的颜色设定为淡蓝色,然后直接绘制火焰的图形便显示了火焰的颜色效果。最后对场景和模型进行光照处理。OpenGL中的光照模型提供三种光,分别是环境光(Ambient Light)、漫射光(Diffuse Light)和镜面光(Specular Light).允许场景中最多可以设置8个光源,并且对每一个光源都设置了开关功能(glEnable(),glDisable()),这样就可以对不同的实体使用不同的光源,使一些实体呈现别的实体没有的光泽[4].一般一个系统设置两种光源,一种是为整个场景设置的场景光,以模拟自然光效果.另一种是为特别实体设置的特别效果光照,使用这种光照时一般要关掉场景光,即glDisable(LIGHT0). 本系统中设置了一种场景光,以调整整个画面的显示效果。调用函数glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient)设置环境光,通过函数glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse)设置漫反射光,然后设置光源位置glLightfv(GL_LIGHT1, GL_POSITION,LightPosition),在绘图结束后启用光源glEnable(GL_LIGHT1),建立了对整个场景进行调节的光照效果。

2.3.3 温度场建模

温度场建模在本系统中是一个创新点。系统中主要针对当前的加工点进行建模。在温度场建模之前首先根据板材的材质分析切割中所需要的火焰温度,进而确定加工点中心的温度。然后根据热力学原理计算出热量的传导情况,并确定加工点周围不同距离处的温度值,最后比较温度条的温度值颜色得到温度场的颜色图。温度场的渲染主要通过贴图的方式,将计算之后挑选的颜色图贴到加工点,表示出了加工点的温度情况。

温度场是指某一瞬时物体内各点的温度分布状态。温度是标量,温度场是时间和空间的函数,也是标量场。在直角坐标系中可将温度表示成一下函数:

系统中为了简化计算,不设定板材的厚度。另外因为板材形变最大的时候是在其温度最高的时候,故不考虑其他时候温度场的情况,因此温度场函数可以简化如下:

由公式可见板材中任一点处的温度只与其坐标有关系。加工中以当前加工点为坐标原点,那么任一点的温度只与当前点与原点的距离δ有关:

设定加工点的温度为T,任一点的温度与加工点的温差为ΔT,则t=T-ΔT,t转化为ΔT的函数。根据热传导的傅里叶公式:

其中T、δ、λ、A均为已知量,温度t仅是传热量Q的函数。板材切割中传导的热量与加工点的切割温度有关。热量有三种传导方式:传导、对流和辐射,加工中因为板材被切穿的时间很短,热量因辐射散失的较少,所以为简化起见只考虑热量的传导。这样加工点在加工瞬间需要的热量只与材质有关,根据相关的手册和经验可以得到加工瞬时的发热量Q,这样板材任一点的温度就可由公式⑤计算得出。

完成加工点周围不同点的温度计算后再通过OpenGL的贴图操作,将相应的温度颜色图渲染到板材上,即完成了板材的温度场建模。后续通过有限元分析或者由板材热力学公式可以计算出板材受热过程中的几何变化情况。

3 模型实例的实现

3.1 主程序与用户界面介绍

系统主程序从友好的用户界面开始,围绕NC代码的调入、检测、编辑和保存等功能扩展实现了板材加工过程的动画。本系统从应用对象的特殊要求出发,加入了温度场的显示,并期望能初步表达了板材的物理变化情况。系统的用户界面如下:

图3 系统用户界面

整个界面分为四个部分:左边是NC代码显示区,中间是仿真动画显示区,右边是温度列表,下面是数据显示区。菜单栏中文件选项可以调入、编辑和保存数控代码;校验栏中的选项分为步进校验和全局校验。工具栏中以便捷方式显示了打开、保存、校验、放大、缩小等操作。整个用户界面简洁、友好,实现了系统操作的全部功能。

3.2 仿真过程展示

系统在仿真过程中可以分别以步进方式和全局方式进行校核。仿真动画显示截图如4所示。

图4 仿真动画显示

以步进校核方式为例,仿真过程中通过逐行控制数控代码,显示区逐步的显示加工过程。同时可以选择任意一行代码,选中时火焰头将会定位到相应的位置,并将之前的轨迹用红色线表示代表已经加工完成。火焰头部表示了当前加工点的温度场情况。这种校核方法方便了代码的检测、定位和修改。全局校核方式可以自动完成整个加工过程的显示,这种方式可以用于加工方法的预审核和NC代码的快速检测。通过以上两种方式的混合使用,顺利的实现了加工中对加工方法预审核与代码校验的需求,满足了工程应用。

4 结束语

数控加工中,特别是在板材加工领域,通过计算机模拟虚拟加工过程为加工方法的选择、路径优化以及NC代码校核提供了有力的支持。本文中介绍的仿真系统针对目前板材加工企业的需求,将NC图形仿真和NC代码编辑集于一体,全方位再现了板材火焰切割的加工过程,满足了加工企业的生产需求。随着加工技巧的深入,目前许多生产企业,特别是一些特殊的应用场所比如高精度板材加工企业,对板材的几何尺寸精度要求较高。但是板材的尺寸在加工中一般会因受热、受力等而发生变化,导致其在加工之后无法直接使用,增加企业的生产成本。这就要求有更完善的仿真系统在模拟板材加工过程的同时还要模拟板材在加工中的温度场变化并分析板材的变形情况。目前多数的数控仿真只局限于数控加工过程的显示,研究重点多偏向于几何图形信息的处理。随着板材加工企业需求的提升,模拟数控加工中的温度场变化并分析板材的受热、受力变形必将成为研究重点。

[1] 余斌,刘荣忠.基于OpenGL的数控加工仿真系统研究[J].四川大学学报,(工程科学版).2001,33(5):16-19.

[2] 赵 琳,贺 永,傅建中.基于OpenGL的数控加工三维仿真系统的研究与开发[J].机电工程.2003,20(5):9-11.

[3] Span J.Mantyla.Advances in Feature Based Manufacturing.Holland,Elsevier North[J].1995:10-12.

[4] DeHaemer Jr M,Zyda M J.Simplification of objects rendered by polygonal approximations[J].Computer&Graphics,1991,15(2):175.

[5] 姚红革,李瀚山.基于OpenGL的三维实体的开发与控制[J].西安工业学院学报.2005,23(4): 335-338.

[6] 石琼,沈春林,谭皓.基于OpenGL的三维建模实现方法[J].计算机工程与应用.2004(18):121-124.

[7] 陈其,刘国良,曾航.OpenGL三维图形系统开发与实用技术[M].北京:清华大学出版社.2003:2-12.

[8] Shukla,Chetan,Kimura F,etc.Virtual manufacturing:an over view.Computers & Industrial Engineering[J].1996,31(12):79-82.

[9] Rober.S,Shin.Y.C.Modeling and Control of CNC Mechatr onics[J].1995,Vo15,No4:401-420.

TH164

A

1009-0134(2010)11(上)-0057-06

10.3969/j.issn.1009-0134.2010.11(上).19

2010-04-08

国家“863”项目:“轿车发动机协同制造技术及其软硬件平台研究与应用”(2007AA04Z186);国家自然科学基金资助项目(50905065)

韩青江(1985 -),男,江苏邳州人,在读硕士研究生,研究方向为虚拟制造系统建模仿真。

猜你喜欢

校核板材温度场
发电机进相试验失磁保护与低励限制配合关系的校核
装饰石材板材切割技巧
铝合金加筋板焊接温度场和残余应力数值模拟
通行费校核分析方法探究
一种热电偶在燃烧室出口温度场的测量应用
基于卫星遥感图像的收费站位置自动识别与校核
2219铝合金激光电弧复合焊接及其温度场的模拟
FPSO火炬塔海运绑扎方案及强度校核
挤压态Mg-Dy-Cu合金板材的显微组织及时效硬化行为
板材利用率提高之研究