CN112734934A - 一种基于相交边映射的stl模型3d打印切片方法 - Google Patents
一种基于相交边映射的stl模型3d打印切片方法 Download PDFInfo
- Publication number
- CN112734934A CN112734934A CN202110100621.7A CN202110100621A CN112734934A CN 112734934 A CN112734934 A CN 112734934A CN 202110100621 A CN202110100621 A CN 202110100621A CN 112734934 A CN112734934 A CN 112734934A
- Authority
- CN
- China
- Prior art keywords
- mapping
- intersecting
- edge
- list
- intersecting edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000010146 3D printing Methods 0.000 title claims abstract description 17
- 239000011159 matrix material Substances 0.000 claims abstract description 23
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 230000001174 ascending effect Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000000877 morphologic effect Effects 0.000 claims description 3
- 238000007639 printing Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000005457 optimization Methods 0.000 abstract description 3
- 238000012216 screening Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于相交边映射的STL模型3D打印切片方法其包括以下步骤:步骤一、对STL模型的三角片数据进行排序优化,逐层筛选出与各层切平面相交的三角片集合;步骤二、提取出每个三角片与切平面相交的两条边,构建相交边对索引矩阵;步骤三、建立映射函数,将索引矩阵转换成一个映射表,并利用该映射表对所有相交边进行有序排列;步骤四、计算每个相交边与切平面的交点,并根据相交边排序结果,依次连接各个交点构建有序切片轮廓路径。本发明将三角片与切平面的相交关系映射为数据表,利用映射表的快速查询功能进行相交边的有序排列,不仅可以避免公共边交点的重复计算,也无需耗时而复杂的网格拓扑关系重建,能够有效提高切片分层处理效率。
Description
技术领域
本发明涉及3D打印技术领域,尤其涉及一种基于相交边映射的STL模型3D打印切片方法。
背景技术
STL模型是一种用大量无序的三角面片来模拟复杂物体表面的三维几何模型,三角面片的数量由模型的复杂性和逼近误差决定。由于STL文件格式简单,数据处理方便,如今已经成为3D打印系统的标准接口文件。
在利用3D打印工艺对STL模型进行制造时,首先需要获取模型的2D切片轮廓。目前已有的STL模型切片方法中,应用最广泛的有两种类型:(1)基于冗余交点信息的方法。该类方法首先计算切平面与所有相交三角面片的交线段,由于相邻三角面片之间存在公共边,因此计算得到的交线段端点存在冗余数据,利用这些冗余交点信息进行首尾连接即可得到有序封闭轮廓。这种类型的算法无需构建复杂的网格拓扑关系,但在计算切平面和三角面片公共边的交点时需要重复计算两次。(2)基于网格拓扑信息的方法该类方法需要首先建立STL模型三角面片之间的邻接拓扑关系,然后在求得切平面与第一个相交三角片后,根据拓扑关系找到与之相邻的下一个三角片,依次求交后即可得到首尾相连的有向封闭轮廓。这种算法能够避免重复计算冗余交点,而且无需对交点进行重新排序;但这种基于网格拓扑关系的分层算法处理拓扑信息耗时较长、内存占用量较大,尤其是在处理数据量较大的STL文件时,将会十分费时且对计算机的计算能力要求更高。
STL模型表面的三角片是散乱分布的,获取这种模型切片轮廓的关键在于如何将切平面与这些散乱的三角片形成的交线段有序地组织起来。另外,由于切片处理要计算每层切平面与三角面片的交线,大量三角面片会影响每层切片创建轮廓的时间,因此切片算法的有效性直接影响到最终模型制作的效率和质量。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种基于相交边映射的STL模型3D打印切片方法,快速建立正确的有序切片轮廓。
为实现上述目的,本发明提供了如下技术方案:
一种基于相交边映射的STL模型3D打印切片方法,其包括以下步骤:
步骤一、根据STL模型的三角片的顶点坐标对三角片数据进行排序优化,然后由下而上逐层筛选出与各层切平面相交的三角片集合;
步骤二、从筛选出来的相交的三角片集合中,根据三角片顶点与切平面的相对位置提取出每个三角片与切平面相交的两条边,构建相交边对索引矩阵;
步骤三、建立映射函数,将相交边对索引矩阵转换成一个映射表,并利用该映射表对所有相交边进行有序排列;
步骤四、计算每个相交边与切平面的交点,并根据相交边排序结果,依次连接各个交点构建有序切片轮廓路径。
步骤一中,包括以下步骤:
1)读取STL模型,并根据成型精度和模型表面形态特征,确定各层切平面的位置hi,i=1,2,...,n,n为切片总数;
2)获取STL模型上每个三角片的三个顶点vmin(x1,y1,zmin),vmed(x2,y2,zmed),vmax(x3,y3,zmax)坐标,其中zmin、zmed、zmax分别为该三角片三个顶点z坐标的最小值、中间值和最大值,并将每个三角片的三个顶点按z坐标最小值zmin、中间值zmed和最大值zmax的顺序进行排序;然后对三角片序列中的所有三角片按z坐标最小值进行升序排序;
3)查找排序后的三角片序列中最后一个满足zmin≤hi的三角片索引号j,提取出前j个三角片,然后在这j个三角片中判断每个三角片的zmax和hi大小,若有zmax<hi的,则排除该三角片,从而快速筛选出与当前切平面hi相交的三角片集合Mi。
步骤二中,包括以下步骤:
1)在相交三角片集合Mi中,提取出每个三角片与切平面相交的两条边e1、e2,每个相交边用边的两个顶点表示,并构建一个相交边对[e1、e2];
2)将所有三角片的相交边对组成集合:
V0={[e1,e2],[e3,e4],...,[e2s-1,e2s]},s为相交三角片总数,然后对V0中的相交边进行冗余过滤,建立不含冗余边的集合V={ei|ei≠ej(i≠j)},并求得向量id,使V0=V(id);
3)根据V0中每两个相交边构成边对的关系,建立相交边对索引矩阵:
其中,矩阵中的每一行代表一个相交边对索引。
步骤1)中,相交边对的具体创建规则如下:
Case1:当zmin<hi<zmax,
①当hi<zmed
相交边对:[<vmin,vmax>,<vmin,vmed>]
②当hi=zmed
相交边对:[<vmin,vmax>,<vmed,vmed>]
③当hi>zmed
相交边对:[<vmin,vmax>,<vmed,vmax>]
Case 2:当zmed=zmin=hi且zmax>hi,
相交边对:[<vmin,vmin>,<vmed,vmed>]
Case 3:当zmid=zmax=hi且zmin<hi,
相交边对:[<vmed,vmed>,<vmax,vmax>]
Case 4:其他
无相交边。
步骤三中,包括以下步骤:
1)建立映射函数H(x),依次遍历相交边对索引矩阵E中的每一行索引,创建边对映射,形成相交边映射表H;
2)从相交边映射表H中选择一个键作为起始节点,检索其映射值作为邻接节点,递归遍历当前节点的映射值,直到与起始节点相同构成首尾封闭排序列表,循环执行递归遍历策略,直至所有边都排序完毕。
步骤1)中,具体步骤如下:
Step1:从相交边对索引矩阵E中的取出一行索引:Ei1、Ei2,i=1,2,...,s,并令a=Ei1,b=Ei2;
Step2:判断相交边映射表H中是否存在键a,若相交边映射表H中不存在键a,则创建映射H(a)=b,若相交边映射表H中已存在映射H(a)=c,则修改映射H(a)=[c,b];
Step3:判断相交边映射表H中是否存在键b,若相交边映射表H中不存在键b,则创建映射H(b)=a,若H中已存在映射H(b)=d,则修改映射H(b)=[d,a];
Step4:比较i和s的关系,若i<s,则令i=i+1后,转Step1,否则,完成相交边映射表H的创建。
步骤2)中,具体步骤如下:
Step1:从相交边数据表H中取出一个键a作为排序列表List中的起始节点,即List(1)=a;
Step2:在相交边映射表H中检索键a的映射值H(a)=[b,c],选择[b,c]中的一个值b作为排序列表List中的下一个节点,即令i=2,使List(i)=b,然后将键a从相交边数据表H中删除;
Step3:以u=List(i)作为递归邻接节点,检索u的映射值H(u)=[v,w],判断v是否等于排序列表List中的上一个节点List(i-1):若v≠List(i-1),则将v作为排序列表List中的下一个节点,即List(i+1)=v,否则,将w作为排序列表List中的下一个节点,即List(i+1)=w,并将键u从相交边映射表H中删除;
Step4:判断List(i+1)是否等于起始节点a,若List(i+1)≠a,令i=i+1,执行步骤Step3;若List(i+1)=a,则构建完成一条首尾封闭的排序列表;
Step5:判断相交边映射表H是否为空,若为空,则结束;否则,该层切片存在多个条轮廓,转步骤Step1,继续创建下一条新的排序列表。
步骤四中,对于排序后的每个相交边排序列表List,1)当List中某一相交边索引所对应的边为<v0,v0>时,切平面与该边的顶点v0(-x0,y0,z0)重合,则当前切平面hi与该边形成的交点P(x,y,z)为:
2)当List中某一相交边索引所对应的边为<v1,v2>时,该边的两个顶点分别为v1(x1,y1,z1)、v2(x2,y2,z2),则当前切平面hi与该边形成的交点P(x,y,z)为:
求出当前切平面hi与所有相交边的交点坐标后,根据相交边排序列表List,依次连接各个交点即可构成该层切片的有序轮廓路径。
本发明的有益效果:通过分析三角片与切平面的相交关系,将相交边信息映射为数据表,利用映射数据表的快速查询功能进行相交边的有序排列,不仅可以避免公共边交点的重复计算,也无需耗时而复杂的网格拓扑关系重建,能够有效提高切片分层处理效率。
附图说明
图1为本发明的技术流程示意图。
图2a、b、c为本发明的切平面与三角片相交判别分类示意图。
图3a、b、c为本发明的相交边对映射表创建流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明公开了一种基于相交边映射的STL模型3D打印切片方法,其包括以下步骤:
步骤一、根据STL模型的三角片顶点坐标对三角片数据进行排序优化,然后由下而上逐层筛选出与各层切平面相交的三角片集合,具体步骤为:
1)读取STL模型,并根据成型精度和模型表面形态特征,确定各层切平面的位置hi,i=1,2,...,n,n为切片总数;
2)获取STL模型上每个三角片的三个顶点vmin(x1,y1,zmin),vmed(x2,y2,zmed),vmax(x3,y3,zmax)坐标,其中zmin、zmed、zmax分别为该三角片三个顶点z坐标的最小值、中间值和最大值,然后将每个三角片的三个顶点按z坐标最小值zmin、中间值zmed和最大值zmax的顺序进行排序;然后对三角片序列中的所有三角片按z坐标最小值进行升序排序;
3)对于第i层切平面hi,当某个三角片的最小值zmin和最大值zmax满足zmin≤hi≤zmax时,该三角片与当前层切平面hi相交,查找排序后的三角片序列中最后一个满足zmin≤hi的三角片索引号j,提取出前j个三角片,然后在这j个三角片中判断每个三角片的zmax和hi大小,若有zmax<hi的,则排除该三角片,从而快速筛选出与当前切平面hi相交的三角片集合Mi。
步骤二、从筛选出来的相交的三角片集合中,根据三角片顶点与切平面的相对位置提取出每个三角片与切平面相交的两条边,构建相交边对索引矩阵,具体步骤为:
1)在相交三角片集合Mi中,提取出每个三角片与切平面相交的两条边e1、e2,每个相交边用边的两个顶点表示,并构建一个相交边对[e1、e2]。具体规则如下:
Case1:当zmin<hi<zmax,如图2(a)所示:
①当hi<zmed
相交边对:[<vmin,vmax>,<vmin,vmed>]
②当hi=zmed
相交边对:[<vmin,vmax>,<vmed,vmed>]
③当hi>zmed
相交边对:[<vmin,vmax>,<vmed,vmax>]
Case 2:当zmed=zmin=hi且zmax>hi,如图2(b)所示:
相交边对:[<vmin,vmin>,<vmed,vmed>]
Case 3:当zmid=zmax=hi且zmin<hi,如图2(c)所示:
相交边对:[<vmed,vmed>,<vmax,vmax>]
Case 4:其他
无相交边。
2)将所有三角片的相交边对组成集合:
V0={[e1,e2],[e3,e4],...,[e2s-1,e2s]},s为相交三角片总数,然后对V0中的相交边进行冗余过滤,建立不含冗余边的集合V={ei|ei≠ej(i≠j)},并求得向量id,使V0=V(id);
3)根据V0中每两个相交边构成边对的关系,建立相交边对索引矩阵:
其中,矩阵中的每一行代表一个相交边对索引。
步骤三、建立映射函数,将相交边对索引矩阵转换成一个映射表,并利用该映射表对所有相交边进行有序排列,具体步骤为:
1)建立映射函数H(x),依次遍历相交边对索引矩阵E中的每一行索引,创建边对映射,形成相交边映射表H。具体步骤如下:
Step1:从相交边对索引矩阵E中的取出一行索引:Ei1、Ei2,i=1,2,...,s,,并令a=Ei1,b=Ei2;
Step2:判断相交边映射表H中是否存在键a,若相交边映射表H中不存在键a,则创建映射H(a)=b,若相交边映射表H中已存在映射H(a)=c,则修改映射H(a)=[c,b];
Step3:判断相交边映射表H中是否存在键b,若相交边映射表H中不存在键b,则创建映射H(b)=a,若H中已存在映射H(b)=d,则修改映射H(b)=[d,a]。
Step4:比较i和s的关系,若i<s,则令i=i+1后,转Step1,否则,完成相交边映射表H的创建。
2)从相交边映射表H中选择一个键作为排序列表的起始节点,检索其映射值作为邻接节点,递归遍历当前节点的映射值,直到与起始节点相同构成首尾封闭的排序列表,循环执行递归遍历策略,直至相交边映射表H的所有边都排序完毕。具体步骤为:
Step1:从相交边映射表H中取出一个键a作为排序列表List的起始节点,即List(1)=a;
Step2:在相交边映射数据表H中检索键a的映射值H(a)=[b,c],选择[b,c]中的一个值b作为排序列表List中的下一个节点,即令i=2,使List(i)=b,然后将键a从相交边映射表H中删除;
Step3:以u=List(i)作为递归邻接节点,检索u的映射值H(u)=[v,w],判断v是否等于排序列表List中的上一个节点List(i-1):若v≠List(i-1),则将v作为排序列表List中的下一个节点,即List(i+1)=v,否则,将w作为排序链表List中的下一个节点,即List(i+1)=w,并将键u从相交边映射表H中删除;
Step4:判断List(i+1)是否等于起始节点a,若List(i+1)≠a,令i=i+1,执行步骤Step3;若List(i+1)=a,则构建完成一条首尾封闭的排序列表;
Step5:判断相交边映射表H是否为空,若为空,则结束;否则,该层切片存在多个条轮廓,转步骤Step1,继续创建下一条新的排序列表。
步骤四、计算每个相交边与切平面的交点,并根据相交边排序结果,依次连接各个交点构建有序切片轮廓路径。
对于排序后的每个相交边排序列表List,1)当List中某一相交边索引所对应的边为<v0,v0>时,切平面与该边的顶点v0(-x0,y0,z0)重合,则当前切平面hi与该边形成的交点P(x,y,z)为:
2)当List中某一相交边索引所对应的边为<v1,v2>时,该边的两个顶点分别为v1(-x1,y1,z1)、v2(-x2,y2,z2),则当前切平面hi与该形成的交点P(x,y,z)为:
求出当前切平面hi与所有相交边的交点坐标后,根据相交边排序列表List,依次连接各个交点即可构成该层切片的有序轮廓路径。
以图3(a)所示的三角片与切平面相交情况为例,按照所述方法,产生的相交边集合V={e1,e2,e3},其中e1=<v1,v2>,e2=<v1,v3>,e3=<v1,v4>,所构成的相交边对索引矩阵E如图3(b)所示,根据索引矩阵E中每一行的边对关系,建立的相交边对映射表H如图3(c)所示。
在映射表H中,以e1为起点,检索其映射值H(e1)=[e2,e3],选择e2作为下一个邻接节点,再检索e2的映射值H(e2)=[e1,e3],由于e1在前一步刚刚使用过,选择e3作为下一个邻接节点,以此类推,直到回到起始节点得到首尾封闭的排序列表List=[e1,e2,e3,e1]。
最后,计算出各个相交边e1、e2、e3与切平面的交点P1、P2、P3,并按照排序列表List的顺序依次连接,得到有序切片轮廓路径为:P1→P2→P3→P1。
实施例不应视为对本发明的限制,但任何基于本发明的精神所作的改进,都应在本发明的保护范围之内。
Claims (8)
1.一种基于相交边映射的STL模型3D打印切片方法,其特征在于,其包括以下步骤:
步骤一、根据STL模型的三角片顶点坐标对三角片数据进行排序优化,然后由下而上逐层筛选出与各层切平面相交的三角片集合;
步骤二、从筛选出来的相交的三角片集合中,根据三角片顶点与切平面的相对位置提取出每个三角片与切平面相交的两条边,构建相交边对索引矩阵;
步骤三、建立映射函数,将相交边对索引矩阵转换成一个映射表,并利用该映射表对所有相交边进行有序排列;
步骤四、计算每个相交边与切平面的交点,并根据相交边排序结果,依次连接各个交点构建有序切片轮廓路径。
2.根据权利要求1所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤一中,包括以下步骤:
1)读取STL模型,并根据模型表面形态特征和成型精度,确定各层切平面的位置hi,i=1,2,...,n,n为切片总数;
2)获取STL模型上每个三角片的三个顶点vmin(x1,y1,zmin),vmed(x2,y2,zmed),vmax(x3,y3,zmax)坐标,其中zmin、zmed、zmax分别为该三角片三个顶点z坐标的最小值、中间值和最大值,并将每个三角片的三个顶点按z坐标最小值zmin、中间值zmed和最大值zmax的顺序进行排序;然后对三角片序列中的所有三角片按z坐标最小值进行升序排序;
3)查找排序后的三角片序列中最后一个满足zmin≤hi的三角片索引号j,提取出前j个三角片,然后在这j个三角片中判断每个三角片的zmax和hi大小,若有zmax<hi的,则排除该三角片,从而快速筛选出与当前切平面hi相交的三角片集合Mi。
3.根据权利要求1所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤二中,包括以下步骤:
1)在相交三角片集合Mi中,提取出每个三角片与切平面相交的两条边e1、e2,每个相交边用边的两个顶点表示,并构建一个相交边对[e1、e2];
2)将所有三角片的相交边对组成集合:
V0={[e1,e2],[e3,e4],...,[e2s-1,e2s]},s为相交三角片总数,然后对V0中的相交边进行冗余过滤,建立不含冗余边的集合V={ei|ei≠ej(i≠j)},并求得向量id,使V0=V(id);
3)根据V0中每两个相交边构成边对的关系,建立相交边对索引矩阵:
其中,矩阵中的每一行代表一个相交边对索引。
4.根据权利要求3所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤1)中,相交边对的具体创建规则如下:
Case1:当zmin<hi<zmax,
①当hi<zmed
相交边对:[<vmin,vmax>,<vmin,vmed>]
②当hi=zmed
相交边对:[<vmin,vmax>,<vmed,vmed>]
③当hi>zmed
相交边对:[<vmin,vmax>,<vmed,vmax>]
Case2:当zmed=zmin=hi且zmax>hi,
相交边对:[<vmin,vmin>,<vmed,vmed>]
Case3:当zmid=zmax=hi且zmin<hi,
相交边对:[<vmed,vmed>,<vmax,vmax>]
Case4:其他,
无相交边。
5.根据权利要求1所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤三中,包括以下步骤:
1)建立映射函数H(x),依次遍历相交边对索引矩阵E中的每一行索引,创建边对映射,形成相交边映射表H;
2)从相交边映射表H中选择一个键作为排序列表的起始节点,检索其映射值作为邻接节点,递归遍历当前节点的映射值,直到与起始节点相同构成首尾封闭的排序列表,循环执行递归遍历策略,直至所有相交边都排序完毕。
6.根据权利要求5所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤1)中,具体步骤如下:
Step1:从相交边对索引矩阵E中的取出一行索引:Ei1、Ei2,i=1,2,...,s,并令a=Ei1,b=Ei2;
Step2:判断相交边映射表H中是否存在键a,若相交边映射表H中不存在键a,则创建映射H(a)=b,若相交边映射表H中已存在映射H(a)=c,则修改映射H(a)=[c,b];
Step3:判断相交边映射表H中是否存在键b,若相交边映射表H中不存在键b,则创建映射H(b)=a,若H中已存在映射H(b)=d,则修改映射H(b)=[d,a];
Step4:比较i和s的关系,若i<s,则令i=i+1后,转Step1,否则,完成相交边映射表H的创建。
7.根据权利要求5所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤2)中,具体步骤如下:
Step1:从相交边映射表H中选择一个键a作为排序列表List的起始节点,即List(1)=a;
Step2:在相交边映射表H中检索键a的映射值H(a)=[b,c],选择[b,c]中的一个值b作为排序列表List中的下一个节点,即令i=2,使List(i)=b,然后将键a从相交边映射表H中删除;
Step3:以u=List(i)作为递归邻接节点,检索u的映射值H(u)=[v,w],判断v是否等于排序列表List中的上一个节点List(i-1):若v≠List(i-1),则将v作为排序列表List中的下一个节点,即List(i+1)=v,否则,将w作为排序列表List中的下一个节点,即List(i+1)=w,并将键u从相交边映射表H中删除;
Step4:判断List(i+1)是否等于起始节点a,若List(i+1)≠a,令i=i+1,执行步骤Step3;若List(i+1)=a,则构建完成一条首尾封闭的排序列表;
Step5:判断相交边映射表H是否为空,若为空,则结束;否则,该层切片存在多个条轮廓,转步骤Step1,继续创建下一条新的排序列表。
8.根据权利要求1所述的一种基于相交边映射的STL模型3D打印切片方法,其特征在于,步骤四中,对于排序后的每个相交边排序列表List,1)当List中的某一相交边索引所对应的边为<v0,v0>时,切平面与该边的顶点v0(x0,y0,z0)重合,则当前切平面hi与该边形成的交点P(x,y,z)为:
2)当List中某一相交边索引所对应的边为<v1,v2>时,该边的两个顶点分别为v1(x1,y1,z1)、v2(x2,y2,z2),则当前切平面hi与该边形成的交点P(x,y,z)为:
求出当前切平面hi与所有相交边的交点坐标后,根据相交边排序列表List,依次连接各个交点即可构成该层切片的有序轮廓路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100621.7A CN112734934B (zh) | 2021-01-25 | 2021-01-25 | 一种基于相交边映射的stl模型3d打印切片方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100621.7A CN112734934B (zh) | 2021-01-25 | 2021-01-25 | 一种基于相交边映射的stl模型3d打印切片方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112734934A true CN112734934A (zh) | 2021-04-30 |
CN112734934B CN112734934B (zh) | 2023-12-01 |
Family
ID=75593943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110100621.7A Active CN112734934B (zh) | 2021-01-25 | 2021-01-25 | 一种基于相交边映射的stl模型3d打印切片方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112734934B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113715338A (zh) * | 2021-08-30 | 2021-11-30 | 深圳市纵维立方科技有限公司 | 三维模型的切片方法、打印方法及相关设备 |
WO2023005852A1 (zh) * | 2021-07-29 | 2023-02-02 | 深圳市创想三维科技股份有限公司 | 3d打印文件的生成方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970949A (zh) * | 2014-05-05 | 2014-08-06 | 华侨大学 | 一种快速成型中三角面片模型的逐边分层方法 |
CN110442994A (zh) * | 2019-08-13 | 2019-11-12 | 嘉兴学院 | 一种基于图论的3d打印切片处理方法 |
CN110795797A (zh) * | 2019-09-26 | 2020-02-14 | 北京航空航天大学 | 一种mbd模型加工特征识别及信息提取方法 |
-
2021
- 2021-01-25 CN CN202110100621.7A patent/CN112734934B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970949A (zh) * | 2014-05-05 | 2014-08-06 | 华侨大学 | 一种快速成型中三角面片模型的逐边分层方法 |
CN110442994A (zh) * | 2019-08-13 | 2019-11-12 | 嘉兴学院 | 一种基于图论的3d打印切片处理方法 |
CN110795797A (zh) * | 2019-09-26 | 2020-02-14 | 北京航空航天大学 | 一种mbd模型加工特征识别及信息提取方法 |
Non-Patent Citations (6)
Title |
---|
JIANZHOU CHEN 等: "Effect of Process Parameters on Organic Micro Patterns Fabricated on a Flexible Substrate Using the Near-Field Electrohydrodynamic Direct-Writing Method", 《MICROMACHINES》 * |
TING WU 等: "Design of a custom angled abutment for dental implants using computer-aided design and nonlinear finite element analysis", 《JOURNAL OF BIOMECHANICS》 * |
吴建 等: "基于MATLAB的STL模型切片分层算法", 《科技创新与应用》 * |
徐敬华 等: "基于邻接拓扑的流形网格模型层切多连通域构建方法", 《计算机辅助设计与图形学学报》 * |
田明海: "3D打印机等层厚切片算法研究及软件实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
赵吉宾 等: "快速成形技术中基于STL模型的分层算法研究", 《应用基础与工程科学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023005852A1 (zh) * | 2021-07-29 | 2023-02-02 | 深圳市创想三维科技股份有限公司 | 3d打印文件的生成方法、装置、计算机设备和存储介质 |
CN113715338A (zh) * | 2021-08-30 | 2021-11-30 | 深圳市纵维立方科技有限公司 | 三维模型的切片方法、打印方法及相关设备 |
CN113715338B (zh) * | 2021-08-30 | 2023-08-18 | 深圳市纵维立方科技有限公司 | 三维模型的切片方法、打印方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112734934B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599506B (zh) | 一种复杂异形曲面机器人三维测量的点云分割方法 | |
CN105787977B (zh) | 建筑物矢量边界简化的方法 | |
CN111710022B (zh) | 一种避免轮廓相交的快速成型切片处理方法 | |
CN101799937A (zh) | 一种采用草图创建三维模型的方法 | |
CN112734934A (zh) | 一种基于相交边映射的stl模型3d打印切片方法 | |
CN115661374B (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
CN109325316B (zh) | 基于共点焊接排序的stl模型高效并行切层方法 | |
CN111783260A (zh) | 一种面向stl文件的截面轮廓线段连接方法 | |
CN110232742A (zh) | 3d打印分层控制算法 | |
CN113094463A (zh) | 一种非结构化点云存储方法、装置、设备及介质 | |
CN106845536A (zh) | 一种基于图像缩放的并行聚类方法 | |
CN115587451A (zh) | 一种基于体素划分的网页端三角面片模型动态更新方法 | |
CN107562779B (zh) | 一种二维矢量多边形自相交的空间拓扑处理方法 | |
CN115047825A (zh) | 一种数控加工铣削实时显示的方法 | |
US7333104B2 (en) | Method and program of converting three-dimensional shape data into cell internal data | |
CN111428811A (zh) | 一种单环多边形自相交模式识别及处理方法 | |
CN117852481A (zh) | 一种集成电路版图网表信息的快速确定方法及系统 | |
Guo et al. | Boolean operations of STL models based on loop detection | |
CN116416377A (zh) | 针对薄壁管激光切割的加工特征的识别方法、装置及系统 | |
CN115859524A (zh) | 一种基于stl模型的圆柱体布尔求差运算方法 | |
CN112052640B (zh) | 一种高效提取集成电路版图光掩膜中心线的设计方法 | |
JP6833150B1 (ja) | 加工プログラム検索装置および加工プログラム検索方法 | |
CN111696111B (zh) | 一种基于ssdf衰减图聚类的3d模型网格分割方法 | |
CN114742852A (zh) | 一种基于网格求交的高效自由曲面分层方法及其应用 | |
CN114491841A (zh) | 一种基于nx二次开发与图神经网络的加工特征识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |