一种基于显著性的网格模型3D打印切片方法
技术领域
本发明涉及一种基于显著性的网格模型3D打印切片方法,属于几何处理技术领域。
背景技术
3D打印,又称快速成型技术,是一种模仿普通打印机的原理,能够打印三维立体模型的技术。3D打印可分为两个阶段,首先由计算机通过设计、扫描等手段获得网格模型,并将网格模型沿某个方向切成若干层切片,然后将原料装入打印机中,由计算机根据切片生成机器指令,控制打印机喷头将原料一层一层累积起来,最终形成三维立体的实物。
3D打印技术是一项具有前沿性、先导性的新兴技术,特别适用于小批量、个性化、结构复杂,原材料昂贵的生产制造。随着3D打印技术的发展,传统的生产方式和生产工艺将发生深刻的变革,设计、建筑、航天、医学、教育等行业也将受到深远的影响。《经济学人》杂志2012年将3D打印技术称为“第三次工业革命的重要标志”,认为其是推动新一轮工业革命的重要契机,已经引起全世界的广泛关注。当前3D打印技术面临的一项主要难题就是打印速度过慢,尤其对于使用ABS、PLA等廉价材料的消费级3D打印机来说,时间成本是制约其普及和发展的一个重要因素。目前国内外对3D打印速度的研究不多,而过去对CAD模型切片方法的研究无法应用于以复杂网格模型为主的消费级3D打印领域。
发明内容
针对现有技术存在的不足,本发明目的是提供一种基于显著性的网格模型3D打印切片方法,通过对模型中不同显著度的部分设置不同的精度,缩短了网格模型3D打印所耗费的时间。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的基于显著性的网格模型3D打印切片方法,包括以下步骤:
步骤A1、对网格进行显著性计算,获得每个顶点的显著性;
步骤A2、对网格进行切片,切片层厚为实际使用3D打印机所能达到的最高精度;
步骤A3、计算每一层切片的显著性;
步骤A4、对相邻的切片层根据其显著性进行合并和重新分层,并按照重新分层后的得到的每层高度和层厚对原始网格模型进行重新切片;
步骤A5、由重新切片的结果生成通用的Gcode文件,供3D打印机读取与打印。
上述步骤A1进一步包括以下步骤:
步骤A11、计算网格顶点的其平均曲率;
步骤A12、计算网格顶点邻域的平均曲率的平均高斯权值:
其中,C(v)是网格顶点v的平均曲率;N(v,σ)是到网格顶点v的欧氏距离小于等于σ的顶点的集合,x是属于集合N的元素;
步骤A13、计算网格顶点的显著性,该值由不同窗口大小下的平均曲率的高斯权值的差的绝对值确定:
Si(v)=|G(C(v),σi)-G(C(v),2σi)|
其中,σi∈{2ε,3ε,4ε,5ε,6ε},ε是网格模型包围盒的对角线长度的0.3%;
步骤A14、将Si(v)归一化,记为S′i(v);
步骤A15、合并不同窗口大小下的显著性:
其中M
i是该窗口大小下顶点显著性的最大值,
是该窗口大小下顶点显著性的所有局部极大值(不包括全局最大值)的平均值,S″(v)是合并后网格顶点v的显著性。
上述步骤A2的切片指以垂直于Z轴的平面与网格模型求交所获得的2D轮廓,平面的高度(Z轴坐标值)从0开始按照设定的层厚逐层增加。
上述步骤A3进一步包括以下步骤:
步骤A31、计算每一层切片与网格的边的所有交点的显著性;
步骤A32、计算每一层切片的显著性。
上述步骤A31包括以下情况:
①若切片与网格的边的交点正好与网格顶点重合,则其显著性与网格顶点的显著性的值相等;
②若切片与网格的交点不与网格顶点重合,则其显著性:
其中,M(p)是交点p所在边所属的三角面片的顶点的集合,D(x,p)是交点p到顶点x的欧氏距离,S″(x)是步骤A1中计算出的顶点x的显著性。
上述步骤A32每一层切片的显著性为:
其中,N是该层切片与网格的边的交点的个数,I(pj)是步骤A312中计算出的交点pj的显著性。
上述步骤A4进一步包括以下步骤:
步骤A41、根据实际使用的3D打印机所能打印的层厚范围,设置若干标准打印层厚。根据切片显著性越高则打印层厚越薄的原则,将不同切片标记为不同的打印层厚;
步骤A42、将相邻且打印层厚相同的切片标记为一组同层厚切片;
步骤A43、对每一组同层厚切片按照标记的标准层厚进行重新分层;
步骤A44、按照重新分层后的得到的每层高度和层厚对原始网格模型进行重新切片。
上述步骤A43重新分层方法可分为两种情况:
G=N×T+r
其中,G是某一组切片的总层厚,T是该组切片标记的标准层厚,N是正整数,r是小于T的非负值。
本发明通过对模型的显著性分析和基于显著性的切片方法,使模型中显著度高的部分用高精度打印,而显著度低的部分用低精度打印,即基于显著性的网格模型切片,利用人眼的视觉注意机制,能够在保证视觉效果相近的情况下,大大缩短网格模型3D打印所耗费的时间。
附图说明
图1是本发明的总体工作流程图;
图2是计算顶点显著性的方法流程图;
图3是根据显著性重新分层与切片的方法流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参见图1,本发明的基于显著性的网格模型3D打印切片方法,包括以下几个步骤:
步骤1、对网格进行显著性计算,获得每个顶点的显著性;
参见图2,计算顶点显著性的方法如下:
①计算网格顶点的其平均曲率;
②计算网格顶点邻域的平均曲率的平均高斯权值:
其中,C(v)是网格顶点v的平均曲率;N(v,σ)是到网格顶点v的欧氏距离小于等于σ的顶点的集合,x是属于集合N的元素;
③计算网格顶点的显著性,该值由不同窗口大小下的平均曲率的高斯权值的差的绝对值确定:
Si(v)=|G(C(v),σi)-G(C(v),2σi)|
其中,σi∈{2ε,3ε,4ε,5ε,6ε},ε是网格模型包围盒的对角线长度的0.3%;
④将Si(v)归一化,记为S′i(v);
⑤合并不同窗口大小下的显著性:
其中M
i是该窗口大小下顶点显著性的最大值,
是该窗口大小下顶点显著性的所有局部极大值(不包括全局最大值)的平均值,S″(v)是合并后网格顶点v的显著性。
步骤2、对网格模型按实际使用设备的最高精度进行切片;
步骤3、计算每一层切片的显著性,具体包括以下步骤:
①计算每一层切片与网格的边的所有交点的显著性,包括两种情况:
A.若切片与网格的边的交点正好与网格顶点重合,则其显著性与网格顶点的显著性的值相等;
B.若切片与网格的交点不与网格顶点重合,则其显著性:
其中,M(p)是交点p所在边所属的三角面片的顶点的集合,D(x,p)是交点p到顶点x的欧氏距离,S″(x)是步骤A1中计算出的顶点x的显著性。
②计算每一层切片的显著性:
其中,N是该层切片与网格的边的交点的个数,I(pj)是步骤A312中计算出的交点pj的显著性。
参见图3,步骤4、对相邻的切片层根据其显著性进行合并和重新分层,并按照重新分层后的得到的每层高度和层厚对原始网格模型进行重新切片,方法包括以下步骤:
①根据实际使用的3D打印机所能打印的层厚范围,设置若干标准打印层厚。根据切片显著性越高则打印层厚越薄的原则,将不同切片标记为不同的打印层厚;
②将相邻且打印层厚相同的切片标记为一组同层厚切片;
③对每一组同层厚切片按照标记的标准层厚进行重新分层,方法分为以下情况:
G=N×T+r
其中,G是某一组切片的总层厚,T是该组切片标记的标准层厚,N是正整数,r是小于T的非负值。
A.若则将该组分为N层;
④按照重新分层后的得到的每层高度和层厚对原始网格模型进行重新切片。
步骤5、由重新切片的结果生成通用的Gcode文件,供3D打印机读取与打印。
本发明通过对模型的显著性分析和基于显著性的切片方法,使模型中显著度高的部分用高精度打印,而显著度低的部分用低精度打印,即基于显著性的网格模型切片,利用人眼的视觉注意机制,能够在保证视觉效果相近的情况下,大大缩短网格模型3D打印所耗费的时间。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。