An efficient parallel layer cutting method for STL model based on co-spot welding scheduling

A layer-cutting and model-based technology, applied in the field of additive manufacturing, can solve problems such as reduced layer-cutting efficiency and complex model-cutting accuracy, and achieve the effects of reducing construction time, improving layer-cutting efficiency, and improving layer-cutting efficiency

Active Publication Date: 2019-02-12
NANJING UNIV OF SCI & TECH
5 Cites 2 Cited by

AI-Extracted Technical Summary

Problems solved by technology

However, the above methods all need to consume a lot of time for data preprocessing, and in the subsequent slices, it is still necessary to call the triangular patch multiple times to calculate the tangent segment, and to search and compare multiple times to sort the contours. With the topology optimization, la...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Method used

The present invention only constructs the index information of triangular face sheet edge and apex by simplifying the topological information construction process, has reduced topological information construction time and topological information storage memory; With triangular facet as intersecting object, once traversal can obtain All tangent segments greatly reduce the number of calls for triangular p...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The invention discloses an efficient parallel layer cutting method for an STL model based on co-spot welding scheduling. The method comprises the steps of firstly reading the index information of vertices and edges of a triangular patch constructed by reading an STL model to obtain vertex coordinates, vertex indexes and edge indexes of all triangular patches, and storage containers containing triangular patch information; then calculating all tangent segments, and assigning a mark number to each end point of the tangent segment, and obtaining the total number of tangent segments according to the minimum and maximum values of the tangent segments thickness and the model in the axial direction; using the set of tangent planes intersecting the triangular patches, calculating the tangent segments intersecting the triangular patches and the tangent planes, and assigning each end point of the tangent segments with a unique mark number; then calling the cutting layers layer by layer, and calling all the tangent segments in the layer for vertex welding, and obtaining a completely closed cutting layer outline by merging the repetitive points to construct an association map, and deleting redundant points and storing in the outline set of the current layer; at the end of the slice calculation, outputting the slice contour. The method of the invention can reduce the layer cutting time of the STL model.

Application Domain

Technology Topic

Image

  • An efficient parallel layer cutting method for STL model based on co-spot welding scheduling
  • An efficient parallel layer cutting method for STL model based on co-spot welding scheduling
  • An efficient parallel layer cutting method for STL model based on co-spot welding scheduling

Examples

  • Experimental program(1)

Example Embodiment

