一种工件材料去除仿真的方法

2014-11-12 03:09陈阁
无线互联科技 2014年10期
关键词:计算机图形学实体模型数控加工

陈阁

摘 要:机床加工中,工件材料去除仿真有着广泛的应用,它对于检测G代码的正确性,减少工件试切带来的成本,提高加工的性能,降低能耗以及保护环境都有十分重要的意义。本文以三轴铣床加工为列,介绍了本人在工作中,使用的一种工件去除的仿真方法。

关键词:数控加工;仿真;实体模型;计算机图形学

随着计算机技术和信息技术的发展,虚拟制造技术在传统加工制造业中得到了广泛应用,它以虚拟现实和仿真技术为基础,对产品的设计、生产过程统一建模,在计算机上实现产品从设计、加工、装配以及检验等整个生命周期的模拟和仿真。

工件材料去除仿真是虚拟制造的重要组成部分,利用计算机图形学技术对已编制的NC(Numerical Control,数字控制,简称数控)程序进行模拟演示。开发功能完备、实用性强的虚拟数控加工模拟系统是当前加工制造业急需解决的问题。三维图形模拟可以用来检验NC程序的正确性和合理性,大大降低了以往的试切等方法带来的高消耗,并保证整个加工过程中的安全。加工安全分为加工前,加工中和加工后的安全,工件材料去除仿真的模拟属于加工前的安全。

1 铣床工件模型

本文采用基于物体空间的离散法建立工件的数学模型,其基本思想是:首先,按精度将工件表面离散为一系列的三角形网格;然后,判断工件表面三角面片顶点是否与刀具扫掠面相交,并根据刀具扫掠面修改各三角片顶点值,其中重点是根据刀具路径计算刀具扫掠面;最后,对三角网格进行真实感渲染。基于三角网格的物体空间离散法己经比较成熟,并且也已经被成功应用于数控仿真的实现中。

具体来说,本文假定毛胚(待加工工件)为长方体,将毛坯的6个面分别进行离散。上表面是待加工表面,是毛坯离散化的关键,将其离散为均匀点阵,形成的三角网格,形状规则,排列有序,便于三角网格的快速检索。同理,工件的下表面由于也存在着加工的可能性(如通孔的加工),将工件的下边面采用上表面同样的方法进行离散,对于工件的侧面,采用四边形网格的方法,原因是,实际加工中用四边形网格和三角形网格在表示工件侧面上具有同等的精度,并且四边形网格的数量比三角形网格要少的多。

在毛坯离散化的过程中,离散精度(网格节点密度)的选择,影响着毛坯的显示质量。但是精度提高,又必然会影响效率,仿真的效率和精度两者互相制约,为此需要根据仿真具体情况(毛坯大小、加工工艺)寻找一个合适的值。为了简化计算,同时根据实际使用中的经验,本文采用将工件离散为边长1mm的正方形网格,再将正方形网格分为两个相等的三角形,图1为50×50的网格,用于工件上、下表面的离散。

2 算法实现

整个算法分为工件模型初始化,切除运算和模型绘制三个部分实现,以下是具体描述。

2.1 初始化工作

包括工件模型的初始化和刀具模型初始化,工件模型的初始化,按照本文第一部分的方法建立工件的数学模型,将毛坯表面离散为密度合适的均匀网格节点;对于刀具模型,由于刀具模型在加工过程中,形状没有改变,因此采用简单的几何体进行描述。

2.2 工件切除运算

机床数控系统对NC代码进行插补处理,在程序起点和终点之间进行数据点的密化,最终得到的刀具运动轨迹均为连一系列连续的微小直线段,如图2中的线段。图中球头刀沿着轨迹移动,设轨迹的起点和终点坐标分别为。球头刀沿刀位轨迹移动所扫掠过的立体空间称为刀具扫描体;刀具扫掠面就是刀具表面在空间运动过程中形成的包络面;刀具扫掠域就是刀具移动时刀具扫掠面在平面的投影。

为了简化计算,首先将刀具一次运动生成的扫掠面投影到平面,这样可以快速找到此次刀具运动切除工件模型的范围,只对该区域进行计算,减少了计算量。

判断毛坯表面节点是否被加工,首先要判断毛坯节点是否位于刀具扫掠域中。如图2所示,图中矩形为刀具扫掠域包围的矩形,为在平面内的投影,刀具扫掠域分为三个部分,起始和终止部分为半圆形,中间矩形部分。:

包围矩形是指能包围扫掠域的最小矩形。采用两步判别网格点,第一步是粗判,判断网格点是否落在扫掠域的包围矩形中;如果网格点落在扫掠域的包围矩形中,则进一步判断网格点与扫掠域之间的关系,从而确定网格点是否被切除,这样可以大大减少计算量,提高判断效率。

首先判断网格点是否位于刀具扫掠域包围矩形中,刀具扫掠域包围矩形的数学表达式为(的取值范围,其中为刀具半径):

