一种用于3D打印的支撑自动生成方法与流程

文档序号:12362597阅读:793来源:国知局
一种用于3D打印的支撑自动生成方法与流程

本发明涉及无线控制技术领域,尤其涉及一种用于3D打印的支撑自动生成方法。



背景技术:

3D打印,是当今热门的一种快速成型技术,它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。其主要加工过程是将需要打印的零件以一定的层厚进行切片分层,然后从基底开始打印,当前层都是在前一层上堆积形成的,前一层对当前层起到定位和支撑的作用。但是,当出现前后两层之间的轮廓和面积发生较大的变化时,前一层的轮廓就不能给当前层提供足够的定位和支撑作用,其将会导致加工失败,这样就需要设计一些辅助支撑结构,对后续层起定位和支撑的作用,以保证成型过程的顺利实现。

目前,在现有技术中,其支撑结构的生成方式主要有两种,一是通过手动生成算法进行生成支撑结构:该方法是直接在三维模型设计时把需要支撑的地方人为设计上支撑,在进行切片时生成实体截面和支撑截面轮廓,然后进行打印得到模型原形及支撑件,最后将支撑件剥离掉。此方法的特点是支撑区域和支撑类型可由人工自由选择以作优化处理,但也有以下缺点:对模型设计人员和设备操作人员的要求较高;支撑添加效果难以保证;对已成型的模型结构修改增加了难度与工作量。二是通过基于多边形布尔去处的支撑算法生成支撑结构:首先对模型的STL文件进行切片处理,根据上下两个切片层的比较-布尔运算求差,来算出支撑区域。此算法对于结构简单的模型还能处理,如果是模型复杂且 体积较大时却难以计算,因为此算法某一层的支撑是通过比较该层与其上一层的差异而得到的,如果仅仅是拿该两层来比较,就会给二维的布尔运算带来很大的计算量,最终可能计算失败。



技术实现要素:

针对上述问题,本发明的目的是提供一种用于3D打印的支撑自动生成方法,包括:

导入三角网格立体模型,该三角网格立体模型由一个以上三角片组成;

根据三角网格立体模型的坐标参数,生成虚拟包围盒,使得三角网格立体模型的数据均设置于虚拟包围盒中;同时,将虚拟包围盒均分为一个以上子包围盒,该子包围盒用于承载所述三角片;

选定待计算的X轴或Y轴坐标,并提取所有具有该待计算的X轴坐标或Y轴的子包围盒;

计算所有被提取的子包围盒中的三角片的法向与水平面之间的夹角,若一个三角片的法向与水平面之间的夹角在预定的范围内,则将该三角片定义为需支撑三角片,并在需支撑三角片的下方沿Z轴方向生成支撑模型;

在被提取的子包围盒中的需支撑三角片的下方均生成支撑模型后,选定下一个待计算的X轴或Y轴坐标,直到所有X轴或Y轴坐标都已被选定为止;

根据支撑模型生成支撑结构。

进一步,所述在需支撑三角片的下方沿Z轴方向生成支撑模型之后包括:

将两个以上的支撑模型组成支撑模型组群。

进一步,所述将两个以上的支撑模型组成支撑模型组群之前包括:

对支撑模型组群中的支撑模型进行选定;

判断是否需要删除被选定的支撑模型,如需要,则对被选定的支撑模型进行删除。

进一步,所述对支撑模型组群中的支撑模型进行选定之前包括:

对支撑模型组群中的所有支撑模型进行标记。

进一步,所述在需支撑三角片的下方沿Z轴方向生成支撑模型包括:

在虚拟包围盒中,根据预设的支撑间距生成两个以上相互平行的ZX面或ZY面;

在一个ZX面或ZY面中,获取一个需支撑三角片,并计算该需支撑三角片与该ZX面或ZY面的交点;

将所述需支撑三角片中的交点进行连接,构成多义线,并在所述多义线的下方生成支撑模型。

进一步,所述将所述需支撑三角片中的交点进行连接,构成多义线之后包括:

获取该多义线的坐标值,并将该多义线在Z轴上的最小值定义为基准值;

在当前的ZX面或ZY面中,在基准值之上,获取另一个需支撑三角片。

进一步,所述三角片的法向与水平面之间的夹角在预定的范围内包括:

三角片的法向与水平面之间的夹角在90°+Tol到270°-Tol之间,所述Tol为30°-60°。

进一步,所述根据三角网格立体模型的坐标参数,生成虚拟包围盒包括:

根据三角网格立体模型的坐标中的最大点与最小点,生成立方体的虚拟包围盒,且所述三角网格立体模型的坐标中的最大点与最小点均与 所述虚拟包围盒的侧面相切。

本发明所提供的一种用于3D打印的支撑自动生成方法,自动在其局部生成支撑,对设计人员和设备操作人员的要求不高;同时,其运算量小,适用于各种大型或复杂模型上。

