一种基于小波变换的STL网格模型切片数据自适应压缩方法与流程

文档序号:12271368阅读:314来源:国知局
一种基于小波变换的STL网格模型切片数据自适应压缩方法与流程

本发明涉及增材制造领域,具体是一种基于小波变换的STL网格模型切片数据自适应压缩方法。



背景技术:

随着增材制造技术的不断发展,3D打印技术成为了前沿性、先导性的新兴技术,并且对产品设计开发、小批量个性化定制、模型复杂的产品更为适用。在所有的增材制造工艺中,无论是通过CAD造型软件正常造型还是通过逆向工程技术生成零件的网格模型,都必须经过分层切片处理才能将文件数据输入到成型设备中。所以,分层切片数据的精度对3D打印产品的影响较大。

立体光刻(Stereo Lithographic,STL)数据格式由3 Dsystems公司发明,在逆向工程中得到了普遍的应用。因为其格式简单、数据处理方便,所以很快被广泛应用,目前大多数计算机辅助设计系统都STL文件的接口。STL文件是在计算机图形应用系统中,勇于表示三角网格的一种文件格式。STL文件是基于有限元网格划分的原理,采用三角网格来拟合三维模型的外表面,其可以描述所有型体复杂的三维模型,模型的精度取决于三角面片的数量,并且通过STL文件可以实现CAD系统与快速成型系统的数据交换。STL文件中记录了模型中所有三角形面片的信息,即三角面片的法向量和三个顶点坐标,在该文件中,面片的信息是无序存储的。STL文件有两种格式:一种是ASCII明码格式,另一种是二进制格式。ASCII格式的STL文件逐行给出模型的三角化数据,每一行的数据都由关键字标明;二进制格式则用固定的字节数来描述三角形面片的几何信息。虽然二进制格式的文件较小(通常是ASCII格式的1/5),但是ASCII格式的文件信息表达直观,便于读写和修改,所以在工程应用中,多采用ASCII明码格式来读取数据。

虽然很多学者对切片的方法做了很多的研究,但没有有从STL网格模型切片后二维平面数据压缩精简入手进行研究,也很少考虑冗余数据对切片的精度和效率的影响。文章针对STL文件固有的一些缺陷,提出了一种基于小波变换的切片数据自适应压缩方法。该方法通过设定切片的厚度和方向,对STL模型进行等厚分层,求取切平面与同一平面内一系列边的交点,通过小波变换对交点进行优化压缩,最大限度的保留特征信息,并删除冗余点。



技术实现要素:

为了解决由于STL格式原因使得切片精度降低及切片数据繁琐的问题,本发明提供了一种基于小波变换的STL网格模型切片数据自适应压缩方法,通过切片平面对三角形网格进行切片,求得该层的切片交点数据,利用小波变换可以剔除由于数据格式原因带来的错误数据并使切片后的模型更加的光滑。

为实现上述目的,本发明提供如下技术方案:

一种基于小波变换的STL网格模型切片数据自适应压缩方法,包括以下步骤:

步骤1、读取ASCII格式的STL网格模型,提取出STL网格模型中三角形的点、边和面信息,并建立拓扑关系;

步骤2、根据读取的STL网格模型大小及所需要的切片的位置,确定STL网格模型中每一层的切片厚度;

步骤3、求取切片与STL网格模型的一层交点坐标,并利用小波变换对切片后的数据进行自适应性压缩和优化;

步骤4、切完一层后进入下一层进行切片,直至遍历所有的切片片段,切完后生成轮廓环。

作为本发明进一步的方案:步骤1中,拓扑关系的点、边和面的数据结构组成分别为:点数据结构包括点坐标和所述点邻接的面的索引值,面数据结构包括邻接点的索引值和邻接面的索引值,边数据结构包括边的索引值、边的邻接面索引值和两个邻接点的索引值。

作为本发明进一步的方案:步骤2中,所述确定STL网格模型大小及所需要的切片的位置的确定步骤为:

①根据所需要的模型精度得到切片总数n、切片厚度t和所有的切平面;

②读取STL网格模型的一个三角形面片,根据三角形各点z坐标的最大值、最小值及切片精度反求与三角形相交的K个切平面,1≤j≤n。

作为本发明进一步的方案:步骤3中,求取切片与STL网格模型的一层交点坐标,并利用小波变换对切片后的数据进行自适应性压缩和优化的具体步骤为:

获取切片平面与三角形面片相交的切片片段:根据STL网格模型中三角形的点、边和面信息,根据相应的直线方程分别求出相对应的交点的坐标值,

将相交求得的交点的数据进行小波分解,根据交点数据量及要求的精度确定分解的层数,所用连续小波函数为:

;a为尺度因子,表示与频率相关的伸缩,b为时间平移因子;为平方可积函数,f(t)为任意函数;

③对重构后的数据信号完成多尺度的分解提取出各层的低频和高频系数;所应用的多小波函数为:

,其中

所用的多尺度函数为:

