一种3D打印文件的生成方法、装置、设备及存储介质与流程

专利查询2023-10-17  119


一种3d打印文件的生成方法、装置、设备及存储介质
技术领域
1.本发明实施例涉及三维模型倾斜打印技术,尤其涉及一种3d打印文件的生成方法、装置、设备及存储介质。


背景技术:

2.3d打印技术的原理是熔融层积技术,通过将打印材料一层层叠加到已成型表面,获得任意形状的几何模型实体。模型在打印机z轴朝上打印,如果上一层凸出下一层较多,凸出的上一层的熔融耗材来不及固化,受到重力的影响,耗材会往下掉,为了保证模型不变形,需要添加支撑结构。
3.添加支撑结构虽然保证了模型打印过程中不变形,但是较多的支撑结构也带来了耗材量增加、打印时间增加和支撑难以剥离等问题,同时支撑结构剥离会导致模型表面不光滑,降低打印模型的表面精度。


技术实现要素:

4.本发明提供一种3d打印文件的生成方法、装置、设备及存储介质,以实现提高模型打印速度、减少打印用料和提高模型表面打印精度的效果。
5.第一方面,本发明实施例提供了一种3d打印文件的生成方法,包括:
6.获取3d模型在不同倾斜切片方向的切片分层数据;
7.对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量;
8.确定最小的支撑量对应的目标切片方向;
9.根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。
10.可选的,所述根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量,包括:
11.根据当前倾斜切片方向的切片分层数据,确定每一个切片层所需添加支撑的待支撑面;
12.对于每一个切片层,获取当前切片层的待支撑面对应的支撑面积,以及所述待支撑面上点的悬空高度;根据所述支撑面积和所述悬空高度,确定当前切片层的支撑量;
13.根据每一个切片层的支撑量,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。
14.可选的,所述根据当前倾斜切片方向的所述切片分层数据,确定每一个切片层所需添加支撑的待支撑面,包括:
15.对第n层切片的投影和第(n+1)层切片的投影进行布尔运算;其中,n为3d模型的切片所在的层数,n为正整数;
16.若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,则根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值对应面的连通性,确定第(n+1)层切
片的悬空面;
17.根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面。
18.可选的,所述根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面,包括:
19.对于各悬空面,获取当前悬空面沿打印走线方向的长度;
20.将沿打印走线方向的长度大于预设阈值的区域作为所需添加支撑的支撑面。
21.可选的,所述获取3d模型在不同倾斜切片方向的切片分层数据,包括:
22.按照预设角度,将预设倾斜切片方向绕竖直方向进行旋转;其中,预设倾斜切片方向所在直线与水平面之间的角度不变;
23.按照旋转后的倾斜切片方向对所述3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
24.可选的,所述获取3d模型在不同倾斜切片方向的切片分层数据,包括:
25.按照预设角度,将3d模型绕竖直方向进行旋转;
26.按照预设倾斜切片方向对旋转后的3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
27.可选的,在所述对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量之前,还包括:
28.改变预设倾斜切片方向所在直线与水平面之间的角度;
29.令所述预设倾斜切片方向为改变后的倾斜切片方向,并重新进入所述获取3d模型在不同倾斜切片方向的切片分层数据。
30.第二方面,本发明实施例还提供了一种3d打印文件的生成装置,包括:
31.切片分层数据获取模块,用于获取3d模型在不同倾斜切片方向的切片分层数据;
32.支撑量获取模块,用于对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量;
33.目标切片方向确定模块,用于确定最小的支撑量对应的目标切片方向;
34.打印文件生成模块,用于根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。
35.第三方面,本发明实施例还提供了一种3d打印文件的生成设备,所述3d打印文件的生成设备包括:
36.一个或多个处理器;
37.存储器,用于存储一个或多个程序;
38.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任一所述的3d打印文件的生成方法。
39.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一所述的3d打印文件的生成方法。
40.本发明通过获取3d模型在不同倾斜切片方向的切片分层数据;对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定3d模型在当前倾斜切片方向所需添加支撑的支撑量;确定最小的支撑量对应的目标切片方向;根据目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。通过这样的方法,实现以支撑量最少的切片方向进行模
型打印,解决支撑结构较多带来的耗材量增加、打印时间增加、支撑难以剥离和剥离后影响模型表面精度的问题,,达到提高模型打印速度、减少打印用料和提高模型表面打印精度的效果。
附图说明
41.图1a为本发明实施例一提供的一种3d打印文件的生成方法的流程示意图;
42.图1b为本发明实施例一提供的一种3d打印文件的生成方法中预设倾斜切片方向旋转的流程示意图;
43.图1c为本发明实施例一提供的一种3d打印文件的生成方法中3d模型旋转的示意图;
44.图1d为本发明实施例一提供的一种3d打印文件的生成方法中预设倾斜切片方向所在直线与水平面之间的角度变换的示意图;
45.图1e为本发明实施例一提供的另一种3d打印文件的生成方法中预设倾斜切片方向所在直线与水平面之间的角度变换的示意图;
46.图2为本发明实施例二提供的一种3d打印文件的生成装置的结构示意图;
47.图3为本发明实施例三提供的一种3d打印文件的生成设备的结构示意图。
具体实施方式
48.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
49.实施例一
50.图1为本发明实施例一提供的一种3d打印文件的生成方法的流程示意图,本实施例可适用于对三维模型进行倾斜打印的情况,该方法可以由一种3d打印文件的生成装置来执行,具体包括如下步骤:
51.步骤110、获取3d模型在不同倾斜切片方向的切片分层数据。
52.三维模型的切片方向不同,打印三维模型时所需的支撑量可能也不相同,对三维模型进行倾斜分层可以减少支撑量。在三维模型输入3d打印机后,系统根据模型数据自动生成初始倾斜切片方向或用户手动设定初始倾斜切片方向。
53.步骤110包括以下两种情况:
54.第一种,3d模型位置固定,改变倾斜切片方向,具体包括以下步骤:
55.a1、按照预设角度,将预设倾斜切片方向绕竖直方向进行旋转;其中,预设倾斜切片方向所在直线与水平面之间的角度不变。
56.a2、按照旋转后的倾斜切片方向对所述3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
57.3d模型的位置固定,预设倾斜切片方向所在直线与水平面之间的角度由用户自主设定或自动生成,并在改变倾斜切片方向时保持与水平面之间的角度不变。示例性的,本实施例中选择预设角度为45
°
,每次将预设倾斜切片方向绕竖直方向按顺时针/逆时针方向旋转45
°
得到旋转后的倾斜切片方向,按照旋转后的倾斜切片方向重新对3d模型进行切片,得
到新的切片分层数据;重复以上步骤8次,得到水平面旋转一周对应的8个不同倾斜切片方向的切片分层数据。如图1b所示,预设倾斜切片方向a1所在直线与水平面之间的角度为a1,预设倾斜切片方向a1绕竖直方向旋转得到旋转后的倾斜切片方向a2,旋转后的倾斜切片方向a2所在直线与水平面之间的角度为a2,由于旋转时,预设倾斜切片方向所在直线与水平面之间的角度保持不变,则角度a1与角度a2的数值相等。
58.第二种,倾斜切片方向固定,3d模型位置改变,具体包括以下步骤:
59.b1、按照预设角度,将3d模型绕竖直方向进行旋转。
60.b2、按照预设倾斜切片方向对旋转后的3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
61.倾斜切片方向固定,示例性的,本实施例中选择预设角度为45
°
,固定倾斜切片方向,将3d模型绕竖直方向按顺时针/逆时针方向旋转45
°
,得到选择后的3d模型,按照预设倾斜切片方向对旋转45
°
后的3d模型重新进行切片,得到新的切片分层数据;重复以上步骤8次,得到3d模型在水平面旋转一周对应的8个不同方向的倾斜切片分层数据。
62.进一步的,在一替代实施例中,若预设角度为30
°
,则将预设倾斜切片方向绕竖直方向按顺时针/逆时针方向旋转30
°
,或将3d模型绕竖直方向顺时针/逆时针方向旋转30
°
,重复12次,得了12个不同倾斜切片方向对应的切片分层数据。如图1c所示,预设倾斜切片方向a1所在直线与水平面之间的角度为a1,预设倾斜切片方向固定不变,将3d模型c1绕竖直方向旋转预设角度θ得到旋转后的3d模型c2,按照预设倾斜切片方向a1对旋转后的3d模型c2进行切片,获取3d模型在不同倾斜切片方向的切片分层数据。
63.在上述实施例方案中,将预设倾斜切片方向绕竖直方向旋转后重新对3d模型进行切片,和将3d模型绕竖直方向旋转后重新对3d模型进行切片,均相当于按照不同倾斜方向对3d模型再次进行切片。
64.在上述实施例的基础上,还包括:
65.改变预设倾斜切片方向所在直线与水平面之间的角度。
66.令所述预设倾斜切片方向为改变后的倾斜切片方向,并重新进入所述获取3d模型在不同倾斜切片方向的切片分层数据。
67.在上述实施例中,两种情况中倾斜切片方向所在直线与水平面之间的角度均保持不变,为了获得更全面的倾斜切片分层数据,改变预设倾斜切片方向所在直线与水平面之间的角度,形成新的倾斜角度;令预设倾斜切片方向为改变后的倾斜切片方向,重新进入3d打印机,根据上述实施例提供的方法,获取3d模型在上述两种情况中不同倾斜切片方向的切片分层数据。
68.如图1d所示,改变预设倾斜切片方向a1所在直线与水平面之间的角度得到改变后的倾斜切片方向b1,预设倾斜切片方向a1所在直线与水平面之间的角度为a1,改变后的倾斜切片方向b1所在直线与水平面之间的角度为b1,角度a1和角度b1的数值不相等,本实施例采用角度b1比角度a1大预设角度。在改变倾斜角度后,重新对3d模型进行切片,再次将改变后的倾斜切片方向b1绕竖直方向旋转得到旋转后的倾斜切片方向b2(未示出),重新对3d模型进行切片,重复以上步骤,得到不同倾斜切片方向的切片分层数据。
69.如图1e所示,改变预设倾斜切片方向a1所在直线与水平面之间的角度得到改变后的倾斜切片方向b1,在改变倾斜角度后,重新对3d模型进行切片,然后将倾斜切片方向b1固
定,再次将3d模型c1绕竖直方向旋转预设角度θ得到旋转后的3d模型c2(未示出),按照预设倾斜切片方向b1对旋转后的3d模型c2进行切片,获取3d模型在不同倾斜切片方向的切片分层数据。
70.步骤120、对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。
71.当三维模型确定倾斜切片方向后,可得到三维模型在当前倾斜切片方向下进行切片的倾斜分层数据,从而可以根据切片分层数据得到3d模型在当前倾斜切片方向所需添加支撑的支撑量。支撑结构从待支撑面一直往下生成到z轴的起始点所在平面,相应的,三维模型的待支撑面积越大,支撑面距离z轴起点距离越远,即带支撑面的悬空高度越高,打印时需要产生的支撑结构的体积越大,即支撑量越大。支撑不仅会增加耗材量,增加打印时间,3d模型与支撑接触过于紧密还会导致支撑难以剥离等问题。
72.其中,步骤120具体包括:
73.步骤121、根据当前倾斜切片方向的切片分层数据,确定每一个切片层所需添加支撑的待支撑面。
74.步骤121具体包括以下步骤:
75.s1、对第n层切片的投影和第(n+1)层切片的投影进行布尔运算;其中,n为3d模型的切片所在的层数,n为正整数。
76.通过布尔运算可以求得第(n+1)层切片的投影与第n层切片的投影的面积差。
77.s2、若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,则根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值对应面的连通性,确定第(n+1)层切片的悬空面。
78.若第(n+1)层切片的投影小于等于第n层切片的投影,则第(n+1)层切片可以被第n层切片支撑,第(n+1)层切片不需要被支撑;若第(n+1)层切片的投影大于第n层切片的投影,则第(n+1)层切片可能存在需要被支撑的悬空面,根据第(n+1)层切片的投影和第n层切片的投影的差值确定在第(n+1)层切片上的至少一个对应面,再根据对应面的连通性确定悬空面。
79.s3、根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面。
80.悬空面不一定都需要被支撑,在确定悬空面后,还需要进一步确定需要添加支撑的悬空面。
81.根据悬空面确定待支撑面的具体方法包括:
82.对于各悬空面,获取当前悬空面沿打印走线方向的长度;
83.将沿打印走线方向的长度大于预设阈值的区域作为所需添加支撑的支撑面。
84.悬空面即为第(n+1)层切片比第n层切片凸出的部分,若当前悬空面沿打印走线方向的长度较长,即在3d打印机沿打印走线方向打印时,第(n+1)层切片熔融状态的耗材比第n层切片凸出较多,凸出的熔融耗材来不及固化,受到重力的影响,耗材会往下掉,就会导致3d模型变形;因此,获取当前悬空面沿打印走线方向的长度与预设阈值进行比较,在预设阈值区域内,由于打印材料的黏性和固化速度等因素,第n层切片可以对第(n+1)层切片起到支撑作用,此部分不需要支撑,将大于预设阈值的区域作为所需添加支撑的支撑面。
85.进一步的,在一替代实施例中,根据当前倾斜切片方向的切片分层数据,确定每一
个切片层所需添加支撑的待支撑面,还包括:
86.将第n层切片和第(n+1)层切片划分为多个小多边形;
87.判断第(n+1)层切片的所有多边形是否具有第n层切片的多边形支撑;
88.若第(n+1)层切片的多边形不具有第n层切片的多边形支撑,则确定此多边形为悬空多边形;
89.根据多个第(n+1)层切片的悬空多边形的连通性,确定第(n+1)层切片的悬空面;
90.根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面。
91.得到当前倾斜切片方向的切片分层数据之后,可以将每一切片分层划分为多个小多边形构成。如果多边形悬空,即多边形下面无任何其它层的多边形,那么此多边形为需要被支撑的多边形;如果多边形的部分与下面其它层的多边形接触,另外一部分悬空,则需要根据悬空的距离判断是否需要添加支撑结构,具体根据上述步骤s3进行判断。
92.遍历构成第(n+1)层切片的所有多边形,即可得到此切片层的所有需添加支撑的待支撑面,遍历构成3d模型的所有切片层,即可得到此三维模型的所有需添加支撑的待支撑面。
93.步骤122、对于每一个切片层,获取当前切片层的待支撑面对应的支撑面积,以及所述待支撑面上点的悬空高度;根据所述支撑面积和所述悬空高度,确定当前切片层的支撑量。
94.若在z轴方向上,待支撑面下方不存在其他切片层,待支撑面上点的悬空高度为待支撑面的中心点到热床的距离,即待支撑面的中心点的z坐标的值;若在z轴方向上,待支撑面下方还存在其他切片层,获取待支撑面的中心点在下方最近的切片层上的对应点,并获取两点之间的距离,确定悬空距离为这两个点的z坐标的差值。
95.支撑结构的支撑量为求得的支撑面的支撑结构的体积,根据支撑面的悬空高度可以求得生成的支撑结构的高度,根据支撑面对应的支撑面积和支撑面的悬空高度的乘积求得当前切片层的支撑量。
96.步骤123、根据每一个切片层的支撑量,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。
97.求得每一个切片层的支撑量,累加得到3d模型在当前倾斜切片方向所需添加支撑的总支撑量。
98.步骤130、确定最小的支撑量对应的目标切片方向。
99.从获得的不同倾斜切片分层数据对应的支撑量中确定最小的支撑量对应的倾斜切片方向,确定为目标切片方向,按照此倾斜切片方向进行打印,3d模型所需要的支撑量最少,对3d模型表面精度的影响最小。
100.步骤140、根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。
101.获取3d模型在目标切片方向的倾斜分层数据,根据倾斜分层数据即可确定每个切片层和打印路径,按照倾斜分层数据调整喷头角度对三维模型进行打印。
102.本实施例的技术方案,通过获取3d模型在不同倾斜切片方向的切片分层数据;对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定3d模型在当前倾斜切片方向所需添加支撑的支撑量;确定最小的支撑量对应的目标切片方向;根据目标切片方向
对应的切片分层数据,生成所述3d模型的打印文件。解决支撑结构较多带来的耗材量增加、打印时间增加、支撑难以剥离和剥离后影响模型表面精度的问题,实现以支撑量最少的切片方向进行模型打印,提高模型打印速度、减少打印用料和提高模型表面打印精度的效果。
103.实施例二
104.图2为本发明实施例二提供的一种3d打印文件的生成装置的结构示意图,如图2所示,一种3d打印文件的生成装置,包括:
105.切片分层数据获取模块210,用于获取3d模型在不同倾斜切片方向的切片分层数据。
106.三维模型的切片方向不同,打印三维模型时所需的支撑量可能也不相同,对三维模型进行倾斜分层可以减少支撑量。在三维模型输入3d打印机后,系统根据模型数据自动生成初始倾斜切片方向或用户手动设定初始倾斜切片方向。
107.可选的,切片分层数据获取模块210包括第一切片分层数据获取子模块和第二切片分层数据获取子模块;
108.可选的,所述第一切片分层数据获取子模块包括:
109.第一旋转单元,用于按照预设角度,将预设倾斜切片方向绕竖直方向进行旋转;其中,预设倾斜切片方向所在直线与水平面之间的角度不变。
110.第一切片单元,用于按照旋转后的倾斜切片方向对所述3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
111.可选的,所述第二切片分层数据获取子模块包括:
112.第二旋转单元,用于按照预设角度,将3d模型绕竖直方向进行旋转。
113.第二切片单元,用于按照预设倾斜切片方向对旋转后的3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。
114.在上述实施例中,将预设倾斜切片方向绕竖直方向旋转后重新对3d模型进行切片,和将3d模型绕竖直方向旋转后重新对3d模型进行切片,均相当于按照不同倾斜方向进行对对3d模型再次进行切片。
115.可选的,3d打印文件的生成装置还包括:
116.倾斜角度变换模块,用于改变预设倾斜切片方向所在直线与水平面之间的角度。
117.切片分层数据获取更新模块,用于令所述预设倾斜切片方向为改变后的倾斜切片方向,并重新进入所述获取3d模型在不同倾斜切片方向的切片分层数据。
118.支撑量获取模块220,用于对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。
119.当三维模型确定倾斜切片方向后,可得到三维模型在当前倾斜切片方向下进行切片的倾斜分层数据,从而可以根据切片分层数据得到3d模型在当前倾斜切片方向所需添加支撑的支撑量。支撑结构从待支撑面一直往下生成到z轴的起始点所在平面,相应的,三维模型的待支撑面积越大,支撑面距离z轴起点距离越远,即带支撑面的悬空高度越高,打印时需要产生的支撑结构的体积越大,即支撑量越大。支撑不仅会增加耗材量,增加打印时间,3d模型与支撑接触过于紧密还会导致支撑难以剥离等问题。
120.可选的,支撑量获取模块220包括:
121.支撑面获取子模块,用于根据当前倾斜切片方向的切片分层数据,确定每一个切
片层所需添加支撑的待支撑面。
122.投影获取单元,用于对第n层切片的投影和第(n+1)层切片的投影进行布尔运算;其中,n为3d模型的切片所在的层数,n为正整数。
123.悬空面获取单元,用于若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,则根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值对应面的连通性,确定第(n+1)层切片的悬空面。
124.待支撑面确定单元,用于根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面。
125.可选的,待支撑面确定单元还包括:
126.悬空面打印走线长度获取子单元,用于对于各悬空面,获取当前悬空面沿打印走线方向的长度。
127.判断确定子单元,用于将沿打印走线方向的长度大于预设阈值的区域作为所需添加支撑的支撑面。
128.可选的,支撑量获取模块220还包括:
129.切片层支撑量获取子模块,用于对于每一个切片层,获取当前切片层的待支撑面对应的支撑面积,以及所述待支撑面上点的悬空高度;根据所述支撑面积和所述悬空高度,确定当前切片层的支撑量。
130.总支撑量确定子模块,用于根据每一个切片层的支撑量,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。
131.目标切片方向确定模块230,用于确定最小的支撑量对应的目标切片方向。
132.从预设数量的切片方向对应的支撑量中确定最小的支撑量对应的切片方向,确定为目标切片方向,在此切片方向下,三维模型进行打印时所需要的支撑量最少,对三维模型表面的影响最小。
133.打印文件生成模块240,用于根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。
134.获取三维模型在目标切片方向的倾斜分层数据,根据倾斜分层数据即可确定每个切片层和打印路径,按照倾斜分层数据调整喷头角度对三维模型进行打印。
135.本实施例的技术方案,通过获取3d模型在不同倾斜切片方向的切片分层数据;对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定3d模型在当前倾斜切片方向所需添加支撑的支撑量;确定最小的支撑量对应的目标切片方向;根据目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。解决支撑结构较多带来的耗材量增加、打印时间增加、支撑难以剥离和剥离后影响模型表面精度的问题,实现以支撑量最少的切片方向进行模型打印,提高模型打印速度、减少打印用料和提高模型表面打印精度的效果。
136.本发明实施例所提供的3d打印文件的生成装置可执行本发明任意实施例所提供的3d打印文件的生成方法,具备执行方法相应的功能模块和有益效果。
137.实施例三
138.图3为本发明实施例三提供的一种3d打印文件的生成设备的结构示意图,如图3所示,该3d打印文件的生成设备包括处理器30、存储器31、输入装置32和输出装置33;3d打印文件的生成设备中处理器30的数量可以是一个或多个,图3中以一个处理器30为例;3d打印
文件的生成设备中的处理器30、存储器31、输入装置32和输出装置33可以通过总线或其他方式连接,图3中以通过总线连接为例。
139.存储器31作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的3d打印文件的生成方法对应的程序指令/模块(例如,3d打印文件的生成装置中的切片分层数据获取模块210、支撑量获取模块220、目标切片方向确定模块230和打印文件生成模块240)。处理器30通过运行存储在存储器31中的软件程序、指令以及模块,从而执行3d打印文件的生成设备的各种功能应用以及数据处理,即实现上述的3d打印文件的生成方法。
140.存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器31可进一步包括相对于处理器30远程设置的存储器,这些远程存储器可以通过网络连接至3d打印文件的生成设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
141.输入装置32可用于接收输入的数字或字符信息,以及产生与3d打印文件的生成设备的用户设置以及功能控制有关的键信号输入。输出装置33可包括显示屏等显示设备。
142.实施例四
143.本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种3d打印文件的生成方法,该方法包括:
144.获取3d模型在不同倾斜切片方向的切片分层数据;
145.对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量;
146.确定最小的支撑量对应的目标切片方向;
147.根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。
148.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的3d打印文件的生成方法中的相关操作。
149.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
150.值得注意的是,上述3d打印文件的生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
151.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

