一种基于STL的弯管类模型骨架提取法及其提取系统

文档序号:26142818发布日期:2021-08-03 14:27阅读:246来源:国知局
一种基于STL的弯管类模型骨架提取法及其提取系统

本发明涉及无支撑3d打印技术领域,具体涉及一种基于stl的弯管类模型骨架提取法,还涉及采用所述模型骨架提取法的提取系统、实现所述模型骨架提取法的计算机终端。



背景技术:

3d打印是一种增材制造技术,其以数字模型文件为基础,利用计算机将模型切成一系列有厚度的薄片,3d打印设备自下而上地制造出每一层薄片,最后堆叠得到成型的三维实体。

传统3d打印为三轴打印,模型沿z轴方向进行分层切割和打印堆积,当模型存在悬空结构时,需打印支撑结构帮助材料堆积。支撑结构不仅浪费材料、影响模型表面质量,而且在部分模型如弯管中支撑结构难以清除。为解决这个问题,近年来无支撑3d打印技术开始兴起。无论是五轴式无支撑3d打印还是机械臂式无支撑3d打印,都需要确定切片平面才能对模型进行合理分层切割,而想得到切片平面,通常需要提取模型骨架。

现有的三维模型骨架提取技术有很多,大致分为四类:基于拓扑和几何分析法、拓扑细化法、距离变换法以及广义势场法。在无支撑3d打印中,不仅要求提取的骨架能准确反映模型拓扑结构,而且运算速度快以满足生产需求。而当下骨架提取方法不能快速提取模型骨架,导致不能给无支撑3d打印后续切片划分提供可靠依据。



技术实现要素:

为准确快速提取弯管类模型骨架,给无支撑3d打印后续切片划分提供可靠依据,本发明提供一种基于stl的弯管类模型骨架提取法及其提取系统,在处理模型时算法耗时短速度快,可快速高效的提取出模型骨架,且提取的骨架与模型数学理论中心线或人为观察中心线基本一致,可为无支撑3d打印后续切片划分提供可靠依据。

本发明采用以下技术方案实现:一种基于stl的弯管类模型骨架提取法,包括以下步骤:

s1读取弯管产品三维模型的stl文件;

s2添加所述三维模型中三角形面片的关联信息;

s3确定所述三维模型的打印起始平面、终止平面;

s4搜索所述三维模型中的骨骼点拟合点;

所述骨骼点拟合点的搜素方法,用于对骨骼点拟合点进行搜索,其搜索方法如下:

s41将起始平面上的点作为前层点集、确定搜索方向;

s42搜索前层点集的最近邻点,标记为当层点集;

所述当层点集的标记方法,用于对前层点集的最近邻点进行处理,其标记方法如下:

s421任取前层点集中的一点作为旧父点a;

s422搜索旧父点a的近邻点作为旧子点b;

s423在旧父点a和旧子点b所在的三角形中,取剩下的点为待定点c;

s424判断待定点c是否已存在于当层拟合点集;

是,则执行s425;否,则执行s426;

s425当层搜索结束;

s426判定待定点c是否属于前层点集;

是,则执行s427;否,则执行s428;

s427,将待定点c确认为新父点a,记录“点a为旧子点b的父点”这条隶属关系中的父点信息;

根据新父点a、旧子点b组成的边和旧三角形边的关联信息确定得到新三角形,后将新父点a在所述新三角形中的序号,定为旧父点an,返回至s422;

s428将待定点c放入当层拟合点集,作为新子点b;

根据旧父点a、新子点b组成的边和旧三角形边的关联信息确定得到新三角形,后将新子点b在新三角形中的序号,定为旧子点bn,返回至s423;

s43提取当层点集中近似在一个平面上的点,标记为当层拟合点集;

所述当层拟合点集的标记方法,用于对当层点集中近似在一个平面上的点进行处理,其标记方法如下:

s431设定距离阈值threshold1、数目阈值threshold2;

s432从当层点集中随机选取三点,组成一平面;

s433确认当层点集中是否有超过threshold2个点到该平面距离小于threshold1;

是,则执行s434;否,则返回至s432;

s434将这些点标记为近似在该平面上的点;