附图说明

图1为本发明的一个实施例的工作流程示意图;

图2为本发明中另一个实施例的工作流程示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细的说明。

请参阅图1,本发明以一个实施例提供一种用于3D打印的支撑自动生成方法,包括:

101.导入三角网格立体模型

导入三角网格立体模型,该三角网格立体模型由一个以上三角片组成;

102.生成虚拟包围盒

根据三角网格立体模型的坐标参数,生成虚拟包围盒,使得三角网格立体模型的数据均设置于虚拟包围盒中;同时,将虚拟包围盒均分为一个以上子包围盒,该子包围盒用于承载所述三角片;

103.提取子包围盒

选定待计算的X轴或Y轴坐标,并提取所有具有该待计算的X轴坐标或Y轴的子包围盒;

104.计算三角片与水平面的夹角

计算所有被提取的子包围盒中的三角片的法向与水平面之间的夹角,若一个三角片的法向与水平面之间的夹角在预定的范围内,则将该 三角片定义为需支撑三角片,并在需支撑三角片的下方沿Z轴方向生成支撑结构;

105.根据坐标选定新的子包围盒

在被提取的子包围盒中的需支撑三角片的下方均生成支撑模型后,选定下一个待计算的X轴或Y轴坐标,直到所有X轴或Y轴坐标都已被选定为止;

106.生成支撑结构

根据支撑模型生成支撑结构。

请参阅图2,本发明以另一个实施例提供一种用于3D打印的支撑自动生成方法,包括:

201.导入三角网格立体模型

导入三角网格立体模型,该三角网格立体模型由一个以上三角片组成;

202.生成虚拟包围盒

根据三角网格立体模型的坐标中的最大点与最小点,生成立方体的虚拟包围盒,且所述三角网格立体模型的坐标中的最大点与最小点均与所述虚拟包围盒的侧面相切,使得三角网格立体模型的数据均设置于虚拟包围盒中;同时,将虚拟包围盒均分为一个以上子包围盒,该子包围盒用于承载所述三角片;该三角片与子包围盒存在以下关系:1.三角片全部在包围盒中,2.三角片的一个或两个顶点在包围盒中,3.三角片穿过包围,其顶点均不在包围盒内;

203.提取子包围盒

选定待计算的X轴或Y轴坐标,并提取所有具有该待计算的X轴坐标或Y轴的子包围盒;例如:被选取的X轴坐标为1时,则对所有X轴坐标为1的子包围盒进行提取;

204.计算三角片与水平面的夹角

计算所有被提取的子包围盒中的三角片的法向与水平面之间的夹角,若一个三角片的法向与水平面之间的夹角在90°+Tol到270°-Tol之间,所述Tol为30°-60°,Tol的优选值为:45°,则将该三角片定义为需支撑三角片;

205.生成多个平行的平面

在虚拟包围盒中,根据最大与最小坐标值和预设的支撑间距生成两个以上相互平行的ZX面或ZY面;当在步骤203中,其选定的是X轴坐标,那么其就生成多个相互平行的ZX面,若其选定的是Y轴坐标,那么其就生成多个相互平行的ZY面;

206.计算三角片与一个平面的交点

选定一个ZX面或ZY面,并在该ZX面或ZY面中,从被提取的子包围盒中获取一个需支撑三角片,并计算该需支撑三角片与该ZX面或ZY面的交点,直到所有的ZX面或ZY面均被选定过为止;

207.生成多义线

将所述需支撑三角片中的交点进行连接,构成多义线,并在所述多义线的下方生成支撑模型;

208.重定义为Z轴基准值

获取该多义线的坐标值中的最大值与最小值,并将该多义线在Z轴上的最小值定义为基准值;

209.判断是否寻找到另一个需支撑三角片

在当前的ZX面或ZY面中,在基准值之上,获取另一个需支撑三角片;即以基准值为起点,沿着Z轴向上方寻找另一个需支撑三角片,直到到达Z轴顶点;当寻找到另一个需支撑三角片时,进入步骤206计算该需支撑三角片与该ZX面或ZY面的交点;

210.判断是否选定新的子包围盒

在被提取的子包围盒中的需支撑三角片的下方均生成支撑模型后, 返回步骤203选定下一个待计算的X轴或Y轴坐标,直到所有X轴或Y轴坐标都已被选定为止;

211.组成支撑模型组群

将两个以上的支撑模型组成支撑模型组群;

212.标记支撑模型

对支撑模型组群中的所有支撑模型进行标记,如以鲜艳的色彩对支撑模型进行标记;

213.对支撑模型进行调整

对支撑模型组群中的支撑模型进行选定;

判断用户是否选择删除被选定的支撑模型,如用户选择需要,则对被选定的支撑模型进行删除。

214.生成支撑结构

根据该支撑模型组群生成支撑结构。

以上所述,仅是本发明的实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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