通过以上操作后完成了对一层切片数据的压缩并剔除了错误数据点,并形成二维多变形。

作为本发明进一步的方案:步骤4的具体步骤为:

(a)按层存储切片平面与三角形面片的所有相交的切片片段;

(b)遍历所有切片片段的指示信息,获取二维多变形的初始连接点,并使每一层形成一个二维多边形。

与现有技术相比,本发明的有益效果是:

1、本发明利用了小波变换具有自适应性的优点,当数据变化时,对应的小波峰值系数也会发生变化,所以小波系数的峰值能够自适应性地探测数据的特征点;

2、本发明能够克服由于STL格式的网格模型自身格式缺陷的问题,通过对交点数据的小波分解,完成小波重构并得到低频和高频的系数,通过对系数分析输入信号,并进行定量化的分析结果,完成对错误数据的剔除和点云稀疏性的调整。

附图说明

图1是基于小波变换的STL网格模型切片数据自适应压缩方法的流程示意图。

图2为三角面片切片时交点示意图。

图3为采用小波五层分解后的各层信号图。

图4为小波重构后信号图。

图5为五种尺度的低频系数重构图。

图6为五种尺度的高频系数重构图。

图7为原始信号与压缩信号对比图。

图8为某一层截面的初始切片数据图。

图9为剔除错误数据点及优化后的截面图。

图10为叶片完成切片后的截面图。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本发明实施例中,如图1所示,一种基于小波变换的STL网格模型切片数据自适应压缩方法,对某发动机的叶片进行切片,包括以下步骤:

步骤1,输入叶片的ASCII格式的STL网格模型,提取出三角形网格模型中三角形的点、边和面信息,并建立拓扑关系;

拓扑关系的点、边和面的数据结构为

class Point //顶点类

{

publick:

vector<double> vertice ; //顶点坐标

std::vector<int> faceIndexList; // 与该顶点邻接的面的索引值

};

class Face // 三角面类

{

public:

int index[3];//邻点的索引值

int touching[3];//邻接面的索引值

};

class Edge //边类

{

Public:

int Edgeindex; //该边的索引

int AdjacentFace[2];//该边的邻接面索引,若为边界边,某个邻接面索引为-1

int AdjacentVertice[2];//两个邻接点的索引值

};

步骤2,根据读取的网格模型大小及所需要的切片的位置,确定每一层的切片厚度;

①根据所需要的模型精度得到切片总数n、切片厚度t和所有的切平面;

②读取STL模型的一个三角形面片,根据三角形各点z坐标的最大值、最小值及切片精度反求与三角形相交的K个切平面,1≤j≤n。

步骤3,求取切片与三角网格的一层交点坐标,并利用小波变换对切片后的数据进行自适应性压缩和优化;

获取切片平面与三角形面片相交的切片片段:

(a)切片片段的方向D由分层方向Z和三角形的法矢积确定,D=Z×N;切片片段顶点依次顺序连接形成二维多边形,即为切片平面与三角网格模型在空间相交后形成的一条多边形轮廓;

(b)根据相应的直线方程分别求出相对应的交点的坐标值,如交点为,设点的坐标为,则相应的直线方程为

其中为切片的高度,三角面片求交点的示意图如图2所示。

(c)遍历所有的邻接面,求出同一切平面上的交点。

将相交求得的交点的数据进行小波分解,可以根据交点数据量及要求的精度确定分解的层数为5层;

(a)对输入的数据点s进行前处理,获得矢量输入信号sc;

(b)对矢量输入信号sc进行m层分解,获得低频信号和m个小波高频信号,所用连续小波函数为:

5层分解后各层的信号如图3所示;

③对重构后的数据信号完成多尺度的分解提取出各层的低频和高频系数;

采用标准基函数对待输入的交点数据s进行m层小波分解,获得个标准基信号,所述的标准基函数采用与小波基函数相同阶次消失矩的dbn小波基函数,所应用的多小波函数为:

,其中

所用的多尺度函数为:

小波重构后的输入信号如图4所示,五种尺度下低频和高频的小波系数如图5、图6所示;

通过以上操作后完成了对一层切片数据的压缩并剔除了错误数据点,并形成二维多变形;

(a)为了保证多小波分解过程的能量守恒,采用标准基小波包变换能量对多小波变换能量进行类比与标定,计算个分解信号的标准化系数;

(b)根据标准化系数对个分解信号进行标准化处理,得到标准化小波变换的定量分析结果,根据分析结果剔除错误的数据,并使得几何特性更加优化。原始信号及压缩后的对比图如图7所示,某一层截面的初始切片数据图如图8所示,通过剔除错误数据点及优化后的截面图如图9所示。

步骤4、切完一层后进入下一层进行切片,直至遍历所有的切片片段,切完后生成轮廓环;

(a)按层存储切片平面与三角形面片的所有相交的切片片段;

(b)遍历所有切片片段的指示信息,获取二维多变形的初始连接点,并使每一层形成一个二维多边形,最后叶片完成切片后的截面图如图10所示。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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