一种基于stl文件的3d打印支撑结构设计方法

文档序号:839977 发布日期:2021-04-02 浏览:1次 >En<

阅读说明:本技术 一种基于stl文件的3d打印支撑结构设计方法 (STL file-based 3D printing support structure design method ) 是由 史廷春 葛啸 于 2020-12-31 设计创作,主要内容包括:一种基于STL文件的3D打印支撑结构设计方法,包括以下步骤:利用3D建模软件对模型进行三维建模,并导出STL文件,读取STL文件,读取其中的三角面片顶点及法向量信息,定义临界角,将所读取的三角面片信息进行整合,将待支撑区域向工作平面投影成二维投影区域,得到需要支撑的部分,进行采样点采样,生成支撑结构,将所有的顶点坐标、法向量坐标写入STL文件;与现有技术相比,弥补传统的支撑结构存在用量过多,浪费材料,支撑结构难以去除,包含悬吊边,悬吊点等尖角模型的待支撑区域不能检测等问题,基于STL文件的3D打印支撑结构的设计方法,在保证模型嫩巩固稳定打印的前提下,提高了计算效率,节省了打印成本,支撑结构去除更加容易。(A3D printing support structure design method based on STL files comprises the following steps: carrying out three-dimensional modeling on the model by using 3D modeling software, exporting an STL file, reading the vertex and normal vector information of a triangular patch, defining a critical angle, integrating the read triangular patch information, projecting a region to be supported to a working plane into a two-dimensional projection region, obtaining a part to be supported, sampling a sampling point, generating a support structure, and writing all vertex coordinates and normal vector coordinates into the STL file; compared with the prior art, compensate traditional bearing structure and have the quantity too much, extravagant material, bearing structure is difficult to get rid of, contains the suspension limit, and the support region can not detect the scheduling problem of treating of closed angle models such as point of suspending in midair, and the design method of printing bearing structure based on the 3D of STL file has improved computational efficiency under the prerequisite of guaranteeing that the model is tender consolidated and stably prints, has saved and has printed the cost, and bearing structure gets rid of more easily.)

一种基于STL文件的3D打印支撑结构设计方法

技术领域

本发明属于3D打印技术领域,尤其是一种基于STL文件的3D打印支撑结构设计方法。

背景技术

熔融沉积制造(Fused Deposition Modeling,FDM)技术是3D打印技术中常见的一种技术,它是以热塑性材料为打印原料,通过逐层打印的方式来制造产品的技术。打印时将打印材料加热熔融状态,在喷头正下方挤出成丝状,喷头在打印过程中沿着一定的路径不断移动,丝状材料通过喷头挤出在打印平台上,迅速冷却凝固成型。随着熔融沉积制造技术的出现,基于STL文件的支撑结构设计与优化逐渐成为热点。

目前,支撑结构大多是依靠商用切片软件,例如Cura,该切片软件是通过比较三角面片外法向量和Z轴正方向的夹角来判断是否需要添加支撑结构,然后在所需表面下方挤出支撑结构,而支撑结构通常为稀疏密度的网格。这种方法虽然能得到稳定的支撑结构,但是很浪费材料,而且模型成型之后,支撑结构也很难去除,给后处理阶段带来了很大的麻烦。此外一些模型具有尖角形状的待支撑区域,该软件也不会做到100%检测。

发明内容

本发明是为了克服上述现有技术中的缺陷,提供一种节约材料,便于去除支撑结构,提高计算效率的基于STL文件的3D打印支撑结构设计方法。

为了达到以上目的,本发明所采用的技术方案是:一种基于STL文件的3D打印支撑结构设计方法,包括以下步骤:

S1、利用3D建模软件对模型进行三维建模,并导出STL文件;

S2、读取STL文件,读取其中的三角面片顶点及法向量信息;

S3、定义临界角,将三角面片外法向量与Z轴正向之间的夹角和临界角作比较,判断该三角面片是否为待支撑三角面片,依次遍历所有三角面片,最终得到该STL模型的所有待支撑区域;

S4、将所读取的三角面片信息进行整合,检测待支撑区域,分为悬吊面、悬吊边和悬吊点三种。

S5、将待支撑区域向工作平面投影成二维投影区域,得到需要支撑的部分;

