面向三维打印的三维模型处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及三维打印技术领域,特别涉及一种面向三维打印的三维模型处理方法及装置。
【背景技术】
[0002]三维模型一般是由三角网格构成的。三维打印由于受到技术的局限性,只能打印特定的三维模型。世界上的有一小部分三维模型是针对三维打印而设计的,因此这部分模型基本可以直接打印,并且取得比较好的打印效果。
[0003]当前,大多数三维模型并不是针对三维打印而设计的,例如,动漫、游戏、建筑等领域中的三维模型,由于这些三维模型的设计者没有考虑到三维打印的要求,故而在对这些三维模型的打印过程中,非常容易出现错误。
[0004]最新的现有技术中,针对三维打印技术陆续给出了一些解决方案,取得了初步进展,但仍然存在多种问题和缺陷,也没有针对三维打印的需求设计出一套完整的解决方案,导致三维打印技术的一些问题一直无法得到解决。
[0005]因此,有必要提出一种面向三维打印的三维模型处理方法及装置,以能够解决上述问题,提供三维打印的整体解决方案。
【发明内容】
[0006]本发明的目的是提供一种避免出现打印错误的面向三维打印的三维模型处理方法及装置。
[0007]根据本发明的一个方面,提供了一种面向三维打印的三维模型优化方法,所述方法包括:
[0008]检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补;
[0009]检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除;
[0010]检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。
[0011]可选地,所述检测待处理三维模型中是否存在空隙,进一步包括:
[0012]若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型中存在空隙,否则认为所述待处理三维模型中不存在空隙。
[0013]可选地,所述对所述空隙进行修补,进一步包括:
[0014]将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;
[0015]或,
[0016]根据在所述空隙处的各三角形,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至所述待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。
[0017]可选地,所述对所述自相交部分进行移除,进一步包括:
[0018]对所述待处理二维模型中各二角形进彳丁二维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。
[0019]可选地,所述方法还包括:
[0020]检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。
[0021]可选地,所述检测所述待处理三维模型中是否存在薄壁,进一步包括:
[0022]对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积,若该三角形集合中各三角形与除该三角形集合之外的其他三角形均小于等于预设距离,则认为所述待处理三维模型存在薄壁。
[0023]可选地,所述检测待处理三维模型中是否存在空隙之前,所述方法还包括:
[0024]对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各三角网格。
[0025]可选地,所述对所述待处理三维模型进行三维网格分离之前,所述方法还包括:
[0026]获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。
[0027]根据本发明的另一个方面,提供了一种面向三维打印的三维模型优化装置,所述装置包括:
[0028]空隙修补单元,用于检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补;
[0029]自相交移除单元,用于检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除;
[0030]法矢量设置单元,用于检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。
[0031]可选地,所述空隙修补单元,进一步用于若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型中存在空隙,否则认为所述待处理三维模型中不存在空隙。
[0032]可选地,所述空隙修补单元,进一步用于将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;
[0033]或,
[0034]根据在所述空隙处的各三角形,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至所述待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。
[0035]可选地,所述自相交移除单元,进一步用于对所述待处理三维模型中各三角形进行三维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。
[0036]可选地,所述装置还包括:
[0037]薄壁检测单元,用于检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。
[0038]可选地,所述薄壁检测单元,进一步用于对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积,若该三角形集合中各三角形与除
该三角形集合之外的其他三角形均小于等于预设距离,则认为所述待处理三维模型存在薄壁。
[0039]可选地,所述装置还包括:
[0040]网格分离模块,用于对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各三角网格。
[0041]可选地,所述装置还包括:
[0042]重点删除模块,用于获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。
[0043]由于不是针对三维打印而设计的三维模型通常会由于其存在空隙及自相交部分,又或是存在法矢量方向错误等问题,进而引起打印错误,本发明通过对三维模型中可能存在的空隙及自相交部分,或法矢量方向错误等问题进行处理,从而有效避免了三维打印时可能出现的打印错误。
【附图说明】
[0044]图1是根据本发明一种实施方式的面向三维打印的三维模型处理方法的流程图;
[0045]图2是存在空隙的三维模型的示意图;
[0046]图3是进行空隙修补后的三维模型的示意图;
[0047]图4是存在自相交部分的三维模型的示意图;
[0048]图5是进行自相交部分移除后的三维模型的示意图;
[0049]图6是将顶点的顺序方向设置为相反方向的示意图;
[0050]图7是根据本发明一种实施方式的面向三维打印的三维模型处理方法的流程图;
[0051]图8是存在多个三维模型的模型文件的示意图;
[0052]图9是从图8所示的模型文件中分离出的第一个三维模型的示意图;
[0053]图10是从图8所示的模型文件中分离出的第二个三维模型的示意图;
[0054]图11是从图8所示的模型文件中分离出的第三个三维模型的示意图。
[0055]图12根据本发明一种实施方式的面向三维打印的三维模型处理装置的结构框图。
【具体实施方式】
[0056]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0057]图1是根据本发明一种实施方式的面向三维打印的三维模型处理方法的流程图;参照图1,所述方法包括:
[0058]SlOl:检测待处理三维模型中是否存在空隙,参照图2,在所述待处理三维模型中存在空隙时,对所述空隙进行修补,参照图3 ;
[0059]需要说明的是,用于三维打印的三维模型主要是由三角网格来表达的,故而本实施方式中只适用于由三角网格来表达的模型;由三角网格表达的三维模型文件格式有多种多样,例如STL、PLY、OBJ, AMF、3MF等,本实施方式适合所有由三角网格表达的三维模型文件格式。
[0060]可理解的是,所述三角网格由若干三角形组合而成。
[0061]在具体实现中,在所述待处理三维模型中不存在空隙时,直接执行下一步;
[0062]S102:检测所述待处理三维模型中是否存在自相交部分,参照图4,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除,参照图5 ;
[0063]可理解的是,在所述待处理三维模型中不存在自相交部分时,直接执行下一步;
[0064]S103:检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,则将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向,参照图6。
[0065]可理解的是,在所述待处理三维模型中各三角形的法矢量方向均指向所述待处理三维模型外部时,直接结束流程。
[0066]需要说明的是,不是针对三维打印而设计的三维模型通常会由于其存在空隙及自相交部分,又或是存在法矢量方向错误等问题,进而引起打印错误,本实施方式通过对三维模型中可能存在的空隙及自相交部分,或法矢量方向错误等问题进行处理,从而有效避免了三维打印时容易出现的打印错误。
[0067]可理解的是,步骤SlOl中,检测待处理三维模型中是否存在空隙可采用多种方式,本实施方式中,为了提高检测效率,采用“反证法”,即检测所述带处理三维模型中各三角形的三个边是否均存在唯一的邻接三角形,若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型不属于闭合流型,且所述待处理三维模型存在空隙,否则认为所述待处理三维模型属于闭合流型,且所述待处理三维模型中不存在空隙。
[0068]当然,还可采用其他方式来检测待处理三维模型中是否存在空隙,本实施方式对此不加以限制。
[0069]需要说明的是,步骤SlOl中,对所述空隙进行修补可采用多种方式,本实施方式中,为了在对所述空隙进行修补时,生成的网格是属于闭合流型,且不存在空隙的,故而本实施方式中采用Delaunay算法对所述空隙进行修补,在通过Delaunay算法对所述空隙进行修补时,可采用两种方式:
[0070]第一种方式为约束Delaunay三维四面体剖分方式;
[0071]该方式具体过程为:将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;
[0072]第二种方式为约束Delaunay三角剖分方式;
[0073]该方式具体过程为:根据在所述空隙处的各三角网格,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边所在的面设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。
[0074]当然,还可采用其他方式来对所述空隙进行修补,本实施方式对此不加以限制。
[0075]需要说明的是,步骤S102中,对所述自相交部分进行移除可采用多种方式,为保证对所述自相交部分进行移除的效率,本实施方式中通过对所述待处理三维模型中各三角形进行三维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。
[0076]对于薄壁,模型存在薄壁时,三维打印时经常会忽略这些薄壁,从而缺少这些打印细节,为对用户进行提示,本实施方式的方法还包括:
[0077]检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。
[0078]为便捷地检测所述待处理三维模型中是否存在薄壁,可定义一个厚度Dmin。如果模型两个外表面之间的距离小于这个Dmin,则认
为存在薄壁。在定义一个面积Amin,对于可能存在薄壁的情况中,至少薄壁区域的表面积要大于这个Amin,才被认为是确定存在薄壁,这样做的目的主要是忽略细小的模型特征,只检查较大的模型特征。
[0079]本实施方式中,通过对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形Ti添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积Amin,若该三角形集合中各三角形与除该三角形集合之外的其他三角形均小于等于预设距离Dmin,则认为所述待处理三维模型存在薄壁。
[0080]图7是根据本发明一种实施方式的面向三维打印的三维模型处理方法的流程图;参照图7,所述方法包括:
[0081]S700:对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各二角网格;
[0082]需要说明的是,待处理三维模型中,有可能存在多个三角网格,为保证待处理三维模型在进行三维打印时不出现打印错误,需要将待处理三维模型中的各三角网格进行分离。
[0083]可理解的是,为了实现三角网格的分离可采用多种方式,本实施方式中通过将待处理三维模型中的所有三角形放入同一个三角网格集合,对该三角网格集合中所有三角形进行循环,寻找与每个三角形相邻的三个三角形,建立邻接三角形关系,对于该三角网格集合中所有三角形进行循环,设当前三角形为Ti,建立一个新的三角网格集合Mj,实用广度优先算法,寻找与Ti相连接的全部三角形,将寻找到的三角形从该三角网格集合中移除,并添加至所述新的三角网格集合Mj中,j = j+1,直至该三角网格集合中为空。
[0084]在该三角网格集合中不存在三角形后,若j为1,则该新的三角网格集合与该模型文件中的三角网格集合相同,无需进行三维模型分离,若j大于1,则需要将待处理三维模型进行三角网格分离,以获得待处理三维模型中的三角网格。
[0085]例如,该图8所示的模型文件中的三个海豚的三角网格被分为三个独立的三角网格(分别对应图9?11)。
[0086]需要说明的是,由于三角网格中可能存在重点、重线和重三角形,非常容易引起打印错误,为避免出现该问题,本实施方式中,可在步骤S700之前,获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。
[0087]由于边是由两个端点确定的,三角形则是由三个顶点确定的,因此,在删除重点后,同时也消除了重边和重三角形。
[0088]S701:检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补;
[0089]S702:检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除;
[0090]S703:检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。
[0091]步骤S701?S703与图1所示的实施例中的步骤SlOl?S103相同,在此不再赘述。
[0092]图12是根据本发明一种实施方式的面向三维打印的三维模型处理装置的结构框图;参照图12,所述装置包括:
[0093]空隙修补单元1201,用于检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补;
[0094]自相交移除单元1201,用于检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除;
[0095]法矢量设置单元1203,用于检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。
[0096]按照本发明的一种可选实施方式,所述空隙修补单元,进一步用于若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型中存在空隙,否则认为所述待处理三维模型中不存在空隙。
[0097]按照本发明的一种可选实施方式,所述空隙修补单元,进一步用于将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;
[0098]或,根据在所述空隙处的各三角形,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至所述待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。
[0099]按照本发明的一种可选实施方式,所述自相交移除单元,进一步用于对所述待处理三维模型中各三角形进行三维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。
[0100]按照本发明的一种可选实施方式,所述装置还包括:
[0101]薄壁检测单元,用于检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。
[0102]按照本发明的一种可选实施方式,所述薄壁检测单元,进一步用于对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积,若该三角形集合中各三角形与除该三角形集合之外的其他三角形均小于等于预设距离,则认为所述待处理三维模型存在薄壁。
[0103]按照本发明的一种可选实施方式,所述装置还包括:
[0104]网格分离模块,用于对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各三角网格。
[0105]按照本发明的一种可选实施方式,所述装置还包括:
[0106]重点删除模块,用于获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。
[0107]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种面向三维打印的三维模型优化方法
,其特征在于,所述方法包括: 检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补; 检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除; 检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。2.根据权利要求1所述的方法,其特征在于,所述检测待处理三维模型中是否存在空隙,进一步包括: 若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型中存在空隙,否则认为所述待处理三维模型中不存在空隙。3.根据权利要求1所述的方法,其特征在于,所述对所述空隙进行修补,进一步包括: 将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;或 根据在所述空隙处的各三角形,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至所述待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。4.根据权利要求1所述的方法,其特征在于,所述对所述自相交部分进行移除,进一步包括: 对所述待处理三维模型中各三角形进行三维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。6.根据权利要求5所述的方法,其特征在于,所述检测所述待处理三维模型中是否存在薄壁,进一步包括: 对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积,若该三角形集合中各三角形与除该三角形集合之外的其他三角形均小于等于预设距离,则认为所述待处理三维模型存在薄壁。7.根据权利要求1?6中任一项所述的方法,其特征在于,所述检测待处理三维模型中是否存在空隙之前,所述方法还包括: 对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各三角网格。8.根据权利要求7所述的方法,其特征在于,所述对所述待处理三维模型进行三维网格分离之前,所述方法还包括: 获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。9.一种面向三维打印的三维模型优化装置,其特征在于,所述装置包括: 空隙修补单元,用于检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补; 自相交移除单元,用于检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除; 法矢量设置单元,用于检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。10.根据权利要求9所述的装置,其特征在于,所述空隙修补单元,进一步用于若所述待处理三维模型中各三角形的三个边均存在唯一的邻接三角形,则认为所述待处理三维模型中存在空隙,否则认为所述待处理三维模型中不存在空隙。11.根据权利要求9所述的装置,其特征在于, 所述空隙修补单元,用于将所述待处理三维模型中各三角形设置为约束,通过约束Delaunay四面体剖分算法对所述空隙进行修补,以使得在所述空隙处生成四面体网格,将生成的四面体网格的外表面作为所述空隙处的三角网格;或 根据在所述空隙处的各三角形,生成由所述空隙的边界所组成的多边形,对所述多边形进行遍历,并将遍历到的多边形的最小二乘平面作为XY平面,并在所述XY平面中建立局部坐标系,将所述遍历到的多边形的各边设置为约束,在所述局部坐标系中通过约束Delaunay三角剖分算法为所述空隙生成三角网格,将生成的三角网格从所述局部坐标系转换至所述待处理三维模型的坐标系中,并将转换后的三角网格添加至所述空隙处。12.根据权利要求9所述的装置,其特征在于,所述自相交移除单元,进一步用于对所述待处理三维模型中各三角形进行三维模型的布尔并运算,从布尔并运算的结果获取所述待处理三维模型的外表面,将所述待处理三维模型的外表面作为移除所述自相交部分后的待处理三维模型。13.根据权利要求9所述的装置,其特征在于,所述装置还包括: 薄壁检测单元,用于检测所述待处理三维模型中是否存在薄壁,在所述待处理三维模型存在薄壁时,向用户展示模型更换信息。14.根据权利要求13所述的装置,其特征在于,所述薄壁检测单元,进一步用于对所述待处理三维模型中的三角形进行遍历,将遍历到的当前三角形添加至三角形区域,将该三角形区域的邻接三角形也添加至该三角形集合中,直至该三角形集合的面积大于预设面积,若该三角形集合中各三角形与除该三角形集合之外的其他三角形均小于等于预设距离,则认为所述待处理三维模型存在薄壁。15.根据权利要求9?14中任一项所述的装置,其特征在于,所述装置还包括: 网格分离模块,用于对所述待处理三维模型进行三角网格分离,以获得所述待处理三维模型中的各三角网格。16.根据权利要求15所述的装置,其特征在于,所述装置还包括: 重点删除模块,用于获取所述待处理三维模型,计算所述待处理三维模型中的任意两点之间的距离,若计算的距离小于预设距离,则将该两个点中的一个点删除,并将被删除的点的邻接三角形的顶点指向该两个点的另一个点。
【专利摘要】本发明公开了一种面向三维打印的三维模型处理方法及装置,属于三维打印技术领域,所述方法包括:检测待处理三维模型中是否存在空隙,在所述待处理三维模型中存在空隙时,对所述空隙进行修补;检测所述待处理三维模型中是否存在自相交部分,在所述待处理三维模型中存在自相交部分时,对所述自相交部分进行移除;检测所述待处理三维模型中各三角形的法矢量方向,在所述三角形的法矢量方向指向所述待处理三维模型内部时,将该三角形中三个顶点的顺序方向设置为相反方向,从而反转该三角形法矢量的方向。本发明通过对三维模型中可能存在的空隙及自相交部分,或法矢量方向错误等问题进行处理,从而有效避免了三维打印时可能出现的打印错误。
【IPC分类】G06T17/30
【公开号】CN104881891
【申请号】CN201510217262
【发明人】金宇林
【申请人】北京敏速自动控制设备有限公司
【公开日】2015年9月2日
【申请日】2015年4月30日
转载请注明原文地址:https://www.famiwei.com/read-8137658.html