s44删除当层点集中未被选中的点,查询并添加记录的所述父点信息,得到新点集,将所述新点集作为前层点集;

s45判断骨骼点拟合点的搜索是否触及终止平面;

是,则执行s46;否,则返回至s42;

s46搜索骨骼点拟合点的操作结束;

s5平面投影所述骨骼点拟合点,求出拟合骨骼点;

s6对拟合骨骼点做插值,得到模型骨架。

作为上述方案的进一步改进,起始平面、终止平面通过人为选取进行确定;

和/或,起始平面选取所述三维模型的圆截面,终止平面选取所述三维模型的方截面。

作为上述方案的进一步改进,所述搜索方向采用起始平面指向终止平面的方向;按照所述搜索方向以及依据所述关联信息进行搜索得到所述旧子点b。

作为上述方案的进一步改进,将待定点c确认为新父点a后,舍去旧父点a;

或,将待定点c作为新子点b后,舍去旧子点b。

作为上述方案的进一步改进,an、bn为第n次确定新三角形时,分别选定的旧父点、旧子点在新三角形中的序号。

作为上述方案的进一步改进,所述平面投影拟合点,求出拟合骨骼点的方法,用于对骨骼点拟合点进行处理,其求出拟合骨骼点的方法如下:

s51利用坐标变换矩阵,将当层拟合三维点集进行二维投影,得到二维点集;

s52计算二维点集组成多边形的质心;

s53将质心坐标变换回原坐标系,取该点为骨骼点;

s54是否存在下一层拟合三维点集;

否,则退出s5;是,则返回至s51。

进一步地,所述多边形的质心计算公式为多边形被划分为若干个小三角形;公式中pi为第i个小三角形的质心坐标,si为面积。

一种模型骨架提取系统,所述提取系统包括:

stl文件读取模块,其用于对产品三维模型的stl格式文件进行读取;

关联信息添加模块,其用于添加所述三维模型中每个三角形面片的邻接信息;其中,三角形面片包含所有共享目标三角形边和顶点的三角形;

骨骼点拟合点搜索模块,其用于对骨骼点拟合点进行搜索;

骨骼点拟合点处理模块,其用于对骨骼点拟合点进行处理以获得拟合骨骼点;以及

一维hermite插值处理模块,其依据骨骼点间的距离对拟合骨骼点作插值。

作为上述方案的进一步改进,模型骨架提取系统采用所述基于stl的弯管类模型骨架提取法。

一种计算机终端,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述基于stl的弯管类模型骨架提取法的步骤。

本发明提出的一种基于stl的弯管类模型骨架提取法及其提取系统,具有以下有益效果:提供了一种新的骨架提取思路,基于stl的弯管类模型中截面点近似在同一平面的特性,通过提取每层近似同平面的点来拟合骨骼点,从而得到模型骨架,该骨架提取思路,可处理非放样以及简单放样弯管类模型,并且处理花费的时间基本在10s内,算法耗时短速度快,可快速高效的提取出模型骨架,且提取的骨架与模型数学理论中心线或人为观察中心线基本一致,可为无支撑3d打印后续切片划分提供可靠依据。

附图说明

图1为本发明的步骤流程图。

图2为本发明从圆截面过渡到方截面的90°放样弯管的示例模型图。

图3为本发明中搜索骨骼点拟合点的方法的流程图。

图4为本发明将前层点集依搜索方向搜寻到的最近邻点集,标记为当层点集的示例图。

图5为本发明中当层点集的标记方法的流程图。

图6为本发明具体在某次搜索过程中,待定点c不在前层点集中,并被判定为新子点b的示例图。

图7为本发明从当层点集中寻找近似在同一平面的点集,作为拟合点集的示例图。

图8为本发明中当层拟合点集的标记方法的流程图。

图9为本发明中平面投影拟合点,求出拟合骨骼点的方法的流程图。

图10为利用拟合点组成多边形质心拟合骨骼点的示例图。

图11为本发明由拟合骨骼点做插值最终得到模型骨架图。

图12为本发明实施例2中一种模型骨架提取系统的模块图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

