一种基于网格的模型分区切片方法与流程

文档序号:19421707发布日期:2019-12-14 01:34阅读:406来源:国知局
一种基于网格的模型分区切片方法与流程

本发明属于增材制造领域,更具体地,涉及一种基于网格的模型分区切片方法。



背景技术:

增才制造技术,也称3d打印,主要通过逐层堆积材料的方式来直接增材制造零件,而不需要考虑零件几何的复杂性。在面向大尺寸模型的打印制造应用中,往往由于增材制造工艺的限制,导致当前主流的增材制造设备的成形尺寸很小。由于一台打印头的成形范围是有限的,因此在实际应用中往往可以通过扩展多个“打印头”来扩大增材制造设备单层扫描区域,从而扩大增材制造设备的成形尺寸,这种通过扩展多打印头的增材制造方式定义为多打印头增材制造(mph-am)。

基于mph-am进行大尺寸模型的增材制造,往往需要针对相应打印头的扫描区域,分别生成该打印头的轮廓填充区域。为了获得打印模型不同的分区层次填充区域,当前采用的方法大致可以分为两类:(1)第一类:先3d分割然后2d切片策略,即:首先根据每个打印头的负责区域,对打印模型进行3d层次的分割,这样将模型拆解为不同的小块子模型,然后针对这些小块子模型进行常规的“模型离散切片”“层次填充区域生成”处理,最后可以得到属于不同打印头的“层次填充区域”数据;(2)第二类:先2d切片然后轮廓2d裁剪策略,即:首先对打印模型进行“模型离散切片”处理,这样得到的是“层次填充区域”,当前获得的填充区域是模型离散切片后的完整的填充区域结果,然后需要对这些完整的填充区域进行轮廓裁剪,并且需要依据每个打印头所负责的扫描区域范围,常规的实现方式是对这些2d轮廓进行boolean运算,得到每个打印头所属的子填充区域结果。

利用常规方法进行分区轮廓生成以应用于mph-am,进行大尺寸模型打印制造中,存在着下列问题:(1)不可避免的需要生成中间数据,常规方法的执行效率不高。如:采用先3d分割然后2d切片策略,则需要首先利用3d分割软件将打印模型进行分割,然后生成具有2d-mainfold属性的子模型,然后在利用这些子模型进行模型切片处理。在实际实践中,利用模型分割技术能够稳定可靠地生成2d-manifold属性的子模型还需要进一步研究,往往还需要人工重新对生成的子模型进行修复处理。而对于采用先2d切片然后轮廓2d裁剪策略方法,由于需要对原始模型进行切片获得完整的切片轮廓,然后对这些完整轮廓进行boolean运算,该构成生成了原始模型的2d切片结果数据,增加了内存消耗,其次对大量的2d轮廓进行boolean运算,算法的执行效率不高。(2)对于大尺寸模型的打印制造,往往模型的文件大小会很大,这就导致了模型文件的数据规模成为不得不考虑的问题,注意,这对采用常规方法则会进一步加剧常规算法的执行时间以及宝贵的计算内存消耗。基于上述问题,则不利于基于mph-am进行大尺寸模型的增材制造的进一步推广应用。



技术实现要素:

针对现有技术的上述缺点和/或改进需求,本发明提供了一种基于网格的模型分区切片方法,其中通过分治思想,将待打印模型的三角面片进行分类处理,相应的能够有效提高算法的执行效率,降低计算机内存的消耗,因而尤其适用于增材制造之类的应用场合。

为实现上述目的,本发明提出了一种基于网格的模型分区切片方法,该方法包括如下步骤:

s1计算待打印模型的包围盒并根据其设置进行分割的空间网格;

s2计算所述待打印模型中当前三角面片的包围盒,并判断所述当前三角面片的包围盒是否与所述待打印模型的包围盒相交,若是,则将所述当前三角面片保存至相应的网格单元中,若否,则对所述当前三角面片不进行任何处理,重复上述操作直至遍历所述待打印模型中的所有三角面片;

s3对所述步骤s2获得的每个网格单元中的三角面片进行切片处理,得到所述待打印模型的轮廓线段;

s4对所述步骤s3获得的轮廓线段进行裁剪和封闭处理,从而获得封闭轮廓,以此确定每个网格单元的3d打印填充轮廓。

作为进一步优选地,所述步骤s4包括如下子步骤:

s41对于所述步骤s3获得的轮廓线段,利用所述网格单元中与该轮廓线段高度对应的矩形进行裁剪,并保留位于所述矩形内的轮廓;

