0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解决数控铣床多面加工的实体模型实时修改算法的研究

电子设计 来源:郭婷 作者:电子设计 2019-06-21 08:08 次阅读

1、引言

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

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

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 的密度网格已经够用了。由于采用了矩阵网格表示加工工件,因此,对工件的放缩,旋转操作变得非常简单,有利于使用者仔细观察。该算法,已经应用到实际中,得到了较好的效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7325

    浏览量

    87600
  • 仿真
    +关注

    关注

    50

    文章

    4013

    浏览量

    133299
  • vr
    vr
    +关注

    关注

    34

    文章

    9628

    浏览量

    149927
收藏 人收藏

    评论

    相关推荐

    深圳主轴在数控铣床上的作用 数控铣床主轴

    主轴在数控铣床上有哪些作用?接下来就跟恒兴隆小编一起来看看吧!主轴部件是数控铣床最重要的组成部分,主轴的好坏直接关系到铣床加工精度,主轴部件在外力的作用下将产生较大的变形,容易引起振
    发表于 08-13 09:13

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

    提出了一种新型的实体模型实时修改算法,解决了数控铣床多面
    发表于 01-18 15:38 15次下载

    数控铣床加工实验

    1.掌握数控铣床加工特点;2.掌握数控铣床加工程序的结构特点及编制方法;3.掌握数控铣床程序的输入、编辑、
    发表于 02-24 10:07 63次下载

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

    提出了一种新型的实体模型实时修改算法,解决了数控铣床多面
    发表于 07-13 15:28 27次下载

    数控铣床的操作与加工实验

    数控铣床的操作与加工实验一、项目编号:二、实验课时:2三、主要内容及目的1.实验内容  了解数控系统面板操作,观察数控铣床的机械结构
    发表于 12-30 23:19 2246次阅读
    <b class='flag-5'>数控铣床</b>的操作与<b class='flag-5'>加工</b>实验

    数控铣床的编程实验

    数控铣床的编程实验(1)一、项目编号:二、实验课时:2三、主要内容及目的(一)实验目的1、通过编写数控铣加工程序,加深理解数控车G代码的
    发表于 12-30 23:20 2485次阅读

    数控铣床基本操作

    1.实验名称: 数控铣床基本操作2.实验目的: 1、了解数控铣床的基本操作;2、学习数控系统的基本操作方法。3.实验仪器及设备:配FANUC0I铣床
    发表于 02-16 00:45 3332次阅读

    数控铣床的作用有哪些

    点位控制功能数控铣床的点位控制主要用于工件的孔加工,如中心钻定位、钻孔、扩孔、锪孔、铰孔和镗孔等各种孔加工操作。连续控制功能通过数控铣床的直线插补、圆弧插补或复杂的曲线插补运动,铣削
    的头像 发表于 08-24 09:27 1.3w次阅读

    数控铣床的分类

    普通数控机床一般指在加工工艺过程中的一个工序上实现数字控制的自动化机床,如数控铣床数控车床、数控钻床、
    的头像 发表于 08-24 09:33 9909次阅读

    数控铣床与普通铣床的主要区别

    数控铣床一般具有CRT屏幕显示功能,显示加工程序、多种工艺参数、加工时间、刀具运动轨迹以及工件图形等。数控铣床一般还具有自动报警显示功能,根据报警信号或报警提示,可以迅速查找机器故障。
    的头像 发表于 08-24 09:42 2.6w次阅读

    数控加工中心与数控铣床最大的区别

    普通的数控铣床也是具有数控操作系统(例如日本发那科、德国西门子、中国华中或广数等),也具有三个进给轴和一个旋转主轴,他们的加工模式几何是一模一样的,而且也基本上可以实现相同的加工能力。
    发表于 10-11 09:27 1.4w次阅读

    浅析数控铣床加工中心床之间的区别?

    数控铣床加工中心到底有什么区别,其实这个问题不仅是对于外行的人很困惑,很多行业内人士也有傻傻分不清的。 简单的说就是加工中心是数控铣床的升级版本,如果把
    的头像 发表于 03-25 17:25 2629次阅读

    数控机床与数控铣床的相同之处有哪些

    Machine Tool,简称NC机床)是一种通过数控系统控制,按照预先编制的程序自动完成加工任务的机床。数控铣床(CNC Milling Machine)是数控机床的一种,主要用于
    的头像 发表于 06-07 10:33 665次阅读

    数控铣床主要用于加工什么零件

    数控铣床是一种高度自动化的机床,主要用于加工各种形状复杂的零件。它具有高效率、高精度、高可靠性等特点,广泛应用于机械制造、航空航天、汽车制造、模具制造、电子制造等领域。以下是对数控铣床加工
    的头像 发表于 06-07 10:37 2070次阅读

    数控铣床的s指令是速度的指定参数吗

    数控铣床是一种高度自动化的机床,它通过数控系统控制机床的运动和加工过程。数控铣床广泛应用于模具制造、机械加工、航空航天等领域。在
    的头像 发表于 06-07 11:10 902次阅读