为准确快速提取弯管类模型骨架,给无支撑3d打印后续切片划分提供可靠依据,本案发明人提供下述实施例。

实施例1

请参阅图1,本实施例公开了一种基于stl的弯管类模型骨架提取法,包括以下步骤:

s1使用matlab软件读取弯管产品三维模型的stl文件;

stl文件用三角网格来简单表现物品的三维cad模型:stl文件中的弯管呈由无数封闭轮廓垂直于模型中性曲线连接而成的实体;

请结合参阅图2,图2所示为从圆截面过渡到方截面的90°放样弯管的示例模型图。

s2添加所述三维模型中三角形面片的关联信息;

关联信息指每个所述三角形面片的邻接信息;其中,三角形面片包含所有共享目标三角形边和顶点的三角形;

邻接信息可通过查询与该点坐标相同的点的序号获取,关联信息可通过查找组成边的两点中的点邻接信息交集获取。

s3确定所述三维模型的打印起始平面、终止平面;

三维模型的打印起始平面、终止平面通过人为选取进行确定。本实施例中,以选取所述模型的圆截面作为打印起始平面、选取所述模型的方截面作为打印终止平面为例进行说明。

s4搜索所述三维模型中的骨骼点拟合点;

请继续参阅图3,图3所示为搜索骨骼点拟合点的方法的流程图,其用于对骨骼点拟合点进行搜索,搜索方法如下。

s41将起始平面上的点作为前层点集、确定搜索方向;

所述搜索方向采用起始平面指向终止平面的方向,本实施例以所述模型中圆截面指向方截面方向作为搜索方向进行说明。

s42搜索前层点集的最近邻点,标记为当层点集;

请结合参阅图4,图4所示为前层点集依搜索方向搜寻到的最近邻点集,标记为当层点集的示例图。图中坐标轴表示三维空间距离,细点为模型点云(为方便观察点云,对模型的线条进行了省略处理)。

请继续参阅图5,图5所示为当层点集的标记方法的流程图,其用于对前层点集的最近邻点进行处理,当层点集的标记方法如下。

s421任取前层点集中的一点作为旧父点a;

s422搜索旧父点a的近邻点作为旧子点b;

s423在旧父点a和旧子点b所在的三角形中,取剩下的点为待定点c;

s424判断待定点c是否已存在于当层拟合点集;

是,则执行s425;否,则执行s426;

s425当层搜索结束;

s426判定待定点c是否属于前层点集;

是,则执行s427;否,则执行s428;

s427,将待定点c确认为新父点a(将待定点c确认为新父点a后,舍去旧父点a),记录“点a为旧子点b的父点”这条隶属关系中的父点信息;

根据新父点a、旧子点b组成的边和旧三角形边的关联信息确定得到新三角形,后将新父点a在所述新三角形中的序号,定为旧父点an,跳转至s422,重复执行s422~s428。

s428将待定点c放入当层拟合点集,作为新子点b(将待定点c作为新子点b后,舍去旧子点b);

根据旧父点a、新子点b组成的边和旧三角形边的关联信息确定得到新三角形,后将新子点b在新三角形中的序号,定为旧子点bn,返回至s423。

其中,an、bn为第n次确定新三角形时,分别选定的旧父点、旧子点在新三角形中的序号。

请再结合参阅图6,图6所示为具体在某次搜索过程中,待定点c(新点)不在前层点集中,并被判定为新子点b的示例图,该示例图是一个二维观测视角,坐标轴表示二维平面距离。

s43提取当层点集中近似在一个平面上的点,标记为当层拟合点集;

请继续结合参阅图7,图7所示为从当层点集中寻找近似在同一平面的点集,作为拟合点集的示例图,该示例图是一个二维观测视角,坐标轴表示二维平面距离。

请继续参阅图8,图8所示为当层拟合点集的标记方法的流程图,其用于对当层点集中近似在一个平面上的点进行处理,当层拟合点集的标记方法如下。

s431设定距离阈值threshold1、数目阈值threshold2。

s432从当层点集中随机选取三点,组成一平面。

s433确认当层点集中是否有超过threshold2个点到该平面距离小于threshold1;

是,则执行s434;否,则返回至s432;