[0024] In order to illustrate the technical solutions and technical objectives of the present invention, the present invention will be further described below with reference to the drawings and specific embodiments.
[0025] Combine figure 1 , An efficient parallel cutting method of STL model based on common spot welding sequence of the present invention includes the following steps:
[0026] Step 1. Read the STL model and construct the index information of the vertices and edges of the triangle face
[0027] 1.1. Create a storage container:
[0028] Establish an associative container PointToIndex for storing vertices and vertex indexes, and an associative container EdgeToIndex for storing edges and edge indexes. The two associative containers are initially empty, that is, no elements are stored. In addition, to store the coordinates of the three vertices (P 1 , P 2 , P 3 ), the index of the three vertices (PIndex 1 , PIndex 2 , PIndex 3 ) And the index of the three edges (EIndex 1 , EIndex 2 , EIndex 3 ), create a triangular patch storage container T that stores the above information i , which is among them Are the coordinates of the three vertices of the i-th triangle face, Are the indices of the three vertices of the i-th triangle face, Are the indexes of the three edges of the i-th triangle face respectively, n represents the total number of triangle faces; figure 2 , image 3 Shown.
[0029] 1.2, construct the index information of the vertices and edges of the triangle face
[0030] Read the triangles contained in the STL model in turn. For each triangle read, determine whether the three vertices of the triangles already exist in the associative container PointToIndex. If they already exist, get the index associated with the vertices. If it does not exist, store the vertex in the associative container PointToIndex, and use the number of elements stored in the stored associative container as the index of the vertex; in the same way, determine in turn whether the three edges of the triangle surface already exist in the associative container EdgeToIndex If it already exists, get the index associated with the edge, if it does not exist, store the edge in the associative container EdgeToIndex, and use the number of elements stored in the associative container as the index of the edge. After obtaining the vertex coordinates, vertex index and edge index information of the triangle face, store these information in T i; After the STL model is read, the vertex coordinates, vertex indexes and edge indexes of all triangles are obtained, as well as the total number of triangles n, the total number of non-repeated vertices nPoints, and the total number of non-repeated edges nEdges;
[0031] 1.3. Obtain the minimum and maximum values ​​of the model in the Z-axis direction
[0032] While reading the triangle surface, compare the Z coordinates of each vertex to obtain the minimum Zmin and maximum Zmax of the model in the Z axis direction.
[0033] Step 2. Calculate all tangent segments, and assign a marker number to each end of the tangent segment:
[0034] 2.1, establish a slice storage container
[0035] In order to store the height Z where each slice is located, all tangent lines and all contour Polys, a slice storage container L is established to store the above information j , Namely L j {Lines j ,Polys j ,Z j },j=1,2,···,N; where L j Represents the j-th slice, Lines j Represents the set of tangent segments stored in the j-th slice, Polys j Represents the slice contour set stored in the jth slice, Z j Indicates the height of the plane where the j-th slice is located, and N represents the total number of slices; such as Figure 4 Shown.
[0036] Among them, N can be based on the slice thickness H and the minimum Zmin and maximum Zmax of the Z-axis direction of the model obtained in step 1.3, by Find ( It is the round-down operator); and the height Z of each slice can be obtained by Z=j*H.
[0037] 2.2. Recall the first triangle face piece, and for the first triangle face piece, at this time i=1;
[0038] 2.3. Obtain the minimum and maximum values ​​of the triangular patch in the Z-axis direction;
[0039] Compare the Z coordinates of the three vertices of the triangle to get the minimum value Z of the triangle in the Z-axis direction i min and maximum Z i max.
[0040] 2.4. Obtain the set of tangent planes that intersect with the triangular faces
[0041] by The slice range spanned by the triangle can be calculated, and the set of tangent planes that intersect the triangle can be obtained from the slice range.
[0042] 2.5. Calculate the tangent line segment that the triangle face intersects with the tangent plane
[0043] From the set of tangent planes that intersect with the triangular facet, the tangent segments that each tangent plane intersects with the triangular facet are sequentially obtained.
[0044] Normally, there are two intersection points between the tangent plane and the triangular facet, and the two intersection points constitute the two endpoints of the tangent segment, such as Figure 5 (a) Shown. However, there are also two special intersections between the tangent plane and the triangular face. One is that the triangular face lies in the tangent plane, such as Figure 5 As shown in (b); the other is that the tangent plane only intersects with one vertex of the triangular face, such as Figure 5 (c) Shown. These two cases do not constitute a tangent segment, so these two cases should be ignored when finding the intersection and tangent segment. In addition, when the triangular facet intersects the tangent plane on an edge, there are two situations. The first is that one edge of the triangular facet intersects the tangent plane, and the Z coordinate of the third vertex is greater than the height of the tangent plane (such as Figure 5 (d)), the second is that one edge of the triangular face intersects the tangent plane, and the Z coordinate of the third vertex is smaller than the height of the tangent plane (such as Figure 5 e) shown). It can be seen from the co-edge connection constraint of the triangular faces in the STL model that if the tangent segments obtained in these two cases are stored, it will cause repeated storage. In order to avoid repeated storage of tangent segments, when the tangent segment is an edge of a triangle patch, only the tangent segment whose Z coordinate of the third vertex is less than the height of the tangent plane is stored.
[0045] 2.6. Assign a marker number to each end of the tangent segment
[0046] After finding the tangent line segment that the tangent plane intersects with the triangle facet, if the end of the line segment coincides with the apex of the triangle facet, assign the index PIndex of the triangle facet to the end of the line segment as a tag number; if the end point of the line segment is on the triangle facet On the edge, the index EIndex of the edge of the triangle patch plus the total number of points nPoints is assigned to the end of the line as the marker number.
[0047] Or, if the end point of the line segment coincides with the vertices of the triangle facet, the index PIndex of the vertices of the triangle facet plus the total number of edges nEdges is assigned to the end point of the line segment as the tag number; if the end point of the line segment is on the edge of the triangle facet, the triangle facet The edge index EIndex is assigned to the endpoints of the line segment as the tag number. It is only necessary to ensure that the tag number of each endpoint in a slice is unique and the tag number of the same endpoint is the same.
[0048] 2.7, store tangent segments
[0049] After finding the tangent segment and assigning the endpoint index, according to the height of the tangent plane where the tangent segment is located, store it in the corresponding tangent segment collection Lines j in.
[0050] 2.8. Let i=i+1, judge whether i is greater than n, if it is greater than n, execute the next step, otherwise call the next triangle patch and go to step 2.3. Complete the storage of the tangent segments of all triangles.
[0051] Preferably, the process of obtaining the intersecting line segment by calling the triangular facet can improve efficiency through parallel calculation. (I.e. multiple triangular faces are performed simultaneously)
[0052] Step 3. Sort the slice contours
[0053] 3.1. Recall the first slice, for the first slice, j=1 at this time;
[0054] 3.2, create an unordered container
[0055] Create a new structure Info, its stored information includes the endpoint coordinates P and two adjacent endpoints marked numbers (NeighborNumber1, NeighborNumber2), such as Image 6 Shown. Use the endpoint tag number Number and the structure Info as a key-value pair to create an unordered container NumberInfo, such as Figure 7 Shown. The unordered container NumberInfo is initially empty, that is, no elements are stored;
[0056] 3.3. Vertex welding, construct an association mapping by merging the common endpoints of adjacent line segments
[0057] Recall all tangent segments in this layer of Lines for vertex welding, first determine whether there is an element in the disordered container NumberInfo with the mark number of the end of the line segment as the key key, if it does not exist, create the number in the container as the key key The new element of the value Value (that is, the structure Info) in the endpoint coordinate P is the endpoint coordinate, the first adjacent endpoint's label number NeighborNumber1 is the adjacent endpoint's label number; if it already exists, directly its corresponding The label number of the adjacent end point is assigned to the label number NeighborNumber2 of the second adjacent end point in the value Value (that is, the structure Info) (the label number NeighborNumber1 of the first adjacent end point has been assigned). After the vertices of all the tangent segments of this layer are welded, the construction of the adjacent end point marker digital association map is completed by merging the common end points of adjacent tangent segments.
[0058] 3.4. Sort contours to get a complete closed contour
[0059] According to the association mapping, take any element from the unordered container, use the end point coordinate P of its value (that is, the structure Info) as the coordinate of the first vertex of the slice contour, and then take any adjacent end point mark number (NeighborNumber1 or NeighborNumber2) is the search keyword for searching. After the second element is found, the end point coordinate P of the value of the second element (that is, the structure Info) is used as the coordinate of the second vertex of the contour, and its One of the mark numbers of two adjacent endpoints is the key of the last retrieved element. In order to sort the slice contour correctly, the other mark number needs to be used as the search key to search, and repeat until the extracted mark number is The key of the first retrieval element is to find the first vertex, then a complete and closed slice contour is obtained, and redundant points can be deleted during the search and sorting process, and the contour obtained is stored The contour collection of the current layer is in Polys.
[0060] 3.5. After obtaining an outline, delete the searched elements in the disordered container and judge whether the disordered container is empty. If it is empty, proceed to the next step. If it is not empty, go to 3.4.
[0061] 3.6. Let j=j+1, judge whether j is greater than N, if it is greater than N, execute the next step, otherwise call the next slice and go to 3.2.
[0062] Preferably, the process of performing contour sorting can improve efficiency through parallel computing.
[0063] Step 4. The slice calculation is finished, and the slice contour is output.
[0064] The invention simplifies the construction of the topology information and only constructs the index information of the edges and vertices of the triangles, thereby reducing the construction time of the topology information and the storage memory of the topology information; taking the triangles as the intersection object, all tangent segments can be obtained by one traversal , Which greatly reduces the number of times of invoking the triangle patch; the slice contour can be obtained in linear time, which greatly improves the slice efficiency.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Rapid construction method of program white list

ActiveCN114579967AReduced build timeDigital data authenticationPlatform integrity maintainanceWhitelistInstruction step
Owner:北京珞安科技有限责任公司

Epidermis skin model with melanin and construction method and application of epidermis skin model

PendingCN111117945ASimplify the operation processReduced build timeCulture processEpidermal cells/skin cellsStratum basaleCell layer
Owner:GUANGDONG BOXI BIO TECH CO LTD

Gingival epithelium model and in-vitro building method thereof

InactiveCN107312743AGood repeatabilityReduced build timeCulture processEpidermal cells/skin cellsPhases of clinical researchStructure and function
Owner:GUANGDONG BOXI BIO TECH CO LTD

Classification and recommendation of technical efficacy words

  • Reduced build time

Multi-light-source acceleration method for programmable shader

ActiveCN104463943AImprove efficiencyReduced build time3D-image renderingTree shapedShader
Owner:合肥月照数码科技有限公司

Establishment method of three-dimensional cell model

PendingCN105671029AEasy to operateReduced build timeCulture processElectrical/wave energy microorganism treatmentBiologyFerromagnetism
Owner:THE SIXTH AFFILIATED HOSPITAL OF SUN YAT SEN UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products