三角网格细分曲面nc刀轨生成方法

文档序号:6283303阅读:200来源:国知局
专利名称:三角网格细分曲面nc刀轨生成方法
技术领域
本发明提供一种三角网格细分曲面NC刀轨生成方法,属于计算机辅助制造领域。

背景技术
基于三角网格细分曲面可实现产品外形采样数据点云的曲面模型快速精确重构,目前已在产品逆向工程领域获得广泛应用。对逆向工程系统输出的三角网格细分曲面模型直接进行数控加工,可有效缩短复杂外形产品开发周期,降低产品成本,但由于三角网格细分曲面仅能实现工件型面的离散逼近表示且模型数据量大,其数控加工刀轨求解精度与效率是制约逆向工程与现行CAM技术无缝集成的关键问题。
对现有基于三角网格曲面获取数控加工刀轨的技术文献进行检索发现,孙玉文等在学术期刊《机械工程学报》2002,38(10),P50-54上发表的学术论文“基于三角网格曲面模型的刀位轨迹计算方法”中,采用三次Bézier插值曲线代替网格边界计算刀位数据,一定程度上提高了刀轨精度,但由于曲线插值过程复杂,当刀轨截面过密时,导致网格边界重复插值,刀轨生成效率低;钟大平等在学术期刊《东南大学学报(自然科学版)》2004,34(1),P50-53上发表的学术论文“细分曲面的NC刀轨生成算法及实现”中,采用细分曲面精确表示工件模型,基于等距偏置曲面计算刀位数据,但是,为提高刀轨精度需要对工件模型多次细分及等距偏置运算,严重影响了刀轨生成效率。此外,三角网格曲面模型通常由大规模密集三角面片组成,为其建立合理的数据结构是提高网格模型几何运算效率的首要条件,孙玉文等采用三角面片邻接链表存储三角网格曲面模型,由于三角面片邻接链表的建立及维护过程过于繁琐,链表中存在大量的面片冗余信息,严重影响了三角网格模型各类几何运算的整体效率;钟大平等在其论文结论中指出细分曲面模型本身就存储着三角面片之间的拓扑关系,可快速生成刀轨,事实上细分曲面的实现过程中所使用的网格数据结构仅能实现三角面片线性遍历,基于该结构的网格模型几何运算效率低于三角面片邻接链表。
综上所述,现有技术存在的缺陷是缺乏针对三角网格细分曲面模型的空间数据索引结构,严重制约了数控加工刀轨的生成效率。


