3D打印曲面分层算法及实现

2021-12-22 07:32刘玉山
天津职业技术师范大学学报 2021年4期
关键词:面片阶梯曲面

张 曦,刘玉山,王 辉

(天津职业技术师范大学机械工程学院,天津300222)

3D打印,又称增材制造,是以三维CAD模型数据为基础,运用粉末状金属或塑性材料,通过逐层增加材料的制造方式来制造零件的技术[1-2],该技术广泛应用于工业、医学、建筑[3-5]等领域。由于3D打印多采用平面分层制造原理,在成型零件非直壁表面时会不可避免地出现阶梯状结构,称之为阶梯效应[6-7]。阶梯效应会降低打印模型精度,增加模型表面粗糙度,同时在加工单一层面时,打印机只能在平面内挤出材料,当截面尺寸较小时,挤出路径频繁换向也会造成层与层之间的粘合度降低,从而削弱打印部件的层间强度。为解决上述问题,众多学者开展了相关研究,王玉等[8]对熔融沉积制造(fused deposition manufacturing,FDM)零件表面粗糙度的成型机理进行探究并建立数学模型,有效预测了打印质量,从而调整打印参数,提高打印质量。刘文勇等[9]提出了一种沿法向向内分层并进行层内螺旋扫描的曲面分层算法,可满足复杂生物组织打印需求。Dolenc等[10]提出了自适应平面分层方法,该方法能识别模型弯曲区域和平坦区域,并降低弯曲表面的分层厚度,同时有效地减少了阶梯效应,但也会增加打印时间。Chakraborty等[11]最早提出了曲面分层熔融沉积成型(curved layer fused deposition modeling,CLFDM)的概念,并从数学上证明了曲面分层熔融沉积的可行性。Huang等[12]尝试将自适应分层与曲面分层算法相结合。Chen等[13-14]采用改进的五轴打印机对CLFDM进行验证,并取得了良好的效果。Jin等[15]采用B样条曲面拟合三维模型曲面,并利用拟合曲面对三维模型进行切片分层。以上研究对于减小阶梯效应,提高3D打印精度有重要贡献,特别是曲面分层对于解决阶梯效应问题提出了新的思路。同时,曲面分层也增加了打印设备和分层算法的复杂性。为此,本文提出一种基于区域分割的混合分层算法,将模型分割成曲面分层区域和平面分层区域,不同区域采用不同的分层算法,该算法能够运行于现有的FDM打印机,且不增加设备的复杂性。

1 曲面分层原理及准备工作

目前3D打印常用的分层方法为平面分层,该方法简单,分层速度快,单层得到的扫描路径在同一水平面内适用于截面变化不大的零件,对于截面变化较大或表面为曲面的零件,其曲面部分阶梯误差较大。而曲面分层得到的扫描路径沿曲面变化,可以有效降低零件弯曲表面的阶梯误差。区域分割的混合分层算法是利用平面分层和曲面分层算法的优点,根据或利用STL(STereoLithography)文件的空间拓扑关系快速识别并提取模型弯曲区域表面进行偏移并分割三维模型,对分割生成的子模型分别进行平面分层和曲面分层,实现混合分层。其处理流程如图1所示。

图1 混合分层流程

1.1 数据准备

STL文件由美国3D Systems公司在1987年定义的文件格式,其用小三角面片来近似描述三维实体模型的表面。每个三角面片的定义包含三角形3个顶点的三维坐标及其法向量。由于STL文件具有格式简单,拥有三维几何信息,与CAD模型近似度高等优点,因此广泛应用于3D打印,其单个三角形的STL文件格式如图2所示。

图2 STL文件格式

1.2 建立三角面片拓扑关系

由于STL文件中没有存储三角形间的拓扑关系,分层时需不断遍历三角形信息,为提高分层效率,需建立三角面片之间的链接关系,即拓扑信息。其建立过程为:①对每个三角面片进行编号;②读取一个三角面片,通过判断其余三角面片和该三角面片是否具有2个相同顶点,记录与其相邻的三角面片编号;③顺序读取下一个三角面片,找到该三角面片相邻三角面片编号并记录。通过遍历所有三角面片,记录每个三角面片相邻三角面片的编号,从而建立所有三角面片的拓扑关系。

2 曲面分层

2.1 上表面识别

曲面分离算法流程如图3所示。

图3 曲面分离算法流程

计算三角面片法向量与z轴夹角θ,输入要分离模型上表面的三角面片与法向量夹角θ的最小值θmin与最大值θmax。遍历三角面片,若能找到1个法向量与z轴的夹角θmin≤θ<θmax的三角面片a,可以据此判断三角面片a处于三维模型上表面,并且与a相邻的三角面片集合ai(i=0,1,2)中最有可能存在1个与a位于相同上表面的三角面片。将三角面片a作为检索起点,根据提前建立的三角面片空间拓扑关系,快速检索与三角面片a相邻的三角面片ai(i=0,1,2),并通过ai的θ值判断该三角形是否处于目标表面。若ai满足目标表面三角面片特征,以ai作为新的检索起点,重复之前的步骤,直到组成模型目标表面的所有三角面片被检索完成,最终利用这些三角面片生成目标面,即提取面。根据上述算法,分离三维模型上表面实例如图4所示。