技术特征:
1.一种3d打印文件的生成方法,其特征在于,包括:获取3d模型在不同倾斜切片方向的切片分层数据;对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量;确定最小的支撑量对应的目标切片方向;根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。2.根据权利要求1所述的3d打印文件的生成方法,其特征在于,所述根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量,包括:根据当前倾斜切片方向的切片分层数据,确定每一个切片层所需添加支撑的待支撑面;对于每一个切片层,获取当前切片层的待支撑面对应的支撑面积,以及所述待支撑面上点的悬空高度;根据所述支撑面积和所述悬空高度,确定当前切片层的支撑量;根据每一个切片层的支撑量,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量。3.根据权利要求2所述的3d打印文件的生成方法,其特征在于,所述根据当前倾斜切片方向的所述切片分层数据,确定每一个切片层所需添加支撑的待支撑面,包括:对第n层切片的投影和第(n+1)层切片的投影进行布尔运算;其中,n为3d模型的切片所在的层数,n为正整数;若运算结果为所述第(n+1)层切片的投影大于所述第n层切片的投影,则根据所述第(n+1)层切片的投影和所述第n层切片的投影的差值对应面的连通性,确定第(n+1)层切片的悬空面;根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面。4.根据权利要求3所述的3d打印文件的生成方法,其特征在于,所述根据所述悬空面,确定第(n+1)层切片所需添加支撑的待支撑面,包括:对于各悬空面,获取当前悬空面沿打印走线方向的长度;将沿打印走线方向的长度大于预设阈值的区域作为所需添加支撑的支撑面。5.根据权利要求1所述的3d打印文件的生成方法,其特征在于,所述获取3d模型在不同倾斜切片方向的切片分层数据,包括:按照预设角度,将预设倾斜切片方向绕竖直方向进行旋转;其中,预设倾斜切片方向所在直线与水平面之间的角度不变;按照旋转后的倾斜切片方向对所述3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。6.根据权利要求1所述的3d打印文件的生成方法,其特征在于,所述获取3d模型在不同倾斜切片方向的切片分层数据,包括:按照预设角度,将3d模型绕竖直方向进行旋转;按照预设倾斜切片方向对旋转后的3d模型分别进行切片,获取所述3d模型在不同倾斜切片方向的切片分层数据。7.根据权利要求5或6所述的3d打印文件的生成方法,其特征在于,在所述对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向
所需添加支撑的支撑量之前,还包括:改变预设倾斜切片方向所在直线与水平面之间的角度;令所述预设倾斜切片方向为改变后的倾斜切片方向,并重新进入所述获取3d模型在不同倾斜切片方向的切片分层数据。8.一种3d打印文件的生成装置,其特征在于,包括:切片分层数据获取模块,用于获取3d模型在不同倾斜切片方向的切片分层数据;支撑量获取模块,用于对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定所述3d模型在当前倾斜切片方向所需添加支撑的支撑量;目标切片方向确定模块,用于确定最小的支撑量对应的目标切片方向;打印文件生成模块,用于根据所述目标切片方向对应的切片分层数据,生成所述3d模型的打印文件。9.一种3d打印文件的生成设备,其特征在于,所述3d打印文件的生成设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的3d打印文件的生成方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的3d打印文件的生成方法。

技术总结
本发明公开了一种3D打印文件的生成方法、装置、设备及存储介质。一种3D打印文件的生成方法,包括:获取3D模型在不同倾斜切片方向的切片分层数据;对于各倾斜切片方向,根据当前倾斜切片方向的切片分层数据,确定3D模型在当前倾斜切片方向所需添加支撑的支撑量;确定最小的支撑量对应的目标切片方向;据目标切片方向对应的切片分层数据,生成3D模型的打印文件。通过这样的方法,实现以支撑量最少的切片方向进行模型打印,解决支撑结构较多带来的耗材量增加、打印时间增加、支撑难以剥离和剥离后影响模型表面精度的问题,达到提高模型打印速度、减少打印用料和提高模型表面打印精度的效果。效果。效果。


技术研发人员:敖丹军 唐京科 易陈林
受保护的技术使用者:深圳市创想三维科技股份有限公司
技术研发日:2021.11.30
技术公布日:2022/3/8

最新回复(0)