数控多面加工仿真关键技术研究与实现

时间:2009-07-17

  摘 要:提出了一种新型的实体模型的实时修改算法,解决了数控铣床多面加工仿真实现问题,并且这种算法在计算机数控加工仿真软件中已经得到了很好的应用。

  1 引言

  虚拟现实(Virtual Reality,简称VR),作为一门新兴的高科技技术,已广泛应用于航空、航天、制造等许多领域[1],该技术的一个重要应用是对制造业一些现象的仿真,典型的就是对数控加工过程的仿真。目前,基于曲面造型[2]和实体造型[3,4]的仿真技术已广泛应用于数控仿真中,对于三轴数控铣床的单面加工仿真也有了好的算法[5]。

  本文提出了一种新型的实体模型的实时修改算法,可以解决数控铣床多面加工实现问题,并且这种算法在数控加工仿真软件中已得到了很好的应用。本文将具体阐述多面加工实现算法的具体思想以及图形的真实感处理,并给出了具体的图示描述。

  2 算法特点及其实现步骤:

  2.1 算法特点

  这种方法主要利用矩阵网格来构建被加工工件的表面,通过及时的修改铣刀所经过的节点深度来显示被加工物体的形状。同时本算法还可以方便的实现铣刀的加速、减速和暂停以及被加工工件的实时缩放和旋转,为使用者提供不同的观察视角和观察方式。

  我们提出的实体模型的实时修改算法的主要特点如下:

  1)对实体的修改速度与加工代码的多少无关。

  2)计算过程稳定可靠。

  3)计算结果的显示与观察方式和视线方向无关,在修改过程中或修改结束后可以实时缩放、旋转和平移。

  2.2 算法结构定义

  三轴数控铣床在X 轴,Y 轴,Z 轴发生移动。被加工的毛坯一般为长方体。在计算机仿真过程中,我们选择比较常用的平头铣刀。将毛坯的表面均表示成m × n 的矩阵网格如图1 所示。每个交叉点称为节点。每个节点,它的相对上表面点坐标是固定不变的,改变的是它的深度,以及画图时的方法。在仿真过程中,不断的改变节点的深度来表达毛坯被加工的实际情况。通过增加m 和n 提高矩阵网格的密度,从而提高仿真。

  先用相关的链表将落刀点及其刀的相关属性保存下来。用二维数组形式记录每个表面上的所有相关点,及其每一点所对应的链表信息,该链表用来存储毛坯上以此点为起点,垂直于该表面的直线上的所有被加工过的点。链表中的结点记录的是加工点的坐标。

  2.3 算法步骤:

  Step 1 : 初始化,将数控程序中,需要加工毛坯属性及有关刀及落刀点的相关的信息读入,其中包括待加工面的选择。

  Step 2 : 根据初始化信息,运行取点算法,记录那些点已被加工,那些点未被加工,即节点筛选。

  在计算机的计算中,铣刀走过了一段直线距离,只有那些位于轨迹面上的节点才应当考虑其深度的修改,称这些点为修改点.若选择加工面为ZOY,平头铣刀走过一段直线,其轨迹面在X-Y 平面上的投影为矩形和两个半圆合成的区域,为了计算简单我们可以移动坐标系如图2 所示:

  其中 S 为铣刀起点在Z-Y 平面上的投影,E 是铣刀终点在Z-Y 平面上的投影,S 与E之间的距离为2L,原点是S 与E 的中点。对任意节点P(y,z)满足一下条件之一则成为修改点:

  I. -R<= z <=R and -L<= y <=L

  II. -R<= z <=R and | PS|<=R

  III. -R<= z <=R and | PE|<=R

  同理,若选择加工其他面,方法类似,只是对应坐标有所变化。

  Step 3 : 修改点的深度计算

  平底铣刀的轨迹面有这样一个性质:若选择加工面为XOY,被平面z=Z0 所截是一个半径为R 的面[6](如图3 所示)。设SE 与X-Y 平面的夹角为a,修改点为P(x,y,z),

  则I. 若 P 与S 的水平距离小于R,P 的深度应该为与S 一样。

  II. 若 P 与S 的水平距离不小于R,那么由方程|(P-S)-(Z-Zs)/sina n|=R 可以得出P 的深度Z。

  同理,若选择加工其他面,方法类似,只是对应坐标有所变化。

  Step 4 : 对零件表面上每一行、每一列上加工过的区间,及该区间中所对应的加工深度,分别按行以链表形式连接起来、按列以链表形式连接起来。并在对应链表的头节点中记录下,该行(或列)中区间所对应的深度。

  如图4所示,对任一面,第m行:假定该行中,datal与data2间深度为h1,data3与data4间深度为h2,且h1>h2,则将生成如下链表:

  链表的生成是动态的,它会随着加工的进行不断修改。然后对每个面做一个哈希表,用来记录每个面上的所有相关点,及其每一点所对应的记录深度点信息的链表。Step 5: 零件的画图实现。

  该过程被分成两部分:画零件上未被加工的外表面和画被加工后形成的包络面。零件加工时,要不断对包络面的侧面边界点收集。此时用到各个面对应的哈希表信息。画图时,根据加工不同的面,要对坐标进行转换,使之表现在同一空间中。

  2. 4 真实感处理:

  本算法的实现工具是VC++6.0 与OpenGL,矩阵网格只是构建了物体的“骨架”,要想在计算机上使物体具有真实感,还得考虑光线的处理。对每个节点,为其定义一个法向量,在修改节点深度的同时修改法向量的值,就可以在仿真中加入对光线的处理了。

  图5 描述的例子中,毛坯的尺寸是300mm×300mm×200mm,矩阵网格为256×256,是使用了两把直径不同的平头铣刀(直径分别为:14mm、6mm),在分别对毛坯从不同的表面加工之后的结果。

  3 结束语

  在数控加工仿真中,除了对仿真的有要求外,还要能够随时的对加工过程加以控制[7]。本文的方法中,改变矩阵网格的密度就可以提高仿真,对一般的需求,512╳512 的密度网格已经够用了。由于采用了矩阵网格表示加工工件,因此,对工件的放缩,旋转操作变得非常简单,有利于使用者仔细观察。该算法,已经应用到实际中,得到了较好的效果。

  本文作者创新点:提出了一种新型的实体模型的实时修改算法,可以解决数控铣床多面加工仿真实现问题,并且这种算法在上海宇龙数控加工仿真系统中已得到了很好的应用。


  
上一篇:步进电机三轴联动的快速加减速算法研究
下一篇:PCB线路板电镀铜工艺简析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料