一种基于像素曲率的三维模型自适应切片方法
文献发布时间:2023-06-19 12:07:15
技术领域
本发明涉及智能快速成型技术领域,具体涉及一种基于像素曲率的三维模型自适应切片方法。
背景技术
基于光固化的快速成型技术是将紫外光投射到液态光敏树脂中,从而使树脂逐层连续固化。数字光处理(DLP)成型技术的成型尺寸有限、设备价格高和镜头畸变等问题制约该技术的发展,因此采用液晶显示屏(LCD)作为区域选择型透光设备,可用于制造尺寸较大且精度较高的零件。但成型效率与成型质量难以协调是限制LCD成型技术发展的主要因素,因此需要寻找二者的调和策略。
常见的三维模型切片系统切片厚度都是一个定值,根据硬件环境与光固化方程可以计算出合适的切片厚度。切片过薄则切片张数较多,造成零件成型效率低;切片过厚虽然零件成型效率高,但是零件表面光洁度就会降低。零件实体是由切片层固化叠加逼近,所以会零件会沿着Z轴运动方向产生阶梯效应,如图1所示,对于一个较为复杂的模型,不变的切片厚度无法同时满足成型质量与成型效率的需求,有时还会造成遗失微小特征问题。因此需要设计一种不定厚度的切片方法,可以称为自适应厚度切片方法。
发明内容
本发明的目的是通过以下技术方案实现的。
本发明提供了一种基于像素曲率的三维模型自适应切片方法,包括:
获取预设的STL模型和切片层厚区间[CMin,CMax],前一层切片成型像素值初始化P1=1;
解析预设的STL模型,获取模型高度;
当所述模型高度大于零时,以厚度T切片,获取当前切片像素值P2,计算 R=(|P2-P1|)/P1;
如果当前切片厚度为CMin,则将P2直接写入切片文件,将切片文件加入到面集,得到自适应切片集合;
如果R大于变化系数,则将对当前区间再分层处理;如果R小于等于变化系数,则当前区间不需要再分层;
重复执行以上切片过程,直至所述STL模型高度为零。
优选地,当层间倾斜大于45度时,变化系数的值取45度所对应的层间像素变化率。
优选地,所述解析STL模型包括:获取相关参数,包括模型中三角面片的顶点信息、模型的边界最大值与最小值。
优选地,所述顶点信息包括三角面片的三个顶点坐标和法向量。
优选地,所述切片文件的二进制格式按字节存储,ASCII格式采用按行明文存储。
优选地,所述STL模型的大小不超过成型台面的尺寸。
优选地,进一步包括:
读取切片文件数据,经过OpenGL处理并显示。
优选地,开始切片前首先创建窗口,根据LCD显示屏的尺寸进行缩放;
读取模型后,调整视角,采用视角观测模型视图的方式模拟模型与横截面相交,并把截面像素保存下来;
按照切片厚度移动视角,如此循环保存得到模型切片像素。
优选地,进一步包括:
将所述STL模型置于坐标系中,调整观测点以调整观察视角,确定所述STL 模型的切片方向。
优选地,进一步包括:
将近平面沿着Z轴调整与观察原点的距离获取三维模型截面,获取截面像素,随后将截面像素写入切片文件中,重复移动近平面获取切片集合。
本发明的优点在于:本发明的方法能够消除阶梯效应且能够精准的刻画零件的微小特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术的切片过程中的问题示意图。
图2为本发明STL文件读取流程图。
图3为本发明三维模型透射示意图。
图4为本发明三维模型放置角度示意图。
图5为本发明角度阈值示意图。
图6为本发明三维实体模型与模型轮廓图。
图7为本发明三维模型预处理系统示意图。
图8为本发明切片像素图。
图9为本发明像素变化率图。
图10为本发明切片层厚图。
图11为本发明自适应切片像素变化率图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
三维模型文件格式种类繁多,针对每一种格式如果都设计一种自适应切片方法,那将是一个巨大的工作量,所以设计自适应切片方法应考虑包容不同的三维模型文件格式,着重提高方法的普适性。在光固化面成型中,不管三维模型是怎样的文件格式,模型切片最终都需要以位图方式呈现,因此本发明的自适应切片方法是基于位图层面上设计,忽略三维模型文件格式。针对不同的三维模型文件格式,只需要在切片前解析方式不同即可。
1STL模型切片实现过程
本发明STL模型切片设计是基于开源图形库(Open Graphics Library, OpenGL),该框架包含了一系列可以操作图形、图像的函数,方便在三维处理方面的二次开发。开发环境是Qt Creator 4.14.0。
1.1STL格式模型解析
解析STL模型主要是获取相关参数,主要包括模型中三角面片的顶点信息、模型的边界最大值与最小值。其中顶点信息包括三角面片的三个顶点坐标和法向量。STL文件二进制格式按字节存储,ASCII格式采用按行明文存储,三角面片顶点信息读取后交给OpenGL处理。读取流程如图2所示。
1.2STL模型切片
执行模型切片首先要获取模型路径、成型台面的长和宽、切片图片像素宽和高、切片厚度等,需要注意的是模型的大小不能超过成型台面的尺寸。读取 STL文件数据后,经过OpenGL处理并显示。开始切片前首先创建窗口,由于模型的实际尺寸与显示在屏幕上可能不同,因此需要根据LCD显示屏的尺寸进行缩放。读取模型后,调整视角,采用视角观测模型视图的方式模拟模型与横截面相交,并把截面像素保存下来。随后按照切片厚度移动视角,如此循环保存得到模型切片像素。如图3所示,将三维模型置于坐标系中,调整观测点可以调整观察视角,确定从三维模型哪个方向切片。将近平面沿着Z轴调整与观察原点的距离可以获取三维模型截面,可以获取截面像素,随后将截面像素写入切片文件中,重复移动近平面获取切片集合。
需要注意的一点是读取STL模型于成型台面的示意图,用户能够直观地观察到模型的摆放形态,可以调整模型在成型台面的位置,不同的摆放形态,能够直接影响到打印效果,如图4所示。切片自下而上,该模型的尖部与成型台面接触极小,难以粘接在成型台面上,因此需要更换合适的角度来切片。为了在脱膜过程中尽量使模型所受的脱膜力均匀,尽可能使模型的重心位于坐标轴原点处。如果模型所受到的脱膜力不均匀且成型面较小,就会导致脱膜失败。
2STL模型自适应切片方法设计
保持成型零件质量不降低的情况下,为了提高光固化成型系统的成型效率,本发明设计了一种基于成型像素变化率的三维模型自适应切片方法,该方法能够消除阶梯效应且能够精准的刻画零件的微小特征。切片厚度不同UV紫外光曝光时间也不相同,根据光固化临界方程可以得出不同切片厚度对应的UV紫外光曝光时间。
2.1自适应切片方法
为了降低该方法的复杂性,根据光敏树脂的固化临界方程计算合理的投射深度区间,选取切片厚度区间[C
(1)条件1:判断当前切片是否在模型边界。对于第n层,有打印像素值 P(n)≠0;当P(n+1)≠0时,则第n层模型边界层切片。通过该方法能够判定该层切片处于模型的结束或开始,遗失微小特征一般是在此处。如图1所示,三维模型的顶端没有包含到,但是可通过该方法对局部再次分层,实现零件细小特征精准刻画,提高零件成型完整性。
(2)条件2:设第n层的成型区域像素值为P(n),第n层的像素变化率R(n):
其中R(n)与变化系数δ作比较,对该区间再分层需要满足:
R(n)>δ (5.2)
公式(5.1)中P(n)表示n层的成型区域像素值,P(n+1)表示(n+1)层的成型区域像素值,相邻层成型区域像素值做差后取绝对值。计算出R(n)后与δ作比较,δ是变化系数。当满则R(n)≥δ时对当前区间再分层处理。下面针对变化系数δ做进一步解释。
假设存在相邻切片k与(k+1)层,则成型区域像素值为P(k)与P(k+1)。第k 与(k+1)层间夹角阈值a,如图5所示。例如在实际中切片中,当层间倾斜大于 45度时,变化系数的值δ取45度所对应的层间像素变化率即可。
当R(n)>δ时,则对层间[n,n+1]再次分层。当R(n)≤δ时,层间[n,n+1]不需要再分层。算法描述如下:
对算法描述中的第9行代码做进一步解释,在实际编程中,切片厚度是作为一个矢量,不仅仅是表示切片的厚度大小,而且能够表示切片的方向,切片厚度实际上就是近平面移动的距离,当该参数为负值时表示近平面向观测点方向移动。
2.2算法实例应用与分析
为验证该算法可行性,使用CAD制作软件SolidWorks 2018设计一个STL 格式的三维模型作为实验样例,如图6所示为设计的三维实体模型与模型轮廓图,该三维模型总高度为20mm,总分分为四个部分,各部分倾斜角度如轮廓图所示。
该自适切片算法程序基于Qt Creator 4.14.0平台开发,如图7所示,首先点击模型加载可以获取当前模型大小和模型高度详情,随后配置成型台面尺寸与像素大小,在切片方式中选中自适应切片,将自适应厚度区间与自适应切片阈值写入表单,点击开始切片即可执行自适应切片。根据本发明实验环境,切片厚度C
(1)首先对图6中的实体模型以厚度为C
(2)其次根据采样的成型区域像素数据来计算像素变化率,如图9所示。从图中能够看出像素变化分为四个阶段,第一阶段倾角为90°,像素变化率保持不变且图像斜率为0;第二阶段与第三阶段倾角分别为45°与60°,像素变化率增幅较小,即图像斜率也较小;第四阶段倾角为30°,像素变化率较大,为防止出现阶梯效应,这里需要采用较小的切片厚度来切片处理。
(3)通过以上分析,取变化率系数的值为0.02%,如果层间变化率大于 0.02%则对该区间进行细分。最后计算出自适应厚度的选取区间,如图10所示。采用自适应切片后切片总数为287张,相比于采用厚度C
对经过自适应切片处理后的切片进行像素采样,如图11所示,图像像素变化率区间整体较C
通过以上分析,两种切片方式对比如表5-1所示。采用切片厚度C
表5-1切片方式对比
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
- 一种基于像素曲率的三维模型自适应切片方法
- 基于顶点曲率的三维模型数字水印嵌入与盲检测方法