CN104331555A - Slicing processing method aiming at non-closed STL model with boundaries - Google Patents
Slicing processing method aiming at non-closed STL model with boundaries Download PDFInfo
- Publication number
- CN104331555A CN104331555A CN201410605438.2A CN201410605438A CN104331555A CN 104331555 A CN104331555 A CN 104331555A CN 201410605438 A CN201410605438 A CN 201410605438A CN 104331555 A CN104331555 A CN 104331555A
- Authority
- CN
- China
- Prior art keywords
- slice
- edge
- boundary
- closed
- triangle
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 238000000605 extraction Methods 0.000 claims abstract description 10
- 239000012634 fragment Substances 0.000 claims description 38
- 238000007639 printing Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000010146 3D printing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000465 moulding Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008021 deposition Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 239000002861 polymer material Substances 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 229920001169 thermoplastic Polymers 0.000 description 1
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向3D打印的针对带有边界的非封闭STL模型的切片处理方法。该方法包括以下步骤:提取STL模型中三角形的点、边和面信息并建立其间的拓扑关系;根据边界边判断规则提取所有边界边;对非封闭网格进行分层切片处理,获得非封闭的二维多边形;对多边形偏置处理后的可打印的内外轮廓线进行路径优化,以减少空行程;由切片文件输出通用的Gcode文件,供3D打印机读取并打印。本发明首次从边界提取的角度提出了针对输入为非封闭STL模型的切片方法,打破了传统3D打印中只能对封闭STL模型进行切片处理的桎梏,实现了对带有边界的非封闭STL模型切片处理,使得非封闭STL模型可以直接打印成型。
The invention discloses a 3D printing-oriented slice processing method for a non-closed STL model with boundaries. The method includes the following steps: extracting point, edge and surface information of triangles in the STL model and establishing the topological relationship among them; extracting all boundary edges according to the boundary edge judgment rules; performing layered slice processing on the non-closed grid to obtain the non-closed grid Two-dimensional polygon; path optimization is performed on the printable inner and outer contour lines after polygon offset processing to reduce empty travel; the general Gcode file is output from the slice file for 3D printers to read and print. The invention proposes a slicing method for non-closed STL models from the perspective of boundary extraction for the first time, breaking the shackles of only closed STL models in traditional 3D printing, and realizing non-closed STL models with boundaries Slicing processing enables non-closed STL models to be printed directly.
Description
技术领域technical field
本发明涉及计算机集成制造领域,具体涉及一种针对带有边界的非封闭STL模型的切片处理方法。The invention relates to the field of computer integrated manufacturing, in particular to a slice processing method for non-closed STL models with boundaries.
背景技术Background technique
3D打印技术是一项具有前沿性、先导性的新兴技术,特别适用于小批量、个性化、结构复杂,原材料昂贵的生产制造。随着3D打印技术的发展,传统的生产方式和生产工艺将发生深刻的变革,设计、建筑、航天、医学、教育等行业也将受到深远的影响。《经济学人》杂志2012年将3D打印技术称为“第三次工业革命的重要标志”,认为其是推动新一轮工业革命的重要契机,已经引起全世界的广泛关注。3D printing technology is a cutting-edge and leading emerging technology, especially suitable for small batch, personalized, complex structure and expensive raw material manufacturing. With the development of 3D printing technology, traditional production methods and production processes will undergo profound changes, and industries such as design, architecture, aerospace, medicine, and education will also be profoundly affected. "The Economist" magazine called 3D printing technology "an important symbol of the third industrial revolution" in 2012, and believed that it is an important opportunity to promote a new round of industrial revolution, which has attracted widespread attention from all over the world.
熔融沉积型(Fused Deposition Modeling)三维打印技术是3D打印技术的一种,采用离散/堆积原理,在计算机的控制下把三维模型直接制造成三维实体。基本原理是加热喷头在计算机的控制下,将热塑性聚合物材料加热熔化,使其在熔融状态下从喷嘴挤出,靠高温挤出丝材的自粘结性逐层堆积成形。其中,计算机处理的任务是:切片处理与指令传送。切片处理是将STL网格模型分层求交,以得到可以打印的二维轮廓,然后合理的规划打印路径。指令传送是把这系列动作传送到硬件,并提供控制其他功能的控制界面。主流的商业化3D打印客户端软件,如Slic3r、Makeware等都集成了这两大功能模块,其中最核心的是切片处理模块(切片引擎),针对STL模型的切片算法则是切片处理的关键。Fused Deposition Modeling (Fused Deposition Modeling) 3D printing technology is a kind of 3D printing technology, which adopts the principle of discrete/accumulation, and directly manufactures a 3D model into a 3D entity under the control of a computer. The basic principle is that the heating nozzle heats and melts the thermoplastic polymer material under the control of the computer, so that it is extruded from the nozzle in a molten state, and is formed layer by layer by the self-bonding of the high-temperature extruded wire. Among them, the tasks processed by the computer are: slice processing and instruction transmission. The slicing process is to intersect the STL grid model in layers to obtain a 2D outline that can be printed, and then plan the printing path reasonably. Command transmission is to transmit this series of actions to the hardware and provide a control interface to control other functions. Mainstream commercial 3D printing client software, such as Slic3r and Makeware, have integrated these two functional modules, the core of which is the slicing processing module (slicing engine), and the slicing algorithm for STL models is the key to slicing processing.
现有的切片处理算法要求输入的模型必须是封闭的三角网格,无法直接对非封闭的三角网格进行切片处理。然而在实际应用中,某些通过扫描、建模、以及编辑和修改后的模型,如布料、叶片、分割后的局部模型等都是一类带有边界的非封闭STL(STereo Lithography)模型针对输入为非封闭的STL模型,对其直接进行切片处理,生成的切片文件可实际打印,这对于推动三维打印的普及应用有重要意义。Existing slicing algorithms require that the input model must be a closed triangular mesh, and cannot directly slice a non-closed triangular mesh. However, in practical applications, some models that have been scanned, modeled, edited and modified, such as cloth, leaves, and segmented local models, are a class of non-closed STL (STereo Lithography) models with boundaries. The input is an unclosed STL model, which is directly sliced, and the generated slice files can be actually printed, which is of great significance for promoting the popularization and application of 3D printing.
发明内容Contents of the invention
为了解决现有的切片处理算法限制输入的模型必须是封闭的三角网格的问题,本发明提供一种针对带有边界的非封闭STL模型的切片处理方法,通过边界提取使得切片处理可以生成非封闭的二维多边形,并根据非封闭STL模型的成型特点对二维多边形偏置处理后的内外轮廓线作了路径优化,以提高成型效率。In order to solve the problem that the existing slice processing algorithm restricts the input model to be a closed triangular mesh, the present invention provides a slice processing method for non-closed STL models with boundaries, which enables slice processing to generate non-closed STL models through boundary extraction. Closed two-dimensional polygon, and according to the forming characteristics of the non-closed STL model, the path optimization of the inner and outer contour lines of the two-dimensional polygon after offset processing is carried out to improve the forming efficiency.
本发明采取的技术方案如下:The technical scheme that the present invention takes is as follows:
一种针对带有边界的非封闭STL模型的切片处理方法,包括以下步骤:A slice processing method for non-closed STL models with boundaries, comprising the following steps:
步骤1、提取STL模型中三角形面片的点、边和面信息,并建立点、边和面信息间的拓扑关系;Step 1, extracting the point, edge and surface information of the triangular patch in the STL model, and establishing the topological relationship between the point, edge and surface information;
拓扑关系的点、边和面的数据结构组成分别为:The data structures of the points, edges and faces of the topological relationship are as follows:
点数据结构包括点坐标和与点邻接的面的索引值;The point data structure includes the point coordinates and the index value of the surface adjacent to the point;
面数据结构包括邻接点的索引值和邻接面的索引值;The surface data structure includes the index value of the adjacent point and the index value of the adjacent surface;
边数据结构包括边的索引值、边的邻接面索引值和两个邻接点的索引值。The edge data structure includes the index value of the edge, the index value of the adjacent surface of the edge and the index value of two adjacent points.
步骤2、利用拓扑关系,依据边界边判断规则提取出STL模型的所有边界边;Step 2. Using the topological relationship, extract all the boundary edges of the STL model according to the boundary edge judgment rules;
①遍历所有的三角形面片的各条边,根据边界边的判断规则,若一条边其邻接三角面片的个数为1,即为边界边;①Traverse all the edges of the triangular facets, according to the judgment rules of the boundary edge, if the number of adjoining triangular faces of an edge is 1, it is the boundary edge;
②将所有提取的边界边按边界边的数据结构形式重新存储起来,以便于查找和访问。②Restore all the extracted boundary edges according to the data structure of boundary edges, so as to facilitate search and access.
边界提取规则为:The boundary extraction rules are:
设三角网格曲面为M=(vi,vj,…vn),M中的任意顶点为vi=(xi,yi,zi),如果三角网格曲面M中的某两个顶点所连接的边edge(vi,vj)为某个三角面片Δvivjvk的边,则称边edge(vi,vj)为Δvivjvk的邻接边。以L(vi,vj)表示所有包含边edge(vi,vj)的三角面片的集合。对于边edge(vi,vj),其邻接三角面片的个数用|L(vi,vj)|表示。如果一条边所关联的邻接三角形的数目为1,则该边为边界边。若一条边所关联的邻接三角形的数目为2,则称之为内边。同时,边界边的2个顶点为边界点,拥有1个或两个边界点的三角形称之为边界三角形。Let the triangular mesh surface be M=(v i ,v j ,…v n ), any vertex in M is v i =( xi ,y i , zi ), if two of the triangular mesh surface M The edge edge(v i , v j ) connected by vertices is the edge of a triangular patch Δv i v j v k , then the edge edge(v i , v j ) is called the adjacent edge of Δv i v j v k . Let L(v i ,v j ) represent the set of all triangular faces containing edge(v i ,v j ). For an edge edge(v i , v j ), the number of its adjacent triangular faces is represented by |L(v i , v j )|. An edge is a boundary edge if the number of adjacent triangles associated with it is 1. If the number of adjacent triangles associated with an edge is 2, it is called an inner edge. At the same time, the two vertices of the boundary edge are boundary points, and a triangle with one or two boundary points is called a boundary triangle.
边界提取规则的表达式为:The expression of the boundary extraction rule is:
BoundaryEdge: {edge(vi,vj)|if:|L(vi,vj)|=1},BoundaryEdge: {edge(v i ,v j )|if:|L(v i ,v j )|=1},
其中xi,yi,zi为顶点vi的坐标;vi,vj,…vn表示空间中三角网格模型上的点;Among them, x i , y i , z i are the coordinates of vertex v i ; v i , v j ,...v n represent points on the triangular mesh model in space;
边edge(vi,vj)为Δvivjvk的邻接边,L(vi,vj)表示所有包含边edge(vi,vj)的三角面片的集合,|L(vi,vj)|表示其邻接三角面片的个数,若一条边其邻接三角面片的个数为1,即为边界边。Edge(v i ,v j ) is the adjacent edge of Δv i v j v k , L(v i ,v j ) represents the set of all triangular patches containing edge(v i ,v j ), |L( v i , v j )|indicates the number of adjacent triangular faces, if the number of adjacent triangular faces of an edge is 1, it is a boundary edge.
步骤3、对非封闭网格进行分层切片处理,获得非封闭的二维多边形,具体包括以下步骤:Step 3. Perform layered slice processing on the non-closed grid to obtain a non-closed two-dimensional polygon, which specifically includes the following steps:
①根据切片精度得到模型的切片总层数n和所有的切片平面zi(i=1,2…n);①According to the slicing accuracy, obtain the total number of slicing layers n and all slicing planes z i (i=1,2...n) of the model;
②读取STL模型的一个三角形面片,根据该三角形各点z坐标的最大值zmax、最小值zmin以及切片精度,反求与三角形相交的K个切片平面zj,1≤j≤n;②Read a triangle surface of the STL model, according to the maximum value z max , the minimum value z min and the slice precision of the z coordinates of each point of the triangle, inversely calculate the K slice planes z j that intersect the triangle, 1≤j≤n ;
③获取切片平面与三角形面片相交的切片片段,为切片片段添加用于指示切片片段顶点是否在边界边上的指示信息:读取一个相交切片平面zj并计算交点,得到一个属于该三角形的切片片段(切片平面与三角形面片相交的线段,需要建立片段数据结构),为该切片片段添加指示信息BorderFlag。根据该三角形的面片索引,查找边界边集合中是否存在边界边属于该三角面片。若存在,则计算是否有片段顶点在边界边上,在边界边上则BorderFlag置为True,不在则置为False。若不存在,则BorderFlag直接置为False;③ Obtain the slice segment where the slice plane intersects the triangle surface, and add indication information for the slice segment to indicate whether the vertex of the slice segment is on the boundary edge: read an intersecting slice plane z j and calculate the intersection point, and obtain a For slice fragments (the line segment where the slice plane intersects the triangle surface, a fragment data structure needs to be established), add the instruction information BorderFlag for the slice fragment. According to the patch index of the triangle, find out whether there is a boundary edge belonging to the triangle patch in the boundary edge set. If it exists, calculate whether there is a fragment vertex on the border edge, and set BorderFlag to True if it is on the border edge, or set it to False if it is not. If it does not exist, BorderFlag is directly set to False;
其中,获取切片片段包括以下步骤:Among them, obtaining slice fragments includes the following steps:
(a)切片片段的方向D由分层方向Z和三角形的法矢N的矢量积确定:(a) The direction D of the slice segment is determined by the vector product of the layer direction Z and the normal vector N of the triangle:
D=Z×ND=Z×N
其中,Z为分层方向,N为三角形面片的法矢;Among them, Z is the layering direction, and N is the normal vector of the triangle patch;
切片片段顶点依次顺序连接形成二维多边形,二维多边形(二维多边形轮廓线)即为切片平面与三角网格模型在空间中相交后形成的一条多边形轮廓。The vertices of the slice segments are sequentially connected to form a two-dimensional polygon, and the two-dimensional polygon (two-dimensional polygon outline) is a polygon outline formed after the intersection of the slice plane and the triangular mesh model in space.
(b)分层平面(切片平面)和三角形面片交点的计算:(b) Calculation of the intersection point of the layered plane (slicing plane) and the triangular patch:
P(t)=p+t(q-p),t∈[0,1]P(t)=p+t(q-p), t∈[0,1]
其中,Z=h为分层平面高度,p=(xp,yp,zp),q=(xq,yq,zq)为三角形一条边的两个顶点,zq表示笛卡尔空间坐标系下点p=(xp,yp,zp)的Z坐标;zp表示笛卡尔空间坐标系下点q=(xq,yq,zq)的Z坐标。Among them, Z=h is the layered plane height, p=(x p ,y p ,z p ), q=(x q ,y q ,z q ) are the two vertices of one side of the triangle, z q means Cartesian The Z coordinate of point p=(x p , y p , z p ) in the space coordinate system; z p represents the Z coordinate of point q=(x q , y q , z q ) in the Cartesian space coordinate system.
分层平面与三角形面片的交点为切片平面与每个三角面片的相交的点。The intersection points of the layering plane and the triangle patches are the intersection points of the slice plane and each triangle patch.
(c)三角形求交后所得切片片段的数据结构为:(c) The data structure of the slice segment obtained after triangle intersection is:
切片片段的数据结构包括片段起始点、面索引、片段是否已加入多边形和边界片段标示。The data structure of a slice segment includes the segment start point, face index, whether the segment has been added to a polygon, and the boundary segment flag.
④记录步骤③切片片段所属的三角形面片索引信息,遍历获取K个切片平面与三角形面片的所有切片片段:如果K个切片平面与该三角面片的求交都计算完毕,则执行下一步;否则转②,读取下一个与该三角形相交的平面;④ Recording step ③ The index information of the triangle patch to which the slice segment belongs, traverse to obtain all the slice segments of K slice planes and triangle faces: if the calculation of the intersection between K slice planes and the triangle face is completed, go to the next step ;Otherwise go to ②, read the next plane that intersects with the triangle;
⑤按层存储切片平面与三角形面片的所有相交的切片片段:按层存储该三角形面片的所有相交切片片段,并转①;如果所有三角形面片都求交处理完毕,则转下一步;⑤ Store all intersecting slice fragments between the slice plane and the triangle facet by layer: store all the intersecting slice fragments of the triangle facet by layer, and turn to ①; if all the triangle facets have been intersected and processed, go to the next step;
⑥遍历所有切片片段的指示信息,获取二维多边形的起始连接点:读取第i=i+1层的所有切片片段(从i=0开始),判断该层中是否有BorderFlag为True的片段。若存在,则取出轮廓线方向第一个BorderFlag为True的片段,并将该片段所属三角面片置为当前面片;若没有,表示该层是封闭的,取出轮廓线方向上任意一个切片片段,并将该片段所属三角面片置为当前面片;⑥Traverse the indication information of all slices and obtain the initial connection point of the two-dimensional polygon: read all the slices of the i=i+1 layer (starting from i=0), and judge whether there is a BorderFlag in this layer whose BorderFlag is True fragment. If it exists, take out the segment whose BorderFlag is True in the direction of the contour line, and set the triangle patch to which the segment belongs as the current patch; if not, it means that the layer is closed, and take out any slice segment in the direction of the contour line , and set the triangular patch to which the fragment belongs as the current patch;
⑦判断邻接面是否存在切片片段:读取当前面片的一个邻接面,判断该邻接面是否存在第i层的片段。若不存在,直接转⑧;若存在,则判断该片段是否已经加入到多边形中。若已经加入到多边形中,则转⑧;若没有加入到多边形中,则该片段加入至多边形中,并把该面片置为当前面片,转⑨;⑦ Judging whether there is a slice fragment on the adjacent surface: read an adjacent surface of the current patch, and judge whether there is a fragment of the i-th layer on the adjacent surface. If it does not exist, go directly to ⑧; if it exists, judge whether the segment has been added to the polygon. If it has been added to the polygon, turn to ⑧; if it has not been added to the polygon, add the segment to the polygon, and set the patch as the current patch, turn to ⑨;
⑧遍历所有邻接面是否存在切片片段;判断邻接面是否遍历完毕,若没有遍历完毕,则转⑦;若遍历完毕,则转下一步;⑧Traverse all the adjacent faces to see if there are slices; judge whether the adjacent faces have been traversed, if not, go to ⑦; if traversed, go to the next step;
⑨某一层切片片段的顶点多个成对出现的在边界边上时,以指示信息为真的切片片段所在的三角形面片为起始面片连接二维多边形:判断该邻接面中片段指示信息BorderFlag是否为True。若不为True,则执行下一步;若为True,则判断轮廓线方向是否存在下一个BorderFlag=True的片段。若存在则将该片段置为当前面片,并转⑦;若不存在,则执行下一步;⑨When multiple vertices of a layer slice segment appear in pairs on the boundary edge, use the triangular face where the slice segment is located as the indication information is true as the starting face to connect the two-dimensional polygon: judge the segment indication in the adjacent face Information whether BorderFlag is True. If it is not True, execute the next step; if it is True, judge whether there is a next segment with BorderFlag=True in the direction of the contour line. If it exists, set the segment as the current patch, and go to ⑦; if it does not exist, perform the next step;
⑩遍历所有切片层,每层形成一个二维多边形:判断是否遍历完该层所有片段。若没有遍历完毕,则转⑦;若遍历完毕,则存储该层所有的非封闭多边形或者封闭多边形。判断是否i≤n,若是则转⑥,否则算法结束。⑩ Traversing all slice layers, each layer forms a two-dimensional polygon: judge whether to traverse all segments of this layer. If the traversal is not completed, go to ⑦; if the traversal is completed, store all non-closed polygons or closed polygons of this layer. Determine whether i≤n, if so, go to ⑥, otherwise the algorithm ends.
步骤4、对多边形偏置处理后的可打印内外轮廓线进行路径优化,以减少空行程,方法包括以下步骤:Step 4. Perform path optimization on the printable inner and outer contour lines after polygon offset processing to reduce empty travel. The method includes the following steps:
①利用多边形偏置处理库对生成的二维的多边形进行多边形偏置处理(Offset),生成可打印的内轮廓和外轮廓;① Use the polygon offset processing library to perform polygon offset processing (Offset) on the generated two-dimensional polygons to generate printable inner and outer contours;
②对生成的可打印的内轮廓和外轮廓进行路径优划,其中路径优化的策略为:② Perform path optimization on the generated printable inner and outer contours, where the path optimization strategy is:
A.同一层内相邻轮廓线扫描方向相反;A. The scanning directions of adjacent contour lines in the same layer are opposite;
B.相邻层轮廓线扫描的次序相反;B. The order of scanning the contour lines of adjacent layers is reversed;
C.相邻层同一轮廓扫描方向相反。C. The scanning directions of the same contour of adjacent layers are opposite.
步骤5、由切片文件输出通用的Gcode文件,供3D打印机读取并打印。Step 5. Output the general Gcode file from the slice file for reading and printing by the 3D printer.
较优地,步骤2、边界边的数据结构组成为:边界边的数据结构包括:边界边一端顶点的索引值、边界边另一端顶点的索引值、所属面片索引。Preferably, in step 2, the data structure of the boundary edge is composed of: the data structure of the boundary edge includes: the index value of the vertex at one end of the boundary edge, the index value of the vertex at the other end of the boundary edge, and the index of the patch to which it belongs.
较优地,步骤3的第⑤步的按层存储的相交切片片段的数据结构包括每层的片段集合和片段与对应的面索引。Preferably, the data structure of intersecting slice fragments stored by layer in Step 5 of Step 3 includes a collection of fragments and fragments and corresponding face indexes of each layer.
本发明采用了基于拓扑信息的切片方法,从边界信息提取的角度解决了一种带边界的非封闭STL模型的切片处理问题,打破了现有的切片处理算法只能针对封闭STL模型切片处理的局限。本发明还从提高了成型效率的角度,采用不同于封闭STL模型的轮廓扫描策略,针对带边界的非封闭STL模型的成型特点作了轮廓线扫描的路径优化。本发明既解决了非封闭STL模型的切片处理问题,又从实际应用角度提高了成型效率,这对于推动三维打印的普及应用有重要价值。The present invention adopts a slicing method based on topological information, solves the problem of slicing processing of a non-closed STL model with boundaries from the perspective of boundary information extraction, and breaks the existing slicing processing algorithm that can only be processed for closed STL model slices limited. From the perspective of improving the molding efficiency, the present invention adopts a contour scanning strategy different from the closed STL model, and optimizes the contour scanning path according to the molding characteristics of the non-closed STL model with boundaries. The invention not only solves the problem of slice processing of non-closed STL models, but also improves the molding efficiency from the perspective of practical application, which is of great value in promoting the popularization and application of three-dimensional printing.
本发明根据STL模型的边界边的信息,结合基于拓扑关系信息的切片方法对非封闭网格进行分层切片处理,获得非封闭的二维多边形;通过对STL模型分层切片,遍历迭代获取所有层的切片片段,并按轮廓线方向连接每层的切片片段According to the boundary edge information of the STL model, the present invention combines the slicing method based on topological relationship information to perform hierarchical slicing processing on non-closed grids to obtain non-closed two-dimensional polygons; through layered slicing of the STL model, all Layer slice fragments, and connect the slice fragments of each layer in the direction of the outline
附图说明Description of drawings
图1是本发明一种针对带有边界的非封闭STL模型的切片处理方法流程示意图;Fig. 1 is a schematic flow chart of a slice processing method for a non-closed STL model with boundaries according to the present invention;
图2(a)拓扑关系的点数据结构示意图;Figure 2 (a) Schematic diagram of the point data structure of the topological relationship;
图2(b)拓扑关系的面数据结构示意图;Fig. 2 (b) schematic diagram of surface data structure of topological relationship;
图2(c)拓扑关系的边数据结构示意图;Figure 2(c) schematic diagram of the edge data structure of the topological relationship;
图3是描述边界边的数据结构图示;Fig. 3 is an illustration of a data structure describing a border edge;
图4为边界点和边界边的示意图;Fig. 4 is a schematic diagram of a boundary point and a boundary edge;
图5是分层切片算法的流程图;Fig. 5 is the flowchart of layered slicing algorithm;
图6是分层切片中二维多边形生成过程的演示图;Fig. 6 is a demonstration diagram of a two-dimensional polygon generation process in a layered slice;
图7(a)切片平面与三角形面片相交的轮廓线的演示图;Figure 7(a) Demonstration diagram of the contour line where the slice plane intersects with the triangle patch;
图7(b)切片平面与三角形面片相交的轮廓线方向的示意图;Figure 7(b) Schematic diagram of the direction of the contour line where the slice plane intersects with the triangle patch;
图8(a)是路径优化策略同一层内顺序逆序交替结合的演示图;Fig. 8(a) is a demonstration diagram of alternate combination of sequence and reverse order in the same layer of path optimization strategy;
图8(b)是路径优化策略相邻层的扫描结果的演示图;Fig. 8 (b) is a demonstration diagram of the scanning result of the adjacent layer of the path optimization strategy;
图9是切片处理后实际的打印测试结果展示图:(a)为基于封闭模型打印的正面展示图,(b)为基于封闭模型打印的反面展示图,(c)为本发明针对带有边界的非封闭STL模型的切片处理的正面展示图;(d)为本发明带有边界的非封闭STL模型的切片处理的反面展示图。Fig. 9 is the display diagram of actual printing test results after slicing processing: (a) is the front display diagram based on the closed model printing, (b) is the reverse display diagram based on the closed model printing, (c) is the present invention for printing with boundaries The front display diagram of the slicing processing of the non-closed STL model; (d) is the reverse display diagram of the slicing processing of the non-closed STL model with boundaries in the present invention.
具体实施方式detailed description
下面结合附图和具体实施例对本发明作进一步详细描述。The present invention will be described in further detail below in conjunction with the accompanying drawings and specific embodiments.
下面结合附图对本发明做进一步说明。The present invention will be further described below in conjunction with the accompanying drawings.
如图1所示,一种针对带有边界的非封闭STL模型的切片处理方法,包括以下步骤:As shown in Figure 1, a slice processing method for non-closed STL models with boundaries includes the following steps:
步骤1,输入STL模型,提取STL模型中三角形的点、边和面信息并建立其间的拓扑关系,描述拓扑信息的数据结构如图2(a)、2(b)、2(c)示;述拓扑关系的点、边和面的数据结构组成分别为:点数据结构包括点坐标vertice和与点邻接的面的索引值faceIndexList;面数据结构包括邻接点的索引值index[0]、index[1]、index[2]、和邻接面的索引值touching[0]、touching[1]、touching[2];边数据结构包括边的索引值Edgeindex、边的邻接面索引值AdjacentFace[0]、AdjacentFace[1]和两个邻接点的索引值AdjacentVertice[0]、AdjacentVertice[1]。Step 1, input the STL model, extract the point, edge and surface information of the triangle in the STL model and establish the topological relationship among them, the data structure describing the topological information is shown in Figure 2(a), 2(b), 2(c); The data structures of the points, edges and faces of the topological relationship are as follows: the point data structure includes the point coordinate vertice and the index value faceIndexList of the face adjacent to the point; the face data structure includes the index values index[0], index[ 1], index[2], and the index values of the adjacent faces touching[0], touching[1], touching[2]; the edge data structure includes the edge index value Edgeindex, the edge adjacent face index value AdjacentFace[0], AdjacentFace[1] and the index values AdjacentVertice[0] and AdjacentVertice[1] of two adjacent points.
拓扑关系的点、边和面的数据结构为The data structure of the points, edges and faces of the topological relationship is
步骤2,根据边界判断规则提取出模型的所有边界边,描述边界边的数据结构如图3所示,边界提取的方法如下:Step 2: Extract all the boundary edges of the model according to the boundary judgment rules. The data structure describing the boundary edges is shown in Figure 3. The method of boundary extraction is as follows:
①遍历所有的三角形面片的各条边,根据边界边的判断规则,若一条边其邻接三角面片的个数为1,即为边界边;①Traverse all the edges of the triangular facets, according to the judgment rules of the boundary edge, if the number of adjoining triangular faces of an edge is 1, it is the boundary edge;
②将所有提取的边界边按边界边的数据结构形式重新存储起来,以便于查找和访问。②Restore all the extracted boundary edges according to the data structure of boundary edges, so as to facilitate search and access.
如图4所示,边界点和边界边的关系,连接边界点形成边界边,边界提取规则为:As shown in Figure 4, the relationship between boundary points and boundary edges, connecting boundary points to form boundary edges, the boundary extraction rules are:
设三角网格曲面为M=(vi,vj,…vn),M中的任意顶点为vi=(xi,yi,zi),如果三角网格曲面M中的某两个顶点所连接的边edge(vi,vj)为某个三角面片Δvivjvk的边,则称边edge(vi,vj)为Δvivjvk的邻接边。以L(vi,vj)表示所有包含边edge(vi,vj)的三角面片的集合。对于边edge(vi,vj),其邻接三角面片的个数用|L(vi,vj)|表示。如果一条边所关联的邻接三角形的数目为1,则该边为边界边。若一条边所关联的邻接三角形的数目为2,则称之为内边。同时,边界边的2个顶点为边界点,拥有1个或两个边界点的三角形称之为边界三角形。Let the triangular mesh surface be M=(v i ,v j ,…v n ), any vertex in M is v i =( xi ,y i , zi ), if two of the triangular mesh surface M The edge edge(v i , v j ) connected by vertices is the edge of a triangular patch Δv i v j v k , then the edge edge(v i , v j ) is called the adjacent edge of Δv i v j v k . Let L(v i ,v j ) represent the set of all triangular faces containing edge(v i ,v j ). For an edge edge(v i , v j ), the number of its adjacent triangular faces is represented by |L(v i , v j )|. An edge is a boundary edge if the number of adjacent triangles associated with it is 1. If the number of adjacent triangles associated with an edge is 2, it is called an inner edge. At the same time, the two vertices of the boundary edge are boundary points, and a triangle with one or two boundary points is called a boundary triangle.
边界提取规则表达式为:The boundary extraction rule expression is:
BoundaryEdge: {edge(vi,vj)|if:|L(vi,vj)|=1},BoundaryEdge: {edge(v i ,v j )|if:|L(v i ,v j )|=1},
其中xi,yi,zi为顶点vi的坐标;vi,vj,…vn表示空间中三角网格模型上的点;Among them, x i , y i , z i are the coordinates of vertex v i ; v i , v j ,...v n represent points on the triangular mesh model in space;
边edge(vi,vj)为Δvivjvk的邻接边,L(vi,vj)表示所有包含边edge(vi,vj)的三角面片的集合,|L(vi,vj)|表示其邻接三角面片的个数。Edge(v i ,v j ) is the adjacent edge of Δv i v j v k , L(v i ,v j ) represents the set of all triangular patches containing edge(v i ,v j ), |L( v i , v j )|indicates the number of adjacent triangles.
边界边的数据结构为:The data structure of the boundary edge is:
步骤3,根据STL模型的边界边的信息,结合基于拓扑关系信息的切片方法对非封闭网格进行分层切片处理,获得非封闭的二维多边形,如图5所示对非封闭网格进行分层切片处理,获得非封闭的二维多边形,二维多边形的生成的过程如图6所示;具体包括以下步骤:Step 3, according to the information of the boundary edge of the STL model, combined with the slicing method based on topological relationship information, perform hierarchical slicing processing on the non-closed grid to obtain a non-closed two-dimensional polygon, as shown in Figure 5. Hierarchical slicing processing to obtain non-closed two-dimensional polygons, the process of generating two-dimensional polygons is shown in Figure 6; specifically includes the following steps:
①根据切片精度得到模型的切片总层数n和所有的切片平面zi(i=1,2…n);①According to the slicing accuracy, obtain the total number of slicing layers n and all slicing planes z i (i=1,2...n) of the model;
②读取STL模型的一个三角形面片,根据该三角形各点z坐标的最大值zmax、最小值zmin以及切片精度,反求与三角形相交的K个切片平面zj,1≤j≤n;②Read a triangle surface of the STL model, according to the maximum value z max , the minimum value z min and the slice precision of the z coordinates of each point of the triangle, inversely calculate the K slice planes z j that intersect the triangle, 1≤j≤n ;
③获取切片平面与三角形面片相交的切片片段,为切片片段添加用于指示切片片段顶点是否在边界边上的指示信息:读取一个相交切片平面zj并计算交点,得到一个属于该三角形的片段(需要建立片段数据结构),为该片段添加指示信息BorderFlag。根据该三角形的面片索引,查找边界边集合中是否存在边界边属于该三角面片。若存在,则计算是否有片段顶点在边界边上,在边界边上则BorderFlag置为True,不在则置为False。若不存在,则BorderFlag直接置为False;③ Obtain the slice segment where the slice plane intersects the triangle surface, and add indication information for the slice segment to indicate whether the vertex of the slice segment is on the boundary edge: read an intersecting slice plane z j and calculate the intersection point, and obtain a Fragment (the fragment data structure needs to be established), and the instruction information BorderFlag is added for the fragment. According to the patch index of the triangle, find out whether there is a boundary edge belonging to the triangle patch in the boundary edge set. If it exists, calculate whether there is a fragment vertex on the border edge, and set BorderFlag to True if it is on the border edge, or set it to False if it is not. If it does not exist, BorderFlag is directly set to False;
其中,获取切片片段包括以下步骤:Among them, obtaining slice fragments includes the following steps:
(a)所述切片片段的方向D由分层方向Z和三角形的法矢N的矢量积确定:(a) The direction D of the slice segment is determined by the vector product of the layer direction Z and the normal vector N of the triangle:
D=Z×ND=Z×N
其中,Z为分层方向,N为三角形面片的法矢;Among them, Z is the layering direction, and N is the normal vector of the triangle patch;
切片片段顶点依次顺序连接形成二维多边形,二维多边形(二维多边形轮廓线)即为切片平面与三角网格模型在空间中相交后形成的一条多边形轮廓。The vertices of the slice segments are sequentially connected to form a two-dimensional polygon, and the two-dimensional polygon (two-dimensional polygon outline) is a polygon outline formed after the intersection of the slice plane and the triangular mesh model in space.
(b)分层平面(切片平面)和三角形面片交点的计算:(b) Calculation of the intersection point of the layered plane (slicing plane) and the triangular patch:
P(t)=p+t(q-p),t∈[0,1]P(t)=p+t(q-p), t∈[0,1]
其中,Z=h为分层平面高度,p=(xp,yp,zp),q=(xq,yq,zq)为三角形一条边的两个顶点。Wherein, Z=h is the layered plane height, p=(x p , y p , z p ), q=(x q , y q , z q ) are the two vertices of one side of the triangle.
如图7a、7b所示,分层平面与三角形面片的交点为切片平面与每个三角面片的相交的点。As shown in Figures 7a and 7b, the intersection points of the layer plane and the triangle patches are the intersection points of the slice plane and each triangle patch.
(c)三角形求交后所得切片片段的数据结构为:(c) The data structure of the slice segment obtained after triangle intersection is:
所述切片片段的数据结构包括片段起始点、面索引、片段是否已加入多边形和边界片段标示。The data structure of the slice segment includes a segment start point, a face index, whether the segment has been added to a polygon, and a boundary segment flag.
即三角形求交后所得片段的数据结构:That is, the data structure of the segment obtained after triangle intersection:
④记录步骤③所述切片片段所属的三角形面片索引信息,遍历获取K个切片平面与所述三角形面片的所有切片片段:如果K个切片平面与该三角面片的求交都计算完毕,则执行下一步;否则转②,读取下一个与该三角形相交的平面;④Recording step ③The triangle facet index information to which the slice segment belongs, traverse to obtain all slice segments of the K slice planes and the triangle facet: if the calculation of the intersection between the K slice planes and the triangle facet is completed, Then execute the next step; otherwise, turn to ② to read the next plane that intersects with the triangle;
⑤按层存储三角形面片的所有相交的切片片段:按层存储该三角形面片的所有相交切片片段,并转①;如果所有三角形面片都求交处理完毕,则转下一步;⑤ Store all intersecting slices of the triangular facets by layer: store all intersecting slices of the triangular facets by layer, and go to ①; if all the triangular faces are intersected and processed, go to the next step;
按层存储的求交片段的数据结构包括每层的片段集合和片段与对应的面索引。即按层存储的数据结构为:The data structure of intersecting fragments stored by layer includes a collection of fragments and fragments and corresponding face indices for each layer. That is, the data structure stored by layer is:
⑥遍历所有切片片段的指示信息,获取二维多边形的起始连接点:读取第i=i+1层的所有切片片段(从i=0开始),判断该层中是否有BorderFlag为True的片段。若存在,则取出轮廓线方向第一个BorderFlag为True的片段,并将该片段所属三角面片置为当前面片;若没有,表示该层是封闭的,取出轮廓线方向上任意一个片段,并将该片段所属三角面片置为当前面片;⑥Traverse the indication information of all slices and obtain the initial connection point of the two-dimensional polygon: read all the slices of the i=i+1 layer (starting from i=0), and judge whether there is a BorderFlag in this layer whose BorderFlag is True fragment. If it exists, take out the segment whose BorderFlag is True in the direction of the contour line, and set the triangle patch to which the segment belongs as the current patch; if not, it means that the layer is closed, and take out any segment in the direction of the contour line, And set the triangle patch to which the fragment belongs as the current patch;
⑦判断邻接面是否存在切片片段:读取当前面片的一个邻接面,判断该邻接面是否存在第i层的片段。若不存在,直接转⑧;若存在,则判断该片段是否已经加入到多边形中。若已经加入到多边形中,则转⑧;若没有加入到多边形中,则该片段加入至多边形中,并把该面片置为当前面片,转⑨;⑦ Judging whether there is a slice fragment on the adjacent surface: read an adjacent surface of the current patch, and judge whether there is a fragment of the i-th layer on the adjacent surface. If it does not exist, go directly to ⑧; if it exists, judge whether the segment has been added to the polygon. If it has been added to the polygon, turn to ⑧; if it has not been added to the polygon, add the segment to the polygon, and set the patch as the current patch, turn to ⑨;
⑧遍历所有邻接面是否存在切片片段;判断邻接面是否遍历完毕,若没有遍历完毕,则转⑦;若遍历完毕,则转下一步;⑧Traverse all the adjacent faces to see if there are slices; judge whether the adjacent faces have been traversed, if not, go to ⑦; if traversed, go to the next step;
⑨某一层切片片段的顶点多个成对出现的在边界边上时,以指示信息为真的切片片段所在的三角形面片为起始面片连接二维多边形:判断该邻接面中片段指示信息BorderFlag是否为True。若不为True,则执行下一步;若为True,则判断轮廓线方向是否存在下一个BorderFlag=True的片段。若存在则将该片段置为当前面片,并转⑦;若不存在,则执行下一步;⑨When multiple vertices of a layer slice segment appear in pairs on the boundary edge, use the triangular face where the slice segment is located as the indication information is true as the starting face to connect the two-dimensional polygon: judge the segment indication in the adjacent face Information whether BorderFlag is True. If it is not True, execute the next step; if it is True, judge whether there is a next segment with BorderFlag=True in the direction of the contour line. If it exists, set the segment as the current patch, and go to ⑦; if it does not exist, perform the next step;
⑩遍历所有切片层,每层形成一个二维多边形:判断是否遍历完该层所有片段。若没有遍历完毕,则转⑦;若遍历完毕,则存储该层所有的非封闭多边形或者封闭多边形。判断是否i≤n,若是则转⑥,否则算法结束。⑩ Traversing all slice layers, each layer forms a two-dimensional polygon: judge whether to traverse all segments of this layer. If the traversal is not completed, go to ⑦; if the traversal is completed, store all non-closed polygons or closed polygons of this layer. Determine whether i≤n, if so, go to ⑥, otherwise the algorithm ends.
步骤4,对多边形偏置处理后的可打印内外轮廓线进行路径优化,以减少空行程,如图8(a)、8(b)所示,路径优化的方法如下:Step 4, path optimization is performed on the printable inner and outer contour lines after polygon offset processing to reduce empty travel, as shown in Figure 8(a) and 8(b), the path optimization method is as follows:
①同一层内相邻轮廓线扫描方向相反;① The scanning directions of adjacent contour lines in the same layer are opposite;
②相邻层轮廓线扫描的次序相反② The order of scanning the contour lines of adjacent layers is reversed
③相邻层同一轮廓扫描方向相反。③ The scanning direction of the same contour of adjacent layers is opposite.
步骤5,输出Gcode并打印,如图9所示是切片处理后实际的打印测试结果展示图:(a)为基于封闭模型打印的正面展示图,(b)为基于封闭模型打印的反面展示图,(c)为本发明针对带有边界的非封闭STL模型的切片处理的正面展示图;(d)为本发明带有边界的非封闭STL模型的切片处理的反面展示图,可以看出,图(a)和图(b)是封闭式打印的,打印时间久,效率低,本发明打印的图(c)、图(d)正面和反面是非封闭打印,打印效率高,节省材料。Step 5, output Gcode and print, as shown in Figure 9 is the display of the actual printing test results after slice processing: (a) is the front display based on the closed model printing, (b) is the reverse display based on the closed model printing , (c) is the front display diagram of the present invention for the slice processing of the non-closed STL model with border; (d) is the reverse display diagram of the slice processing of the non-closed STL model with border in the present invention, as can be seen, Figures (a) and (b) are printed in a closed manner, which takes a long time to print and has low efficiency. The front and back sides of Figures (c) and (d) printed by the present invention are non-closed printing, which has high printing efficiency and saves materials.
本发明方法是以基于拓扑信息的切片处理方法为基础,从边界提取的角度,解决了针对输入为带边界的非封闭STL模型的直接切片处理问题,使得实际应用中很多非封闭STL模型可以直接切片处理并高效率地实际打印成型。The method of the present invention is based on the slicing processing method based on topological information, and solves the problem of direct slicing processing for non-closed STL models with boundaries as input from the perspective of boundary extraction, so that many non-closed STL models in practical applications can be directly processed. Slices are processed and actually printed to form efficiently.
本领域内的技术人员可以对本发明进行改动或变型的设计但不脱离本发明的思想和范围。因此,如果本发明的这些修改和变型属于本发明权利要求及其等同的技术范围之内,则本发明也意图包含这些改动和变型在内。Those skilled in the art can make changes or modifications to the present invention without departing from the spirit and scope of the present invention. Therefore, if these modifications and variations of the present invention fall within the technical scope of the claims of the present invention and equivalents thereof, the present invention is also intended to include these modifications and variations.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410605438.2A CN104331555B (en) | 2014-10-31 | 2014-10-31 | A kind of sliced sheet processing method for being directed to the non-close STL models with border |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410605438.2A CN104331555B (en) | 2014-10-31 | 2014-10-31 | A kind of sliced sheet processing method for being directed to the non-close STL models with border |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104331555A true CN104331555A (en) | 2015-02-04 |
CN104331555B CN104331555B (en) | 2017-07-14 |
Family
ID=52406280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410605438.2A Expired - Fee Related CN104331555B (en) | 2014-10-31 | 2014-10-31 | A kind of sliced sheet processing method for being directed to the non-close STL models with border |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331555B (en) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104690976A (en) * | 2015-03-25 | 2015-06-10 | 英华达(上海)科技有限公司 | Line printing method and system of three-dimensional line printer |
CN104890236A (en) * | 2015-04-03 | 2015-09-09 | 杭州先临三维科技股份有限公司 | Stereo lithography rapid moulding scanning-path ordering method for 3D printing |
CN105045205A (en) * | 2015-07-24 | 2015-11-11 | 广东工业大学 | Cutter position path generation method based on triangle mesh offset compensation and numerical control processing system thereof |
CN105184868A (en) * | 2015-09-01 | 2015-12-23 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | Triangular surface grid generation method based on three-dimensional entity model |
CN105550468A (en) * | 2016-01-18 | 2016-05-04 | 沈阳工业大学 | Equal-layer-thickness slicing algorithm based on layer variable-edge array and adjacent edge sequence chain table |
CN105653773A (en) * | 2015-12-28 | 2016-06-08 | 西安交通大学 | Repairing method of prism and lens compound eyeglass STL (Standard Template Library) model suitable for 3D (Three-dimensional) printing |
CN106363621A (en) * | 2015-07-21 | 2017-02-01 | 南京中科川思特软件科技有限公司 | Method for generating whole route of robot laser cutting |
CN106600710A (en) * | 2016-10-18 | 2017-04-26 | 浙江大学 | Layered machining multi-connected-domain construction method of adjacency topological correlation of geometric network model |
CN106738864A (en) * | 2016-11-17 | 2017-05-31 | 西安电子科技大学 | A kind of sliced sheet processing method of surface model surface inkjet printing |
CN107067471A (en) * | 2017-05-10 | 2017-08-18 | 河海大学常州校区 | A kind of adaptive scanning speed method for improving pendant body model forming quality |
CN107403469A (en) * | 2017-08-10 | 2017-11-28 | 河海大学常州校区 | A kind of adaptive scanning speed method for improving knuckle Forming Quality |
CN107584757A (en) * | 2017-10-30 | 2018-01-16 | 宁夏共享模具有限公司 | The Method of printing of product profile in a kind of FDM printings |
CN108057888A (en) * | 2017-12-15 | 2018-05-22 | 佛山租我科技有限公司 | Connection rod of automobile engine laser 3D printing technique |
CN108215174A (en) * | 2016-12-09 | 2018-06-29 | 珠海赛纳打印科技股份有限公司 | A kind of 3D objects inkjet printing methods and system |
CN109155075A (en) * | 2016-05-12 | 2019-01-04 | 惠普发展公司,有限责任合伙企业 | It is adapted to 3D printing file |
CN109228353A (en) * | 2018-08-06 | 2019-01-18 | 上海大学 | A kind of Dynamic Slicing algorithm without support 3D printing method |
CN109325316A (en) * | 2018-11-15 | 2019-02-12 | 南京理工大学 | Efficient Parallel Slicing Method for STL Model Based on Common Point Welding Sorting |
CN109394410A (en) * | 2018-11-13 | 2019-03-01 | 武汉必盈生物科技有限公司 | Based on the personalized outer fixed 3D printing model design method of patient and slice systems |
CN109523074A (en) * | 2018-11-14 | 2019-03-26 | 浙江工业大学 | A kind of tailoring method for optimizing route based on arest neighbors Genetic Hybrid Algorithm |
CN109822478A (en) * | 2019-03-19 | 2019-05-31 | 苏州润智和智能科技有限公司 | A kind of comprehensive detection system and method for automobile axial workpiece |
CN109887052A (en) * | 2019-01-29 | 2019-06-14 | 广联达科技股份有限公司 | A kind of planar polygons offset method |
CN109934923A (en) * | 2017-12-15 | 2019-06-25 | 中国科学院沈阳自动化研究所 | Model Layering and Trajectory Filling Methods for 3D Printing of Biomaterials |
CN110210122A (en) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | A kind of boundary coloring width confining method of Cont of Color Slice layer |
CN110232742A (en) * | 2019-06-12 | 2019-09-13 | 洁誉科技(上海)股份有限公司 | 3D printing hierarchical control algorithm |
CN110442994A (en) * | 2019-08-13 | 2019-11-12 | 嘉兴学院 | A kind of 3D printing sliced sheet processing method based on graph theory |
CN110544255A (en) * | 2019-07-26 | 2019-12-06 | 山东大学 | Segmentation method and system for triangular mesh hole for 3D printing |
CN110945568A (en) * | 2017-05-08 | 2020-03-31 | 菲兹纳股份有限公司 | System and method for evaluating 3D models |
CN111710022A (en) * | 2020-06-08 | 2020-09-25 | 嘉兴学院 | A Rapid Prototyping Slice Processing Method Avoiding Contour Intersection |
CN112069725A (en) * | 2020-08-03 | 2020-12-11 | 彭涛 | High-precision slice obtaining method and device for 3D printer |
CN112085832A (en) * | 2020-08-12 | 2020-12-15 | 浙江闪铸三维科技有限公司 | Advertisement word 3D model generation method |
CN112182677A (en) * | 2020-09-17 | 2021-01-05 | 上海漫格科技有限公司 | Interactive variable-layer thickness slicing method in three-dimensional printing |
CN112184911A (en) * | 2020-09-28 | 2021-01-05 | 嘉兴学院 | Non-popular grid model slice processing method |
CN112659316A (en) * | 2020-12-17 | 2021-04-16 | 江苏集萃复合材料装备研究所有限公司 | Rapid layering method for 3D cement printing |
CN113204213A (en) * | 2021-07-06 | 2021-08-03 | 广州中望龙腾软件股份有限公司 | Tool path generation method based on STL model, intelligent terminal and storage device |
CN113715338A (en) * | 2021-08-30 | 2021-11-30 | 深圳市纵维立方科技有限公司 | Three-dimensional model slicing method, printing method and related equipment |
CN114347482A (en) * | 2021-12-30 | 2022-04-15 | 浙江闪铸三维科技有限公司 | Method for positioning triangular patch in triangular mesh model hole |
CN114842169A (en) * | 2022-05-05 | 2022-08-02 | 武汉理工大学 | A method for extracting contour path of shell parts based on STL slice algorithm |
CN114986910A (en) * | 2022-04-24 | 2022-09-02 | 青岛理工大学 | Cylindrical surface layered 3D printing method for revolution structure |
AT525686A1 (en) * | 2021-12-09 | 2023-06-15 | Mehmet Bugra Akin | Process for the additive manufacturing of a workpiece |
CN116872500A (en) * | 2023-09-07 | 2023-10-13 | 苏州闪铸三维科技有限公司 | Method for realizing Z-axis compensation by generating and eliminating self-intersection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991332A (en) * | 1995-09-28 | 1997-04-04 | Toyota Motor Corp | Method and apparatus for creating and modifying cross-section data |
CN102298795A (en) * | 2011-08-10 | 2011-12-28 | 华侨大学 | Three-dimensional segmenting method for STL (Standard Template Library) triangular network model |
CN103064343A (en) * | 2012-12-19 | 2013-04-24 | 华南理工大学 | Track generating method facing toward complex curved surface processing and track generating system thereof |
CN103700144A (en) * | 2014-01-14 | 2014-04-02 | 河海大学常州校区 | Significance-based mesh-model 3D (three-dimensional) printing fragmenting method |
-
2014
- 2014-10-31 CN CN201410605438.2A patent/CN104331555B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991332A (en) * | 1995-09-28 | 1997-04-04 | Toyota Motor Corp | Method and apparatus for creating and modifying cross-section data |
CN102298795A (en) * | 2011-08-10 | 2011-12-28 | 华侨大学 | Three-dimensional segmenting method for STL (Standard Template Library) triangular network model |
CN103064343A (en) * | 2012-12-19 | 2013-04-24 | 华南理工大学 | Track generating method facing toward complex curved surface processing and track generating system thereof |
CN103700144A (en) * | 2014-01-14 | 2014-04-02 | 河海大学常州校区 | Significance-based mesh-model 3D (three-dimensional) printing fragmenting method |
Non-Patent Citations (5)
Title |
---|
刘斌 等: "快速原型制造技术中实时切片算法的研究与实现", 《计算机辅助设计与图形学学报》 * |
杨光 等: "STL格式文件拓扑重建及快速切片算法研究", 《现代制造工程》 * |
陈有兰 等: "一种三角网格模型的边界提取快速算法", 《计算机工程》 * |
陈杰 等: "非封闭三角网格模型边界特征的自动识别", 《机械设计与制造》 * |
黄常标 等: "基于边界分割的STL模型三维分段", 《机械科学与技术》 * |
Cited By (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104690976B (en) * | 2015-03-25 | 2017-03-01 | 英华达(上海)科技有限公司 | The column printing method of three-dimensional printing machine and system |
TWI637840B (en) * | 2015-03-25 | 2018-10-11 | 英華達股份有限公司 | Printing method of solid printer and system thereof |
CN104690976A (en) * | 2015-03-25 | 2015-06-10 | 英华达(上海)科技有限公司 | Line printing method and system of three-dimensional line printer |
CN104890236B (en) * | 2015-04-03 | 2017-06-13 | 杭州先临三维科技股份有限公司 | The Stereo Lithography Apparatus Rapid Prototyping scanning pattern sort method of 3D printing |
CN104890236A (en) * | 2015-04-03 | 2015-09-09 | 杭州先临三维科技股份有限公司 | Stereo lithography rapid moulding scanning-path ordering method for 3D printing |
CN106363621B (en) * | 2015-07-21 | 2019-01-04 | 南京中科川思特软件科技有限公司 | A kind of generation method of robotic laser cutting complete trails |
CN106363621A (en) * | 2015-07-21 | 2017-02-01 | 南京中科川思特软件科技有限公司 | Method for generating whole route of robot laser cutting |
CN105045205A (en) * | 2015-07-24 | 2015-11-11 | 广东工业大学 | Cutter position path generation method based on triangle mesh offset compensation and numerical control processing system thereof |
CN105045205B (en) * | 2015-07-24 | 2017-12-26 | 广东工业大学 | A kind of cutter spacing path generating method and its digital-control processing system based on triangle gridding bias compensation |
CN105184868A (en) * | 2015-09-01 | 2015-12-23 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | Triangular surface grid generation method based on three-dimensional entity model |
CN105653773B (en) * | 2015-12-28 | 2018-09-04 | 西安交通大学 | A kind of restorative procedure of rib lens compound eye eyeglass STL models suitable for 3D printing |
CN105653773A (en) * | 2015-12-28 | 2016-06-08 | 西安交通大学 | Repairing method of prism and lens compound eyeglass STL (Standard Template Library) model suitable for 3D (Three-dimensional) printing |
CN105550468B (en) * | 2016-01-18 | 2018-06-26 | 沈阳工业大学 | Based on layer become number of edges group and adjacent side sequence chained list etc. thickness dicing method |
CN105550468A (en) * | 2016-01-18 | 2016-05-04 | 沈阳工业大学 | Equal-layer-thickness slicing algorithm based on layer variable-edge array and adjacent edge sequence chain table |
CN109155075B (en) * | 2016-05-12 | 2023-07-11 | 惠普发展公司,有限责任合伙企业 | Adapting 3D print files |
CN109155075A (en) * | 2016-05-12 | 2019-01-04 | 惠普发展公司,有限责任合伙企业 | It is adapted to 3D printing file |
CN106600710A (en) * | 2016-10-18 | 2017-04-26 | 浙江大学 | Layered machining multi-connected-domain construction method of adjacency topological correlation of geometric network model |
CN106600710B (en) * | 2016-10-18 | 2019-06-14 | 浙江大学 | A layer-cut multi-connected domain construction method based on adjacency topological association of geometric mesh models |
CN106738864B (en) * | 2016-11-17 | 2018-11-06 | 西安电子科技大学 | A kind of sliced sheet processing method of surface model surface inkjet printing |
CN106738864A (en) * | 2016-11-17 | 2017-05-31 | 西安电子科技大学 | A kind of sliced sheet processing method of surface model surface inkjet printing |
CN108215174A (en) * | 2016-12-09 | 2018-06-29 | 珠海赛纳打印科技股份有限公司 | A kind of 3D objects inkjet printing methods and system |
CN110945568A (en) * | 2017-05-08 | 2020-03-31 | 菲兹纳股份有限公司 | System and method for evaluating 3D models |
CN107067471A (en) * | 2017-05-10 | 2017-08-18 | 河海大学常州校区 | A kind of adaptive scanning speed method for improving pendant body model forming quality |
CN107403469B (en) * | 2017-08-10 | 2020-09-22 | 河海大学常州校区 | An Adaptive Scanning Speed Method for Improving the Quality of Chamfering |
CN107403469A (en) * | 2017-08-10 | 2017-11-28 | 河海大学常州校区 | A kind of adaptive scanning speed method for improving knuckle Forming Quality |
CN107584757A (en) * | 2017-10-30 | 2018-01-16 | 宁夏共享模具有限公司 | The Method of printing of product profile in a kind of FDM printings |
CN109934923B (en) * | 2017-12-15 | 2022-10-11 | 中国科学院沈阳自动化研究所 | Model layering and track filling method suitable for 3D printing of biological material |
CN109934923A (en) * | 2017-12-15 | 2019-06-25 | 中国科学院沈阳自动化研究所 | Model Layering and Trajectory Filling Methods for 3D Printing of Biomaterials |
CN108057888A (en) * | 2017-12-15 | 2018-05-22 | 佛山租我科技有限公司 | Connection rod of automobile engine laser 3D printing technique |
CN109228353A (en) * | 2018-08-06 | 2019-01-18 | 上海大学 | A kind of Dynamic Slicing algorithm without support 3D printing method |
CN109394410A (en) * | 2018-11-13 | 2019-03-01 | 武汉必盈生物科技有限公司 | Based on the personalized outer fixed 3D printing model design method of patient and slice systems |
CN109394410B (en) * | 2018-11-13 | 2022-03-22 | 武汉必盈生物科技有限公司 | Patient-based personalized external fixation 3D printing model design method and slicing system |
CN109523074A (en) * | 2018-11-14 | 2019-03-26 | 浙江工业大学 | A kind of tailoring method for optimizing route based on arest neighbors Genetic Hybrid Algorithm |
CN109325316A (en) * | 2018-11-15 | 2019-02-12 | 南京理工大学 | Efficient Parallel Slicing Method for STL Model Based on Common Point Welding Sorting |
CN109325316B (en) * | 2018-11-15 | 2020-05-26 | 南京理工大学 | Efficient Parallel Slicing Method for STL Model Based on Common Point Welding Sorting |
CN109887052A (en) * | 2019-01-29 | 2019-06-14 | 广联达科技股份有限公司 | A kind of planar polygons offset method |
CN109887052B (en) * | 2019-01-29 | 2023-08-25 | 广联达科技股份有限公司 | Two-dimensional polygon offset method |
CN109822478A (en) * | 2019-03-19 | 2019-05-31 | 苏州润智和智能科技有限公司 | A kind of comprehensive detection system and method for automobile axial workpiece |
CN110210122B (en) * | 2019-05-30 | 2023-08-01 | 华南理工大学 | Boundary coloring width defining method of color slice layer |
CN110210122A (en) * | 2019-05-30 | 2019-09-06 | 华南理工大学 | A kind of boundary coloring width confining method of Cont of Color Slice layer |
CN110232742A (en) * | 2019-06-12 | 2019-09-13 | 洁誉科技(上海)股份有限公司 | 3D printing hierarchical control algorithm |
CN110544255B (en) * | 2019-07-26 | 2020-05-19 | 山东大学 | Method and system for segmenting triangular mesh holes for 3D printing |
CN110544255A (en) * | 2019-07-26 | 2019-12-06 | 山东大学 | Segmentation method and system for triangular mesh hole for 3D printing |
CN110442994A (en) * | 2019-08-13 | 2019-11-12 | 嘉兴学院 | A kind of 3D printing sliced sheet processing method based on graph theory |
CN111710022A (en) * | 2020-06-08 | 2020-09-25 | 嘉兴学院 | A Rapid Prototyping Slice Processing Method Avoiding Contour Intersection |
CN112069725A (en) * | 2020-08-03 | 2020-12-11 | 彭涛 | High-precision slice obtaining method and device for 3D printer |
CN112069725B (en) * | 2020-08-03 | 2024-03-08 | 彭涛 | High-precision slice acquisition method and device for 3D printer |
CN112085832A (en) * | 2020-08-12 | 2020-12-15 | 浙江闪铸三维科技有限公司 | Advertisement word 3D model generation method |
CN112182677A (en) * | 2020-09-17 | 2021-01-05 | 上海漫格科技有限公司 | Interactive variable-layer thickness slicing method in three-dimensional printing |
CN112184911B (en) * | 2020-09-28 | 2023-11-14 | 嘉兴学院 | An unpopular grid model slicing processing method |
CN112184911A (en) * | 2020-09-28 | 2021-01-05 | 嘉兴学院 | Non-popular grid model slice processing method |
CN112659316A (en) * | 2020-12-17 | 2021-04-16 | 江苏集萃复合材料装备研究所有限公司 | Rapid layering method for 3D cement printing |
CN112659316B (en) * | 2020-12-17 | 2022-05-31 | 江苏集萃复合材料装备研究所有限公司 | Rapid layering method for 3D cement printing |
CN113204213B (en) * | 2021-07-06 | 2021-11-19 | 广州中望龙腾软件股份有限公司 | Tool path generation method based on STL model, intelligent terminal and storage device |
CN113204213A (en) * | 2021-07-06 | 2021-08-03 | 广州中望龙腾软件股份有限公司 | Tool path generation method based on STL model, intelligent terminal and storage device |
CN113715338A (en) * | 2021-08-30 | 2021-11-30 | 深圳市纵维立方科技有限公司 | Three-dimensional model slicing method, printing method and related equipment |
WO2023029619A1 (en) * | 2021-08-30 | 2023-03-09 | 深圳市纵维立方科技有限公司 | Slicing method for three-dimensional model, printing method and related device |
CN113715338B (en) * | 2021-08-30 | 2023-08-18 | 深圳市纵维立方科技有限公司 | Slicing method, printing method and related equipment of three-dimensional model |
AT525686A1 (en) * | 2021-12-09 | 2023-06-15 | Mehmet Bugra Akin | Process for the additive manufacturing of a workpiece |
CN114347482B (en) * | 2021-12-30 | 2023-07-25 | 浙江闪铸三维科技有限公司 | Positioning method for triangular patches in triangular mesh model holes |
CN114347482A (en) * | 2021-12-30 | 2022-04-15 | 浙江闪铸三维科技有限公司 | Method for positioning triangular patch in triangular mesh model hole |
CN114986910A (en) * | 2022-04-24 | 2022-09-02 | 青岛理工大学 | Cylindrical surface layered 3D printing method for revolution structure |
CN114986910B (en) * | 2022-04-24 | 2023-12-22 | 深圳云疆智造科技有限公司 | Cylindrical surface layering 3D printing method for rotary structure |
CN114842169A (en) * | 2022-05-05 | 2022-08-02 | 武汉理工大学 | A method for extracting contour path of shell parts based on STL slice algorithm |
CN114842169B (en) * | 2022-05-05 | 2024-08-02 | 武汉理工大学 | A method for extracting the contour path of shell parts based on STL slicing algorithm |
CN116872500A (en) * | 2023-09-07 | 2023-10-13 | 苏州闪铸三维科技有限公司 | Method for realizing Z-axis compensation by generating and eliminating self-intersection |
CN116872500B (en) * | 2023-09-07 | 2023-12-29 | 苏州闪铸三维科技有限公司 | Method for realizing Z-axis compensation by generating and eliminating self-intersection |
Also Published As
Publication number | Publication date |
---|---|
CN104331555B (en) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331555B (en) | A kind of sliced sheet processing method for being directed to the non-close STL models with border | |
CN101510225B (en) | Product STL Model Boolean Operation Method | |
CN100418108C (en) | Graphics Reconstruction Method in 3D Scanning System | |
Gao et al. | Feature suppression based CAD mesh model simplification | |
CN102298795B (en) | A 3D Segmentation Method of STL Triangular Mesh Model of Parts in Rapid Prototyping Process | |
Guo et al. | Automatic and high-quality surface mesh generation for CAD models | |
US20140067333A1 (en) | CAD-Based System for Product Definition, Inspection and Validation | |
CN107767457A (en) | A kind of STL digital-to-analogue generation methods quickly rebuild based on a cloud | |
CN107545025B (en) | Querying databases using morphological criteria | |
CN107209957A (en) | Represent to generate slice of data from voxel | |
Huang et al. | An effective error-tolerance slicing algorithm for STL files | |
CN103970949B (en) | A kind of rapid shaping intermediate cam patch model by side layered approach | |
CN107562980B (en) | Geometric information extraction method based on BIM model | |
CN106055794A (en) | Method for building three-dimensional pipeline model in parametric manner | |
CN107067471A (en) | A kind of adaptive scanning speed method for improving pendant body model forming quality | |
CN110956699A (en) | A GPU Parallel Slicing Method for Triangular Mesh Models | |
JP4783100B2 (en) | Method of converting boundary data into in-cell shape data and its conversion program | |
CN109934923B (en) | Model layering and track filling method suitable for 3D printing of biological material | |
CN110533770A (en) | A kind of 3D printing dicing method towards implied expression medical model | |
CN106445981B (en) | STL grid model slice data adaptive compression method based on wavelet transformation | |
CN115661374A (en) | Rapid retrieval method based on space division and model voxelization | |
CN104239400A (en) | Method for converting DXF (Drawing Exchange File) file format into STL (STereoLithography) file format of primitive solid | |
CN109325316B (en) | Efficient Parallel Slicing Method for STL Model Based on Common Point Welding Sorting | |
CN106649992B (en) | Fusion and optimization method of mesh model of ship and wake | |
CN105469355A (en) | Method extracting 2.5-dimensional map building contour on basis of city three-dimensional model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190813 Address after: 201600 Shanghai Songjiang District Xinzhuan Highway 668 Twin Towers B103-1 Patentee after: SHANGHAI JIZHEN 3D DESIGN CO.,LTD. Address before: 213022 Jiangsu, North District, Changzhou Jin Ling North Road, No. 200 Patentee before: CHANGZHOU CAMPUS OF HOHAI University |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170714 Termination date: 20201031 |