只有位于刀具扫掠域包围矩形内的网格点才进一步判断它是否位于刀具扫掠域中。

刀具运动方向为:

则刀具扫掠域数学表达式为:

循环遍历工件上包围矩形内的离散网格点,判断每一个节点与刀具扫掠域的关系。如果网格点位于刀具扫掠域中,则对该点做继续判断。

铣削加工中材料去除的过程就是毛坯网格点数据修改的过程,即工件上离散网格点的向坐标值根据刀具扫掠面改变的过程。本文实现了三种刀具(球头刀、立铣刀和环形刀)的切除运算。下面以球头刀为例,介绍刀具扫掠面的方程。

图2中球头刀扫掠面是一个空间规则的曲面,分为三部分,其中起始部分和终止部分均为球面,中间部分为一个半径为的半圆柱面。

假设为刀具扫掠面上任意一点,点位于起始部分满足方程:

点位于终止部分时满足方程:

刀具扫掠面中间圆柱面满足方程:

在一次刀具运动过程中,循环遍历工件上切除区域内的每一个离的点,根据工件上的点在刀具扫掠面在平面投影的位置的不同,采用不同的方程,解出值,该值即为刀具本次切除后工件上表面在该点的值,从而确定在某一时刻,工件模型的状态。

2.3 模型绘制

有了工件模型的三维模型数据,就可以对数据进行渲染,由于数控系统是运行在linux系统下,因此采用OpenGL图形库对数据模型进行渲染,将网格数据转化为三角片,调用OpenGL绘制函数进行绘制。

为了增强显示效果,本文使用了OpenGL自带的光照模型,启用光照后,需要计算工件模型切除后的每个三角片的法线值,否则工件切除后,根本看不出工件是否被切除。因此在工件切除过程中,除了要修改每个被切除离散点的Z值外,还要修改与该离散点相关的三角片的法线值。

以球头刀切除算法为例,被切除离散点的法线方向分为起始部分,中间部分和终止部分,其中,起始部分和终止部分离散点的法线方向指向刀具扫掠面的球面的球心,中间部分离散点的法线方向指向球心运动的线段。

3 算法优化

采用上述算法,对刀具运动以及工件做切除运算,并集成到数控系统中,发现整个运算占用很高的系统资源,特别是CPU的使用率很高,在一次进行大量的切除运算时,会有模拟卡住的现象。为了降低CPU的使用率,并增加仿真的流畅性,需要对仿真算法进行优化。本文以绘制模型的优化为例,介绍本人工作中使用的优化方法,经过分析CPU使用率较高的情况,发现主要瓶颈在绘制模型的复杂性上,因此,简化绘制模型是首选的方法,也是本文采用的方法。

在实际的加工中,很多离散网格(其中包括公面且三角片的法向量相等的网格)可以合并为一个网格,合并网格后,减少了三角片的数量,对于工件的复杂部分,仍然使用较多的三角片绘制,网格合并效果见图3。这样处理,很大程度上减少了CPU的使用,提高了仿真系统的流畅性。

采用简单合并网格的方法,仿真效率提高了,但是出现了新的问题,就是在某些视角下,相鄰网格间会有隐隐约约的虚线,影响了显示效果,对于这个问题,发现是某些离散点位于三角片的边上,也就是不是所有的离散点都只位于三角片的顶点上(如图4中间红色的顶点)。

对于这个问题,需要修正这样的点,方法是增加一个网格,如图5所示,这样所有的顶点都在三角片的顶点上,没有顶点在三角片的边上。经过优化,显示效果得到了较好的改善,加工后的工件模型显示效果如图6所示。

4 总结

本文介绍了一种工件切除的实时仿真方法,本文介绍的内容是本人在工作工使用的方法,由于涉及到保密问题,本文只是粗略的讲解了理论方面的知识,没有写核心问题的解决方法和相关代码细节的实现。

[参考文献]

[1]王占礼.面向虚拟制造的数控加工仿真技术研究.吉林大学.2007.

[2]周静.数控仿真三维建模与系统实现.南京理工大学.2005.

[3]张新宇.基于网格的三维造型和处理技术研究.浙江大学.2004.

[4]马志艳.面向数控加工仿真的增强现实关键技术研究.华中科技大学.2007.

[5]张岩.曲面三角网格表示的数据结构优化研究.大连理工大学.2006.

猜你喜欢
计算机图形学实体模型数控加工
计算机图形学与图形图像处理技术
用面向科学思维的教学方法改进计算机图形学课程教学
三维投影变换的MATLAB实现
进出瓶螺旋杆的螺旋线简化设计及加工
数控加工实训教学改革研究
建筑设计中的实体模型
建筑设计中的实体模型
F8F-1B“熊猫”舰载战斗机实体模型工作图
OV-1“莫霍克”侦察机实体模型工作图