一种基于成型区域像素坐标标记的切片压缩方法

文档序号:26139564发布日期:2021-08-03 14:23阅读:141来源:国知局
一种基于成型区域像素坐标标记的切片压缩方法

本发明涉及智能快速成型技术领域,具体涉及一种基于成型区域像素坐标标记的切片压缩方法。



背景技术:

基于光固化的快速成型技术是将紫外光投射到液态光敏树脂中,从而使树脂逐层连续固化。数字光处理(dlp)成型技术的成型尺寸有限、设备价格高和镜头畸变等问题制约该技术的发展,因此采用液晶显示屏(lcd)作为区域选择型透光设备,可用于制造尺寸较大且精度较高的零件。但成型效率与成型质量难以协调是限制lcd成型技术发展的主要因素,因此需要寻找二者的调和策略。

三维模型预处理切片后切片数据采用位图文件格式存储,相比矢量文件存储格式要占用较多的存储空间。为了提高系统的稳定性,采用脱机控制成型,因此需要先处理切片后再传输到raspberrypi中,而三维模型切片往往达到数千层,采用标准的位图格式存储切片数据会高达几十gb,不仅需要raspberrypi有较大存储空间而且耗费传输时间。



技术实现要素:

本发明的目的是通过以下技术方案实现的。

本发明提供了一种基于成型区域像素坐标标记的切片压缩方法,包括:

首先通过opengl切片得到切片文件集合,所述切片文件集合由多个切片文件组成,每个切片文件为一个由黑色像素和白色像素组成的多行阵列;

遍历每个切片文件的每行像素,判断行像素是否存在相邻像素中包括黑色像素的白色像素,如果存在,则保存所述白色像素的坐标作为成型区域的边界坐标;

将所述边界坐标写入压缩文件,得到切片压缩文件集合。

优选地,所述边界坐标是成对出现的,每行像素存在若干对边界坐标。

优选地,所述解析stl模型包括:获取相关参数,包括模型中三角面片的顶点信息、模型的边界最大值与最小值。

优选地,所述顶点信息包括三角面片的三个顶点坐标和法向量。

优选地,所述切片文件的二进制格式按字节存储,ascii格式采用按行明文存储。

优选地,所述stl模型的大小不超过成型台面的尺寸。

优选地,进一步包括:

读取切片文件数据,经过opengl处理并显示。

优选地,开始切片前首先创建窗口,根据lcd显示屏的尺寸进行缩放;

读取模型后,调整视角,采用视角观测模型视图的方式模拟模型与横截面相交,并把截面像素保存下来;

按照切片厚度移动视角,如此循环保存得到模型切片像素。

优选地,进一步包括:

将所述stl模型置于坐标系中,调整观测点以调整观察视角,确定所述stl模型的切片方向。

优选地,进一步包括:

将近平面沿着z轴调整与观察原点的距离获取三维模型截面,获取截面像素,随后将截面像素写入切片文件中,重复移动近平面获取切片集合。

本发明的优点在于:相对于现有技术,本发明手办模型切片后得到的dps切片文件所占用的内存很小,则该文件传输耗费的时间也很小。由此可以看出本发明设计的切片压缩方法在实际工作中具有较高的实用价值。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明stl文件读取流程图。

图2为本发明三维模型透射示意图。

图3为本发明三维模型放置角度示意图。

图4为本发明牛顿反光壳子模型及其切片示意图。

图5为本发明切片文件像素排列示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

三维模型切片压缩总的来说是利用位图的特征,将切片所表达的完全信息以另一种文件格式存储,要求这种文件格式占用较小的内存空间。为了保证零件成型的完整性,压缩后的文件要能够确保解析后能恢复到位图的原始状态,因此应该采用无损压缩方式。因此本发明结合三维模型切片特征与成型工艺的需要,设计一种压缩率极高的适用于光固化成型系统的位图压缩方式。

1stl模型切片实现过程

本发明stl模型切片设计是基于开源图形库(opengraphicslibrary,opengl),该框架包含了一系列可以操作图形、图像的函数,方便在三维处理方面的二次开发。开发环境是qtcreator4.14.0。

1.1stl格式模型解析

解析stl模型主要是获取相关参数,主要包括模型中三角面片的顶点信息、模型的边界最大值与最小值。其中顶点信息包括三角面片的三个顶点坐标和法向量。stl文件二进制格式按字节存储,ascii格式采用按行明文存储,三角面片顶点信息读取后交给opengl处理。读取流程如图1所示。

1.2stl模型切片

执行模型切片首先要获取模型路径、成型台面的长和宽、切片图片像素宽和高、切片厚度等,需要注意的是模型的大小不能超过成型台面的尺寸。读取stl文件数据后,经过opengl处理并显示。开始切片前首先创建窗口,由于模型的实际尺寸与显示在屏幕上可能不同,因此需要根据lcd显示屏的尺寸进行缩放。读取模型后,调整视角,采用视角观测模型视图的方式模拟模型与横截面相交,并把截面像素保存下来。随后按照切片厚度移动视角,如此循环保存得到模型切片像素。如图2所示,将三维模型置于坐标系中,调整观测点可以调整观察视角,确定从三维模型哪个方向切片。将近平面沿着z轴调整与观察原点的距离可以获取三维模型截面,可以获取截面像素,随后将截面像素写入切片文件中,重复移动近平面获取切片集合。

