一种距离引导下的自适应混合支撑结构生成方法与流程

文档序号:11991940阅读:191来源:国知局
一种距离引导下的自适应混合支撑结构生成方法与流程
本发明涉及3D打印技术中三维模型结构优化技术,具体涉及一种距离引导下的自适应混合支撑结构生成方法。

背景技术:
随着美国《时代》周刊将3D打印技术列为“美国十大增长最快的工业”,3D打印技术的发展呈现出快速增长势头。3D打印技术是一种新兴的快速成型技术,是一种以数字模型文件为基础,运用粉末状金属或塑料等粘合材料,通过逐层打印的方式来构造物体的技术。从行业分布来看,用于消费电子领域的打印技术仍然占主导地位,大约占20.3%的市场份额,其他主要领域依次是汽车(19.5%)、医疗和医科(15.1%)、工业及商用机器(10.8%);从区域分布来看,北美地区(40.2%)、欧洲(29.1%)、亚洲(26.3%)三大区域占主导地位,其中亚洲地区主要集中于日本(38.7%)及中国(32.9%)。3D打印机诞生于20世纪80年代中期,是由美国科学家最早发明的。3D打印机是指利用3D打印技术生产出真实三维物体的一种设备,其基本原理是利用特殊的耗材(胶水、树脂或粉末等)按照由电脑预先设计好的三维立体模型,通过黏结剂的沉积将每层粉末黏结成型,最终打印出3D实体。目前市场上的快速成型技术已经有数十种,其中主要工艺有熔融沉积制造技术(FusedDepositionModeling,FDM),立体平板印刷技术(StereoLithographyApparatus,SLA),选择性激光烧结技术(SelectedLaserSintering,SLS),激光成型技术(DigitalLightingProcess,DLP),叠层实体制造技术(LaminatedObjectManufacturing,LOM)和UV紫外线成型技术等。3D打印技术工艺的上可以描述为一种增材制造的技术,对于普通3D打印机,由于所打印的耗材的性质所限,打印机都必需在一个水平的打印平台上进行。而且如果打印物有悬垂结构的话,则必需在打印材料的基础上另外增加支撑结构来防止打印时材料塌陷造成造型失败。因此有关3D打印支撑结构设计技术的相关研究应运而生,一些开源的、商用的3D打印软件生成的支撑结构过于密集,而且是未经优化的柱状支撑结构,打印后不仅浪费大量打印材料,而且不易剔除。J.Vanek提出了一种树型的支撑结构,所有支撑点均由上开始两两向下延伸产生树枝状结构,产生节点,再由节点继续向下生成柱状结构,最终延伸至底层。此种方法的优点是对顶层密集的支撑点支撑效果比较好,非常省材料,但缺点是对不对称的模型,支撑不稳固,可打印性差。DumasJ提出了一种脚手架型的支撑结构,该结构由横纵交错的桥型框架组成,由桥的横梁承载大部分支撑点。此种方法的优点是对于多样化的模型具有较好的结构稳定性。但缺点是桥型结构横梁的跨度不易过长,否则会出现一定几率的下垂,造成整体结构变形。建筑行业还使用一种桁架结构,稳定性强,并且可用作连接多个部件。还有一些人提出类似于上述两种类型的方法,但始终没有较好的方法保证从细节到整体的全方位稳固,并且相对减少支撑结构材料用量。通过对已有的支撑结构进行实验分析,最后得出本发明提出的一种距离引导下的自适应混合支撑结构生成方法。