s42若裁剪后的轮廓为封闭轮廓,则将该封闭轮廓直接保存,若裁剪后的轮廓为开放轮廓,则转入步骤s43;

s43利用逆时针连接封闭处理的方式对所述开放轮廓进行封闭处理,从而获得封闭轮廓;

s44将所述步骤s42和s43获得的封闭轮廓作为该网格单元的3d打印填充轮廓。

作为进一步优选地,所述步骤s43包括如下子步骤:

s431判定所述矩形边角的符号,将位于所述待打印模型内部的边角记为内部边角,并将位于所述待打印模型外部的边角记为外部边角;

s432将所述矩形的四条边按照逆时针顺序分别定义为edge0、edge1、edge2和edge3,同时将四个边角按照逆时针顺序分别定义为corner0、corner1、corner2和corner3,若所述开放轮廓的端点在所述矩形的某条边上,则定义该端点属于相应的边,若所述开放轮廓的端点在所述矩形的某个边角上,则定义corner0属于edge0,corner1属于edge1,corner2属于edge2,corner3属于edge3;

s433将所述开放轮廓的端点按照步骤s432的规则保存至相应的端点集合中,同时将重叠端点删除;

s434对每个所述端点集合中的端点以及该矩形中的内部边角进行三次逆时针连接封闭处理,从而获得封闭轮廓。

作为进一步优选地,所述步骤s434中首先对位于所述矩形边角的端点进行逆时针连接封闭处理,然后对所述内部边角进行逆时针连接封闭处理,最后对所述端点集合中剩余的端点进行逆时针连接封闭处理。

作为进一步优选地,所述步骤s434中逆时针连接封闭处理包括如下步骤:

(a)将任一个开放轮廓c的端点或内部边角作为新建轮廓clink的起始点,沿所述矩形的边界进行逆时针移动连接,若遇到的是另一个开放轮廓c’的端点,则转入步骤(b),若遇到的是内部边角,则转入步骤(c);

(b)判断所述开放轮廓c’的端点是否为所述开放轮廓c的另一个端点,若是,则将所述新建轮廓clink作为封闭轮廓输出,并转入步骤(d),若否,则将所述开放轮廓c’的端点追加到所述新建轮廓clink的尾端,并从该开放轮廓c’的另一个端点继续进行逆时针连接封闭处理,直至获得封闭轮廓,并转入步骤(d);

(c)判断所述内部边角是否为所述开放轮廓c的另一个端点,若是,则将所述新建轮廓clink作为封闭轮廓输出,并转入步骤(d),若否,则将所述内部边角追加到所述新建轮廓clink的尾端,并从该内部边角继续进行逆时针连接封闭处理,直至获得封闭轮廓,并转入步骤(d);

(d)将所述新建轮廓clink中连接的端点从所述端点集合中移除,并将内部边角标记为外部边角。

作为进一步优选地,所述基于网格的模型分区切片方法优选用于粉末床工艺或立体光固化工艺。

作为进一步优选地,所述步骤s4获得的3d打印填充轮廓用于增材制造中的路径规划过程。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要具备以下的技术优点:

1.本发明充分考虑待打印模型大体积、大尺寸的特点,根据待打印模型的包围盒设置进行分割的空间网格,并采用分治思想,将待打印模型的三角面片分别保存到相应的网格单元中,并对各网格单元中的三角面片进行切片处理和逆时针连接封闭处理,从而极大地降低了问题的复杂度,简化了常规方法中获得切片轮廓的流程,进一步提高了分区切片的效率,同时还能够避免对计算机内存资源的大量消耗;

2.尤其是,本发明通过对逆时针连接封闭处理的过程进行优化,能够充分考虑实际应用中的各种情况,并进一步提高算法的执行效率。

附图说明

图1是本发明提供的基于网格的模型分区切片方法的流程示意图;

图2是步骤s1中待打印模型进行分割的示意图;

图3是步骤s2获得的每个网格单元中的三角面片的示意图;

图4是步骤s3中某个网格单元中轮廓线段的示意图;

图5是步骤s431中某个网格单元中矩形边角符号判定的示意图;

图6是步骤s432中某个网格单元中矩形四条边和四个边角的示意图;

图7是步骤s433中某个端点集合的对应关系示意图;

图8是步骤s43中开放轮廓端点与矩形边角的分类示意图,其中(a)为重叠端点类型,即两条开放轮廓在某个端点重叠,(b)为边角端点类型,即开放轮廓的端点在矩形边角,(c)为内部边角类型,即矩形的边角为内部边角,(d)为常规端点类型,即不符合上述三种类型;

