发明名称 一种距离引导下的自适应混合支撑结构生成方法
摘要 一种距离引导下的自适应混合支撑结构生成方法。该方法面向3D打印流程中对要打印的三维模型生成的应用。本发明首先研究并提出一种有效的三维模型支撑悬点检测方法;其次将检测到的支撑悬点进行聚类,利用迭代的方式自适应的生成混合支撑结构。在上述研究的基础上,围绕支撑结构进行多种优化,最终研究并提出了一种距离引导下的自适应混合支撑结构生成方法。本发明提出的方法得到的三维模型支撑结构具有节省性,稳定性,同时仍能保证良好的可打印性。因此,本发明具有一定的应用价值和意义。
申请公布号 CN104772905B 申请公布日期 2017.04.05
申请号 CN201510134371.3 申请日期 2015.03.25
申请人 北京工业大学 发明人 毋立芳;邱健康;毛羽忻;高源;张世杰;张子明;施远征
分类号 B29C64/386(2017.01)I;B29C64/393(2017.01)I;B29C64/40(2017.01)I;B33Y50/00(2015.01)I;B33Y50/02(2015.01)I 主分类号 B29C64/386(2017.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 一种距离引导下的自适应混合支撑结构生成方法,其特征在于:该方法具体包括:A、支撑悬点检测,载入一个三维模型,该模型是无孔洞、无边缘边、无翻转三角面的,对输入的三维模型首先获取所有三角面片的顶点坐标、三角面片的法向量,之后筛选法向量在设定的阈值范围内的三角面片及面片的顶点坐标,再对筛选出的三角面片的三个顶点分别求取其重心作为初始的支撑悬点,可以减少处理数据量;针对部分模型由于底面不平产生的冗余支撑悬点,利用阈值约束的方法对这部分无效点进行过滤;最终得到优化后的支撑点;B、支撑结构生成器,可生成三种不同类型的支撑结构,第一种为树型结构,将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构;第二种结构为脚手架型结构,首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型结构,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构;第三种为简单桁架支撑结构,由一个基本胶结三角形依次增加二元体组成的支撑结构;C、混合支撑结构生成,使用A步骤得到的优化后的支撑点作为训练样本,首先对其进行K‑means聚类,聚类后得到的k个簇,然后分别对每个簇中的支撑点集计算欧式距离,并求均值,得到的均值若小于阈值,则选用B步骤中的树型结构作为此部分支撑点的支撑结构,若大于等于阈值,则选用脚手架型结构作为此部分支撑点的支撑结构;另外,若簇中的支撑点数量小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构;以上判定方法中如遇到使用树型支撑结构作为支撑点时,树型的主干支柱末端作为新的支撑点,组成的点集继续迭代上述混合支撑结构生成步骤,直至迭代为所有新生支撑点均为脚手架型支撑结构;当脚手架型支撑结构迭代完毕后,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接;所述步骤A具体包括:A1、首先将三维模型文件载入,文件格式为.stl;载入的模型为无孔洞、无边缘边、无翻转三角面的;A2、对于用户在A1步骤中载入的三维模型,首先获取所有三角面片的顶点坐标、三角面片的法向量;A3、筛选A2步骤中得到的所有三角面片的法向量的值在设定的法向量阈值范围内的所有三角面片;A4、提取A3步骤中筛选过后得到的三角面片集,将每个三角面片的三个顶点分别求取其重心作为初始的支撑悬点,以减小处理数量;A5、对于A4步骤中得到的初始支撑悬点,部分模型由于底面不平会产生冗余支撑悬点,可以利用阈值约束的方法对这部分无效点进行过滤;所述步骤B具体包括:B1、用户可通过支撑结构生成器,生成三种不同类型的支撑结构;B2、使用B1步骤中支撑结构生成器生成一种树型结构的支撑结构;即将支撑点集进行等间距采样,间距为可以自支撑的阈值间距,得到的采样点作为树型结构的支撑点集,每相邻两支撑点向内侧斜向下延伸两条支柱,两支柱相交于一点作为节点,由此节点向垂直下方延伸一条支柱,从而构成一个标准的树型结构;B3、使用B1步骤中支撑结构生成器生成一种脚手架型结构的支撑结构;即首先将支撑点集分别向下生成小的柱状支柱,之后在支柱下方自适应地横纵生成若干桥型结构,支柱末端与桥型结构的横梁相接,从而构成一个标准的桥型结构;B4、使用B1步骤中支撑结构生成器生成一种简单桁架结构,由一个基本胶结三角形依次增加二元体组成的支撑结构;B5、选用B2、B3、B4步骤中的哪种支撑结构,由步骤C中的算法决定;所述步骤C具体包括:C1、使用A5步骤得到的优化后的支撑点作为训练样本,首先对其进行K‑means聚类,聚类后得到k个簇;K‑means聚类算法,也被称为k‑平均或k‑均值算法,是一种广泛使用的聚类算法;它是将各个聚类子集内的所有数据样本的均值作为聚类的代表点,算法的主要思想是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个簇内紧凑,类间独立;K‑means算法具体算法描述如下:首先通过A5步骤得到优化后的支撑点作为训练样本{x<sup>(1)</sup>,...,x<sup>(m)</sup>},每个样本x<sup>(i)</sup>∈R<sup>n</sup>;1.随机选取k个聚类质心点为μ<sub>1</sub>,μ<sub>2</sub>,...,μ<sub>k</sub>∈R<sup>n</sup>;2.重复下面的过程直至收敛:对于每一个样例i(i∈Z<sup>+</sup>),计算其应属于的类:<maths num="0001"><math><![CDATA[<mrow><msup><mi>c</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msup><mo>=</mo><mi>arg</mi><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>j</mi></munder><mo>|</mo><mo>|</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msup><mo>-</mo><msub><mi>&mu;</mi><mi>j</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0001137098730000031.GIF" wi="478" he="101" /></maths>对于每一个类j(j∈Z<sup>+</sup>),重新计算该类的质心:<maths num="0002"><math><![CDATA[<mrow><msub><mi>&mu;</mi><mi>j</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mn>1</mn><mo>{</mo><msup><mi>c</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msup><mo>=</mo><mi>j</mi><mo>}</mo><msup><mi>x</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></msup></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><mn>1</mn><mo>{</mo><msup><mi>c</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msup><mo>=</mo><mi>j</mi><mo>}</mo></mrow></mfrac></mrow>]]></math><img file="FDA0001137098730000032.GIF" wi="493" he="175" /></maths>k为预先设定的聚类数,c<sup>(i)</sup>代表样例i与k个类中距离最近的那个类,c<sup>(i)</sup>的值是1到k中的一个;质心μ<sub>j</sub>代表对同属一个类的样本中心点的预测;C2、对C1步骤得到的k个簇中的支撑点集计算欧式距离,并求均值;C3、对C2步骤得到的均值与设定的阈值进行比较,若小于阈值,则选用B2中的树型结构作为此部分支撑点的支撑结构;C4、对C2步骤得到的均值与设定的阈值进行比较,若大于等于阈值,则选用B3中的脚手架型结构作为此部分支撑点的支撑结构;C5、对C1步骤得到的k个簇中,若簇中支撑点个数小于2,或者脚手架型支撑结构已迭代完毕,则开始选用简单桁架支撑结构作为支撑点的支撑结构;C6、对于C3、C4、C5的判定步骤中若使用了C3步骤生成的树型支撑结构,则将树型的主干支柱末端作为新的支撑点,组成的新的点集继续迭代C3、C4、C5中的步骤,直至迭代为所有新生支撑点集均判定并使用C4或C5步骤中的支撑结构为止;若C4步骤中的脚手架型支撑结构迭代完毕,将该层脚手架末端节点和支撑节点进行记录,待坐标范围内出现另一组最邻近的节点后,在两组节点间使用简单桁架结构进行连接。
地址 100124 北京市朝阳区平乐园100号