CN110356008B - 一种基于哈希表的散乱线段快速拼接方法 - Google Patents

一种基于哈希表的散乱线段快速拼接方法 Download PDF

Info

Publication number
CN110356008B
CN110356008B CN201910592869.2A CN201910592869A CN110356008B CN 110356008 B CN110356008 B CN 110356008B CN 201910592869 A CN201910592869 A CN 201910592869A CN 110356008 B CN110356008 B CN 110356008B
Authority
CN
China
Prior art keywords
hash table
point
line segments
contour
line segment
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
Application number
CN201910592869.2A
Other languages
English (en)
Other versions
CN110356008A (zh
Inventor
林志伟
冯嘉炜
傅建中
沈洪垚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910592869.2A priority Critical patent/CN110356008B/zh
Publication of CN110356008A publication Critical patent/CN110356008A/zh
Application granted granted Critical
Publication of CN110356008B publication Critical patent/CN110356008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE 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/00Data acquisition or data processing for additive manufacturing

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于哈希表的散乱线段快速拼接方法,包括:(1)输入散乱线段序列;(2)构建链接点对,并将其分别保存到哈希表map中;(3)新建当前轮廓,并从map中找出一个未被使用的链接点作为当前轮廓起点p;(4)将p加入当前轮廓,并根据点p查询当前轮廓下一点d,令p=d;(5)重复步骤(4)直至当前轮廓闭合,将该轮廓添加至轮廓序列;(6)重复步骤(3)~(5),直至map中所有链接点均被使用;(7)输出已拼接的轮廓序列。本发明通过构建线段顶点和哈希表两个特殊数据结构,完整存储线段顶点之间的拓扑关系,通过哈希表查询实现散乱线段的快速拼接,该方法稳定可靠,鲁棒性强。

Description

一种基于哈希表的散乱线段快速拼接方法
技术领域
本发明涉及计算机辅助制造CAM(Computer aided manufacturing)技术领域,尤其是涉及一种三维打印切片散乱线段的快速拼接方法。
背景技术
随着计算机技术、材料成型技术的飞速发展,三维打印技术成为了当前制造领域广泛应用的一种先进制造技术。利用分层制造的原理,三维打印技术逐层堆积材料以得到设计工件形状,特别适合制造具有复杂形状与拓扑的三维零件。三维打印技术主要包含了在计算机上实施的制造工艺规划和在设备上实际制造实体零件成型两个关键技术环节,其中制造工艺规划主要包含三个步骤:首先针对设计输入的三维几何模型,用户需要在计算机实现三维模型的分层切片;其次根据分层切片结果,用户需要生成精确可靠的切片轮廓;最后在切片的轮廓内规划三维打印路径,进而控制设备实施打印成型。
当前三维打印技术领域普遍采用STL模型作为模型数据格式,STL属于一种离散三角面片模型,即用三角面片逼近三维几何模型。一般来说,为了提高模型的精度,用户往往需要大量的三角面片来构建三维模型,而且,这些三角面片在模型中是散乱无序的。对STL模型进行切片分层截交计算后,在每一层截平面上会得到大量散乱线段,如何高效拼接这些散乱线段以生成精确的切片轮廓是提高三维打印工艺规划效率的关键。
暴力法是解决此类散乱线段拼接最直接的方法,它的基本思想是,从任意一条未拼接的线段开始,遍历搜索所有线段集,找到与当前线段相连接的下一条线段。该方法逻辑简单,但是需要多次遍历散乱线段集,时间复杂度为O(n2),其中n为待拼接的线段适量。当切片生成的散乱线段数据量较大时,模型切片层数又较多时,该方法将非常耗时。Lin等人为了解决数控加工中粗加工的路径生成问题,提出了一种基于字典序排序的散乱线段优化连接方法(参见Lin Z,Fu J,Shen H,et al.Efficient cutting area detection inroughing process for meshed surfaces[J].The International Journal of AdvancedManufacturing Technology,2013,69(1-4):525-530),该方法时间复杂度为O(nlogn),但是该方法在处理那些存在表面缺陷的STL模型时可能失效。Feng等人提出一种隐式曲面切片离散线段的快速拼接方法(参见Feng J,Fu J,Lin Z,et al.Layered infill areageneration from triply periodic minimal surfaces for additive manufacturing[J].Computer-Aided Design,2019,107:50-63),该方法利用散乱线段之间的拓扑关系加速拼接过程,时间复杂度为线性,但是该方法只适合于隐式曲面切片离散线段,无法用于通用STL模型切片散乱线段的拼接。
根据文献分析可知,三维STL模型经过切片处理会得到大量散乱线段,对这些散乱线段拼接是生成切片轮廓的关键,现有技术方法在算法鲁棒性和通用性方面等存在一定的问题。
发明内容
为了解决现有三维打印切片散乱线段拼接计算效率低、鲁棒性和适应性不强的缺点,本发明提供了一种基于哈希表的散乱线段快速拼接方法。
该方法通过构建链接点数据结构,存储每条线段每对顶点相互关联的拓扑关系,同时利用哈希表数据结构建立和存储散乱线段之间的重合拓扑关系,利用哈希表查询快速实现散乱线段的拼接。该方法的时间复杂度为O(nlogn),其中n为待拼接的线段数量。该方法稳定可靠,鲁棒性强,适应性广,可以实现三维打印切片散乱线段的快速拼接。
一种基于哈希表的散乱线段快速拼接方法,包括如下步骤:
步骤1:输入散乱线段序列{Li},其中i∈[1,n],n为线段总数,n一般为大于等于3的自然数。
步骤2:对{Li}中每条线段的顶点对,构建链接点对,并将其分别保存到哈希表map中。
步骤3:新建一个多段线作为当前轮廓,并从map中找出一个未被使用的链接点作为当前轮廓起点,记为p。
步骤4:将p加入当前轮廓,并根据点p从map中查询当前轮廓下一点d,令p=d。
步骤5:重复步骤4直至当前轮廓闭合,将该轮廓添加至轮廓序列{Ci}。
步骤6:重复步骤3至步骤5,直至map中所有链接点均被使用。
步骤7:输出已拼接的轮廓序列{Ci}。
以上步骤1中,作为优选,所述散乱线段序列{Li}由使用一张平面截交STL模型中的三角面片得到。
以上步骤1中,所述散乱线段是指那些虽然在平面上散乱无序分布,但在逻辑上可以被拼接成若干封闭轮廓的线段。这些线段的散乱无序特性是由STL模型中三角面片存储的散乱无序特性决定的,它们通过使用一张平面截交STL模型中的三角面片得到。散乱线段拼接问题的难点在于线段的散乱无序特性,在序列中序号相邻的两条线段可能在平面上根本不相邻,甚至不在同一轮廓上。
作为优选,步骤2中,所述链接点数据包括如下信息:
(I)对应顶点的坐标信息;
(II)标识该顶点是否已经被使用的信息;
(III)对应线段中该顶点所指向的另一端点信息。
进一步地,在步骤2中,所述链接点(LinkPoint)数据结构定义如下:structLinkPoint{float x,y,z;bool used;LinkPoint other;},其中实数类型的x、y、z字段为线段一个端点(即线段的顶点)坐标,布尔类型used字段标识了该点是否已经被使用过,它的初始值为False,即未被使用(True为已被使用),LinkPoint类型的引用(指针)other字段用于指向线段的另一端点。按照以上定义,一个链接点既可以表示一个点,也可以表示一条线段。也就是说,每个顶点必然对应一个链接点,而链接点不仅仅包括顶点坐标信息,还包括顶点是否被使用信息以及与该顶点连接的另外一个顶点的信息等。
作为优选,步骤2中,所述哈希表map由键值对组成,其中键为对应的顶点坐标信息,值为与所述坐标信息对应的链接点对。
作为一种选择,所述哈希表map结构定义如下:HashMap<String,List<LinkPoint>>,它事实上是关于字符串和列表数组的键值对,其中键可以是点坐标格式化而来的字符串,值为用于保存链接点本身的列表。对一个链接点LP,如果它的坐标为(1.01,2.02,3.03),则其对应的格式化键为“1.01,2.02,3.03”字符串,在实际操作中,坐标数值保留的小数位数需根据实际情况而定,作为优选,建议小数点后保留7~8位;保存时,将该字符串存入哈希表的键,LP本身存入该键对应的链接点列表中。在散乱线段序列{Li}必然存在端点(或者称为顶点)重合的一组线段。在map中,两个重合的线段端点最终将被保存到同一键下的列表中。除了上述字符串形式外,上述键(或者对应的顶点坐标信息)也可以是由对应顶点坐标转化而成的其他形式的坐标信息,当然也可以直接采用顶点坐标的形式。
进一步地,步骤2中,将任意一条线段L转化为链接点并保存到哈希表的步骤如下:
步骤2.1:取线段L两端点,记为A和B;
步骤2.2:建立两个链接点对象LA和LB,分别从A和B拷贝坐标,得到两个链接点的“对应线段的顶点坐标信息”;
步骤2.3:对“对应线段中该顶点所指向的另一端点信息”,也即other字段关联赋值:LA.other=LB,LB.other=LA;
步骤2.4:将LA和LB分别保存到哈希表map中。两个重合的线段端点最终将组成链接点对被保存到同一键下的列表中。
上述步骤步骤2.2、步骤2.3可以平行进行,也可以按照设定顺序进行,并不限于先进行步骤2.2,再进行步骤2.3。在上述两个步骤前,或者在上述两个步骤中,或者在上述两个步骤后,可以将每个链接点中的“标识该顶点是否已经被使用的信息”设置为未被使用,即,将布尔类型used字段标识为False。
当将{Li}中所有线段整理并保存到哈希表中后,对哈希表map,将保存n个键值对,其中n为{Li}中线段条数,每个键对应的列表将保存来自两条线段的两个重合的链接点。
进一步地,步骤3中,寻找未被使用的链接点的方法如下:遍历哈希表map中各元素,寻找首个used字段值为False的链接点,记找到的点为p。点p即为当前轮廓的起点。
进一步地,步骤4中,根据当前点p在哈希表map中查询当前轮廓下一点的步骤如下:
步骤4.1:从点p定位所在线段另一端点q,q=p.other;
步骤4.2:对p、q的used字段赋True值;
步骤4.3:以q坐标为键在map中查询对应的列表,记为list;
步骤4.4:在list中寻找一个不同于q的点,记为d。在哈希表map中q和d构成一个链接点对。
以上点d即为需要找寻的当前轮廓上的下一个点。在步骤4.4中,得到的list必然包含两个元素,其中一个为q,另一个为与q坐标重合的另一条线段的端点d。本发明方法正是通过这种关系根据当前线段快速寻找到下一条线段的。
进一步地,步骤5中,重复步骤4直至当前轮廓闭合,轮廓闭合的判断方法是轮廓的起点和终点重合,如果当前轮廓已闭合,则将该轮廓添加至轮廓序列{Ci}。也就是说,在步骤5中,需要对当前轮廓是否闭合进行判断:若闭合,则将该轮廓添加至轮廓序列{Ci},进入步骤(6);若没有闭合,则返回步骤4。
进一步地,步骤6中,重复步骤3至步骤5,直至map中所有链接点的used字典值均为True。也就是说,在步骤6中,首先判断map中所有链接点的used字典值是否均为True:若是,进入步骤7;若结果为不是,则返回步骤3,继续进行轮廓的构建。
进一步地,对步骤7,输出当前平面上已拼接的轮廓序列{Ci}。
本发明一种基于哈希表的散乱线段快速拼接方法,具有的有益效果是:
利用一种特定设计的链接点(LinkPoint)数据结构,保存散乱线段顶点之间的相互关联的拓扑关系,同时设计了一种哈希表数据格式,建立并保存线段端点之间的重合关系,继而将散乱线段拼接问题简化为了相邻重合点的哈希表查询问题,在降低了拼接问题时间复杂度的同时还具有较强的鲁棒性。本发明方法稳定可靠,可以高效拼接三维打印切片散乱线段生成精确的切片轮廓。
附图说明
图1为本发明一种基于哈希表的散乱线段快速拼接方法的流程图;
图2为平面上散乱无序的待拼接线段示意图;
图3为哈希表数据结构逻辑示意图;
图4为散乱线段哈希表查询法拼接原理示意图;
图5为通过若干同心圆生成大规模散乱线段示意图;
图6为实施例不同拼接方法的运行时间比较;
图7为实施例输出拼接完成的切片轮廓示意。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
本发明一种基于哈希表的散乱线段快速拼接方法流程图如图1所示,具体实施步骤如下:
步骤101:输入散乱线段序列{Li},其中i∈[1,n]。
如图2所示,散乱线段是指那些虽然在平面上散乱无序分布,但在逻辑上可以被拼接成若干封闭轮廓的线段。散乱线段拼接问题的难点在于线段的散乱无序特性,在线段序列中序号相邻的两条线段可能在平面上根本不相邻,甚至不在同一轮廓上。比如,本发明的散乱线段序列{Li}可以来自于STL模型进行切片分层截交计算后,得到的每层的数据集;这些数据在平面上散乱无序分布,但在逻辑上可以被拼接成若干封闭轮廓。
步骤102:对{Li}中每条线段的顶点对,构建链接点对,并将其分别保存到哈希表map中。
链接点(LinkPoint)数据结构定义如下:struct LinkPoint{float x,y,z;boolused;LinkPoint other;},其中实数类型的x、y、z字段为线段一个顶点(端点)坐标,布尔类型used字段标识了该点是否已经被使用过,它的初始值为False,即未被使用,被使用后,赋值为True,LinkPoint类型的引用(指针)other字段用于指向线段的另一端点。按照以上定义,一个链接点既可以表示一个点,也可以表示一条线段。既包括每个线段顶点的坐标信息,也包括是否被使用过信息,同时还包括该顶点对应的下一顶点信息。
哈希表map结构定义如下:HashMap<String,List<LinkPoint>>,它事实上是关于字符串和列表数组的键值对,如图3所示,其中键为点坐标格式化而来的字符串,值为用于保存链接点本身的列表。当然,本实施例中,键还可以采用由点坐标转化成的其他数据形式,比如可以直接采用坐标的形式,或者其他用由点坐标直接转化的数据形式。对一个链接点LP,如果它的坐标为(1.01,2.02,3.03),则其对应的格式化键为“1.01,2.02,3.03”字符串,在实际操作中,坐标数值保留的小数位数需根据实际情况而定,作为优选,建议小数点后保留7~8位;保存时,将该字符串存入哈希表的键,链接点LP本身存入该键对应的链接点列表中。在map中,两个重合的线段端点最终将被保存到同一键下的列表中。
将散乱线段序列{Li}中任意一条线段L转化为链接点并保存到哈希表的步骤如下:
步骤102-1:取线段L两端点,记为A和B;
步骤102-2:建立两个链接点对象LA和LB,分别从A和B拷贝坐标;并赋予链接点对象LA和LB布尔类型used为False;
步骤102-3:对链接点对象LA和LB的other字段关联赋值:LA.other=LB,LB.other=LA;
步骤102-4:将得到的链接点对象LA和LB分别保存到哈希表map中。即分别将链接点对象LA和LB保存于与A和B坐标对应的键所指向的值中;
当将{Li}中所有线段整理并保存到哈希表中后,对哈希表map,将保存n个键值对,其中n为{Li}中线段条数,每个键对应的列表将保存来自两条线段的两个重合的链接点(具有同样的坐标信息)。
步骤103:新建一个多段线作为当前轮廓,并从哈希表map中找出一个未被使用的链接点作为当前轮廓起点,记为p。
寻找未被使用的链接点的方法如下:遍历哈希表map中各元素,寻找首个used字段值为False的链接点,记找到的链接点对应的点为p。点p即为当前轮廓的起点。
步骤104:将p加入当前轮廓,并根据点p从哈希表map中查询当前轮廓下一点d,令p=d。
结合图3、图4,根据当前点p在哈希表map中查询当前轮廓下一点的步骤如下:
步骤104-1:根据p的other字段信息,定位点p所在线段另一端点q,q=p.other;
步骤104-2:对p、q的used字段赋True值;
步骤104-3:以q的坐标信息为键在哈希表map中查询对应的值列表,记为list;
步骤104-4:在list中寻找一个不同于q的点,记为d。
在q的坐标信息对应的键下,其对应的值q和d构成对应的链接点对,具有相同的坐标信息,与不同的线段相关联;
以上点d即为需要找寻的当前轮廓上的下一个点。在步骤104-4中,得到的list必然包含两个元素,其中一个为q,另一个为与q坐标重合的另一条线段的端点d。本发明方法正是通过这种关系根据当前线段快速寻找到下一条线段的。
步骤105:得到点d后,首先判断当前轮廓是否闭合,若没有闭合,p重新赋值d,即p=d,返回步骤104;若轮廓闭合,将该轮廓添加至轮廓序列{Ci},进入步骤106。
如图4所示,1号点和6号点组成一个链接点对,存储于(x0,y0,z0)确定的键下的值列表中;假如图中0号点为找到的未使用过的轮廓起点,以0号点为当前点出发,可以通过0号点的other字段定位到1号点。然后通过1号点坐标在哈希表map中查询可以得到1号、6号两个点,排除1号点后可得到6号点。然后再以6号点为当前点,与上同理可以定位到7号点和2号点。以此类推,继而可以定位3号、8号、9号、13号等点,直至定位到11号点时,其坐标值与起点0号点重合,判断当前轮廓已闭合。此时将当前轮廓添加至轮廓序列{Ci}中。
步骤106:判断哈希表map中是否存在没有被使用链接点,如果是,则返回步骤103至步骤105,如果否,则哈希表map中所有链接点均被使用,进入步骤107。
步骤107:输出已拼接的轮廓序列{Ci}。
本发明的典型实施实例如下:
1.大规模测试线段构造。如图5所示,在平面上对若干同心圆按照圆心角进行细分,得到一系列离散线段序列。然后通过生成随机数的方式打乱这些离散线段,得到散乱线段序列。这些散乱线段的数量可以通过细分的圆心角角度控制。
2.三种拼接方法测试比较。在装有英特尔Core i7-8700@3.20GHz CPU以及24GB内存的电脑上,运用以上生成的散乱线段数据,测试暴力拼接法、字典序排序拼接法(参见LinZ,Fu J,Shen H,et al.Efficient cutting area detection in roughing process formeshed surfaces[J].The International Journal of Advanced ManufacturingTechnology,2013,69(1-4):525-530)以及本发明哈希表查询拼接法生成轮廓所用的时间。为方便起见,测试程序使用Python语言编写,得到的三种拼接方法的运行时间统计如图6所示。需要说明的是,在测试暴力法运行时间时,由于测试程序运行时间过长(大于2个小时),图中表格用省略号表示对应时间。由图6中表格可知,暴力拼接法最为耗时,当待拼接的散乱线段数超过10万条时,其拼接时间已超2个小时。文献中的字典序排序法和本发明的哈希表查询法的执行速度远远快于暴力法;就两者比较而言,本发明方法的执行效率约是文献中的字典序排序法执行效率的2倍。
3.实际STL模型截交线段拼接测试。选用的STL模型包含的三角面片数约为33万,高度为175.5mm。设置切片厚度为0.2mm,最终得到的切片总层数为877层,截交线段总条数接近87万条,平均每层线段数约988条。对得到的截交线段,使用暴力法拼接的时间约为975秒,超过16分钟;使用字典序排序法拼接的时间约为13.1秒,使用本发明哈希表查询法拼接的时间约为8.8秒。对该模型,截交、拼接后最终得到的切片轮廓如图7所示。通过以上数据比较,本发明方法也能胜任实际三维打印路径规划的应用环境,且性能优于文献中的字典序排序拼接法。
本发明方法通过构建线段顶点和哈希表两个特殊数据结构,完整存储线段顶点之间的拓扑关系,通过哈希表查询实现散乱线段的快速拼接,本发明方法稳定可靠,鲁棒性强,可以高效生成三维打印切片轮廓。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的一般技术人员来说,本发明还可以有各种更改和变化。在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于哈希表的散乱线段快速拼接方法,其特征在于,包括如下步骤:
(1)输入散乱线段序列{Li},其中i∈[1,n],n为线段总数;
(2)对{Li}中每条线段的顶点对,构建链接点对,并将其分别保存到哈希表map中;
(3)新建当前轮廓,从哈希表map中找出一个未被使用的链接点作为当前轮廓起点,记为p;
(4)将p加入当前轮廓,并根据点p以及哈希表map得到当前轮廓下一点d,令p=d;
(5)重复步骤4直至当前轮廓闭合,将该轮廓添加至轮廓序列{Ci};
(6)重复步骤(3)至步骤(5),直至哈希表map中所有链接点均被使用;
(7)输出已拼接的轮廓序列{Ci};
步骤(2)中,所述链接点对包括如下信息:
(I)对应顶点的坐标信息;
(II)标识该顶点是否已经被使用的信息;
(III)对应线段中该顶点所指向的另一端点信息。
2.根据权利要求1所述的基于哈希表的散乱线段快速拼接方法,其特征在于,步骤(2)中,所述哈希表map由键值对组成,其中键为对应的顶点坐标信息,值为具有相同坐标的链接点对。
3.根据权利要求2所述的基于哈希表的散乱线段快速拼接方法,其特征在于,步骤(2)中,对{Li}中每条线段的顶点对,构建链接点对,并将其分别保存到哈希表map中的步骤如下:
步骤2.1:取{Li}中任一线段L两顶点,记为A和B;
步骤2.2:建立两个链接点对象LA和LB;
步骤2.3:将构建的链接点LA和链接点LB分别保存到哈希表map中。
4.根据权利要求1所述的基于哈希表的散乱线段快速拼接方法,其特征在于,步骤(3)中,寻找未被使用的链接点的方法是:遍历哈希表map,寻找首个未被使用的链接点。
5.根据权利要求3所述的基于哈希表的散乱线段快速拼接方法,其特征在于,步骤(4)中,根据当前点p在哈希表map中查询当前轮廓下一点的步骤如下:
步骤4.1:从点p定位所在线段另一端点q;
步骤4.2:对p、q标注为已被使用;
步骤4.3:以q坐标信息对应的键在哈希表map中查询对应的值列表;
步骤4.4:在值列表中寻找一个不同于q的点,记为d。
6.根据权利要求1所述的基于哈希表的散乱线段快速拼接方法,其特征在于,所述散乱线段序列{Li}由使用一张平面截交STL模型中的三角面片得到。
CN201910592869.2A 2019-07-03 2019-07-03 一种基于哈希表的散乱线段快速拼接方法 Active CN110356008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910592869.2A CN110356008B (zh) 2019-07-03 2019-07-03 一种基于哈希表的散乱线段快速拼接方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910592869.2A CN110356008B (zh) 2019-07-03 2019-07-03 一种基于哈希表的散乱线段快速拼接方法

Publications (2)

Publication Number Publication Date
CN110356008A CN110356008A (zh) 2019-10-22
CN110356008B true CN110356008B (zh) 2020-07-10

Family

ID=68217850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910592869.2A Active CN110356008B (zh) 2019-07-03 2019-07-03 一种基于哈希表的散乱线段快速拼接方法

Country Status (1)

Country Link
CN (1) CN110356008B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783260A (zh) * 2020-08-14 2020-10-16 广东科学技术职业学院 一种面向stl文件的截面轮廓线段连接方法
CN114103126B (zh) * 2021-11-26 2022-11-18 南京衍构科技有限公司 一种不等壁厚回转体3d打印扫描填充路径规划方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2757736A1 (en) * 2013-01-19 2014-07-23 Fabulonia OÜ Secure streaming method in a numerically controlled manufacturing system, and a secure numerically controlled manufacturing system
CN103838907A (zh) * 2013-09-13 2014-06-04 上海大学 基于stl模型的曲面切割轨迹获得方法
JP6569389B2 (ja) * 2015-08-24 2019-09-04 大日本印刷株式会社 ポリゴンモデル構造化装置および立体物造形用データ削減装置
CN109325316B (zh) * 2018-11-15 2020-05-26 南京理工大学 基于共点焊接排序的stl模型高效并行切层方法
CN109571961B (zh) * 2018-11-19 2021-01-15 上海理工大学 一种复杂非均质体参数化模型的切片及支撑点获取方法

Also Published As

Publication number Publication date
CN110356008A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110356008B (zh) 一种基于哈希表的散乱线段快速拼接方法
CN109446607A (zh) 船舶分段零件三维标注方法、电子装置及存储介质
CN111459799A (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
CN109872396B (zh) 一种适用于三角网格模型的快速截面轮廓生成方法
CN105550225A (zh) 索引构建方法、查询方法及装置
CN102722554A (zh) 位置敏感哈希随机性减弱方法
CN103838907A (zh) 基于stl模型的曲面切割轨迹获得方法
US5572637A (en) Process for merging CAD vector files and automatically removing duplicate and obsolete patterns
KR102465451B1 (ko) 가공 특성 기반의 공정 지식 푸시 방법
CN110795835A (zh) 一种基于自动同步建模的三维工序模型逆向生成方法
US7333104B2 (en) Method and program of converting three-dimensional shape data into cell internal data
CN114491200A (zh) 基于图神经网络的异源兴趣点匹配方法和装置
CN110059210A (zh) 一种带拓扑的矢量地图瓦片组织方法
CN112734934A (zh) 一种基于相交边映射的stl模型3d打印切片方法
Arge et al. Cache-oblivious planar orthogonal range searching and counting
Li et al. Research and application of computer aided design system for product innovation
Zhang et al. Ring: An integrated method for frequent representative subgraph mining
CN110489448A (zh) 基于Hadoop的大数据关联规则的挖掘方法
Liu et al. Research on hybrid index based on 3D multi-level adaptive grid and R+ Tree
CN108509618A (zh) 一种基于空间填充曲线的大数据多维数据索引方法
CN110619134B (zh) 解决路网数据飞点、点密度问题一体化检测及修复方法
CN114444185A (zh) 原位标注的识别方法、装置及电子设备
CN110633517B (zh) 一种用于三维场景的高效切片方法
CN109685453B (zh) 智能识别工作流有效路径的方法
CN111078683A (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