图9是步骤s4中某个网格单元3d打印填充轮廓的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明提出了一种基于网格的模型分区切片方法,该方法包括如下步骤:

s1如图2所示,计算待打印模型的包围盒并根据其设置进行分割的空间网格;

s2如图3所示,计算待打印模型中当前三角面片的包围盒,并判断当前三角面片的包围盒是否与待打印模型的包围盒相交,若是,则将当前三角面片保存至相应的网格单元中,若否,则对当前三角面片不进行任何处理,重复上述操作直至遍历待打印模型中的所有三角面片;

s3如图4所示,对步骤s2获得的每个网格单元中的三角面片进行切片处理,得到待打印模型的轮廓线段;

s4如图9所示,对步骤s3获得的轮廓线段进行裁剪和封闭处理,从而获得封闭轮廓,以此确定每个网格单元的3d打印填充轮廓,将其直接用于增材制造中的路径规划过程。

进一步,步骤s4包括如下子步骤:

s41对于步骤s3获得的轮廓线段,利用网格单元中与该轮廓线段高度对应的矩形进行裁剪,并保留位于矩形内的轮廓;

s42若裁剪后的轮廓为封闭轮廓,则将该封闭轮廓直接保存,若裁剪后的轮廓为开放轮廓,则转入步骤s43;

s43利用逆时针连接封闭处理的方式对开放轮廓进行封闭处理,从而获得封闭轮廓;

s44将步骤s42和s43获得的封闭轮廓作为该网格单元的3d打印填充轮廓。

进一步,步骤s43包括如下子步骤:

s431如图5所示,判定矩形边角的符号,将位于待打印模型内部的边角记为内部边角,并将位于待打印模型外部的边角记为外部边角;

s432如图6所示,将矩形的四条边按照逆时针顺序分别定义为edge0、edge1、edge2和edge3,同时将四个边角按照逆时针顺序分别定义为corner0、corner1、corner2和corner3,若所述开放轮廓的端点在所述矩形的某条边上,则定义该端点属于相应的边,若所述开放轮廓的端点在所述矩形的某个边角上,则定义corner0属于edge0,corner1属于edge1,corner2属于edge2,corner3属于edge3;

s433如图7所示,将开放轮廓的端点按照步骤s432的规则保存至相应的端点集合中,同时将重叠端点删除,即图8中(a)的类型;

更具体地,将重叠端点删除的过程为:将新添加的重叠轮廓cnew的两个端点从相应的端点集合中移除,同时将原有重叠轮廓corigion的两个端点从相应的端点集合中移除,将重叠轮廓cnew的顶点删除,并将其追加到重叠轮廓corigion的末尾获得重叠轮廓corigion’,最后将重叠轮廓corigion’的两个端点重新映射到相应的端点集合中,如果再次出现重叠端点情况,则上述过程会递归调用,直到不出现重叠端点情况为止;

s434对每个端点集合中的端点以及该矩形中的内部边角进行三次逆时针连接封闭处理,从而获得封闭轮廓。

进一步,步骤s434中首先对位于矩形边角的端点进行逆时针连接封闭处理,即图8中(b)的类型,然后对内部边角进行逆时针连接封闭处理,即图8中(c)的类型,最后对端点集合中剩余的端点进行逆时针连接封闭处理,即图8中(d)的类型。

进一步,步骤s434中逆时针连接封闭处理包括如下步骤:

(a)将任一个开放轮廓c的端点或内部边角作为新建轮廓clink的起始点,沿矩形的边界进行逆时针移动连接,若遇到的是另一个开放轮廓c’的端点,则转入步骤(b),若遇到的是内部边角,则转入步骤(c);

(b)判断开放轮廓c’的端点是否为开放轮廓c的另一个端点,若是,则将新建轮廓clink作为封闭轮廓输出,并转入步骤(d),若否,则将开放轮廓c’的端点追加到新建轮廓clink的尾端,并从该开放轮廓c’的另一个端点继续进行逆时针连接封闭处理,直至获得封闭轮廓,并转入步骤(d);

(c)判断内部边角是否为开放轮廓c的另一个端点,若是,则将新建轮廓clink作为封闭轮廓输出,并转入步骤(d),若否,则将内部边角追加到新建轮廓clink的尾端,并从该内部边角继续进行逆时针连接封闭处理,直至获得封闭轮廓,并转入步骤(d);

(d)将新建轮廓clink中连接的端点从端点集合中移除,并将内部边角标记为外部边角。

进一步,基于网格的模型分区切片方法优选用于粉末床工艺或立体光固化工艺。

本领域的技术人员容易理解,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1