S6、在得到待支撑区域的二维投影区域之后,对待支撑区域进行采样点采样;

S7、检查采样点和模型之间的位置关系,得到采样点对应的支撑顶部空间坐标点,依次遍历,最终得到待支撑区域的顶层支撑点矩阵集合;

S8、生成支撑结构;

S9、将所有的顶点坐标、法向量坐标写入STL文件。

作为本发明的一种优选方案,所述S3中三角面片外法向量和Z轴正方向的夹角信息的计算公式为:n·v=|n|·|v|cosθ。

作为本发明的一种优选方案,所述S4中根据悬吊边的属性对悬吊边进行检测,确保悬吊边的两个三角面片都是非待支撑区域,并且法向矢量相加后向下,悬吊边与底面的夹角小于临界角。

作为本发明的一种优选方案,所述S4中根据悬吊点的属性对悬吊点进行检测,悬吊点的Z坐标值低于与其共线的其它点的Z坐标值,确保包含悬吊点的边不是悬吊边,确保包含悬吊点的面不是悬吊面,悬吊点所在的所有三角面片法向矢量相加后向下。

作为本发明的一种优选方案,所述S6中采用等距采样法进行采样点计算,公式为:

Nx=(Xmax-Xmin)/d

Ny=(Ymax-Ymin)/d。

作为本发明的一种优选方案,所述S7中采用重心法来判断一个点是否在三角形内部,然后将该采样点坐标带入到三角形所在的平面方程得到该采样点对应的支撑顶部空间坐标点。

作为本发明的一种优选方案,所述S8中将支撑点投影到XOY平面上,然后经过步骤S6得到XOY平面的支撑点矩阵(x,y,0)。

作为本发明的一种优选方案,所述S8中经过步骤S7计算得到待支撑区域的顶层支撑点矩阵集合P(x,y,z),以支撑点矩阵(x,y,0)和顶层支撑点矩阵集合P(x,y,z)这两个矩阵中的点作为支撑结构的上下表面中心点,每个点距离中心点的长度为a,构成支撑结构。

作为本发明的一种优选方案,所述S9中根据右手定则,每个面的法向量必须指向实体的外面,每个支撑的上下表面,每个顶点分别和中心点构造成三角面片,每个侧面划分为两个三角形面,每个三角形面的法向量必须指向实体的外部。

作为本发明的一种优选方案,所述S9中计算每个三角形的法向量,计算公式为n=v1*v2。

本发明的有益效果是,与现有技术相比:

(1)弥补传统的支撑结构存在用量过多,浪费材料,支撑结构难以去除,包含悬吊边,悬吊点等尖角模型的待支撑区域不能检测等问题。

(2)基于STL文件的3D打印支撑结构的设计方法,在保证模型嫩巩固稳定打印的前提下,提高了计算效率,节约了打印时间,节省了打印成本,支撑结构去除更加容易。

(3)采用基于STL文件的支撑结构设计方法,为增材制造支撑结构优化提供新思路,同时提高了计算效率,促进STL文件分析在结构优化设计领域的应用。

附图说明

图1是本发明的流程图;

图2是模型待支撑三角面片提取原理图;

图3是待支撑三角面片二维投影图;

图4是等距采样法示意图;

图5是采样点和模型位置关系图;

图6是悬吊边特征示意图;

图7是悬吊点特征示意图;

图8是支撑结构三角化示意图;

图9是打印实体模型对比结构;

具体实施方式

下面结合附图对本发明实施例作详细说明。

如图1-9所示,一种基于STL文件的3D打印支撑结构设计方法,包括以下步骤:

S1、利用3D建模软件对模型进行三维建模,并导出STL文件,所利用的3D建模软件可为UG、Solidworks等提供STL格式的任一3D建模软件。

S2、通过Matlab中读取该STL文件读取STL文件,读取其中的三角面片顶点及法向量信息,将所有的三角面片顶点及法向量信息保存到矩形变量中。

S3、定义临界角,将三角面片外法向量与Z轴正向之间的夹角和临界角作比较,根据公式:n·v=|n|·|v|cosθ,其中Z轴正向向量为v(0,0,1),三角形面片的外法向量为n。

