一种无支撑打印的模型分解方法技术

技术编号:39838301 阅读:6 留言:0更新日期:2023-12-29 16:24
本发明专利技术公开了一种无支撑打印的模型分解方法

【技术实现步骤摘要】
一种无支撑打印的模型分解方法、系统、设备及介质


[0001]本专利技术属于
3D
打印
,特别涉及一种无支撑打印的模型分解方法

系统

设备及介质


技术介绍

[0002]现有各类工艺的
3D
打印机,其打印喷头通常具有
X、Y

Z
三个平移自由度;其打印过程中,首先采用分层切片方法沿模型的单一方向进行分层,再将材料沿与分层面垂直方向层层堆叠成型;因此,打印类似具有分叉结构的复杂模型时必须添加支撑,并在打印完成后增加去除支撑的处理环节,造成支撑材料的额外损耗,同时容易影响模型的表面精度

[0003]基于上述原因,近年来研究人员陆续提出通过增加打印设备的运动自由度,例如开发五轴
3D
打印机以改变打印方向和分层切片方式,研究更为灵活的
3D
打印方法,以提高模型表面精度,并实现免支撑打印的目的,但现有的
3D
打印方法仅适用于一些简单的零件

[0004]目前,面对有分叉结构的复杂模型,也有人提出对模型进行三维分割为简单的零件结构,进而利用五轴
3D
打印机进行打印;但常用的
3D
模型分割方法,由于是对面片集合的划分,其分界线通常为曲线轮廓;而
3D
打印需要在平面上进行材料堆叠,并且未考虑分割后各部分的可支撑性;因此,现有的
3D
模型分割结果无法直接应用于五轴
3D
打印


技术实现思路

[0005]针对现有技术中存在的技术问题,本专利技术提供了一种无支撑打印的模型分解方法

系统

设备及介质,以解决现有的
3D
模型分割结果无法直接应用于五轴
3D
打印的技术问题

[0006]为达到上述目的,本专利技术采用的技术方案为:
[0007]本专利技术提供了一种无支撑打印的模型分解方法,包括:
[0008]读取目标工件的
STL
文件,并存储至预设的模型组结构中,生成当前模型组;
[0009]在当前模型组中,选取所有不满足支撑条件的模型,获得若干当前待分解模型;
[0010]利用平面搜索方法,对每个当前待分解模型进行平面搜索,获得最优平面;并利用所述最优平面对当前待分解模型进行划分,获得当前分解结果;其中,所述最优平面满足:所述当前分解结果中两个新的子模型均满足支撑条件;或满足:相比当前待分解模型,两个新的子模型中不满足支撑条件的面片数量的下降梯度最大;
[0011]利用当前分解结果对所述当前模型组进行更新,获得更新后的模型组;
[0012]根据当前分解结果,生成模型分解树;
[0013]根据所述模型分解树,对所述更新后的模型组中的模型进行打印顺序规划,获得模型的打印顺序;
[0014]根据所述模型的打印顺序,生成适用于五轴
3D
打印机可执行的
G
代码

[0015]进一步的,所述当前模型组中包括若干模型;其中,每个模型按照预设的数据结构
model
进行存储;
[0016]具体的,所述预设的数据结构
model
为:
[0017]{vertices

faces

normal

partNo

closedmodel

risk

base_plane

base_poly}
[0018]其中,
vertices
为模型顶点;
faces
为模型面片;
normal
为模型面片的法向量;
partNo
为模型的编号;
closedmodel
为模型中关联三角面片的邻接关系;
risk
为模型中不满足支撑条件的面片数量;
base_plane
为模型的基底平面信息;
base_poly
为模型的基底平面与模型相交的截面轮廓

[0019]进一步的,所述不满足支撑条件的模型为模型中不满足支撑条件的面片数量大于
0。
[0020]进一步的,利用平面搜索方法,对每个当前待分解模型进行平面搜索,获得最优平面的过程,具体如下:
[0021]构建单位上半球面;其中,所述单位上半球面为半径为单位长度

球心为原点的球面的上半部分;
[0022]在所述单位上半球面上随机选取一点作为初始平面法向量用点,并以所述初始平面法向量用点处的法向量作为初始平面法向量;
[0023]在当前待分解模型上随机选取一个点作为模型随机点;
[0024]以所述初始平面法向量用点

