CN107818195B - 一种基于关联树的3d打印填充路径生成方法 - Google Patents
一种基于关联树的3d打印填充路径生成方法 Download PDFInfo
- Publication number
- CN107818195B CN107818195B CN201710736250.5A CN201710736250A CN107818195B CN 107818195 B CN107818195 B CN 107818195B CN 201710736250 A CN201710736250 A CN 201710736250A CN 107818195 B CN107818195 B CN 107818195B
- Authority
- CN
- China
- Prior art keywords
- sub
- offset
- polygon
- region
- path
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
一种基于关联树的3D打印填充路径生成方法,包括得到切片文件,每个层片具有外轮廓和至少一个内轮廓;设定路径间距,将外轮廓朝内迭代偏置,内轮廓朝外迭代偏置,直到偏置多边形的数目为0为止,获取偏置多边形集合;根据包含与被包含的父子关系对偏置多边形进行分组,每个偏置多边形集合对应一个子区域;由子区域之间的毗邻关系构造关系树;分别在各个子区域内部生成各自的闭合填充路径;根据关系树将具有父子关系的子区域的闭合填充路径进行连接,生成当前拓扑连通区域内部的闭合填充路径。本发明具有既能各种截面形状通用,又能够减少3D打印的填充路径中空走路径数量或实现无空走路径的优点。
Description
技术领域
本发明涉及3D打印技术路径生成方法领域,尤其涉及一种基于关联树的3D打印填充路径生成方法。
背景技术
3D打印技术是基于离散-堆积原理,由模型的三维数据驱动,采用逐层堆积的方式直接加工实体零件的技术方法,实现了从等材制造与减材制造到增材制造的转变,从而彻底改变了传统制造的理念与模式。由于3D打印技术可以一次成型而无需额外的机械加工,可以在一定程度上缩短产品的加工时间,从而可以提高生产效率并降低生产成本,目前已在多个领域得到广泛的应用。同时,3D打印技术可以与互联网、大数据、云计算等新兴及先进技术进行完美结合,是数字化制造的主要内容,成为推动制造业发展与升级的关键技术。
在3D打印之前需要对数字化的三维模型进行处理,将其转化成机器硬件能够识别并用以驱动加工设备的“语言”,这个过程被称为 3D打印技术的过程规划。尽管3D打印技术种类众多,制造工艺也存在差异,但它们采用的过程规划的基本步骤却是相同的,所以过程规划是3D打印技术的一个通性却非常关键的问题。过程规划主要包括四个步骤:确定制造方位、生成支撑、切片以及规划路径,以上每个步骤对成形过程以及成形制件的表面质量、精度、强度都有很大的影响;最后输出的路径用以驱动3D打印设备实现加工成形。
对于3D打印技术,分层厚度越小,分层的层片数量越多则打印精度越高。而每个层片的填充都需要耗费一定的喷涂填充时间,层片数量越多零件的成型时间越长,生产效率越低。因此,在轮廓内部的填充路径生成是降低零件成型时间,提高生产效率的关键技术之一。所有的内部填充路径包括两个部分:打印路径和空走路径。打印路径是喷头填充成型材料的路径,空走路径是连接各打印路径且需要关闭喷头的路径。
现有路径规划方法,如平行往复法与轮廓偏置法,生成的填充路径中往往会存在较多的空走路径。空走路径不仅会增加填充时间,降低成型效率,还会带来喷头的频繁开关问题,缩短喷头的寿命。因此生成的填充路径应减少空走路径的数目。
发明内容
本发明的目的提供一种既能各种截面形状通用,又能够减少3D 打印的填充路径中空走路径数量或实现无空走路径的基于关联树的 3D打印填充路径生成方法。
一种基于关联树的3D打印填充路径生成方法,包括如下步骤:
步骤1:根据成形方位与层厚分布得到待成形实体零件的切片文件,每个层片具有外轮廓和至少一个内轮廓;
步骤2:设定路径间距,将外轮廓朝内迭代偏置,内轮廓朝外迭代偏置,直到偏置多边形的数目为0为止,获取偏置多边形集合C;
步骤3:根据包含与被包含的父子关系对偏置多边形进行分组,得到偏置多边形集合,在一个偏置多边形集合中的偏置多边形之间具有父子关系,每个偏置多边形集合对应一个子区域;
步骤4:由子区域之间的毗邻关系构造关系树,关系树中父节点与子节点之间具有毗邻关系,同一层节点之间相互独立;
步骤:5:分别在各个子区域内部生成各自的闭合填充路径;
步骤6:根据关系树将具有父子关系的子区域的闭合填充路径进行连接,生成当前拓扑连通区域内部的闭合填充路径。
进一步,当层片具有多个外轮廓而具有多个独立的拓扑连通区域的情况时,增加步骤7:利用空走路径依次连接各连通区域的闭合填充路径获得当前层片的加工路径,自下而上依次连接各层片的加工路径输出最终的实体3D打印路径。
所述步骤1中,所述待成形实体是三维建模软件(如Solidworks 等)或逆向工程软件(如Imageware等)输出的三角网格化模型,利用切片软件(如MagicRP等)根据设定的层厚分布输出模型的二维切片文件。
步骤3中,对轮廓偏置多边形进行分组包括以下步骤:
步骤3-1:将偏置多边形集合C中的各个偏置多边形根据出现的次序进行分级编号,由内轮廓或外轮廓偏置n次获得的偏置多边形的级别编号为n;如由内轮廓或外轮廓偏置一次得到的偏置多边形的级别编号为1,偏置两次得到的偏置多边形的畸变编号为2,偏置三次得到的偏置多边形级别编号为3,以此类推;
当同一级别中的偏置多边形数量大于1时,则增加子编号i,第 n级偏置获得的第i个偏置多边形表示为n-i;
步骤3-2:找到偏置多边形集合C中最小的级别编号作为当前级别编号,若级别编号最小的偏置多边形有多个,则任选一个作为子区域组合zi,(i=1,2,...)的第一个元素,选中的偏置多边形作为当前多边形;
步骤3-3:将当前级别编号赋值给变量l.min,同时将变量l.last赋值为l.min,并将当前选择的偏置多边形从集合C中删除,形成新的当前偏置多边形集合C;
步骤3-4:遍历当前偏置多边形集合C中级别编号为l.last+1的所有轮廓,判断是否存在包含或被包含于当前多边形的偏置多边形 C(l.last+1)-j,j表示第j个第l.last+1级别的偏置多边形;如果判断结果为是,进入步骤3-5;如果判断结果为否,则将子区域组合zi加入子区域集合Z中,并跳至步骤3-6;
步骤3-5:将偏置多边形C(l.last+1)-j作为zi的最后一个元素添加至子区域组合zi,将C(l.last+1)-j从偏置多边形集合C中删除后获得新的当前偏置多边形集合C,将l.last赋值为l.last+1,判断l.last是否最大的级别编码,若否则将轮廓Cl.last-j作为当前多边形,返回步骤3-4;若是则进入步骤3-6;
步骤3-6:判断当前偏置多边形集合C是否为空,若否,则将子区域组合zi加入子区域集合Z,进入步骤3-2,若是,则将所有子区域组合形成子区域集合Z并输出。
进一步,步骤4中构建关系树的方法包括:
步骤4-1:从子区域集合Z中任选一个含有级别编号为1的偏置多边形的子区域组合zi作为关系树的根节点,将根节点作为待链接节点t,并将该子区域组合zi从子区域集合Z中删除,获得当前子区域集合;
步骤4-2:判断当前子区域集合是否为空,如果判断结果为是,则结束步骤3-4,输出建立的关系树;如果判断结果为否,进入步骤 4-3;
步骤4-3:依次遍历子区域集合,判断是否存在满足以下任一条件的子区域组合:
条件1:该子区域组合中存在与根节点t中的偏置多边形有父子关系的偏置多边形;
条件2:该子区域组合中最后一个偏置多边形的分级编号与根节点t中某个偏置多边形的分级编号相同,并且两个多边形上存在距离小于等于路径间距的部位;或者根节点t中最后一个偏置多边形的分级编号与该子区域组合中某个偏置多边形分级编号相同,并且这两个偏置多边形上存在距离小于等于设定的路径间距的部位;
若存在满足条件1或者条件2的子区域组合,将该子区域组合链接到节点t上,作为t的子节点,并将该子区域组合作为新的待链接节点t,将该子区域组合从子区域集合中删除,返回步骤:4-2;如果判断为否,则将待链接节点t的父节点赋值为新的待链接节点t,返回步骤4-3。
所述步骤5中,在子区域中生成闭合填充路径的具体方法是:
步骤5-1:从子区域集合Z中选择一个子区域组合zi,然后将该子区域组合zi从子区域集合中删除,判断子区域组合zi的偏置多边形数目是否大于1,如果判断结果为是,进入步骤5-2;如果判断结果为否,则返回步骤5-1;
步骤5-2:将子区域组合zi内的偏置多边形进行连接,得到闭合路径;
步骤5-2-1:将子区域组合zi的第一个偏置多边形的作为初始闭合轮廓Co;
步骤5-2-2:在闭合轮廓Co上选取任意一点Po,Po优选为尖角或高曲率点,然后在闭合轮廓Co上获得点Qo,点Po与点Qo的直线距离为路径间距;
步骤5-2-3:在与闭合轮廓Co相邻的闭合轮廓Ci上求得另外两点 Pi与Qi,Po与Pi之间的距离为路径间距,或者Po与Pi之间的距离为 Po到闭合轮廓Ci的最短距离,且该最短距离小于或等于路径间距的 1.5倍;Pi到Qi的距离为路径间距;
步骤5-2-4:连接Po与Pi,连接Qo与Qi,并删除Po和Qo之间的连线,同时删除Pi和Qi之间的连线得到新的闭合轮廓Co,判断是否存在未连接的偏置多边形,如果判断为是,则结束步骤5-2;如果判断结果为否,返回步骤5-2-2。
所述步骤6中,根据关系树将具有父子关系的子区域的闭合填充路径进行连接的方法与步骤5-2采用的闭合路径连接方法相同,输出最终的拓扑连通区域闭合填充路径。
所述步骤6中,对二维层片内各个拓扑连通区域生成对应的闭合填充路径之后,利用空走路径依次连接所有闭合填充路径;同时利用空走路径将三维模型所有层片的填充路径由底层开始进行连接,得到整个三维模型的3D打印路径。
本发明为了解决填充路径中较多的空走路径问题,提出一种基于关联树的3D打印填充路径生成方法,在获得外轮廓和内轮廓偏置多边形的基础上,对任意拓扑连通区域进行分区并建立各子区域间的关联树;在将各子区域内部的轮廓偏置多边形进行连接获得闭合路径之后,根据关联树将所有子区域内的闭合路径进行连接,从而用一条完整的无空走螺旋路径填满整个拓扑连通区域。
本发明是3D打印中的内部填充路径生成方法,具体的有益效果是:
根据成形方位与层高分布生成待加工实体模型的二维层片文件,在生成轮廓偏置多边形的基础上,利用偏置轮廓之间包含与被包含的几何关系对拓扑连通区域进行分区,根据毗邻关系对分区的结果构建关系树,将各子区域内部的偏置轮廓进行连接生成闭合的填充路径,继而根据关系树对所有的子区域闭合路径进行连接,获得填充整个拓扑连通区域的一条闭合填充路径。该方法可以避免现有填充路径方法生成路径中出现较多空走路径的问题,可以提高成型效率。而且本方法由于避免了在连通区域内部的中断,能有效提高填充质量。该方法适用于各种形状的模型,同时具有算法简单与通用性好的特点,对 3D打印技术的发展与普及具有一定的推动作用。
附图说明
图1为本发明基于关联树的3D打印填充路径生成方法的流程图。
图2(a)-图2(b)为解释本发明采用的实例模型示意图。
图3为偏置多边形集合示意图。
图4为本发明对偏置多边形进行分组后的子区域示意图。
图5为本发明根据子区域间的毗邻关系构造的关系树。
图6(a)-图6(b)为本发明采用闭合路径之间的连接过程示意图。
图7为本方明连接所有子区域路径的连通区域闭合途径示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明,以下实施例不构成对本方明的限定。
图1所示为本发明3D打印技术通用内部填充路径生成方法的流程图。以附图2中的零件截面为例,来阐明内部填充路径生成方法,但本发明不仅限用于图2所示的零件。
步骤1、根据精度与可成形性要求确定待加工零件的成形方位如图2(a)所示,层厚被统一设置为0.2mm,利用切片软件获得各层片的几何轮廓信息,图2(b)为其中某一截面轮廓,包括一个外轮廓 Cout和两个内轮廓Cin1和Cin2;
步骤2、设定路径间距w为0.5mm,将层片的外轮廓朝内进行迭代偏置,内轮廓朝外进行迭代偏置,偏置距离为w×(n-0.5)mm,n 为偏置的次数,迭代循环的终止条件是偏置生成的偏置多边形数目为0,如图3所示为偏置后得到的多边形集合C。
步骤3,根据偏置多边形之间的几何关系进行分组得到子区域集合,由集合间的毗邻关系构造关系树;
步骤3-1:将偏置多边形集合C中的各个偏置多边形根据出现的次序进行分级编号,由内轮廓或外轮廓偏置n次获得的偏置多边形的级别编号为n;如由内轮廓或外轮廓偏置一次得到的偏置多边形的级别编号为1,偏置两次得到的偏置多边形的畸变编号为2,偏置三次得到的偏置多边形级别编号为3,以此类推;
当同一级别中的偏置多边形数量大于1时,则增加子编号i,第 n级偏置获得的第i个偏置多边形表示为n-i;如图3所示,偏置多边形集合 C={C1-1,C1-2,C1-3,C2-1,C2-2,C2-3,C3-1,C3-2,C3-3,C4-1,C4-2,C5-1,C5-2,C6-1,C6-2,C7-1,C7-2};
步骤3-2:找到偏置多边形集合C中最小的级别编号作为当前级别编号,若级别编号最小的偏置多边形有多个,则任选一个作为子区域组合zi,(i=1,2,...)的第一个元素,选中的偏置多边形作为当前多边形;如图3所示,第一次时最小的级别编号为1,C1-1,C1-2,C1-3均为级别编号为1的偏置多边形,取C1-1作为z1的第一个元素为例;
步骤3-3:将当前级别编号赋值给变量l.min,同时将变量l.last赋值为l.min,即l.min=1;l.last=l.min=1;并将C1-1从集合C中删除,形成新的集合 C={C1-2,C1-3,C2-1,C2-2,C2-3,C3-1,C3-2,C3-3,C4-1,C4-2,C5-1,C5-2,C6-1,C6-2,C7-1,C7-2};
步骤3-4:遍历当前偏置多边形集合C中级别编号为l.last+1的所有轮廓(即C2-1,C2-2,C2-3,C2-1被包含于C1-1中,进入步骤3-5;
步骤3-5:将偏置多边形C2-1作为z1的最后一个元素添加至子区域组合z1={C1-1,C2-1},将C2-1从偏置多边形集合C中删除后获得新的集合 C={C1-2,C1-3,C2-2,C2-3,C3-1,C3-2,C3-3,C4-1,C4-2,C5-1,C5-2,C6-1,C6-2,C7-1,C7-2},将l.last 赋值为l.last+1,即l.last=2,l.last=2并非最大的级别编码,将轮廓C2-1作为当前多边形,返回步骤3-4;
再次进入步骤3-3,级别编号为l.last+1的所有轮廓为C3-1,C3-2,C3-3, C3-1被包含于C2-1中,则进入步骤3-5中,将C3-1加入z1, z1={C1-1,C2-1,C3-1}, C={C1-2,C1-3,C2-2,C2-3,C3-2,C3-3,C4-1,C4-2,C5-1,C5-2,C6-1,C6-2,C7-1,C7-2};如此重复,直到l.last=7,l.last为最大编码,z1={C1-1,C2-1,C3-1,C4-1,C5-1,C6-1,C7-1}, C={C1-2,C1-3,C2-2,C2-3,C3-2,C3-3,C4-2,C5-2,C6-2,C7-2},进入步骤3-6;
步骤3-6:当前偏置多边形集合C不为空,获取以当前多边形集合C中的最小级别编号为1,1作为当前级别编号,进入步骤3-2;
再次进入步骤3-2,C中最小的级别编号为1,1作为当前级别编码,选择C1-2作为子区域组合z2的第一个元素,z2={C1-2};
步骤3-3中,l.min=1;l.last=l.min=1;级别编号为l.last+1的所有轮廓为C2-2,C2-3;
步骤3-4中C2-2被包含于C1-2中,则进入步骤3-5,将C1-2加入z2, z1={C1-2,C2-2},C={C1-3,C2-3,C3-2,C3-3,C4-2,C5-2,C6-2,C7-2};将l.last赋值为 l.last+1,即l.last=2,l.last=2并非最大的级别编码,将轮廓C2-2作为当前多边形,返回步骤3-4;
C3-2被包含于C2-2中,则进入步骤3-5,将C3-2加入z2, z2={C1-2,C2-2,C3-2},C={C1-3,C2-3,C3-3,C4-2,C5-2,C6-2,C7-2};将l.last赋值为 l.last+1,即l.last=3,l.last=3并非最大的级别编码,将轮廓C3-2作为当前多边形,返回步骤3-4;
C4-2与C3-2没有包含或被包含关系,则将子区域组合z2加入子区域集合Z中,并跳至步骤3-6;
步骤3-6当前偏置多边形集合C不为空,获取以当前多边形集合 C中的最小级别编号为1,1作为当前级别编号,进入步骤3-2。
如此迭代重复,将偏置多边形集合C中的所有元素遍历完后,获得子区域集合Z,图4为分组后的结果,Z中一共有6个元素{z1,z2, z3,z4,z5,z6}。
步骤4:由子区域之间的毗邻关系构造关系树,关系树中父节点与子节点之间具有毗邻关系,同一层节点之间相互独立;
步骤4-1:从子区域集合Z中任选一个含有级别编号为1的偏置多边形的子区域组合zi作为关系树的根节点,以选取z1作为根节点为例说明,将根节点z1作为待链接节点t,并将z1从子区域集合Z中删除,获得当前子区域集合Z={z2,z3,z4,z5,z6};
步骤4-2:当前子区域集合Z不为空,进入步骤4-3;
步骤4-3:依次遍历子区域集合,判断是否存在满足以下任一条件的子区域组合:
条件1:该子区域组合中存在与根节点t中的偏置多边形有父子关系的偏置多边形;
条件2:该子区域组合中最后一个偏置多边形的分级编号与根节点t中某个偏置多边形的分级编号相同,并且两个多边形上存在距离小于等于路径间距的部位;或者根节点t中最后一个偏置多边形的分级编号与该子区域组合中某个偏置多边形分级编号相同,并且这两个偏置多边形上存在距离小于等于设定的路径间距的部位;
z2满足条件2,将z2链接为z1的子节点,z2作为新的待链接节点, Z={z3,z4,z5,z6},返回步骤4-2,Z不为空;
再次进入步骤4-3,z3,z4,z5,z6不存在与z2满足两个条件的子区域组合,将父节点z1作为新的待链接节点,返回步骤4-3。
如此重复,将子区域集合Z中的所有元素遍历完,并获得构建的关系树T,实例中选择z1为关系树的根,z2与z3因为满足步骤3-4-3 中的判断条件2被链接到z1上,而z4,z5,z6则是满足条件1被链接到z1上,如图5为建立的关系树。
步骤5,在构建关系树之前将输出的子区域集合Z进行拷贝,用于生成各子区域中的闭合填充路径,具体步骤如下:
步骤5-1:从子区域集合Z选择一个元素,然后将其集合中删除,判断其中的偏置多边形数目是否大于1,如果判断结果为是,进入步骤4-2;如果判断结果为否,则返回步骤4-1;
步骤5-2:将子区域内的偏置多边形进行连接得到闭合路径,具体步骤如下,示意图为图6(a):
步骤5-2-1:首先将子区域z内编号最小的偏置多边形作为初始闭合轮廓Co;
步骤5-2-2:在闭合轮廓Co上选取任意一点Po,Po优选为尖角或高曲率点,然后在闭合轮廓Co上获得点Qo,点Po与点Qo的直线距离为路径间距;
步骤5-2-3:在与闭合轮廓Co相邻的闭合轮廓Ci上求得另外两点 Pi与Qi,Po与Pi之间的距离为路径间距,或者Po与Pi之间的距离为 Po到闭合轮廓Ci的最短距离,且该最短距离小于或等于路径间距的 1.5倍;Pi到Qi的距离为路径间距;
步骤5-2-4:连接Po与Pi,连接Qo与Qi,并删除Po和Qo之间的连线,同时删除Pi和Qi之间的连线得到新的闭合轮廓Co,判断是否存在未连接的偏置多边形,如果判断为是,则结束步骤5-2;如果判断结果为否,返回步骤5-2-2。
通过以上步骤,可连接各子区域集合内的所有轮廓偏置多边形,形成闭合的填充路径,如图6(b)所示,连接后获得A,B,C,D,E, F共6个相互独立的连通区域。A区域为由z1的所有偏置多边形连接形成的拓扑连通区域,B区域为由z2的所有偏置多边形连接形成的拓扑连通区域,C区域为由z3的所有偏置多边形连接形成的拓扑连通区域,D区域为由z4的所有偏置多边形连接形成的拓扑连通区域,E区域为由z5的所有偏置多边形连接形成的拓扑连通区域,F区域为由z6的所有偏置多边形连接形成的拓扑连通区域。
步骤6:根据建立的关系树T确定相互连接的子区域闭合路径,在关系树上存在父子关系的子区域间的闭合路径认为能够进行连接。如图5中具有父子关系的节点之间具有相连通,即z1分别能跟 z2,z3,z4,z5,z6连通,z2,z3,z4,z5,z6相互之间没有连通关系。
步骤5-1:将关系树根节点z1对应的连通区域A的闭合轮廓作为初始闭合轮廓Co;
步骤5-2:在z1的子节点对应的连通区域集合{B,C,D,E,F} 中任一闭合轮廓,第一次以取B作为C1为例,将连通区域集合修改为 {C,D,E,F};
步骤5-3:在闭合轮廓Co上选取点Po,然后在闭合轮廓Co上获得点Qo,点Po与点Qo的直线距离为路径间距;
步骤5-3:在C1上求得另外两点Pi与Qi,Po与Pi之间的距离为路径间距,或者Po与Pi之间的距离为Po到闭合轮廓Ci的最短距离,且该最短距离小于或等于路径间距的1.5倍;Pi到Qi的距离为路径间距;
步骤5-4:连接Po与Pi,连接Qo与Qi,并删除Po和Qo之间的连线,同时删除Pi和Qi之间的连线得到新的闭合轮廓Co;连接区域集合不为空,返回步骤5-2;
再次进入步骤5-2,选取C作为C1,将连通区域集合修改为{D, E,F};如此重复,直到将连通区域全部B,C,D,E,F与A连接完成。
本实施例中只有一个外轮廓,因此无需空走路径即可将所有偏置多边形连接起来形成闭合填充路径。
当层片具有多个外轮廓而具有多个独立的拓扑连通区域的情况时,增加步骤7:利用空走路径依次连接各连通区域的闭合填充路径获得当前层片的加工路径,自下而上依次连接各层片的加工路径输出最终的实体3D打印路径。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的一般技术人员来说,本发明还可以有各种更改和变化。在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于关联树的3D打印填充路径生成方法,包括如下步骤:
步骤1:根据成形方位与层厚分布得到待成形实体零件的切片文件,每个层片具有外轮廓和至少一个内轮廓;
步骤2:设定路径间距,将外轮廓朝内迭代偏置,内轮廓朝外迭代偏置,直到偏置多边形的数目为0为止,获取偏置多边形集合C;
步骤3:根据包含与被包含的父子关系对偏置多边形进行分组,得到偏置多边形集合,在一个偏置多边形集合中的偏置多边形之间具有父子关系,每个偏置多边形集合对应一个子区域;
步骤4:由子区域之间的毗邻关系构造关系树,关系树中父节点与子节点之间具有毗邻关系,同一层节点之间相互独立;
步骤:5:分别在各个子区域内部生成各自的闭合填充路径;
步骤6:根据关系树将具有父子关系的子区域的闭合填充路径进行连接,生成当前拓扑连通区域内部的闭合填充路径;
当层片具 有多个外轮廓而具有多个独立的拓扑连通区域的情况时,增加步骤7:利用空走路径依次连 接各连通区域的闭合填充路径获得当前层片的加工路径,自下而上依次连接各层片的加工 路径输出最终的实体3D打印路径;
步骤3中, 对轮廓偏置多边形进行分组包括以下步骤:
步骤3-1:将偏置多边形集合C中的各个偏置多边形根据出现的次序进行分级编号,由内轮廓或外轮廓偏置n次获得的偏置多边形的级别编号为n;如由内轮廓或外轮廓偏置一次得到的偏置多边形的级别编号为1,偏置两次得到的偏置多边形的畸变编号为2,偏置三次得到的偏置多边形级别编号为3,以此类推;
当同一级别中的偏置多边形数量大于1时,则增加子编号i,第n级偏置获得的第i个偏置多边形表示为n-i;
步骤3-2:找到偏置多边形集合C中最小的级别编号作为当前级别编号,若级别编号最小的偏置多边形有多个,则任选一个作为子区域组合zi的第一个元素,选中 的偏置多边形作为当前多边形;
步骤3-3:将当前级别编号赋值给变量l.min,同时将变量l.last赋值为l.min,并将当前选择的偏置多边形从集合C中删除,形成新的当前偏置多边形集合C;
步骤3-4:遍历当前偏置多边形集合C中级别编号为l.last+1的所有轮廓,判断是否存在包含或被包含于当前多边形的偏置多边形C(l.last+1)-j,j表示第j个第l.last+1级别的偏 置多边形;如果判断结果为是,进入步骤3-5;如果判断结果为否,则将子区域组合zi加入子 区域集合Z中,并跳至步骤3-6;
步骤3-5:将偏置多边形C(l.last+1)-j作为zi的最后一个元素添加至子区域组合zi,将 C(l.last+1)-j从偏置多边形集合C中删除后获得新的当前偏置多边形集合C,将l.last赋值为 l.last+1,判断l.last是否是最大的级别编码,若否则将轮廓Cl.last-j作为当前多边形,返回步 骤3-4;若是则进入步骤3-6;
步骤3-6:判断当前偏置多边形集合C是否为空,若否,则将子区域组合zi加入子区域集合Z,进入步骤3-2,若是,则将所有子区域组合形成子区域集合Z并输出;
步骤4中 构建关系树的方法包括:
步骤4-1:从子区域集合Z中任选一个含有级别编号为1的偏置多边形的子区域组合zi作 为关系树的根节点,将根节点作为待链接节点t,并将该子区域组合zi从子区域集合Z中删 除,获得当前子区域集合;
步骤4-2:判断当前子区域集合是否为空,如果判断结果为是,则结束步骤3-4,输出建立的关系树;如果判断结果为否,进入步骤4-3;
步骤4-3:依次遍历子区域集合,判断是否存在满足以下任一条件的子区域组合:
条件1:该子区域组合中存在与根节点t中的偏置多边形有父子关系的偏置多边形;
条件2:该子区域组合中最后一个偏置多边形的分级编号与根节点t中某个偏置多边形的分级编号相同,并且两个多边形上存在距离小于等于路径间距的部位;或者根节点t中最后一个偏置多边形的分级编号与该子区域组合中某个偏置多边形分级编号相同,并且这两个偏置多边形上存在距离小于等于设定的路径间距的部位;
若存在满足条件1或者条件2的子区域组合,将该子区域组合链接到节点t上,作为t的子节点,并将该子区域组合作为新的待链接节点t,将该子区域组合从子区域集合中删除,返回步骤:4-2;如果判断为否,则将待链接节点t的父节点赋值为新的待链接节点t,返回步骤4-3;
所述步骤 5中,在子区域中生成闭合填充路径的具体方法是:
步骤5-1:从子区域集合Z中选择一个子区域组合zi,然后将该子区域组合zi从子区域集 合中删除,判断子区域组合zi的偏置多边形数目是否大于1,如果判断结果为是,进入步骤 5-2;如果判断结果为否,则返回步骤5-1;
步骤5-2:将子区域组合zi内的偏置多边形进行连接,得到闭合路径;
步骤5-2-1:将子区域组合zi的第一个偏置多边形的作为初始闭合轮廓Co;
步骤5-2-2:在闭合轮廓Co上选取任意一点Po,Po优选为尖角或高曲率点,然后在闭合轮 廓Co上获得点Qo,点Po与点Qo的直线距离为第一路径间距;
步骤5-2-3:在与闭合轮廓Co相邻的闭合轮廓Ci上求得另外两点Pi与Qi,Po与Pi之间的距 离为第二路径间距,或者Po与Pi之间的距离为Po到闭合轮廓Ci的最短距离,且该最短距离小于或 等于第一路径间距的1.5倍;Pi到Qi的距离为第三路径间距;
步骤5-2-4:连接Po与Pi,连接Qo与Qi,并删除Po和Qo之间的连线,同时删除Pi和Qi之间的 连线得到新的闭合轮廓Co,判断是否存在未连接的偏置多边形,如果判断为是,则结束步骤 5-2;如果判断结果为否,返回步骤5-2-2;
所述步骤 6中,根据关系树将具有父子关系的子区域的闭合填充路径进行连接的方法与步骤5-2采用 的闭合路径连接方法相同,输出最终的拓扑连通区域闭合填充路径;所述步骤 6中,对二维层片内各个拓扑连通区域生成对应的闭合填充路径之后,利用空走路径依次连 接所有闭合填充路径;同时利用空走路径将三维模型所有层片的填充路径由底层开始进行 连接,得到整个三维模型的3D打印路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710736250.5A CN107818195B (zh) | 2017-08-24 | 2017-08-24 | 一种基于关联树的3d打印填充路径生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710736250.5A CN107818195B (zh) | 2017-08-24 | 2017-08-24 | 一种基于关联树的3d打印填充路径生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107818195A CN107818195A (zh) | 2018-03-20 |
CN107818195B true CN107818195B (zh) | 2021-04-06 |
Family
ID=61600940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710736250.5A Active CN107818195B (zh) | 2017-08-24 | 2017-08-24 | 一种基于关联树的3d打印填充路径生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107818195B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109808171B (zh) * | 2019-01-28 | 2021-08-17 | 杭州电子科技大学 | 一种面向熔融沉积制造的3d连续路径生成方法 |
CN110633517B (zh) * | 2019-09-03 | 2023-07-25 | 江西博微新技术有限公司 | 一种用于三维场景的高效切片方法 |
CN111538800B (zh) * | 2020-04-23 | 2022-09-13 | 内蒙古师范大学 | 一种复杂多边形地理数据存储方向的修正方法及系统 |
CN112069725B (zh) * | 2020-08-03 | 2024-03-08 | 彭涛 | 一种3d打印机高精度切片获取方法及装置 |
CN112270023B (zh) * | 2020-09-18 | 2022-08-30 | 同济大学 | 一种面向建筑3d打印考虑挤出头转向的切片方法 |
CN113500791B (zh) * | 2021-07-19 | 2023-01-24 | 河南科技大学 | 一种基于骨架线的填充路径生成方法 |
CN117261236B (zh) * | 2023-11-16 | 2024-02-27 | 芯体素(杭州)科技发展有限公司 | 直写3d打印的填充路径生成方法、装置和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004951A (zh) * | 2010-10-29 | 2011-04-06 | 西安交通大学 | 一种基于角色关联的角色组划分方法 |
CN102693314A (zh) * | 2012-05-29 | 2012-09-26 | 代松 | 一种基于事件搜索的敏感信息监控方法 |
CN104057611A (zh) * | 2014-06-05 | 2014-09-24 | 浙江大学 | 一种基于扫描线倾角优化的3d打印填充路径生成方法 |
CN104325638A (zh) * | 2014-05-14 | 2015-02-04 | 浙江大学 | 基于分区的3d打印填充路径生成方法 |
-
2017
- 2017-08-24 CN CN201710736250.5A patent/CN107818195B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004951A (zh) * | 2010-10-29 | 2011-04-06 | 西安交通大学 | 一种基于角色关联的角色组划分方法 |
CN102693314A (zh) * | 2012-05-29 | 2012-09-26 | 代松 | 一种基于事件搜索的敏感信息监控方法 |
CN104325638A (zh) * | 2014-05-14 | 2015-02-04 | 浙江大学 | 基于分区的3d打印填充路径生成方法 |
CN104057611A (zh) * | 2014-06-05 | 2014-09-24 | 浙江大学 | 一种基于扫描线倾角优化的3d打印填充路径生成方法 |
Non-Patent Citations (1)
Title |
---|
基于FDM技术的3D打印路径规划技术研究;晁艳艳;《万方数据库》;20170405;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107818195A (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818195B (zh) | 一种基于关联树的3d打印填充路径生成方法 | |
CN104325638B (zh) | 基于分区的3d打印填充路径生成方法 | |
CN109808171B (zh) | 一种面向熔融沉积制造的3d连续路径生成方法 | |
CN103894608B (zh) | 一种三维打印大光斑扫描路径生成方法 | |
CN113561491B (zh) | 基于欧拉回路的生物3d打印路径规划方法 | |
WO2017181497A1 (zh) | 一种基于费马尔螺旋线的3d打印路径规划方法 | |
CN110442994A (zh) | 一种基于图论的3d打印切片处理方法 | |
Fok et al. | An ACO-based tool-path optimizer for 3-D printing applications | |
CN109325316B (zh) | 基于共点焊接排序的stl模型高效并行切层方法 | |
CN109732928B (zh) | 一种实时可变宽度的3d打印路径构造方法 | |
CN106903889A (zh) | 一种stl模型的快速切片算法 | |
CN108388739A (zh) | 一种非匀质仿生结构増材制造方法 | |
CN108058387A (zh) | 一种fdm打印路径的规划方法 | |
CN113434928A (zh) | 一种复杂三维线性结构的参数化建造方法 | |
CN112270023A (zh) | 一种面向建筑3d打印考虑挤出头转向的切片方法 | |
CN107696351A (zh) | 基于等距截面的注射模随形冷却水道拓扑生成方法 | |
CN105427374A (zh) | 一种面向3d打印的模型分解与排列方法 | |
CN107856292A (zh) | 一种基于图像处理进行3d打印的方法 | |
CN108984827B (zh) | 一种基于力流引导的高性能增材制造方法 | |
CN105957138B (zh) | 一种基于装配的家具产品三维建模方法及系统 | |
CN104890236B (zh) | 3d打印的立体光固化快速成型扫描路径排序方法 | |
CN105095155B (zh) | 一种3d打印模型耗材的计算方法 | |
CN105513136A (zh) | 一种基于水平集中心聚类的3d角色模型骨架提取方法 | |
Zhong et al. | As-continuous-as-possible extrusion-based fabrication of surface models | |
CN112464446B (zh) | 基于层间信息继承的金属增材制造路径填充方法 |
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 |