技术实现要素:
本发明提供一种距离引导下的自适应混合支撑结构生成方法,该方法可以对三维模型生成一种混合的支撑结构。为了实现上述问题,本发明提供了一种距离引导下的自适应混合支撑结构生成方法,该方法具体包括:A、支撑悬点检测,载入一个三维模型,该模型是无孔洞、无边缘边、无翻转三角面的,对输入的三维模型首先获取所有三角面片的顶点坐标、三角面片的法向量,之后筛选法向量在设定的阈值范围内的三角面片及面片的顶点坐标,再对筛选出的三角面片的三个顶点分别求取其重心作为初始的支撑悬点,可以减少处理数据量。针对部分模型由于底面不平产生的冗余支撑悬点,利用阈值约束的方法对这部分无效点进行过滤。最终得到优化后的支撑点。B、支撑结构生成器,可生成三种不同类型的支撑结构,第一种为树型结构(Treestructure),将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构;第二种结构为脚手架型结构(Scaffoldingstructure),首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型(Bridgestructure)结构,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构。第三种为简单桁架支撑结构,由一个基本胶结三角形依次增加二元体组成的支撑结构。C、混合支撑结构生成,使用A步骤得到的优化后的支撑点作为训练样本,首先对其进行K-means聚类,聚类后得到的k个簇,然后分别对每个簇中的支撑点集计算欧式距离,并求均值,得到的均值若小于阈值,则选用B步骤中的树型结构作为此部分支撑点的支撑结构,若大于等于阈值且,则选用脚手架型结构作为此部分支撑点的支撑结构。另外,若簇中的支撑点数量小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构。以上判定方法中如遇到使用树型支撑结构作为支撑点时,树型的主干支柱末端作为新的支撑点,组成的点集继续迭代上述混合支撑结构生成步骤,直至迭代为所有新生支撑点均为脚手架型支撑结构。当脚手架型支撑结构迭代完毕后,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接。所述步骤A具体包括:A1、首先将三维模型文件载入,文件格式为.stl。载入的模型为无孔洞、无边缘边、无翻转三角面的;A2、对于用户在A1步骤中载入的三维模型,首先获取所有三角面片(Facet)的顶点坐标、三角面片的法向量;A3、筛选A2步骤中得到的所有三角面片的法向量的值在设定的法向量阈值范围内的所有三角面片;A4、提取A3步骤中筛选过后得到的三角面片集,将每个三角面片的三个顶点分别求取其重心作为初始的支撑悬点,以减小处理数量;A5、对于A4步骤中得到的初始支撑悬点,部分模型由于底面不平会产生冗余支撑悬点,可以利用阈值约束的方法对这部分无效点进行过滤。所述步骤B具体包括:B1、用户可通过支撑结构生成器,生成三种不同类型的支撑结构;B2、使用B1步骤中支撑结构生成器生成一种树型结构(Treestructure)的支撑结构,如图2所示。即将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构,如图3所示;B3、使用B1步骤中支撑结构生成器生成一种脚手架型结构(Scaffoldingstructure)的支撑结构,如图5所示。即首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型(Bridgestructure)结构,纵横延伸方式如图4所示,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构。B4、使用B1步骤中支撑结构生成器生成一种简单桁架结构,由一个基本胶结三角形依次增加二元体组成的支撑结构,如图6。B5、选用B2、B3、B4步骤中的哪种支撑结构,由步骤C中的算法决定。所述步骤C具体包括:C1、使用A5步骤得到的优化后的支撑点作为训练样本,首先对其进行K-means聚类,聚类后得到k个簇(cluster)。K-means聚类算法,也被称为k-平均或k-均值算法,是一种广泛使用的聚类算法。它是将各个聚类子集内的所有数据样本的均值作为聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个簇内紧凑,类间独立。如图8所示。K-means算法具体算法描述如下:首先通过A5步骤得到优化后的支撑点作为训练样本{x(1),...,x(m)},每个样本x(i)∈Rn。1.随机选取k个聚类质心点(clustercentroids)为μ1,μ2,...,μk∈Rn。2.重复下面的过程直至收敛:对于每一个样例i(i∈Z+),计算其应属于的类:对于每一个类j(j∈Z+),重新计算该类的质心:k为预先设定的聚类数,c(i)代表样例i与k个类中距离最近的那个类,c(i)的值是1到k中的一个。质心μj代表对同属一个类的样本中心点的预测。C2、对C1步骤得到的k个簇中的支撑点集计算欧式距离,并求均值。C3、对C2步骤得到的均值与设定的阈值进行比较,若小于阈值,则选用B2中的树型结构作为此部分支撑点的支撑结构。C4、对C2步骤得到的均值与设定的阈值进行比较,若大于等于阈值,则选用B3中的脚手架型结构作为此部分支撑点的支撑结构。C5、对C1步骤得到的k个簇中,若簇中支撑点个数小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构。C6、对于C3、C4、C5的判定步骤中若使用了C3步骤生成的树型支撑结构,则将树型的主干支柱末端作为新的支撑点,组成的新的点集继续迭代C3、C4、C5中的步骤,直至迭代为所有新生支撑点集均判定并使用C4或C5步骤中的支撑结构为止。若C4步骤中的脚手架型支撑结构迭代完毕,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接,如图7所示。与现有技术相比,本发明提出的方法具有如下有益效果。1)节省性,优化后生成的自适应的混合支撑结构比普通单一支撑结构更加节省材料用量。2)稳定性,使用聚类算法合理的将支撑点采用何种支撑结构进行聚类,由此优化后的混合支撑结构,很好的利用不同支撑方法的优点来弥补其它方法的缺点,尤其在结构上的混合,使支撑点的应力可以均匀的分散到整体的支撑结构上。3)可打印性,由距离引导的自适应混合支撑结构,能够适用于绝大部分未经过优化处理的模型,适用性强,一次打印成功率高。因此,本发明具有一定的应用价值和意义。附图说明图1为距离引导下的自适应混合支撑结构生成方法的分析流程图。图2为树形支撑结构示意图。图3为树形支撑结构作用于支撑悬点示意图,其中图(a)为树形支撑结构俯视图,图(b)为树形结构正视图。图4为脚手架结构节点处的三种基本连接结构示意图。其中(a)为第一种脚手架结构节点处的基本连接结构示意图,(b)为第二种脚手架结构节点处的基本连接结构示意图,(c)为第一种脚手架结构节点处的基本连接结构示意图图5为脚手架支撑结构示意图。图6为平面简单桁架支撑结构示意图。图7为立体简单桁架支撑结构示意图。图8为使用K-means算法对支撑点进行聚类结果图,其中图(a)为聚类前的支撑点集,图(b)为经聚类后的聚类结果,支撑点集簇。具体实施方式一种距离引导下的自适应混合支撑结构生成方法,该方法具体包括:A、支撑悬点检测,载入一个三维模型,该模型最好是无孔洞、无边缘边、无翻转三角面的,对输入的三维模型首先获取所有三角面片的顶点坐标、三角面片的法向量,之后筛选法向量在设定的阈值范围内的三角面片及面片的顶点坐标,再对筛选出的三角面片的三个顶点分别求取其重心作为初始的支撑悬点,可以减少处理数据量。针对部分模型由于底面不平产生的冗余支撑悬点,利用阈值约束的方法对这部分无效点进行过滤。最终得到优化后的支撑点。B、支撑结构生成器,可生成三种不同类型的支撑结构,第一种为树型结构(Treestructure),将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构;第二种结构为脚手架型结构(Scaffoldingstructure),首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型(Bridgestructure)结构,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构。第三种为简单桁架支撑结构,由一个基本胶结三角形依次增加二元体组成的支撑结构。C、混合支撑结构生成,使用A步骤得到的优化后的支撑点作为训练样本,首先对其进行K-means聚类,聚类后得到的k个簇,然后分别对每个簇中的支撑点集计算欧式距离,并求均值,得到的均值若小于阈值,则选用B步骤中的树型结构作为此部分支撑点的支撑结构,若大于等于阈值,则选用脚手架型结构作为此部分支撑点的支撑结构。另外,若簇中的支撑点数量小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构。以上判定方法中如遇到使用树型支撑结构作为支撑点时,树型的主干支柱末端作为新的支撑点,组成的点集继续迭代上述混合支撑结构生成步骤,直至迭代为所有新生支撑点均为脚手架型支撑结构。当脚手架型支撑结构迭代完毕后,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接。所述步骤A具体包括:A1、首先将三维模型文件载入,文件格式为.stl。载入的模型为无孔洞、无边缘边、无翻转三角面的;A2、对于用户在A1步骤中载入的三维模型,首先获取所有三角面片(Facet)的顶点坐标、三角面片的法向量;A3、筛选A2步骤中得到的所有三角面片的法向量的值在设定的法向量阈值范围内的所有三角面片;A4、提取A3步骤中筛选过后得到的三角面片集,将每个三角面片的三个顶点分别求取其重心作为初始的支撑悬点,以减小处理数量;A5、对于A4步骤中得到的初始支撑悬点,部分模型由于底面不平会产生冗余支撑悬点,可以利用阈值约束的方法对这部分无效点进行过滤。所述步骤B具体包括:B1、用户可通过支撑结构生成器,生成三种不同类型的支撑结构;B2、使用B1步骤中支撑结构生成器生成一种树型结构(Treestructure)的支撑结构,如图2所示。即将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构,如图3所示;B3、使用B1步骤中支撑结构生成器生成一种脚手架型结构(Scaffoldingstructure)的支撑结构,如图5所示。即首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型(Bridgestructure)结构,纵横延伸方式如图4所示,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构。B4、使用B1步骤中支撑结构生成器生成一种简单桁架结构,由一个基本胶结三角形依次增加二元体组成的支撑结构,如图6。B5、选用B2、B3、B4步骤中的哪种支撑结构,由步骤C中的算法决定。所述步骤C具体包括:C1、使用A5步骤得到的优化后的支撑点作为训练样本,首先对其进行K-means聚类,聚类后得到的k个簇(cluster)。K-means聚类算法,也被称为k-平均或k-均值算法,是一种广泛使用的聚类算法。它是将各个聚类子集内的所有数据样本的均值作为聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,是的评价聚类性能的准则函数达到最优,从而使生成的每个簇内紧凑,类间独立。如图8所示。K-means算法具体算法描述如下:首先通过A5步骤得到优化后的支撑点作为训练样本{x(1),...,x(m)},每个样本x(i)∈Rn。1.随机选取k个聚类质心点(clustercentroids)为μ1,μ2,...,μk∈Rn。2.重复下面的过程直至收敛:对于每一个样例i(i∈Z+),计算其应属于的类:对于每一个类j(j∈Z+),重新计算该类的质心:k为预先设定的聚类数,c(i)代表样例i与k个类中距离最近的那个类,c(i)的值是1到k中的一个。质心μj代表对同属一个类的样本中心点的预测。C2、对C1步骤得到的k个簇中的支撑点集计算欧式距离,并求均值。C3、对C2步骤得到的均值与设定的阈值进行比较,若小于阈值,则选用B2中的树型结构作为此部分支撑点的支撑结构。C4、对C2步骤得到的均值与设定的阈值进行比较,若大于等于阈值,则选用B3中的脚手架型结构作为此部分支撑点的支撑结构。C5、对C1步骤得到的k个簇中,若簇中支撑点个数小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构。C6、对于C3、C4、C5的判定步骤中若使用了C3步骤生成的树型支撑结构,则将树型的主干支柱末端作为新的支撑点,组成的新的点集继续迭代C3、C4、C5中的步骤,直至迭代为所有新生支撑点集均判定并使用C4或C5步骤中的支撑结构为止。若C4步骤中的脚手架型支撑结构迭代完毕,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接,如图7所示。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1