发明内容
本发明的目的在于提供一种能克服上述缺陷、可快速生成三角网格细分曲面模型数控加工刀轨的刀触点、并根据曲面模型的微分几何性质及铣削刀具类型和参数确定刀位点、有效提高数控加工刀轨的精度的三角网格细分曲面NC刀轨生成方法。其技术方案为 一种三角网格细分曲面NC刀轨生成方法,其特征在于步骤依次为1)构建三角网格细分曲面模型空间聚类索引结构,具体是把三角网格数据读入到存储器中,并为三角网格数据建立线性链表存储结构,改进R*-tree动态空间索引数据结构,将三角面片及索引结点MBR(Minimum Bounding Rectangle)统一表示为四维点对象(x,y,z,r),其中x,y,z为MBR中心坐标,r为MBR的外接球半径值,采用k-means算法对三角面片进行空间聚类分簇,建立三角网格细分曲面模型空间聚类索引结构;2)深度优先遍历三角网格细分曲面模型空间聚类索引结构,获取与刀轨截平面相交数据结点内的三角面片;3)基于刀触点处网格模型的局部微分几何性质,根据铣削刀具类型及参数计算刀位点;4)采用最小生成树法对散乱刀位点集进行排序,获得有序刀位点集。
为实现发明目的,所述的三角网格细分曲面NC刀轨生成方法,在步骤1)中采用k-means算法实现三角面片集合的空间聚类分簇,具体是①任意选取k个结点MBR中心作为索引结点的初始分簇中心;②将每个非分簇中心索引结点选择距其MBR中心最近的分簇进行插入,将分裂结果规范化为四维点对象;③对于同簇结点中的N个索引结点,其四维标准化坐标为pi(xi,yi,zi,ri)(i=1,...,N),将以ri为权因子计算所得结点重心作为新分簇中心,用新分簇中心代替原来的分簇中心;④将新分簇中心和上一次分簇中心进行比较,如果相同则结束分簇,否则查看分簇次数是否超过最大分簇次数,如果超过最大分簇次数,则结束,否则返回步骤②,继续分簇。
为实现发明目的,所述的三角网格细分曲面NC刀轨生成方法,在步骤2)中,通过刀轨截平面与三角网格细分曲面模型空间索引结构各层结点的位置关系,逐层查找与刀轨截平面相交的各层索引结点,最终获取与刀轨截平面相交数据结点,进而获取与刀轨截平面相交的三角面片,利用三角面片与刀轨截平面求交获得刀触点。
为实现发明目的,所述的三角网格细分曲面NC刀轨生成方法,在步骤3)中,以当前刀触点为目标点查询其近邻点获取刀触点处局部型面参考数据点集,对其进行最小二乘逼近建立微切平面,将微切平面的法矢作为该刀触点处的法向矢量,根据刀触点法向矢量及铣削刀具类型和参数计算刀位点。
为实现发明目的,所述的三角网格细分曲面NC刀轨生成方法,在步骤3)中,刀触点处局部型面参考数据的获取方法是利用三角网格细分曲面模型的空间聚类结构查找目标点所在网格边界的顶点,并不断向周围扩张查找与已找到顶点共边界的顶点,以这些边界顶点与目标点构成刀触点处局部型面参考数据来表达刀触点处局部型面几何特性。
为实现发明目的,所示的三角网格细分曲面NC刀轨生成方法,在步骤4)中,对散乱的刀位点集采用最小生成树法Prim算法进行排序,设集合V为刀位点集的集合,集合U存放V的最小生成树的顶点,集合T存放V最小生成树的边,各点之间的距离作为各条边的权值,具体的排序步骤为①令集合U的初值为U={u1}(假设构造最小生成树时,从交点u1出发),集合T初值为空;②从u∈U,v∈V-U的边中,选取具有最小权值的边(u,v),将顶点v加入到集合U中,将边(u,v)加入到集合T中;③重复步骤②,直到U=V时,最小生成树构造完毕。最小生成树所有边的顶点依次输出就是排序后的有序刀位点集。
本发明与现有技术相比,具有以下三个优点 (1)基于改进的R*-tree空间聚类索引结构实现刀轨截面与三角面片的快速求交,刀轨生成效率大幅度提高; (2)根据刀触点对应曲面位置处的微分几何性质及铣削刀具类型和参数确定刀位点,有效提高刀轨生成精度; (3)采用最小生成树算法对刀位点进行快速排序,提高了数控加工刀轨的正确性。



图1是本发明程序流程图; 图2是本发明所建立的三角网格细分曲面模型空间聚类索引结构整体结构示意图; 图3是本发明空间聚类索引结构索引结点规范化表示; 图4是本发明k-means算法分簇实现流程图; 图5~图9是本发明球面模型空间聚类索引结构各层索引结点MBR模型图; 图10是本发明数控加工刀轨计算流程图; 图11~图13是本发明与刀轨截平面相交数据结点获取过程示意图; 图14是本发明刀位点计算示意图; 图15是本发明Prim算法排序实现流程图; 图16是本发明对球面模型进行数控加工刀轨计算获取的刀轨图; 图17是本发明实施维纳斯头像三角网格细分曲面模型及局部放大图; 图18是本发明对维纳斯头像模型进行数控加工刀轨计算获取的刀轨图及局部放大图。