需要注意的一点是读取stl模型于成型台面的示意图,用户能够直观地观察到模型的摆放形态,可以调整模型在成型台面的位置,不同的摆放形态,能够直接影响到打印效果,如图3所示。切片自下而上,该模型的尖部与成型台面接触极小,难以粘接在成型台面上,因此需要更换合适的角度来切片。为了在脱膜过程中尽量使模型所受的脱膜力均匀,尽可能使模型的重心位于坐标轴原点处。如果模型所受到的脱膜力不均匀且成型面较小,就会导致脱膜失败。

2切片压缩方法与参数标记

在基于lcd光固化成型系统中,三维模型切片图片往往仅有黑白两种像素,根据成型原理可知,uv紫外光通过lcd来固化树脂,白色像素区域用于通过uv紫外光,即为成型区域,黑色区域则无法透过uv紫外光。

2.1基于成像区域坐标标记的切片压缩像素

切片文件压缩方法总的来说是根据切片文件的特征,将当前切片文件转换成一种较小的存储形式。使用opengl切片后获取切片像素,以bmp文件格式存储较为方便,但是bmp文件格式占用内存较大,如果转换成矢量文件格式,转换与解析计算复杂且耗时。以为牛顿反光壳子为例,如图4所示,分析本发明设计的切片压缩文件格式。

1.bmp切片文件详情

bmp文件用于切片显示,只需文件格式的三部分,即bmp文件头、位图信息头和位图像素。如表5-5所示,bmp文件头主要信息包含2字节的位图文件类型标志、4字节的位图文件大小、4字节的保留位和4字节的文件头到位图像素的偏移位,共14个字节。位图信息头使用的切片有效数据包括4字节像素宽、4字节的像素高和2字节的像素占位数等。位图像素记录了切片的像素的详情信息,每个像素占4字节存储,仅有000000ff与ffffffff两种形式。

表5-5切片bmp文件存储格式

2.bmp切片文件特征

将三维模型切片处理后,得到的是切片像素,因此针对其特点来设计切片压缩方法。抽取切片文件特点,就能够直接引出压缩文件的设计需求,在尽可能降低存储空间的前提下,设计的压缩文件与切片源文件携带信息必须保持一致。

(1)bmp切片文件像素数据仅包含两种像素,即黑白两种像素,如图4所示,成型区域为白色,非成型区域为黑色。

(2)由于在光固化成型系统中要求图像的分辨率较高,因此像素通常分布较为密集,即白色像素与黑色像素基本会连续分布,极少存在大量孤立像素的情况。

(3)切片文件中的像素数据完全由三维模型切片所得,既不会随意添加也不能任意损之。因此对切片文件压缩只能采用无损压缩模式。

(4)切片文件像素数据按行存储,每次存储像素一整行的数据,接着存储下一行的数据。

3.切片文件压缩

根据切片文件的特征,设计切片文件压缩格式。如图5所示切片文件像素排列状况,以行作为一个基本观察单位,相邻像素之间只有“黑黑”、“白白”、“黑白”和“白黑”,“黑黑”区域表示非成型区域,“白白”区域表示成型区域,“白黑”与“黑白”表示成型区域与非成型区域分界区域,该区域能够标记出成型区域范围,因此仅需要保存分界区域就可以有效地获取像素分布的实际信息。该切片文件压缩格式命名为dps(dynamicprintsystem),即动态成型系统。

dps切片文件压缩方法流程如下:首先通过opengl切片得到切片像素,读取切片行像素,判断该行像素是否存在白色像素,即成型区域,如图5中坐标(0,2)与(0,4)。如果存在成型区域,则保存该区域边界坐标,边界坐标是成对出现,每行存在若干对边界坐标。如方法5-2所示切片压缩方法流程,详细描述了该方法实现过程。输入数据为切片集合、切片像素宽和像素高。输出数据为dps切片压缩文件集合。本发明的压缩方法首先对切片文件集合cn进行遍历,接着对每一张切片的像素进行遍历,当行像素“白黑”与“黑白”时,写入该白色像素坐标到dps文件中即可。

dps切片文件还原与压缩相反,当获取到一对白素像素坐标时,仅需要对该区间进行填充即可。虽然填充过程有些耗时,但每层切片曝光时间约为数十秒,足够对dps切片文件进行解析并显示。

2.2切片压缩存储格式

切片压缩存储格式的第一要义就是节省存储空间,表现在边界坐标占用较少字节,本发明采用lcd显示屏的分辨率为2560x1600,为了平衡坐标占用存储空间大小与读存速度,采用每个坐标占用4字节存储空间。

表5-6切片压缩存储格式(单位:bit)

如表5-6所示切片压缩存储格式,不仅存储切片成型区域边界坐标,而且存储其他相关的成型参数,成型参数动态变化来匹配动态成型设计。

dps切片压缩格式为自定义文件格式,系统不能直接识别,因此就要对切片还原填充。切片还原填充只需要每次获取一组边界坐标,将该组坐标中间填充白色像素即可。

2.3压缩效果分析

对比几种常用的切片文件格式,包括bmp文件、二值化文件、dps文件和压缩效果较好的chitu切片系统。实验硬件环境为windows10操作系统,内存为64gb。选择两个stl三维模型为例验证本发明dps切片压缩方法,实验均采用统一使用层厚0.05mm,该两个三维模型层数分别为715层和4796层。

表5-7切片文件大小对比

如表5-7所示,狮子模型采用bmp文件格式切片共占用11171.9mb、二值化文件格式切片占用349mb、chitu切片系统切片文件占用11.5mb,本发明设计的dps切片文件格式占用1.61mb。同样手办模型切片后得到的dps切片文件所占用的内存也最小,则该文件传输耗费的时间也最小。由此可以看出本发明设计的切片压缩方法在实际工作中具有较高的实用价值。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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