一种3D水泥打印的快速分层方法与流程

文档序号:24726643发布日期:2021-04-16 16:13阅读:120来源:国知局
一种3D水泥打印的快速分层方法与流程
一种3d水泥打印的快速分层方法
技术领域
1.本发明涉及3d打印技术领域,尤其是一种3d水泥打印的快速分层方法。


背景技术:

2.水泥基复合材料用作3d打印材料可以解决现有普通水泥基材料凝结时间长且呈流动性的问题,可以很好的满足3d打印过程快速凝结的性能要求,因此使得3d水泥打印在建筑行业的应用得到了技术上的支持。
3.3d水泥打印与常规的3d打印技术类似,首先都需要对待打印的物体进行分层然后得到截面轮廓信息。现有3d打印技术主要基于stl模型算法实现分层,主要有以下几种方法,但都各有缺点:
4.一是基于三角形面片位置信息的切片算法,该算法主要考虑了stl模型中三角面片的两个特征,在分层方向上跨度越大,那么和它相交的分层平面越多,分层平面的高度和该面片的高度成线性关系。利用这两个特征,可以减少和切平面进行相交判断的面片数,从而减少分层时间。
5.二是基于分组切片的分层算法,该算法的原理是先整体排序,根据模型每个面片z坐标最大和最小创建矩阵,然后创建活性面片表及轮廓环建立拓扑关系,在拓扑关系的基础上进行分层处理。
6.上述第一种方法在三角面片数量很大时,排序过程复杂,相同交点需要计算两次;第二种方法的分层排序过程复杂。因此现有的上述两种常规的分层方法都较为繁琐,切片分层速度较慢,难以满足3d水泥打印的实际需要。


技术实现要素:

7.本发明人针对上述问题及技术需求,提出了一种3d水泥打印的快速分层方法,本发明的技术方案如下:
8.一种3d水泥打印的快速分层方法,该方法包括:
9.根据3d水泥打印的打印头精度对stl模型进行数据预处理;
10.根据数据预处理后的stl模型对所有三角面片依据形心坐标依次排序得到排序列表,并建立得到所有三角面片之间的面片拓扑关系,面片拓扑关系指示三角面片之间的邻接关系;
11.确定与切片截面相交的所有三角面片中在排序列表中位于排序两端的两个三角面片作为第一个目标面片和最后一个目标面片,并根据面片拓扑关系确定第一个目标面片和最后一个目标面片之间所有的目标面片及其邻接关系;
12.对于任意一个目标面片,根据目标面片的三个顶点坐标确定目标面片与切片截面相交的起始节点坐标和末端节点坐标,目标面片的末端节点坐标位于目标面片及其下一个目标面片的共有边上且同时是下一个目标面片的起始节点坐标,下一个目标面片是沿着第一个目标面片至最后一个目标面片的方向与目标面片存在邻接关系的目标面片;
13.沿着第一个目标面片至最后一个目标面片的方向依次将各个目标面片上的起始节点坐标连接至末端节点坐标,得到切片截面的截面轮廓走向。
14.其进一步的技术方案为,根据3d水泥打印的打印头精度对stl模型进行数据预处理,包括:
15.读取3d水泥打印的stl模型得到所有三角面片的顶点坐标;
16.对所有三角面片的顶点坐标利用哈希表进行分块,每个顶点坐标都与哈希值对应并映射相应的具有预定尺寸的立方体空间区域;
17.遍历每个立方体空间区域中的所有顶点坐标,将距离小于打印头精度的两个顶点坐标进行合并。
18.其进一步的技术方案为,对所有三角面片依据形心坐标依次排序得到排序列表,包括:
19.将每个三角面片的三个顶点坐标的平均值作为三角面片的形心坐标,并将所有三角面片按照形心坐标从小到大的顺序或者从大到小的顺序依次排列得到排序列表。
20.其进一步的技术方案为,建立得到所有三角面片之间的面片拓扑关系,包括对于任意的第一三角面片:
21.确定第一三角面片的三个顶点坐标各自对应的面片集合,每个顶点坐标的面片集合包括顶点坐标所在的所有三角面片;
22.若其中的第一顶点坐标和第二顶点坐标的面片集合的交集包括第一三角面片以及第二三角面片,则确定第二三角面片与第一三角面片存在邻接关系,且第一顶点坐标和第二顶点坐标构成的线段是第一三角面片和第二三角面片的共有边。
23.其进一步的技术方案为,根据目标面片的三个顶点坐标确定目标面片与切片截面相交的起始节点坐标和末端节点坐标,包括:
24.确定起始节点坐标为seg.start=p1+(z

p1.z)/(p2.z

p1.z)*(p2

p1),确定末端节点坐标为seg.end=p1+(z

p1.z)/(p3.z

p1.z)*(p3

p1),其中,p1、p2和p3分别表示目标面片的三个顶点坐标,z表示切片截面的空间z轴坐标,p1.z表示顶点坐标p1的空间z轴坐标,p2.z表示顶点坐标p2的空间z轴坐标,p3.z表示顶点坐标p3的空间z轴坐标,空间z轴是垂直于水平面的轴;
25.其中,顶点坐标p2和p3在空间z轴位于切片截面的同一侧,顶点坐标p1在空间z轴位于切片截面的相对于p2和p3的另一侧,起始节点坐标位于顶点坐标p1和p2构成的线段上,末端节点坐标位于顶点坐标p1和p3构成的线段上。
26.本发明的有益技术效果是:
27.本申请公开了一种3d水泥打印的快速分层方法,该方法考虑到3d水泥打印精度要求不高的实际使用场景,首先进行分析处理实现数据精简,从而可以在满足打印精度的基础上减少计算量、加快切片速度,通过拓扑关系和排序列表可以确定与切片截面相交的目标面片及互相之间的关系,然后对第一个目标面片至最后一目标面片的有序线段首尾拼接即得到截面轮廓走向,实现简单、达到一定时效性、稳定可靠。
附图说明
28.图1是本申请公开的3d水泥打印的快速分层方法的流程图。
29.图2是对stl模型进行数据预处理时的效果示意图。
30.图3是本申请的方法在执行过程中一个实例涉及到的结构示意图。
具体实施方式
31.下面结合附图对本发明的具体实施方式做进一步说明。
32.本申请公开了一种3d水泥打印的快速分层方法,请参考图1所示的流程图,该方法包括如下步骤:
33.步骤s1,对stl模型的数据预处理。
34.载入3d水泥打印的stl模型并进行分析处理,本申请的数据预处理主要是根据3d水泥打印的打印头精度对数据进行简化。具体的:读取3d水泥打印的stl模型得到所有三角面片的顶点坐标,对所有三角面片的顶点坐标利用哈希表进行分块,每个顶点坐标都与哈希值对应并映射相应的具有预定尺寸的立方体空间区域,然后遍历每个立方体空间区域中的所有顶点坐标,将距离小于打印头精度的两个顶点坐标进行合并、删除两个顶点相同的三角面片。如图2所示,顶点坐标a和a