所述初始平面法向量及所述模型随机点,构建初始平面;
[0025]在所述初始平面上随机选取一个起始位置,并在所述初始平面上以所述起始位置为基准,按照预设的搜索步长,沿初始平面的法向量方向或沿所述初始平面的法向量相反方向进行等间距平面搜索,获得若干搜索平面;其中,若干搜索平面构成平面搜索空间;
[0026]在所述平面搜索空间内,若存在某个搜索平面将当前待分解模型划分为两个新的子模型,且两个新的子模型均为满足支撑条件,则该搜索平面为最优平面;
[0027]或在所述平面搜索空间内,若存在某个搜索平面将当前待分解模型划分为两个新的子模型,且相比当前待分解模型,两个新的子模型中不满足支撑条件的面片数量的下降梯度最大,则该搜索平面为最优平面

[0028]进一步的,根据当前分解结果,生成模型分解树的过程,具体如下:
[0029]以当前模型组中的模型作为模型分解树的根节点;
[0030]在利用最优平面对当前待分解模型进行划分后,将当前分解结果中位于最优平面下方的子模型加入到模型分解树的左侧叶子节点中,将当前分解结果中位于最优平面上方的子模型加入到模型分解树的右侧叶子节点;
[0031]对模型分解树的左侧叶子节点或右侧叶子节点重复最优平面分割操作,直至无法分割为止,即得到所述模型分解树;其中,所述模型分解树的每个叶子节点表示最小的可独立打印的子模型

[0032]进一步的,根据所述模型分解树,对所述更新后的模组组中的模型进行打印顺序规划,获得模型的打印顺序的过程,具体如下:
[0033]对所述模型分解树的叶子节点,按照从左到右的顺序进行遍历,获得叶子节点的遍历结果;
[0034]根据所述叶子节点的遍历结果,对所述更新后的模组组中的模型进行排序,得到所述模型的打印顺序

[0035]进一步的,根据所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种无支撑打印的模型分解方法,其特征在于,包括:读取目标工件的
STL
文件,并存储至预设的模型组结构中,生成当前模型组;在当前模型组中,选取所有不满足支撑条件的模型,获得若干当前待分解模型;利用平面搜索方法,对每个当前待分解模型进行平面搜索,获得最优平面;并利用所述最优平面对当前待分解模型进行划分,获得当前分解结果;其中,所述最优平面满足:所述当前分解结果中两个新的子模型均满足支撑条件;或满足:相比当前待分解模型,两个新的子模型中不满足支撑条件的面片数量的下降梯度最大;利用当前分解结果对所述当前模型组进行更新,获得更新后的模型组;根据当前分解结果,生成模型分解树;根据所述模型分解树,对所述更新后的模型组中的模型进行打印顺序规划,获得模型的打印顺序;根据所述模型的打印顺序,生成适用于五轴
3D
打印机可执行的
G
代码
。2.
根据权利要求1所述的一种无支撑打印的模型分解方法,其特征在于,所述当前模型组中包括若干模型;其中,每个模型按照预设的数据结构
model
进行存储;具体的,所述预设的数据结构
model
为:
{vertices

faces

normal

partNo

closedmodel

risk

base_plane

base_poly}
其中,
vertices
为模型顶点;
faces
为模型面片;
normal
为模型面片的法向量;
partNo
为模型的编号;
closedmodel
为模型中关联三角面片的邻接关系;
risk
为模型中不满足支撑条件的面片数量;
base_plane
为模型的基底平面信息;
base_poly
为模型的基底平面与模型相交的截面轮廓
。3.
根据权利要求1所述的一种无支撑打印的模型分解方法,其特征在于,所述不满足支撑条件的模型为模型中不满足支撑条件的面片数量大于
0。4.
根据权利要求1所述的一种无支撑打印的模型分解方法,其特征在于,利用平面搜索方法,对每个当前待分解模型进行平面搜索,获得最优平面的过程,具体如下:构建单位上半球面;其中,所述单位上半球面为半径为单位长度

球心为原点的球面的上半部分;在所述单位上半球面上随机选取一点作为初始平面法向量用点,并以所述初始平面法向量用点处的法向量作为初始平面法向量;在当前待分解模型上随机选取一个点作为模型随机点;以所述初始平面法向量用点

所述初始平面法向量及所述模型随机点,构建初始平面;在所述初始平面上随机选取一个起始位置,并在所述初始平面上以所述起始位置为基准,按照预设的搜索步长,沿初始平面的法向量方向或沿所述初始平面的法向量相反方向进行等间距平面搜索,获得若干搜索平面;其中,若干搜索平面构成平面搜索空间;在所述平面搜索空间内,若存在某个搜索平面将当前待分解模型划分为两个新的子模型,且两个新的子模型均为满足支撑条件,则该...

【专利技术属性】
技术研发人员:任晓栋何哲徐畅
申请(专利权)人:西安交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1