s434将这些点标记为近似在该平面上的点。在图7中被圈中的点即为所选层标记的近似在同平面的点。

s44删除当层点集中未被选中的点,查询并添加记录的所述父点信息,得到新点集,将所述新点集作为前层点集。在图7中未被圈中的点将会执行s44。

s45判断骨骼点拟合点的搜索是否触及终止平面;

是,则执行s46;否,则返回至s42;

通过平面寻找与阈值判断最终选取图中圈中的点作为本层的骨骼拟合点。

s46搜索骨骼点拟合点的操作结束。

s5平面投影所述骨骼点拟合点,求出拟合骨骼点;

请再参阅图9,图9所示为平面投影拟合点,求出拟合骨骼点的方法的流程图,其用于对骨骼点拟合点进行处理,求出拟合骨骼点的方法如下。

s51利用坐标变换矩阵,将当层拟合三维点集进行二维投影,得到二维点集。

s52计算二维点集组成多边形的质心;

所述多边形的质心计算公式为

其中,多边形被划分为若干个小三角形,公式中pi为第i个小三角形的质心坐标,si为面积。

s53将质心坐标变换回原坐标系,取该点为骨骼点;

请结合参阅图10,图10所示为利用拟合点组成多边形质心拟合骨骼点的示例图,图示为经过s51~s53处理后得到的最终结果。图10中坐标轴表示三维空间距离,图中所示的骨骼点为顺序连接各拟合点组成的平面多边形的质心。

s54是否存在下一层拟合三维点集;

否,则退出s5;是,则返回至s51(直至处理完所有拟合三维点集)。

s6对拟合骨骼点做插值,得到模型骨架;

依据骨骼点间的距离做一维hermite插值,最终得到模型骨架。

请结合参阅图11,图11所示为由拟合骨骼点做插值最终得到的模型骨架示例图,图中的坐标轴表示三维空间距离,图中所示的模型内部黑色粗线部分为拟合骨骼点做hermite插值后得到模型骨架。

本实施例提供了一种新的模型骨架提取思路,采用本实施例的提取法,在对如弯管类等模型进行处理时,利用基于stl的弯管类模型中截面点近似在同一平面的特性,采用提取每层近似同平面的点来拟合骨骼点,从而得到模型骨架。该骨架提取思路,可处理非放样以及简单放样弯管类模型,在处理模型时鲁棒性好,在matlab上处理时间约为4.1s,算法耗时短速度快,可快速高效的提取出模型骨架,且提取的骨架与模型数学理论中心线或人为观察中心线基本一致,可为无支撑3d打印后续切片划分提供可靠依据。

实施例2

请参阅图12,实施例1所述的一种基于stl的弯管类模型骨架提取法可以设计成一个应用软件,如本实施例提供的模型骨架的提取系统,其载入需要的电子设备中实现相应的模型骨架提取法。一种模型骨架提取系统,其包括stl文件读取模块、关联信息添加模块、骨骼点拟合点搜索模块、骨骼点拟合点处理模块以及一维hermite插值处理模块。

stl文件读取模块用于对产品三维模型的stl格式文件进行读取。关联信息添加模块用于添加所述三维模型中每个三角形面片的邻接信息;其中,三角形面片包含所有共享目标三角形边和顶点的三角形。骨骼点拟合点搜索模块用于对骨骼点拟合点进行搜索。骨骼点拟合点处理模块用于对骨骼点拟合点进行处理以获得拟合骨骼点。一维hermite插值处理模块依据骨骼点间的距离对拟合骨骼点作插值,得到模型骨架。

模型骨架提取系统在执行时,实现如实施例1所述基于stl的弯管类模型骨架提取法的步骤,因此,在本实施例中对模型骨架提取系统不再详细介绍。

实施例3

本实施例提供了一种计算机终端,其包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如实施例1的基于stl的弯管类模型骨架提取法的步骤。

模型骨架提取法在应用时,可以软件的形式进行应用,如设计成独立运行的程序,安装在计算机终端上,在其他实施例中,也可设计成嵌入式运行的程序,安装在计算机终端上,这里的计算机终端可采用电脑,也可以采用其他智能设备。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1