之间的距离小于打印头精度,则删除其中一个顶点坐标a

,保留顶点坐标a,同时可以删除两个三角面片。
35.3d水泥打印的喷头的打印头精度通常在25

50mm,对打印精度要求不高,较小的线段无法打印,所以这一步可以将这些较小的线段合并,从而可以删除一些重叠的三角面片,减少三角面片的数量,在保证打印精度的基础上减少后续计算量、加快分层速度。
36.步骤s2,建立三角面片的排序列表和拓扑关系。
37.在完成stl模型的数据预处理后,对所有三角面片依据形心坐标依次排序得到排序列表,并建立得到所有三角面片之间的面片拓扑关系,面片拓扑关系指示三角面片之间的邻接关系。
38.本申请得到排序列表的做法是:将每个三角面片的三个顶点坐标的平均值作为三角面片的形心坐标,并将所有三角面片按照形心坐标从小到大的顺序或者从大到小的顺序依次排列得到排序列表。
39.本申请得到拓扑关系的做法是:对于任意的第一三角面片,确定该第一三角面片的三个顶点坐标各自对应的面片集合,每个顶点坐标的面片集合包括顶点坐标所在的所有三角面片。若其中的第一顶点坐标和第二顶点坐标的面片集合的交集包括第一三角面片以及第二三角面片,则确定第二三角面片与第一三角面片存在邻接关系,且第一顶点坐标和第二顶点坐标构成的线段是第一三角面片和第二三角面片的共有边,运用循环即可以确定所有三角面片之间的拓扑关系。其中,第一顶点坐标和第二顶点坐标可以分别表示三个顶点坐标中的任意一个,不做特指。
40.得到拓扑关系的实现过程比如图3中,假设第一三角面片为图上标号8,其三个顶点坐标a、b、c各自对应的面片集合分别:lista={7,8,9,11,12,13,14}、listb={1,2,3,6,7,8}、listc={3,4,8,9},其中各个数字分别对应图3中的各个三角面片。顶点坐标a与顶点坐标b的面片集合的交集除了包括第一三角面片8之外,还包括第二三角面片7,则可以确定面片7和面片8存在邻接关系且ab边是两者的共有边。顶点坐标a的顶点坐标c的面片集合的交集除了包括第一三角面片8之外,还包括第二三角面片9,则可以确定面片9和面片8存在邻接关系且ac边是两者的共有边。顶点坐标b与顶点坐标c的面片集合的交集除了包括第一
三角面片8之外,还包括第二三角面片3,则可以确定面片3和面片8存在邻接关系且bc边是两者的共有边。
41.需要说明的是,计算每个三角面片的三个顶点坐标的平均值的操作,以及,确定每个顶点坐标的面片集合的操作通常是在步骤s1进行数据处理的同时完成的,可以减少该步骤建立拓扑和排序列表的时间。同时在得到拓扑关系后,通常会将步骤s1中的哈希表删除。
42.步骤s3,查找与切片截面相交的目标面片。
43.该步骤包括如下两步:
44.(1)确定与切片截面相交的所有三角面片中在排序列表中位于排序两端的两个三角面片作为第一个目标面片和最后一个目标面片。也即确定与切片截面相交的所有三角面片中形心坐标最大和最小的两个目标面片作为第一个目标面片和最后一个目标面片,但至于将最大形心坐标最大的目标面片作为第一个目标面片还是最后一个目标面片,本申请不做限定。
45.可以通过三角面片的顶点坐标与切片截面在空间z轴的关系确定面片是否与切片截面相交,当一个三角面片的两个顶点坐标在空间z轴位于切片截面的同一侧、另一个顶点坐标在空间z轴位于切片截面的另一侧时,可以认为三角面片与切片截面相交。
46.(2)根据面片拓扑关系即能确定第一个目标面片和最后一个目标面片之间所有目标面片及其邻接关系,目标面片即为与切片截面相交的三角面片。比如在图3中,假设第一个目标面片为面片5,面片1、6、10均与面片5存在邻接关系,同时通过顶点坐标可以确定面片6与虚线所示的切片截面相交,则可以确定第一个目标面片的下一个目标面片为面片6,依次可以得到所有的目标面片及互相之间的邻接关系。
47.步骤s4,对于任意一个目标面片,根据目标面片的三个顶点坐标确定目标面片与切片截面相交的起始节点坐标和末端节点坐标,目标面片的末端节点坐标位于目标面片及其下一个目标面片的共有边上且同时是下一个目标面片的起始节点坐标,下一个目标面片沿着第一个目标面片至最后一个目标面片的方向与该目标面片存在邻接关系的目标面片。
48.具体的,确定起始节点坐标为seg.start=p1+(z

p1.z)/(p2.z

p1.z)*(p2

p1),确定末端节点坐标为seg.end=p1+(z

p1.z)/(p3.z

p1.z)*(p3

p1),其中,p1、p2和p3分别表示目标面片的三个顶点坐标,z表示切片截面的空间z轴坐标,p1.z表示顶点坐标p1的空间z轴坐标,p2.z表示顶点坐标p2的空间z轴坐标,p3.z表示顶点坐标p3的空间z轴坐标,空间z轴是垂直于水平面的轴,如图3所示的示意图。
49.其中,顶点坐标p2和p3在空间z轴位于切片截面的同一侧,顶点坐标p1在空间z轴位于切片截面的相对于p2和p3的另一侧,起始节点坐标位于顶点坐标p1和p2构成的线段上,末端节点坐标位于顶点坐标p1和p3构成的线段上。
50.步骤s5,沿着第一个目标面片至最后一个目标面片的方向依次将各个目标面片上的起始节点坐标连接至末端节点坐标,此时由于每个目标面片的末端节点坐标同时又是其下一个目标面片的起始节点坐标,因此依次首尾相连可以得到切片截面的截面轮廓走向。
51.比如在图3中,切片截面如虚线所示,第一个目标面片为面片5、最后一个目标面片为面片9,则在依次确定面片5、6、7、8、9的起始节点坐标连接至末端节点坐标后,将面片5的起始节点坐标s5连接至其末端节点坐标s
5,6
,由于已经知道面片6就是面片5的下一个目标面片,因此可以确定面片6的起始节点坐标s
5,6
就是面片5的末端节点坐标s
5,6
,将面片6的起
始节点坐标s
5,6
连接至其末端节点坐标s
6,7
,依次这样处理,即得到了截面轮廓走向,不必再进行线段的重新排序和方向调整。
52.以上的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1