具体实施例方式 下面结合附图对本发明作进一步说明。
采用C语言实现三角网格细分曲面模型数控加工刀轨的生成,本发明三角网格细分曲面模型数控加工刀轨生成程序的实现流程图如附图1所示。数据输入程序1负责读入三角网格细分曲面模型数据,并为其创建线性链表存储结构,以支持三角网格数据线性顺序遍历。三角网格细分曲面模型空间聚类索引结构构建程序2采用嵌套的三维矩形对点云数据进行动态空间聚类划分,为数据输入程序1所生成的数据线性链表建立上层改进的R*-tree空间聚类索引结构。三角网格细分曲面模型数控加工刀轨计算程序3通过深度优先遍历三角网格数据的空间聚类索引结构,快速获取与刀轨截平面相交数据结点中的三角面片,通过计算获取数控加工刀轨。
如图2所示,是本发明三角网格细分曲面模型空间聚类索引结构构建程序2建立的三角网格细分曲面模型空间聚类索引结构改进R*-tree整体结构示意图。三角网格细分曲面模型空间聚类索引结构的数据结构分为索引层和数据层,索引层由R*-tree内部结点、叶结点和数据结点构成;数据层为数据链表,其结点具有访问上级索引层的能力。索引层结点分为索引结点和数据结点,索引结点的子结点仍然是索引层结点,数据结点只有指向具体空间数据对象的指针。索引结点结构体中的type标识用于判断该结点是内部结点还是叶结点,type等于0表示该结点为内部结点,type等于1表示该节点为叶结点。内部结点的子结点仍然是索引结点,叶结点的子结点为数据结点,通过数据结点可以指向具体数据对象。对于三角网格的存取,如图3所示将三角网格及索引节点MBR统一表示为四维点对象(x,y,z,r),其中x,y,z为MBR中心坐标,r为MBR外接球半径值。对于三角网格细分曲面模型空间聚类索引结构各层结点的子结点数的上限M和下限m,以及结点重新插入数目R的取值,均由用户根据三角网格数据的规模自行设置,通常取m=M×40%,且R=M×30%。采用k-means算法进行三角面片集合的空间聚类分簇的实现流程如附图4所示将索引结点中心距离最远的一对结点MBR的中心作为初始分簇中心,将数据对象添加到距分簇中心最近的分簇中,更新各分簇中心,并与原来的分簇中心进行比较,若分簇中心相同或分簇次数超过最大分簇次数则结束分簇,否则继续分簇。
如图5~9所示,是本发明调用三角网格细分曲面模型空间聚类索引结构构建程序2对球面三角网格细分曲面模型所建立的空间聚类索引结构各层结点MBR模型图。试验所用三角网格数据数量为1247,所采用的索引参数m=8、M=20,重新插入结点数R=6,三角网格细分曲面模型空间聚类索引结构数据结构构建时间约为0.047224秒。其中图5显示了球面三角网格细分曲面模型,图6显示了空间聚类索引结构根结点MBR,图7显示了第二层结点MBR,图8显示了叶结点MBR,图9显示了数据结点MBR。该实验表明,采用三维空间聚类索引结构可准确实现三角网格细分曲面模型的空间聚类划分。
如图10所示,是本发明三角网格细分曲面模型数控加工刀轨计算程序3实现流程图。三角网格细分曲面模型数控加工刀轨计算程序3在三角网格细分曲面模型数控加工刀轨计算过程中,以当前读取的刀轨截平面为目标刀轨截平面,依次调用相交数据结点获取程序4、相交三角面片获取程序5、刀触点求解程序6、刀位点求解程序7及刀位点排序程序8,最后得到整个三角网格细分曲面模型的数控加工刀轨。其中相交数据结点获取程序4是目标刀轨截平面与存取三角网格细分曲面模型的改进R*-tree索引结构各层结点进行位置关系判断,准确获取与目标刀轨截平面相交的数据结点。相交三角面片获取程序5是目标刀轨截平面与获得的相交数据结点内三角面片进行位置关系判断,准确获取与目标刀轨截平面相交的三角面片。刀触点求解程序6是利用目标刀轨截平面与相交三角面片进行面面求交,获取交点并存到刀触点链表中。刀位点求解程序7是根据刀触点法向矢量及铣削刀具类型和参数将刀触点转化为相应的刀位点,存储到刀位点链表中。刀位点排序程序8是将刀位点链表中杂乱无序的刀位点集进行排序,获取有序刀位点集便于生成数控加工刀轨。
图11~13显示为深度优先遍历改进R*-tree获取相交数据结点的过程。设刀轨截平面的法矢为n,索引结点的顶点为vi(1≤i≤8),q为刀轨截平面上任意点,根据公式εi=n·(q-vi)(1≤i≤8)计算的εi值判断索引结点各顶点位于刀轨截平面的位置,进而判断索引结点与刀轨截平面的位置关系。深度优先遍历改进的R*-tree,逐层查找与刀轨截平面相交的各层索引结点,最终获取与刀轨截平面相交的数据结点。
相交三角面片获取程序5的实现过程如下设刀轨截平面由点q和法矢n定义,三角面片的顶点使用Qi(i=1,2,3)表示,顶点Qi(i=1,2,3)与刀轨截平面的位置关系可通过公式doti=(Qi-q)·n(i=1,2,3)的值来判断doti>0表示点位于刀轨截平面的上方,doti<0表示点位于刀轨截平面的下方,doti=0表示点位于刀轨截平面上。当三角面片的三个顶点位于刀轨截平面的不同侧时,三角面片与刀轨截平面相交,据此获取与刀轨截平面相交的三角面片。
刀触点求解程序6的计算过程为由相交三角面片获取程序5中相交三角面片各顶点doti的值可以计算三角面片各顶点到刀轨截平面的距离,然后通过位于刀轨截平面不同侧的两顶点及其连线与刀轨截平面的交点,以及各自在刀轨截平面上的投影点构成两个相似三角形,根据三角形相似性质可以计算其交点,即刀触点。
如图14所示,刀位点求解程序7是将刀触点根据刀具的类型及参数经过相应的转换生成刀位点。通过三角网格细分曲面模型空间聚类索引结构获取刀触点p所在网格边界两顶点,并查找过该两个顶点所有三角面片的顶点构成刀触点p的局部型面参考数据点集,由刀触点p及其局部型面参考数据点集建立最小二乘微切平面,将该微切平面α的方向矢量n作为工件型面在刀触点p处的法向矢量。复杂曲面模型常采用球头铣刀进行加工,球头铣刀的刀位点是其球心,故刀位点p′可由刀触点p沿其法向n偏置刀具半径距离获取,依次存放到刀位点链表中。
如附图15所示设集合V为刀位点集的集合,集合U存放V的最小生成树的顶点,集合T存放V最小生成树的边,各点之间的距离作为各条边的权值,初始化集合U={u1}(假设构造最小生成树时,从交点u1出发)和集合T为空,从u∈U,v∈V-U的边(u,v)中,选取具有最小权值的边,将顶点v加入到集合U中,将边(u,v)加入到集合T中,判断是否U=V,若相等则最小生成树构造完毕,否则继续创建最小生成树。最小生成树所有边的顶点依次输出就是排序后的有序刀位点集。每行有序刀位点集经后置处理生成数控加工代码,可实现网格曲面模型的数控加工。
图16是本发明对球面三角网格细分曲面模型行距为0.01mm时进行刀轨计算得到的刀轨,刀轨生成时间为0.036588秒,图17为维纳斯头像模型,其三角面片的个数为118368,空间动态索引结构构建时间为2.932479秒,图18为采用本发明对维纳斯头像模型行距为0.01mm时进行刀轨计算所得的刀轨,刀轨生成时间为4.317688秒。
权利要求
1、一种三角网格细分曲面NC刀轨生成方法,其特征在于步骤依次为1)构建三角网格细分曲面模型空间聚类索引结构,具体是把三角网格数据读入到存储器中,并为三角网格数据建立线性链表存储结构,改进R*-tree动态空间索引数据结构,将三角面片及索引结点MBR统一表示为四维点对象(x,y,z,r),其中x,y,z为MBR中心坐标,r为MBR的外接球半径值,采用k-means算法对三角面片进行空间聚类分簇,建立三角网格曲面模型空间聚类索引结构;2)深度优先遍历三角网格细分曲面模型空间聚类索引结构,获取与刀轨截平面相交数据结点内的三角面片;3)基于刀触点处网格模型的局部微分几何性质,根据铣削刀具类型及参数计算刀位点;4)采用最小生成树法对散乱刀位点集进行排序,获得有序刀位点集。
2、如权利要求1所述的三角网格细分曲面NC刀轨生成方法,其特征在于步骤1)中采用k-means算法实现三角面片集合的空间聚类分簇,具体步骤为①任意选取k个结点MBR中心作为索引结点的初始分簇中心;②将每个非分簇中心索引结点选择距其MBR中心最近的分簇进行插入,将分裂结果规范化为四维点对象;③对于同簇结点中的N个索引结点,其四维标准化坐标为pi(xi,yi,zi,ri)(i=1,...,N),将以ri为权因子计算所得结点重心作为新分簇中心,用新分簇中心代替原来的分簇中心;④将新分簇中心和上一次分簇中心进行比较,如果相同则结束分簇,否则查看分簇次数是否超过最大分簇次数,如果超过最大分簇次数,则结束,否则返回步骤②,继续分簇。
3、如权利要求1所述的三角网格细分曲面NC刀轨生成方法,其特征在于步骤2)中,通过刀轨截平面与三角网格细分曲面模型空间索引结构各层结点的位置关系,逐层查找与刀轨截平面相交的各层索引结点,最终获取与刀轨截平面相交数据结点,进而获取与刀轨截平面相交的三角面片,利用三角面片与刀轨截平面求交获得刀触点。
4、如权利要求1所述的三角网格细分曲面NC刀轨生成方法,其特征在于步骤3)中,以当前刀触点为目标点查询其近邻点获取刀触点处局部型面参考数据点集,对其进行最小二乘逼近建立微切平面,将微切平面的法矢作为该刀触点处的法向矢量,根据刀触点法向矢量及铣削刀具类型和参数计算刀位点。
5、如权利要求4所述的三角网格细分曲面NC刀轨生成方法,其特征在于刀触点处局部型面参考数据的获取方法是利用三角网格细分曲面模型的空间聚类结构查找目标点所在网格边界的顶点,并不断向周围扩张查找与已找到顶点共边界的顶点,以这些边界顶点与目标点构成刀触点处局部型面参考数据来表达刀触点处局部型面几何特性。
6、如权利要求1所述的三角网格细分曲面NC刀轨生成方法,其特征在于步骤4)中,对散乱的刀位点集采用最小生成树Prim算法进行排序,设集合V为刀位点集的集合,集合U存放V的最小生成树的顶点,集合T存放V最小生成树的边,各点之间的距离作为各条边的权值,具体的排序步骤为①令集合U的初值为U={u1},集合T初值为空;②从u∈U,v∈V-U的边中,选取具有最小权值的边(u,v),将顶点v加入到集合U中,将边(u,v)加入到集合T中;③重复步骤②,直到U=V时,最小生成树构造完毕,最小生成树所有边的顶点依次输出就是排序后的有序刀位点集。
全文摘要
本发明提供一种三角网格细分曲面NC刀轨生成方法,其特征在于首先建立三角网格细分曲面模型的空间聚类索引结构,然后基于该结构实现网格模型与刀轨截面快速、精确求交获取刀触点集,并根据刀触点对应曲面位置处的微分几何性质及铣削刀具类型和参数确定刀位点,最后采用最小生成树算法对刀位点集排序生成刀轨,实例证明该方法可有效提高复杂曲面模型的刀轨生成效率及精度。
文档编号G05B19/4099GK101403909SQ20081015974
公开日2009年4月8日 申请日期2008年11月12日 优先权日2008年11月12日
发明者孙殿柱, 李延瑞, 田中朝, 李心成 申请人:山东理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1