图4 分离模型上表面实例

2.2 模型分割及曲面分层

模型曲面分层流程为:

(1)设置曲面分层层数和分层厚度,将已分离的模型上表面沿轴负方向进行偏移,偏移次数为曲面分层层数,单次偏移距离为曲面分层厚度。

(2)利用最后一次偏移获得的曲面对三维模型进行分割,将三维模型分割为曲面分层区域和平面分层区域,分割后获得的曲面分层区域如图5所示。

图5 三维模型区域分割实例

(3)计算每次偏移过程中被偏移表面的三角面片与模型侧面的三角面片之间的交线[16],并对这些无序交线进行有序整理,使其首尾依次相连,最终获得曲面分层轮廓线,单次和多次曲面分层轮廓线如图6所示。

图6 曲面分层

3 打印实例与误差分析

3.1 打印实例

利用Python语言实现上述混合分层算法,并通过路径规划输出Gcode文件,为了验证本文分层算法的有效性,对同一模型采用曲面分层和一般分层方法得到不同的Gcode文件,其中一般分层采用CuraEngine实现。2种分层方法得到的打印路径在Repetier-Host软件中模拟显示的结果如图7所示。从图7可以看出,曲面分层得到的打印路径与曲面轮廓线方向一致,表面的阶梯效应显著降低。

图7 打印路径模拟

利用2种分层方式生成G代码,并在BS3DP-446型三角洲打印机完成实物打印,该打印机工作温度为0~80℃,打印层厚0.05~0.4 mm,定位精度30μm,使用耗材为直径1.75 mm的PLA材料,打印实例如图8所示。

图8 打印实例

图8(a)为一般分层打印实例,图8(b)为BS3DP-446型三角洲打印机,图8(c)为曲面分层打印实例。从图8可以看出,曲面分层打印样品沿曲面轮廓方向的阶梯状条纹相比平面分层打印样品显著减少,表面更加光滑,曲面分层可以获得更好的表面质量。

3.2 误差分析

为比较一般分层、曲面分层与理想三维模型之间的误差大小,定义误差为一定高度下实际表面偏离理想表面的最大距离。按此定义,对3组打印模型在不同测高位置测量其误差,如图9所示,平面分层与曲面分层打印时间比较如图10所示。

图9 曲面分层与平面分层距离误差比较

图10 平面分层与曲面分层打印时间比较

模型1一般分层模型与原始模型弯曲最大距离误差为0.202 mm,最小距离误差为0.089 mm,打印时间为6′14″,采用曲面分层后,最大距离误差为0.035 mm,最小距离误差为0.032 mm,打印时间为7′26″。模型2一般分层模型与原始模型弯曲最大距离误差为0.212 mm,最小距离误差为0.166 mm,打印时间为5′53″,采用曲面分层后,最大距离误差为0.015 mm,最小距离误差为0.01 mm,打印时间为8′28″。模型3一般分层模型与原始模型弯曲最大距离误差为0.20 mm,最小距离误差为0.15 mm,打印时间为9′33″,采用曲面分层后,最大距离为0.1 mm,最小距离误差为0.005 mm,打印时间为13′53″。3组模型在采用曲面分层后最大距离误差与最小距离相比,一般分层最大距离误差与最小距离误差显著降低,但打印时间增长。

4 结语

本文提出了一种三维模型曲面分层算法,通过三角面片法向量夹角定义并分离模型上表面,然后多次偏移模型表面并计算与模型侧面交线,从而获取模型曲面分层轮廓线。进行曲面分层后,打印过程中熔融材料能沿模型曲面轮廓方向被挤出,突破了常见的平面分层方法中熔融材料只能在二维平面内堆叠的限制,有效减少了阶梯效应。在实验案例中,利用常用的三角洲打印机对曲面分层算法进行了验证,打印出采用曲面分层的样品,通过与采用一般分层的三维模型打印样品对比,曲面分层打印样品沿曲面轮廓方向阶梯效应明显减少,模型误差显著降低,打印质量得到提高,证明了本算法的可行性和有效性。

猜你喜欢
面片阶梯曲面
阶梯
三维模型有向三角面片链码压缩方法
参数方程曲面积分的计算
参数方程曲面积分的计算
第二型曲面积分的中值定理
关于第二类曲面积分的几个阐述
良师·阶梯·加油站
河沿面片
艺术创意阶梯
甜面片里的人生