判断该三角面片是否为待支撑三角面片,依次遍历所有三角面片,最终得到该STL模型的所有待支撑区域。

模型在成型过程中是否需要添加支撑结构,取决于模型成型表面的倾斜角度。由于成型材料在熔融状态下从喷嘴挤出来时有一定的线宽,熔融材料的粘结特性使得新成型的外轮廓可以比上一层更大,这就产生了自支撑倾斜角,也就是临界角,而在这个自支撑范围之外的区域就为待支撑区域。

S4、将所读取的三角面片信息进行整合,检测待支撑区域,分为悬吊面、悬吊边和悬吊点三种。

定义临界角之后,可以检测出包含悬吊面的待支撑区域,此外,还要根据悬吊边的属性对悬吊边进行检测,首先包含悬吊边的两个三角面片都是非待支撑面,并且法向矢量相加后向下,悬吊边与底面的夹角小于临界角。

根据悬吊点的属性对悬吊点进行检测,悬吊点的Z坐标值低于与其共线的其它点的Z坐标值,确保包含悬吊点的边不是悬吊边,确保包含悬吊点的面不是悬吊面,悬吊点所在的所有三角面片法向矢量相加后向下。

S5、将待支撑区域向工作平面投影成二维投影区域,计算得到投影区域内X,Y的最大值,最小值,得到需要支撑的部分。

二维区域投影,如果所有的待支撑三件面片都添加支撑,会造成支撑过多的问题,也会造成移除困难,因此,对待支撑区域进行采样是十分必要的,考虑到三维空间重采样需要大量的计算,将严重降低算法的效率,所以要将待支撑的区域向工作平面投影成二维投影区域,得到需要支撑的部分。

S6、根据步骤S5的X,Y值,和公式Nx=(Xmax-Xmin)/d和Ny=(Ymax-Ymin)/d,其中d为采样间距,Nx为X向间距,Ny为Y向间距划定采样区域进行采样间距为d的采样点采样,在得到待支撑区域的二维投影区域之后,对待支撑区域进行采样点采样。

S7、检查采样点和模型之间的位置关系,得到采样点对应的支撑顶部空间坐标点,依次遍历,最终得到待支撑区域的顶层支撑点矩阵集合,采用重心法来判断一个点是否在三角形内部,排出不需要的采样点,然后将该采样点坐标带入到三角形所在的平面方程得到该采样点对应的支撑顶部空间坐标点,依次遍历,最终得到待支撑区域的顶层支撑点矩阵集合P(x,y,z)。

如果待支撑区域的二维投影区域不是一个矩形,进行采样之后,就需要判断采样点是否在投影区域内部。

将采样点的x,y值代入到上方三角面片所在平面方程,得到在三角面片中该采样点对应的Z坐标值,依次遍历,得到所有采样点的高度Z。

S8、生成支撑结构,将支撑点投影到XOY平面上,然后经过步骤S6得到XOY平面的支撑点矩阵(x,y,0),根据采样点坐标,采样点对应的高度,生成一个柱状支撑结构。

经过步骤S7计算得到待支撑区域的顶层支撑点矩阵集合P(x,y,z),以支撑点矩阵(x,y,0)和顶层支撑点矩阵集合P(x,y,z)这两个矩阵中的点作为支撑结构的上下表面中心点,每个点距离中心点的长度为a,构成支撑结构。

支撑结构三角化,将支撑结构的每个平面进行三角化,根据右手定则,每个面的法向量必须指向实体的外侧,法向量由公式(4)得出。将三角化后的顶点信息,法向量信息保存到矩阵变量中。

S9、写入STL文件,在构造支撑结构时,必须综合给出所有三角形的坐标和法向量,根据右手定则,每个面的法向量必须指向实体的外面,每个支撑的上下表面,每个顶点分别和中心点构造成三角面片,每个侧面划分为两个三角形面,每个三角形面的法向量必须指向实体的外部。

S9中计算每个三角形的法向量,计算公式为n=v1*v2。

其中n是三角形的法向量,v1,v2是所在三角形的两个向量。

遍历所有的支撑结构,保存所有的顶点坐标,法向量坐标。最后将保存的所有顶点坐标,法向量坐标写入到STL文件中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现;因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种光固化三维打印方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!