CN115674684A - 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法 - Google Patents

内部自支撑结构镂空的3d打印方法及桌面摆件打印方法 Download PDF

Info

Publication number
CN115674684A
CN115674684A CN202211307715.2A CN202211307715A CN115674684A CN 115674684 A CN115674684 A CN 115674684A CN 202211307715 A CN202211307715 A CN 202211307715A CN 115674684 A CN115674684 A CN 115674684A
Authority
CN
China
Prior art keywords
voxel
model
voxels
layer
hollowing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211307715.2A
Other languages
English (en)
Other versions
CN115674684B (zh
Inventor
刘圣军
孙凡博
黄嘉文
刘韬
刘新儒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202211307715.2A priority Critical patent/CN115674684B/zh
Publication of CN115674684A publication Critical patent/CN115674684A/zh
Application granted granted Critical
Publication of CN115674684B publication Critical patent/CN115674684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P10/00Technologies related to metal processing
    • Y02P10/25Process efficiency

Abstract

本发明公开了一种内部自支撑结构镂空的3D打印方法,包括获取待打印结构的三维模型;将模型转换为实心体素化模型;对实心体素化模型逐层镂空得到镂空模型;基于镂空模型进行迭代体素镂空得到镂空体素模型;对步镂空体素模型进行局部补充,完成内表面生成得到待打印结构的的3D打印模型;根据3D打印模型完成最终的3D打印。本发明还公开了一种包括所述内部自支撑结构镂空的3D打印方法的桌面摆件打印方法。实现了三角网格模型向实心体素化模型的转化,实现了模型内部自支撑结构镂空,最后将体素化模型重新还原成网格模型,完成了空间中3D模型的内部自支撑结构镂空;因此本发明方法的复杂度低,可靠性高,材料节约。

Description

内部自支撑结构镂空的3D打印方法及桌面摆件打印方法
技术领域
本发明属于3D打印技术领域,具体涉及一种内部自支撑结构镂空的3D打印方法及桌面摆件打印方法。
背景技术
随着经济技术的发展和人们生活水平的提高,3D打印技术已经广泛应用于人们的生活当中,给人们的生活带来了无尽的便利和舒适。因此,对于3D打印技术的研究,就成为了研究人员的关注重点。
在给定的打印机悬垂角度约束下,对3D模型的内部镂空是工业界中一个非常重要的技术。在计算机图形学研究中,常用的3D模型的镂空算法有三类:
第一类算法称为额外支撑结构生成算法:该类方法检测物体表面所有悬垂区域,并生成特殊的支撑结构来支撑悬垂区域。常用的算法流程为:首先使用一个固定的厚度模型外表面进行均匀偏移来得到初始内表面,接着使用内部悬垂区域检测算法检测出内表面上所有待支撑区域,最后使用启发式的内部支撑生成算法在模型内部生成树状或骨架状的支撑结构。但是,该类方法所生成的支撑结构独立于模型之外,并且由于生成在模型内部,很难被后续去除。
第二类算法称为自支撑填充结构镂空算法:该类算法使用特定的自支撑填充结构(如菱形结构,蜂窝形结构)对模型内部进行镂空,并通过局部结构的改变实现对模型物理性质的优化:首先使用一个尽可能大的结构包围住模型,接着通过自适应方法细化该包围壳,细化过程中与模型表面不交的结构即为镂空结构。但是,这类方法使用的镂空结构固定,因此对模型镂空的解空间十分有限。
第三类算法称为拓扑优化镂空算法:该类方法将结构优化描述为模型边界的一系列运动,以模型打印的最小厚度约束与悬垂角度约束为约束条件,使用优化器求解曲面非均匀偏移的大规模优化问题来生成模型内表面。同时此类算法还包括使用一些启发式方法用以加速优化问题求解的方法。虽然,该类算法生成的镂空区域在扩大解空间的同时保证了形状上的拓扑,但是该类方法对计算资源的消耗过大。
发明内容
本发明的目的之一在于提供一种复杂度低、可靠性高且材料节约的内部自支撑结构镂空的3D打印方法。
本发明的目的之二在于提供一种包括了所述内部自支撑结构镂空的3D打印方法的桌面摆件打印方法。
本发明提供的这种内部自支撑结构镂空的3D打印方法,包括如下步骤:
S1. 获取待打印结构的三维模型;
S2. 将步骤S1获取的三维模型,转换为实心体素化模型;
S3. 对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型;
S4. 基于步骤S3得到的镂空模型进行迭代体素镂空,得到镂空体素模型;
S5. 对步骤4得到的镂空体素模型进行局部补充,完成内表面生成,得到待打印结构的的3D打印模型;
S6. 根据步骤S5得到的3D打印模型,完成最终的3D打印。
步骤S1所述的获取待打印结构的三维模型,具体为获取待打印结构的三维模型,三维模型以三角网格进行表示。
步骤S2所述的将步骤S1获取的三维模型,转换为实心体素化模型,具体包括如下步骤:
模型外表面体素化:
对于给定的连续且封闭的三角网络模型
Figure 100002_DEST_PATH_IMAGE001
,其中v为三角网络模型中的顶点,f为三角网络模型中的边;三角网络模型的真实坐标的x轴坐标最小值为x min y轴坐标最小值为y min z轴坐标最小值为z min x轴坐标最大值为x max y轴坐标最大值为y max z轴坐标最大值为z max
以点
Figure 779249DEST_PATH_IMAGE002
和点
Figure 100002_DEST_PATH_IMAGE003
为对角顶点,建立一个各边均平行于坐标轴的立方体,作为三维模型的轴向包围盒;将轴向包围盒与x轴平行的边等分为n u 份,将轴向包围盒与y轴平行的边等分为n v 份,将轴向包围盒与z轴平行的边等分为n w 份,然后过等分点以垂直于等分边平面将轴向包围盒内部进行分割,将轴向包围盒分割为
Figure 100002_DEST_PATH_IMAGE005
个立方体,每个立方体的规格为
Figure 100002_DEST_PATH_IMAGE007
,其中
Figure 276614DEST_PATH_IMAGE008
Figure 100002_DEST_PATH_IMAGE009
Figure 26264DEST_PATH_IMAGE010
;采用大小为
Figure 26581DEST_PATH_IMAGE005
的三维0-1数组V描述分割后的轴向包围盒,
Figure 100002_DEST_PATH_IMAGE011
表示索引坐标为
Figure 228892DEST_PATH_IMAGE012
的体素与三角网格有交点,
Figure 100002_DEST_PATH_IMAGE013
表示索引坐标为
Figure 136806DEST_PATH_IMAGE012
的体素与三角网格无交点;数组V的索引坐标
Figure 944225DEST_PATH_IMAGE012
与轴向包围盒中体素的真实坐标
Figure 100002_DEST_PATH_IMAGE015
的转换算式为
Figure 771235DEST_PATH_IMAGE016
遍历所有三角网格,对每个三角面片进行均匀细分,然后在三维数据中找到对应的分块位置并将数值赋值为1;
模型内部体素化填充:
采用堆栈数据结构,从模型内部的一个体素点触发,依六连接区域向外扩展,直至边界为止;体素点a的六连接区域定义为体素点a的上、下、左、右、前、后,共六个临接体素。
所述的遍历所有三角网格,对每个三角面片进行均匀细分,然后在三维数据中找到对应的分块位置并将数值赋值为1,具体包括如下步骤:
遍历所有的三角面片,对每一个三角面片,选取一个角的坐标A,计算从A出发分别到剩余两个角BC的向量
Figure 100002_DEST_PATH_IMAGE017
Figure 664105DEST_PATH_IMAGE018
;通过平面向量基本定理,定位三角面片上任意点P的坐标计算式为
Figure 100002_DEST_PATH_IMAGE019
,其中
Figure 438026DEST_PATH_IMAGE020
Figure 568793DEST_PATH_IMAGE022
为计算参数,
Figure 100002_DEST_PATH_IMAGE023
Figure 504388DEST_PATH_IMAGE024
Figure 100002_DEST_PATH_IMAGE025
;通过点P的坐标,计算点P在体素中的位置;
计算时,对ABAC进行细分,细分时的分度值小于体素边长的一半。
所述的采用堆栈数据结构,从模型内部的一个体素点触发,依六连接区域向外扩展,直至边界为止,具体包括如下步骤:
将模型内部的体素点作为栈顶体素;
检查栈是否非空:若栈非空,则栈顶体素出栈,并将出栈体素的对应体素所对应的位置索引
Figure 822237DEST_PATH_IMAGE012
处的值
Figure 662498DEST_PATH_IMAGE026
置为1;按上,下,左,右,前,后顺序检查与出栈体素相邻的六体素,若其中某一个体素不再边界上且
Figure 100002_DEST_PATH_IMAGE027
,则将该体素入栈;
重复上一步骤直至栈中体素为空,过程结束。
步骤S3所述的对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型,具体包括如下步骤:
步骤S2得到的实心体素化模型,其中
Figure 710088DEST_PATH_IMAGE028
表示存在实体体素,
Figure 488689DEST_PATH_IMAGE013
表示不存在实体体素;
将所有体素分类:六个面均有邻接的体素为模型内部体素,剩余体素为模型边界体素;
任意选定初始的内部体素,选定的内部体素所对应的索引位置为
Figure DEST_PATH_IMAGE029
;从选定的内部体素出发,将该位置的体素进行镂空形成初始空洞,然后按照广度优先遍历原则,对模型进行逐层迭代镂空,从而完成空洞的逐层扩大,得到镂空模型。
所述的对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型,具体包括如下步骤:
A. 对选定的初始的内部体素的位置进行镂空:将对应索引位置
Figure 684047DEST_PATH_IMAGE029
的的值
Figure 65349DEST_PATH_IMAGE030
赋值为0;
B. 将第n层的空洞区域与第n+1层的模型内部体素点求交,将求交结果作为第n+1层的初始空洞;
C. 将确定的空洞边界体素点入队,进行广度优先遍历,将周围不影响第n层体素自支撑性的体素全部去除,得到第n+1层的空洞;
D. 自上而下逐层进行步骤B和C,直至模型底部,完成模型的单连通镂空,得到镂空模型。
步骤S4所述的基于步骤S3得到的镂空模型进行迭代体素镂空,得到镂空体素模型,具体包括如下步骤:
a. 将体素下方连续体素的数量作为体素镂空潜力评价的指标;
b. 自上而下扫描模型中的所有内部体素点,计算得到每个体素点下方的连续体素个数;体素点下方连续体素个数最大的体素点为镂空潜力最大的体素点,并将该体素点作为逐层迭代镂空的初始镂空体素;
c. 根据确定的初始镂空体素,进行逐层镂空;镂空完成后得到的新的体素模型;针对新的体素模型,重复步骤b和步骤c,实现尽可能多的镂空;
d. 得到最终的镂空体素模型。
步骤S5所述的对步骤4得到的镂空体素模型进行局部补充,完成内表面生成,得到待打印结构的的3D打印模型,具体包括如下步骤:
对步骤S4得到的镂空体素模型,沿z轴方向,从上到下逐层进行遍历,检测每个体素周围的体素分布情况:
若当前体素周围出现上下层对角临接体素的情况,则在上层体素的正下方位置增加紧邻下层体素的斜面体素;若需要增加斜面体素的区域已经增加了斜面体素,则将对应区域标记为综合斜面体素;
若当前体素周围出现同一层水平对角临接体素的情形,则在该层两个临接体素的公共临接位置增加综合斜面体素;
所述的斜面体素为对长方体体素沿平行于x轴或y轴的体对角面切割后取上半部分所得到的三棱柱;斜面体素有四种类型,分别对应四种体对角面,分别紧邻着前、后、左和右四个方向的临接体素,所述紧邻指斜面体素与临接的长方体体素的接触面为长方体体素的整个面;所述的综合斜面体素为不同类型斜面体素直接叠加,在水平对角临接体素情形所添加的综合斜面体素为紧邻对角体素的两个斜面体素的叠加;
检测并增加体素完毕后,完成内表面生成,得到待打印结构的的3D打印模型。
本发明还提供了一种包括了所述内部自支撑结构镂空的3D打印方法的桌面摆件打印方法,具体包括如下步骤:
(1)获取待打印的桌面摆件的三维模型,并作为待打印结构的三维模型;
(2)采用所述的内部自支撑结构镂空的3D打印方法,对待打印结构的三维模型进行3D打印;
(3)得到最终的桌面摆件的3D打印结果,完成桌面摆件的打印。
本发明提供的这种内部自支撑结构镂空的3D打印方法及桌面摆件打印方法,实现了三角网格模型向实心体素化模型的转化,实现了模型内部自支撑结构镂空,最后将体素化模型重新还原成网格模型,完成了空间中3D模型的内部自支撑结构镂空;因此本发明方法的复杂度低,可靠性高,材料节约。
附图说明
图1为本发明的3D打印方法的方法流程示意图。
图2为本发明的3D打印方法的模型体素化的结果示意图。
图3为本发明的3D打印方法的体素镂空潜力评价示意图。
图4为本发明的3D打印方法的逐层镂空效果示意图。
图5为本发明的3D打印方法的内表面生成示意图。
图6为本发明的桌面摆件打印方法的方法流程示意图。
具体实施方式
如图1所示为本发明的3D打印方法的方法流程示意图:本发明提供的这种内部自支撑结构镂空的3D打印方法,包括如下步骤:
S1. 获取待打印结构的三维模型;具体为获取待打印结构的三维模型,三维模型以三角网格进行表示;
S2. 将步骤S1获取的三维模型,转换为实心体素化模型;具体包括如下步骤:
模型体素化包括外表面体素化和内部体素化;
模型外表面体素化:
对于给定的连续且封闭的三角网络模型
Figure 170709DEST_PATH_IMAGE001
,其中v为三角网络模型中的顶点,f为三角网络模型中的边;三角网络模型的真实坐标的x轴坐标最小值为x min y轴坐标最小值为y min z轴坐标最小值为z min x轴坐标最大值为x max y轴坐标最大值为y max z轴坐标最大值为z max
以点
Figure 120210DEST_PATH_IMAGE002
和点
Figure 6126DEST_PATH_IMAGE003
为对角顶点,建立一个各边均平行于坐标轴的立方体,作为三维模型的轴向包围盒;将轴向包围盒与x轴平行的边等分为n u 份,将轴向包围盒与y轴平行的边等分为n v 份,将轴向包围盒与z轴平行的边等分为n w 份,然后过等分点以垂直于等分边平面将轴向包围盒内部进行分割,将轴向包围盒分割为
Figure 394382DEST_PATH_IMAGE005
个立方体,每个立方体的规格为
Figure 682144DEST_PATH_IMAGE007
,其中
Figure 802547DEST_PATH_IMAGE008
Figure 178689DEST_PATH_IMAGE009
Figure 42740DEST_PATH_IMAGE010
;采用大小为
Figure 857112DEST_PATH_IMAGE005
的三维0-1数组V描述分割后的轴向包围盒,
Figure 273050DEST_PATH_IMAGE011
表示索引坐标为
Figure 8925DEST_PATH_IMAGE012
的体素与三角网格有交点,
Figure 473404DEST_PATH_IMAGE013
表示索引坐标为
Figure 470179DEST_PATH_IMAGE012
的体素与三角网格无交点;数组V的索引坐标
Figure 197964DEST_PATH_IMAGE012
与轴向包围盒中体素的真实坐标
Figure 280189DEST_PATH_IMAGE015
的转换算式为
Figure 282780DEST_PATH_IMAGE016
遍历所有三角网格,对每个三角面片进行均匀细分,然后在三维数据中找到对应的分块位置并将数值赋值为1;具体包括如下步骤:
遍历所有的三角面片,对每一个三角面片,选取一个角的坐标A,计算从A出发分别到剩余两个角BC的向量
Figure 275007DEST_PATH_IMAGE017
Figure 32748DEST_PATH_IMAGE018
;通过平面向量基本定理,定位三角面片上任意点P的坐标计算式为
Figure 274373DEST_PATH_IMAGE019
,其中
Figure 18338DEST_PATH_IMAGE020
Figure 927388DEST_PATH_IMAGE022
为计算参数,
Figure 856030DEST_PATH_IMAGE023
Figure 788214DEST_PATH_IMAGE024
Figure 132608DEST_PATH_IMAGE025
;通过点P的坐标,计算点P在体素中的位置;
计算时,对ABAC进行细分,细分时的分度值小于体素边长的一半;
模型内部体素化填充:
在模型的外表面体素化结果的基础上,再极性内部体素化填充;
采用堆栈数据结构,从模型内部的一个体素点触发,依六连接区域向外扩展,直至边界为止;体素点a的六连接区域定义为体素点a的上、下、左、右、前、后,共六个临接体素;具体包括如下步骤:
将模型内部的体素点作为栈顶体素;
检查栈是否非空:若栈非空,则栈顶体素出栈,并将出栈体素的对应体素所对应的位置索引
Figure 224060DEST_PATH_IMAGE012
处的值
Figure 933390DEST_PATH_IMAGE026
置为1;按上,下,左,右,前,后顺序检查与出栈体素相邻的六体素,若其中某一个体素不再边界上且
Figure 415187DEST_PATH_IMAGE027
,则将该体素入栈;
重复上一步骤直至栈中体素为空,过程结束;
模型体素化的结果示意图如图2所示,其中图2(a)和图2(c)为原始模型,图2(b)为图2(a)的体素化后的模型,图2(d)为图2(c)的体素化后的模型;
S3. 对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型;具体包括如下步骤:
步骤S2得到的实心体素化模型,其中
Figure DEST_PATH_IMAGE031
表示存在实体体素,
Figure 891168DEST_PATH_IMAGE013
表示不存在实体体素;
将所有体素分类:六个面均有邻接的体素为模型内部体素,剩余体素为模型边界体素;
任意选定初始的内部体素,选定的内部体素所对应的索引位置为
Figure 712494DEST_PATH_IMAGE032
;从选定的内部体素出发,将该位置的体素进行镂空形成初始空洞,然后按照广度优先遍历原则,对模型进行逐层迭代镂空,从而完成空洞的逐层扩大,得到镂空模型;
具体实施时,采用如下步骤实施:
A. 对选定的初始的内部体素的位置进行镂空:将对应索引位置
Figure 3446DEST_PATH_IMAGE032
的的值
Figure DEST_PATH_IMAGE033
赋值为0;
B. 将第n层的空洞区域与第n+1层的模型内部体素点求交,将求交结果作为第n+1层的初始空洞;
C. 将确定的空洞边界体素点入队,进行广度优先遍历,将周围不影响第n层体素自支撑性的体素全部去除,得到第n+1层的空洞;
D. 自上而下逐层进行步骤B和C,直至模型底部,完成模型的单连通镂空,得到镂空模型;
S4. 基于步骤S3得到的镂空模型进行迭代体素镂空,得到镂空体素模型;具体包括如下步骤:
a. 体素镂空潜力用于反映以该体素作为初始镂空体素,逐层镂空算法能够镂空的体素多少,能够镂空的体素越多则体素镂空潜力越大;由于逐层镂空过程中,下层镂空的空洞大小取决于上下层模型的拓扑与上层空洞的大小,从直观上来看,逐层镂空所镂空的层数越多,能够镂空的体素数量就越多;因此,将体素下方连续体素的数量作为体素镂空潜力评价的指标(效果图如图3所示);
b. 自上而下扫描模型中的所有内部体素点,计算得到每个体素点下方的连续体素个数;由选定的评价指标,当前体素点下方连续的体素点的镂空潜力显然不及当前体素点,因此在之后的扫描过程中就可以不去扫描这部分体素点;这样可以将扫描整个模型中的体素减少到扫描数层个数的体素,即将体素镂空潜力评估算法的复杂度从
Figure 175801DEST_PATH_IMAGE034
减少到
Figure DEST_PATH_IMAGE035
,从而大大加速最优镂空体素的寻找时间;
体素点下方连续体素个数最大的体素点为镂空潜力最大的体素点,并将该体素点作为逐层迭代镂空的初始镂空体素;
c. 根据确定的初始镂空体素,进行逐层镂空;镂空完成后得到的新的体素模型;针对新的体素模型,重复步骤b和步骤c,实现尽可能多的镂空;逐层迭代镂空的效果如图4所示;
d. 得到最终的镂空体素模型;
步骤S3和步骤S4的目的,在于在不影响打印内部自支撑性的条件下,尽可能对3D模型内部进行镂空处理以尽可能多的减少模型打印使用材料;3D模型镂空算法的输入为表示三维模型实体的三维0-1数组,输出为经过内部镂空后的三维0-1数组;主流的3D打印技术,如熔融沉积打印(FDM)与立体光刻打印(SLA),打印物体时将打印材料一层一层的沉积以生成打印模型;在打印过程中,上层的打印材料由下层的打印材料所支撑,为了保证模型内部的自支撑性,模型内表面的每个面必须满足一个条件:即每一面接触面的分层角度必须等于或大于给定的阈值角度;具体到体素模型的表示中,假设索引为
Figure 189893DEST_PATH_IMAGE036
的体素能够被支撑当且仅当其下方的体素与前,后,左,右共五个体素任意一个非空;步骤S3和步骤S4,从一个实心体素模型出发,尽可能的在不影响所有体素自支撑性的前提下对模型内部体素进行镂空,由于某层体素的自支撑性是由其下层体素决定的,镂空过程自上层向下层迭代进行;
S5. 对步骤4得到的镂空体素模型进行局部补充,完成内表面生成,得到待打印结构的的3D打印模型;具体包括如下步骤:
对步骤S4得到的镂空体素模型,沿z轴方向,从上到下逐层进行遍历,检测每个体素周围的体素分布情况:
若当前体素周围出现上下层对角临接体素的情况,则在上层体素的正下方位置增加紧邻下层体素的斜面体素;若需要增加斜面体素的区域已经增加了斜面体素,则将对应区域标记为综合斜面体素;
若当前体素周围出现同一层水平对角临接体素的情形,则在该层两个临接体素的公共临接位置增加综合斜面体素;
所述的斜面体素为对长方体体素沿平行于x轴或y轴的体对角面切割后取上半部分所得到的三棱柱;斜面体素有四种类型,分别对应四种体对角面,分别紧邻着前、后、左和右四个方向的临接体素,所述紧邻指斜面体素与临接的长方体体素的接触面为长方体体素的整个面;所述的综合斜面体素为不同类型斜面体素直接叠加,在水平对角临接体素情形所添加的综合斜面体素为紧邻对角体素的两个斜面体素的叠加;
检测并增加体素完毕后,完成内表面生成,得到待打印结构的的3D打印模型;
具体实施时,图5(a)和图5(b)为需要处理的对角临接情形,其中图5(a)为上下层对角临接的情况,图5(b)为同一层水平对角临接的情况;图5(c)为图5(a)采用斜面体素处理后的情况;图5(d)为图5(b)采用综合斜面体素处理后的情况;图5(e)为采用采用综合斜面体素处理后的情况;图5(f)为局部补充和内表面生成完毕后的情况;
为了方便打印机直接对模型进行打印,需要将体素模型的表面
Figure DEST_PATH_IMAGE037
抽取出来;模型的表面表示方式要求表面自身满足二维流形要求:即每个边只能被两个面共享;而体素数组模型V表示中并没有考虑这种约束要求,因此直接将体素模型中所有体素的裸露面进行输出有可能会导致输出的网格模型出现局部非二维流形的情形,同时部分连接区域可能过于脆弱;内表面生成将体素模型的内表面进行局部填充,最后输出一个二维流形的内表面,而模型外表面则使用初始的三角网格模型表示;
二维流形表示要求模型的每个边只能被两个面共享,这种问题可能出现在同一层或者相邻两层之间的对角临接体素上,这种情形同样会导致模型支撑区域脆弱,因此,本发明设计了斜面体素和综合斜面体素来补充对角临接体素,四个方向的斜面分别填充前,后,左,右四个临接方向;
S6. 根据步骤S5得到的3D打印模型,完成最终的3D打印。
以下结合一个实施例,对本发明的3D打印方法进行进一步说明:
在时间复杂度上,本发明首先是三维模型表面体素化,该部分的效率取决于模型面片的个数n,三角面片平均边长L以及体素尺寸
Figure DEST_PATH_IMAGE039
,时间复杂度为
Figure 724780DEST_PATH_IMAGE040
接着是逐层镂空,基于广度优先遍历,体素化后模型尺寸为n,则时间复杂度为
Figure DEST_PATH_IMAGE041
,其中
Figure 369388DEST_PATH_IMAGE042
表示三维模型内部的体素个数;
体素镂空潜力评估,统计模型中每个体素沿打印负方向连续体素个数,在优化后评估体素镂空潜力的时间复杂度为
Figure DEST_PATH_IMAGE043
;逐层迭代镂空,镂空算法同样基于广度优先遍历,因此时间复杂度同样为
Figure 763460DEST_PATH_IMAGE034
;最后,内表面生成,对模型体素进行全局遍历,通过判断每个体素及其周围体素的情况对模型进行局部斜面补充,时间复杂度为
Figure 581244DEST_PATH_IMAGE034
采用典型的4中模型(斯坦福兔子、牛、小猫和中国龙)进行镂空,具体的镂空数据如表1所示:
表1镂空数据结果示意表
Figure 173899DEST_PATH_IMAGE044
通过表1的镂空数据可以看到,本发明的3D打印方法能够较好的对模型进行镂空打印,能够较好的节约打印材料,而且从而提高打印效率。
如图6所示为本发明的桌面摆件打印方法的方法流程示意图:本发明提供这种包括了所述内部自支撑结构镂空的3D打印方法的桌面摆件打印方法,具体包括如下步骤:
(1)获取待打印的桌面摆件的三维模型,并作为待打印结构的三维模型;
(2)采用所述的内部自支撑结构镂空的3D打印方法,对待打印结构的三维模型进行3D打印;
(3)得到最终的桌面摆件的3D打印结果,完成桌面摆件的打印。
本发明提供的这种桌面摆件打印方法,特别适用于桌面摆件的打印,比如动物模型与立体手办模型等。而且采用本发明提供的摆件打印方法进行摆件的打印,不仅效率较高,算法的复杂度较低,而且镂空比例较高,能够较好的节约打印材料。
此外,本发明的3D打印方法,还适用于雕塑行业的3D打印与沙盘模型行业等。

Claims (10)

1.一种内部自支撑结构镂空的3D打印方法,包括如下步骤:
S1. 获取待打印结构的三维模型;
S2. 将步骤S1获取的三维模型,转换为实心体素化模型;
S3. 对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型;
S4. 基于步骤S3得到的镂空模型进行迭代体素镂空,得到镂空体素模型;
S5. 对步骤4得到的镂空体素模型进行局部补充,完成内表面生成,得到待打印结构的的3D打印模型;
S6. 根据步骤S5得到的3D打印模型,完成最终的3D打印。
2.根据权利要求1所述的内部自支撑结构镂空的3D打印方法,其特征在于步骤S1所述的获取待打印结构的三维模型,具体为获取待打印结构的三维模型,三维模型以三角网格进行表示。
3.根据权利要求2所述的内部自支撑结构镂空的3D打印方法,其特征在于步骤S2所述的将步骤S1获取的三维模型,转换为实心体素化模型,具体包括如下步骤:
模型外表面体素化:
对于给定的连续且封闭的三角网络模型
Figure DEST_PATH_IMAGE001
,其中v为三角网络模型中的顶点,f为三角网络模型中的边;三角网络模型的真实坐标的x轴坐标最小值为x min y轴坐标最小值为y min z轴坐标最小值为z min x轴坐标最大值为x max y轴坐标最大值为y max z轴坐标最大值为z max
以点
Figure 608778DEST_PATH_IMAGE002
和点
Figure DEST_PATH_IMAGE003
为对角顶点,建立一个各边均平行于坐标轴的立方体,作为三维模型的轴向包围盒;将轴向包围盒与x轴平行的边等分为n u 份,将轴向包围盒与y轴平行的边等分为n v 份,将轴向包围盒与z轴平行的边等分为n w 份,然后过等分点以垂直于等分边平面将轴向包围盒内部进行分割,将轴向包围盒分割为
Figure 614780DEST_PATH_IMAGE004
个立方体,每个立方体的规格为
Figure DEST_PATH_IMAGE005
,其中
Figure 111620DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE007
Figure 89940DEST_PATH_IMAGE008
;采用大小为
Figure 810772DEST_PATH_IMAGE004
的三维0-1数组V描述分割后的轴向包围盒,
Figure DEST_PATH_IMAGE009
表示索引坐标为
Figure 304070DEST_PATH_IMAGE010
的体素与三角网格有交点,
Figure DEST_PATH_IMAGE011
表示索引坐标为
Figure 669848DEST_PATH_IMAGE010
的体素与三角网格无交点;数组V的索引坐标
Figure 174779DEST_PATH_IMAGE010
与轴向包围盒中体素的真实坐标
Figure 66511DEST_PATH_IMAGE012
的转换算式为
Figure DEST_PATH_IMAGE013
遍历所有三角网格,对每个三角面片进行均匀细分,然后在三维数据中找到对应的分块位置并将数值赋值为1;
模型内部体素化填充:
采用堆栈数据结构,从模型内部的一个体素点触发,依六连接区域向外扩展,直至边界为止;体素点a的六连接区域定义为体素点a的上、下、左、右、前、后,共六个临接体素。
4.根据权利要求3所述的内部自支撑结构镂空的3D打印方法,其特征在于所述的遍历所有三角网格,对每个三角面片进行均匀细分,然后在三维数据中找到对应的分块位置并将数值赋值为1,具体包括如下步骤:
遍历所有的三角面片,对每一个三角面片,选取一个角的坐标A,计算从A出发分别到剩余两个角BC的向量
Figure 250368DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
;通过平面向量基本定理,定位三角面片上任意点P的坐标计算式为
Figure 948066DEST_PATH_IMAGE016
,其中
Figure DEST_PATH_IMAGE017
Figure 838661DEST_PATH_IMAGE018
为计算参数,
Figure DEST_PATH_IMAGE019
Figure 229191DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE021
;通过点P的坐标,计算点P在体素中的位置;
计算时,对ABAC进行细分,细分时的分度值小于体素边长的一半。
5.根据权利要求4所述的内部自支撑结构镂空的3D打印方法,其特征在于所述的采用堆栈数据结构,从模型内部的一个体素点触发,依六连接区域向外扩展,直至边界为止,具体包括如下步骤:
将模型内部的体素点作为栈顶体素;
检查栈是否非空:若栈非空,则栈顶体素出栈,并将出栈体素的对应体素所对应的位置索引
Figure 634765DEST_PATH_IMAGE022
处的值
Figure DEST_PATH_IMAGE023
置为1;按上,下,左,右,前,后顺序检查与出栈体素相邻的六体素,若其中某一个体素不再边界上且
Figure 277099DEST_PATH_IMAGE024
,则将该体素入栈;
重复上一步骤直至栈中体素为空,过程结束。
6.根据权利要求5所述的内部自支撑结构镂空的3D打印方法,其特征在于步骤S3所述的对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型,具体包括如下步骤:
步骤S2得到的实心体素化模型,其中
Figure 553359DEST_PATH_IMAGE009
表示存在实体体素,
Figure DEST_PATH_IMAGE025
表示不存在实体体素;
将所有体素分类:六个面均有邻接的体素为模型内部体素,剩余体素为模型边界体素;
任意选定初始的内部体素,选定的内部体素所对应的索引位置为
Figure 318053DEST_PATH_IMAGE026
;从选定的内部体素出发,将该位置的体素进行镂空形成初始空洞,然后按照广度优先遍历原则,对模型进行逐层迭代镂空,从而完成空洞的逐层扩大,得到镂空模型。
7.根据权利要求6所述的内部自支撑结构镂空的3D打印方法,其特征在于所述的对步骤S2得到的实心体素化模型,进行逐层镂空,得到镂空模型,具体包括如下步骤:
A. 对选定的初始的内部体素的位置进行镂空:将对应索引位置
Figure 679764DEST_PATH_IMAGE026
的的值
Figure DEST_PATH_IMAGE027
赋值为0;
B. 将第n层的空洞区域与第n+1层的模型内部体素点求交,将求交结果作为第n+1层的初始空洞;
C. 将确定的空洞边界体素点入队,进行广度优先遍历,将周围不影响第n层体素自支撑性的体素全部去除,得到第n+1层的空洞;
D. 自上而下逐层进行步骤B和C,直至模型底部,完成模型的单连通镂空,得到镂空模型。
8.根据权利要求7所述的内部自支撑结构镂空的3D打印方法,其特征在于步骤S4所述的基于步骤S3得到的镂空模型进行迭代体素镂空,得到镂空体素模型,具体包括如下步骤:
a. 将体素下方连续体素的数量作为体素镂空潜力评价的指标;
b. 自上而下扫描模型中的所有内部体素点,计算得到每个体素点下方的连续体素个数;体素点下方连续体素个数最大的体素点为镂空潜力最大的体素点,并将该体素点作为逐层迭代镂空的初始镂空体素;
c. 根据确定的初始镂空体素,进行逐层镂空;镂空完成后得到的新的体素模型;针对新的体素模型,重复步骤b和步骤c,实现尽可能多的镂空;
d. 得到最终的镂空体素模型。
9.根据权利要求8所述的内部自支撑结构镂空的3D打印方法,其特征在于步骤S5所述的对步骤4得到的镂空体素模型进行局部补充,完成内表面生成,得到待打印结构的的3D打印模型,具体包括如下步骤:
对步骤S4得到的镂空体素模型,沿z轴方向,从上到下逐层进行遍历,检测每个体素周围的体素分布情况:
若当前体素周围出现上下层对角临接体素的情况,则在上层体素的正下方位置增加紧邻下层体素的斜面体素;若需要增加斜面体素的区域已经增加了斜面体素,则将对应区域标记为综合斜面体素;
若当前体素周围出现同一层水平对角临接体素的情形,则在该层两个临接体素的公共临接位置增加综合斜面体素;
所述的斜面体素为对长方体体素沿平行于x轴或y轴的体对角面切割后取上半部分所得到的三棱柱;斜面体素有四种类型,分别对应四种体对角面,分别紧邻着前、后、左和右四个方向的临接体素,所述紧邻指斜面体素与临接的长方体体素的接触面为长方体体素的整个面;所述的综合斜面体素为不同类型斜面体素直接叠加,在水平对角临接体素情形所添加的综合斜面体素为紧邻对角体素的两个斜面体素的叠加;
检测并增加体素完毕后,完成内表面生成,得到待打印结构的的3D打印模型。
10.一种包括了权利要求1~9之一所述的内部自支撑结构镂空的3D打印方法的桌面摆件打印方法,其特征在于具体包括如下步骤:
(1)获取待打印的桌面摆件的三维模型,并作为待打印结构的三维模型;
(2)采用权利要求1~9之一所述的内部自支撑结构镂空的3D打印方法,对待打印结构的三维模型进行3D打印;
(3)得到最终的桌面摆件的3D打印结果,完成桌面摆件的打印。
CN202211307715.2A 2022-10-25 2022-10-25 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法 Active CN115674684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211307715.2A CN115674684B (zh) 2022-10-25 2022-10-25 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211307715.2A CN115674684B (zh) 2022-10-25 2022-10-25 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法

Publications (2)

Publication Number Publication Date
CN115674684A true CN115674684A (zh) 2023-02-03
CN115674684B CN115674684B (zh) 2023-04-25

Family

ID=85099821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211307715.2A Active CN115674684B (zh) 2022-10-25 2022-10-25 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法

Country Status (1)

Country Link
CN (1) CN115674684B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205583A1 (en) * 2010-02-23 2011-08-25 Simpleware Limited Image processing method and method of three-dimensional printing incorporating the same
CN108248016A (zh) * 2018-01-06 2018-07-06 石家庄铁道大学 一种镂空结构的fdm打印方法
CN109624326A (zh) * 2018-12-19 2019-04-16 华中科技大学 一种3d打印模型支撑结构生成过程中干涉点获取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205583A1 (en) * 2010-02-23 2011-08-25 Simpleware Limited Image processing method and method of three-dimensional printing incorporating the same
CN108248016A (zh) * 2018-01-06 2018-07-06 石家庄铁道大学 一种镂空结构的fdm打印方法
CN109624326A (zh) * 2018-12-19 2019-04-16 华中科技大学 一种3d打印模型支撑结构生成过程中干涉点获取方法

Also Published As

Publication number Publication date
CN115674684B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
Minetto et al. An optimal algorithm for 3D triangle mesh slicing
Aremu et al. A voxel-based method of constructing and skinning conformal and functionally graded lattice structures suitable for additive manufacturing
Tang et al. A hybrid geometric modeling method for lattice structures fabricated by additive manufacturing
JP2005038219A (ja) 境界表現データからボリュームデータを生成する方法及びそのプログラム
US20200210629A1 (en) Designing objects using lattice structure optimization
CN118586223A (zh) 将网格几何结构转换成水密边界表示的方法和系统以及介质
CN111581776B (zh) 一种基于几何重建模型的等几何分析方法
Bernhard et al. Volumetric modelling for 3D printed architecture.
Zhang et al. Adaptive hexahedral mesh generation based on local domain curvature and thickness using a modified grid-based method
Azariadis et al. Drawing curves onto a cloud of points for point-based modelling
Athanasiadis et al. Feature-based 3D morphing based on geometrically constrained spherical parameterization
CN108389263B (zh) 面向边界元方法求解计算的iges面网格快速生成方法
CN114611359A (zh) 一种网格-参数混合模型建模方法和系统
Wang et al. Cost-effective printing of 3D objects with self-supporting property
JPH08153214A (ja) 3次元直交格子データの生成方法
CN113536617B (zh) 一种复杂结构的精细有限元模型快速生成方法
Shen et al. A framework from point clouds to workpieces
CN110765506B (zh) 实体模型的多分辨率等几何拓扑优化方法
CN115674684B (zh) 内部自支撑结构镂空的3d打印方法及桌面摆件打印方法
JP2003330976A (ja) 境界データの内外判定方法とそのプログラム
Kase et al. Volume cad
Navangul et al. A vertex translation algorithm for adaptive modification of STL file in layered manufacturing
CN111400969B (zh) 一种非结构直角网格加速生成方法
Patel et al. Automatic CAD model topology generation
Ye et al. Information reuse to accelerate customized product slicing for additive manufacturing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant