Support structure automatic generation method, system and device supporting 3D printing forming

By constructing a support structure through the selection of facets and the generation of numbered intersecting contour lines, the problems of long calculation time and clipping phenomenon in the prior art are solved, and efficient and stable support structure generation is achieved.

CN117818054BActive Publication Date: 2026-06-02WUXI YOUTINN WUWEI ADDITIVE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
WUXI YOUTINN WUWEI ADDITIVE TECH CO LTD
Filing Date
2024-01-22
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing automatic support structure generation algorithms have long computation times when generating sheet-like and connected support structures, and are prone to clipping.

Method used

By selecting facets that meet the support angle and normal direction, a vertical plane is generated to intersect with the facet model. The intersecting contour lines are obtained and numbered. The triangular facets of the support structure are constructed using the intersection points of the contour lines, thus optimizing the calculation process and simplifying the judgment logic.

Benefits of technology

It shortens the time required to generate sheet-like and connected support structures, reduces the occurrence of mold penetration, and improves computational efficiency and generation stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117818054B_ABST
    Figure CN117818054B_ABST
Patent Text Reader

Abstract

The application discloses a kind of support structure automatic generation method, system and equipment supporting 3D printing forming, it is related to 3D printing field, method includes: generating multiple vertical planes according to fixed interval, vertical plane is respectively with first and second sheet model intersection, obtain multiple first and second intersection contour line, with the contour point of first intersection contour line vertically downward and second intersection contour line intersection, select the nearest intersection point below contour point, obtain the corresponding point of first intersection contour line corresponding group, detect whether lower intersection point is on the same numbered second intersection contour line between two corresponding intersection points in group, according to detection result, construct the triangular facet of support structure, according to the triangular facet of support structure, construct support model, according to support model, generate support structure.The application can shorten the time of generating sheet, connecting support structure, and make the sheet, connecting support structure generated not prone to appear through die phenomenon.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D printing technology, and in particular to a method, system and device for automatically generating support structures that support 3D printing. Background Technology

[0002] Support structures are crucial for 3D printing, and sheet-like and connected support structures are two basic types. The following uses sheet-like support as an example. Current automatic support structure generation algorithms mainly include: Uniform sampling method: Projecting the area to be supported onto a two-dimensional plane; sampling points uniformly in the XY direction at certain intervals; drawing rays along the positive Z-axis from each sampling point to obtain longitudinal intersections with the triangular facets; sorting the intersections from smallest to largest, removing the point with the largest z-value, and generating support segments from each pair of remaining intersections. Poisson disk method: Determining whether to generate new sampling points based on the shortest distance between two existing sampling points. Grid method: Selecting the smallest bounding box of the support area, selecting sampling points in each small grid, and constructing support segments using the same method. Then, performing appropriate offset or connection processing on the support segments to construct a triangular mesh model of the support structure.

[0003] In the methods described above, the support region needs to be projected and sampled before intersection calculations are performed on the model to obtain the support line segments. The larger the support region, the denser the sampling points, and the more intersection calculations are performed. This frequent intersection calculation step generates a large amount of computation, greatly increasing computation time and reducing computational efficiency. Furthermore, the above methods have difficulty determining whether two adjacent intersection points are on the same triangular mesh model plane. For models with many vertically overlapping areas, it is easy to construct triangular patches between intersection points in two different regions, causing the phenomenon of sheet-like support passing through the mesh.

[0004] In summary, existing methods for generating sheet-like and connected support structures have drawbacks, including long generation times and a tendency for the generated sheet-like and connected support structures to puncture. Summary of the Invention

[0005] The purpose of this invention is to provide a method, system, and device for automatically generating support structures that support 3D printing, so as to shorten the time for generating sheet-like and connected support structures and make the generated sheet-like and connected support structures less prone to mold breakage.

[0006] To achieve the above objectives, the present invention provides the following solution:

[0007] On one hand, the present invention provides an automatic generation method for support structures that support 3D printing, the method comprising:

[0008] Step S1: Obtain the model data from the model file to be supported; the model data includes triangular facets and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported;

[0009] Step S2: Select two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model respectively; the two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards; the first facet model is a triangular mesh model of facets that conform to the support angle; the second facet model is a triangular mesh model of facets with the normal vectors pointing upwards.

[0010] Step S3: Generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, find the intersection between the vertical plane and the first patch model and the second patch model respectively to obtain multiple first intersecting contour lines and multiple second intersecting contour lines, and number each second intersecting contour line; the first intersecting contour line is the contour line where the vertical plane intersects with the first patch model; the second intersecting contour line is the contour line where the vertical plane intersects with the second patch model;

[0011] Step S4: For each of the first intersecting contour lines, obtain multiple contour points of the first intersecting contour line. For each contour point, find the intersection point with the second intersecting contour line vertically downwards. Select the nearest intersection point below the contour point and record the number of the second intersecting contour line where the intersection point is located. This yields a set of corresponding points for each of the first intersecting contour lines. The set of corresponding points for each first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point.

[0012] Step S5: For each pair of corresponding points corresponding to the first intersecting contour line, check whether the lower intersection points are on the same numbered second intersecting contour line between the pairwise corresponding intersection points in the pair. Based on the detection results, construct the triangular facet of the support structure.

[0013] Step S6: Construct a support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure;

[0014] Step S7: Generate a support structure based on the support model; the support structure includes a sheet-like support structure and a connecting support structure.

[0015] Optionally, the step of constructing the triangular facets of the support structure based on the detection results specifically includes:

[0016] Step S51: When the detection result is that the lower intersection points are on the second intersecting contour line with the same number, a mapping is created using the contour points between the two intersection points to construct the triangular facets of the support structure and record them;

[0017] Step S52: When the detection result is that the lower intersection point is not on the second intersecting contour line with the same number, find the head point or tail point of the second intersecting contour line between the two intersection points, and divide it into two different groups of points with the head point or tail point as the boundary. Repeat step S51 to construct the triangular facet of the support structure.

[0018] Optionally, constructing the support model based on the triangular facets of the support structure specifically includes:

[0019] Step S61: When constructing the triangular mesh model of the connected support structure, no offset is required. Directly generate vertical planes at fixed intervals, repeat steps S3 to S5 to obtain multiple non-closed triangular facet models, and then connect the triangular facet models in odd and even order to obtain the triangular mesh model of the connected support structure.

[0020] Step S62: When constructing the triangular mesh model of the sheet support structure, continue to offset each contour point of the first intersecting contour line in step S5 and the intersection point corresponding to each contour point along the direction perpendicular to the contour line by a set thickness to obtain two new sets of offset points; repeat step S5 again to construct the offset triangular facets using the two new sets of offset points; finally, construct facet connections at the beginning and end of the triangular facets before and after offset, and at the same time use the mapping method to construct the connected top and bottom triangular facets to obtain a closed sheet support triangular mesh model cut out by a vertical plane; generate vertical planes at fixed intervals, and repeat steps S3 to S6 to obtain the triangular mesh model of the sheet support structure.

[0021] Optionally, when the contour point is used to vertically downwards to find the intersection with the second intersecting contour line, if no intersection point is found at the bottom, it is determined that there is no overlapping area at the bottom, and the support structure can be directly generated on the printing plane.

[0022] Optionally, the step of obtaining multiple contour points of the first intersecting contour line further includes:

[0023] The multiple contour points of the first intersecting contour line are thinned to obtain the multiple contour points of the first intersecting contour line after thinning.

[0024] On the other hand, the present invention also provides an automatic generation system for support structures that supports 3D printing, the system comprising:

[0025] The module for acquiring model data to be supported is used to acquire model data from the model file to be supported; the model data includes triangular facets and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported;

[0026] The first and second facet model generation modules are used to filter out two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model respectively; the two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards; the first facet model is a triangular mesh model of facets that conform to the support angle; the second facet model is a triangular mesh model of facets with the normal vectors pointing upwards.

[0027] The first and second intersecting contour line generation modules are used to generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, the vertical plane is intersected with the first patch model and the second patch model respectively to obtain multiple first intersecting contour lines and multiple second intersecting contour lines, and each second intersecting contour line is numbered. The first intersecting contour line is the contour line where the vertical plane intersects with the first patch model; the second intersecting contour line is the contour line where the vertical plane intersects with the second patch model.

[0028] A multi-set corresponding point generation module is used to obtain multiple contour points of each first intersecting contour line, and for each contour point, to find the intersection of the contour point vertically downward with the second intersecting contour line, select the nearest intersection point below the contour point, and record the number of the second intersecting contour line where the intersection point is located, thereby obtaining a set of corresponding points corresponding to each first intersecting contour line; the set of corresponding points corresponding to the first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point.

[0029] The triangular facet construction module for the support structure is used to detect whether the lower intersection points are on the same numbered second intersecting contour line between pairs of corresponding points in each pair of the first intersecting contour line for each pair of corresponding points in the first intersecting contour line. Based on the detection results, the triangular facet of the support structure is constructed.

[0030] A support model construction module is used to construct a support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure.

[0031] A support structure generation module is used to generate a support structure based on the support model; the support structure includes a sheet-like support structure and a connected support structure.

[0032] In another aspect, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the aforementioned method for automatically generating support structures that support 3D printing.

[0033] Optionally, the memory is a non-transitory computer-readable storage medium.

[0034] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0035] The present invention discloses an automatic generation method, system, and device for support structures that support 3D printing. It eliminates the step of repeatedly finding intersection points between sampling point rays and the model, and only calculates intersections with the generated contour lines, which greatly optimizes the calculation process and speed. For areas with many overlapping regions, a method of numbering the contour lines is used to simplify the judgment logic, making the generation of support structures for complex models more stable. This shortens the time for generating sheet-like and connected support structures, and makes the generated sheet-like and connected support structures less prone to mold penetration. Attached Figure Description

[0036] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 This is a flowchart of an automatic generation method for support structures that support 3D printing according to the present invention.

[0038] Figure 2 This is a flowchart of the algorithm for generating sheet-like and connected supports according to the present invention;

[0039] Figure 3 A schematic diagram of the model that requires support;

[0040] Figure 4 This is a schematic diagram of a patch model that meets the support angle in the model that needs support;

[0041] Figure 5 This is a schematic diagram of a patch model with the normal direction in the model that needs support;

[0042] Figure 6 A schematic diagram for finding the contour lines of a plane;

[0043] Figure 7 A schematic diagram of the cross-sectional outline of the patch model to conform to the support angle;

[0044] Figure 8 This is a schematic diagram of the cross-sectional outline of a patch model with the normal vector pointing upwards.

[0045] Figure 9 Example of calculating the outline of a plane and mesh cutting lines;

[0046] Figure 10 A schematic diagram showing the outline points and their corresponding lower intersection points;

[0047] Figure 11 This is a schematic diagram for detecting whether the lower intersection points of corresponding intersection points in a set are on the same numbered outline.

[0048] Figure 12 This is a schematic diagram of two sets of intersection points corresponding to each other;

[0049] Figure 13 Schematic diagrams showing a group of points with a small number of points and a group of points with a large number of points;

[0050] Figure 14 To create a mapping diagram;

[0051] Figure 15 This is a schematic diagram of the connection mapping;

[0052] Figure 16 A schematic diagram for processing the end point;

[0053] Figure 17 To construct a triangular facet diagram Figure 1 ;

[0054] Figure 18 To construct a triangular facet diagram Figure 2 ;

[0055] Figure 19 A schematic diagram showing the connection of the beginning and end of non-closed facets in odd-even order;

[0056] Figure 20 A schematic diagram showing the head and tail of the connecting patch;

[0057] Figure 21 This is a schematic diagram showing the top and bottom of the connecting surface. Detailed Implementation

[0058] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0059] The purpose of this invention is to provide a method, system, and device for automatically generating support structures that support 3D printing, so as to shorten the time for generating sheet-like and connected support structures and make the generated sheet-like and connected support structures less prone to mold breakage.

[0060] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0061] Figure 1 This is a flowchart illustrating an automatic generation method for support structures supporting 3D printing according to the present invention. Figure 1 As shown, the present invention provides an automatic generation method for support structures that support 3D printing, comprising the following steps:

[0062] Step S1: Obtain the model data from the model file to be supported; the model data includes triangular facets and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported.

[0063] Step S2: Select two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model respectively; the two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards; the first facet model is a triangular mesh model of facets that conform to the support angle; the second facet model is a triangular mesh model of facets with the normal vectors pointing upwards.

[0064] Step S3: Generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, find the intersection between the vertical plane and the first and second patch models to obtain multiple first intersecting contour lines and multiple second intersecting contour lines. Number each second intersecting contour line. The first intersecting contour line is the contour line where the vertical plane intersects with the first patch model. The second intersecting contour line is the contour line where the vertical plane intersects with the second patch model.

[0065] Step S4: For each first intersecting contour line, obtain multiple contour points of the first intersecting contour line. For each contour point, find the intersection of the contour point vertically downward with the second intersecting contour line, select the nearest intersection point below the contour point, and record the number of the second intersecting contour line where the intersection point is located, to obtain a set of corresponding points for each first intersecting contour line. The set of corresponding points for each first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point.

[0066] In step S4, when the contour point is vertically downward to find the intersection with the second intersecting contour line, if no intersection point is found in the lower part, it is determined that there is no overlapping area in the lower part, and the support structure can be directly generated on the printing plane.

[0067] In step S4, multiple contour points of the first intersecting contour line are obtained, followed by:

[0068] The multiple contour points of the obtained first intersecting contour line are thinned to obtain the multiple contour points of the first intersecting contour line after thinning.

[0069] Step S5: For each set of corresponding points corresponding to the first intersecting contour line, check whether the lower intersection points between the pairwise corresponding intersection points in the set are on the same numbered second intersecting contour line, and construct the triangular facet of the support structure based on the detection results.

[0070] In step S5, the triangular facets of the support structure are constructed based on the detection results, specifically including:

[0071] Step S51: When the detection result is that the lower intersection points are on the second intersecting contour line with the same number, a mapping is created using the contour points between the two intersection points to construct the triangular facets of the support structure and record them.

[0072] Step S52: When the detection result is that the lower intersection point is not on the second intersecting contour line with the same number, find the head point or tail point of the second intersecting contour line between the two intersection points, divide it into two different groups of points with the head point or tail point as the boundary, and repeat step S51 to construct the triangular facet of the support structure.

[0073] Step S6: Construct a support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure.

[0074] Step S6 specifically includes:

[0075] Step S61: When constructing the triangular mesh model of the connected support structure, no offset is required. Directly generate vertical planes at fixed intervals, repeat steps S3 to S5 to obtain multiple non-closed triangular facet models, and then connect the triangular facet models in odd and even order to obtain the triangular mesh model of the connected support structure.

[0076] Step S62: When constructing the triangular mesh model of the sheet support structure, continue to offset each contour point of the first intersecting contour line in step S5 and the intersection point corresponding to each contour point along the direction perpendicular to the contour line by a set thickness to obtain two new sets of offset points; repeat step S5 again to construct the offset triangular facets using the two new sets of offset points; finally, construct facet connections at the beginning and end of the triangular facets before and after offset, and at the same time use the mapping method to construct the connected top and bottom triangular facets to obtain a closed sheet support triangular mesh model cut out by a vertical plane; generate vertical planes at fixed intervals, and repeat steps S3 to S6 to obtain the triangular mesh model of the sheet support structure.

[0077] Step S7: Generate the support structure based on the support model; the support structure includes sheet-like support structure and connected support structure.

[0078] The technical solution of the present invention is illustrated below with a specific embodiment:

[0079] like Figure 2 As shown, this invention provides an algorithm for generating sheet-like and connected support structures (a method for generating sheet-like and connected support structures). The method for generating sheet-like and connected support structures (an automatic generation method for support structures that support 3D printing) specifically includes the following steps:

[0080] 1. Process the SupportMesh model that needs support (the model is not specific here; basically, this algorithm can be used for various types of triangular mesh models such as STL and OFF). Figure 3 As shown, two sets of facets are selected based on the normal vectors of the model's triangular facets and converted into triangular mesh models respectively: Mesh1, a facet model that conforms to the support angle, is shown below. Figure 4 As shown, and the Mesh2 model with normal vectors pointing upwards, as... Figure 5 As shown.

[0081] The triangular faces of the model are obtained through the data structure of the triangular mesh model. The model file to be supported already contains the model data such as triangular faces and vertices, so it does not need to be constructed manually; it only needs to be read. The triangular mesh model is one of the common mesh types and model formats in computer graphics, finite element analysis, and other fields (other structures such as quadrilaterals and polygons also exist, but this invention focuses on the triangular mesh model). Common file formats include STL and PLY.

[0082] The steps for constructing a triangular mesh model are as follows (constructing a triangular mesh model typically involves the following steps):

[0083] Data acquisition or creation: acquiring geometric data, which can be point cloud data obtained by scanning objects in the real world, or geometric models created by manual modeling or computer-aided design software;

[0084] Point cloud processing (optional): If point cloud data is used, preprocessing may be required, such as denoising, point cloud registration, or sampling, in order to better represent the desired shape;

[0085] Triangulation: Converting geometric data into a triangular mesh; this can be achieved through triangulation algorithms, which divide the surface into continuous triangles; commonly used algorithms include Delaunay triangulation, Marching Cubes, etc.

[0086] Establishing topological relationships: Determine the topological relationships between triangles, that is, determine how vertices, edges, and faces are connected; this helps to correctly represent shapes in the model and provides a basis for subsequent operations (such as rendering or analysis).

[0087] Data export: Finally, the constructed triangular mesh model is exported to an appropriate file format, such as STL, OBJ, PLY, etc.

[0088] The specific calculation process for selecting two sets of facets based on the normals of the model's triangular facets and converting them into triangular mesh models is as follows:

[0089] The process iterates through the patch data of the model to be supported, cross-products the normal vector of the target patch with the negative z-axis direction vector (calculated and judged for the normal vector of each patch), and calculates the angle between the normal vectors. If the angle between the patch normal vector and the negative z-axis vector (normal vector angle) is less than the support angle (the support angle can be set by the user; in this embodiment, the default is 60°), then support is required, and the patch is recorded in the patch container to be supported. If the angle between the patch normal vector and the negative z-axis is between 90° and 180°, then the patch normal is upward, and the patch is recorded in the patch container with the normal vector upward. After the traversal is complete, the patch data in the two containers are obtained respectively, and topological structures are created to generate the patch model Mesh1 that meets the support requirements and the patch model Mesh2 with the normal vector upward.

[0090] In this context, the face data of the model to be supported refers to the model's triangular facets. Traversing the face data of the model to be supported means traversing the model's triangular facet data, which contains its own normal vector data. The target facet is the facet that has been traversed. This embodiment uses a standard spatial coordinate system.

[0091] 2. Generate vertical planes at fixed intervals in the X or Y direction. Intersect each plane with the mesh models obtained in step 1: Mesh1 and Mesh2, as follows: Figure 6 As shown, this example uses a single Plane plane. The corresponding Mesh1 contour line, SupportPolygon, can be cut out, as follows: Figure 7 As shown, and the Mesh2 outline BottomPolygon, the BottomPolygon outlines are numbered as follows. Figure 8 As shown.

[0092] The methods for cutting contour lines using planes and meshes are as follows (parameters are as follows). Figure 9 As shown):

[0093] vector vector vector

[0094]

[0095] d tmp =d1 / (d1-d2), when d1>0 & d2≤0, the plane lies between point sP and point eP, and the final intersection point can be obtained. By traversing all half-edge relationships of the triangular mesh, finding the intersection points of the plane and the half-edge, and connecting them with lines, the contour line of the intersection between the plane and the mesh can be obtained. Where d1, d2, and d... tmp This describes the steps for finding the angle between two vectors using the dot product formula, used to determine if two vectors are in the same direction. It's the basic dot product formula, where d1 represents... and dot product, d2 represents and Dot product, d tmp calculate and Whether they are in the same direction, each vector has its own xyz parameters.

[0096] A half-edge data structure is a data structure based on grid edges, commonly found in manifold meshes (i.e., triangular mesh models in this example). Like triangular patches, it is inherent to the topology. Finding the intersection of the plane and the patch model is a superposition and application of basic geometric calculation methods. Figure 9 In the diagram, sP is the starting point of half of the plane, eP is the ending point of half of the plane, Pt is the location point that determines the plane, vPlane is the direction vector that determines the orientation of the plane, and inP is the calculated intersection point.

[0097] 3. Obtain the outline points of the SupportPolygon (the outline is formed by connecting the outline points obtained from each group of cuts when calculating the outline cutting line in step 2). Use the sparsed SupportPolygon outline points to vertically downwards intersect with the BottomPolygon (the outline points of the BottomPolygon are obtained using the same method as above) (intersection method is the same as above). Select the nearest intersection point below the outline point and record the BottomPolygon number where the intersection point is located. If no intersection point is found at the bottom, it is determined that there is no overlapping area at the bottom, and the support can be directly generated on the printing plane. Performing the above operation (referring only to the previous sentence) on all SupportPolygon outlines obtained in step 2 will yield the outline points of each SupportPolygon and its corresponding lower intersection point. Here, we take one set as an example, such as... Figure 10 As shown.

[0098] 4. Within a set, check whether the lower intersection points of each pair of corresponding intersections lie on the same numbered outline. Figure 11 As shown in the figure. The two pairs of intersection points corresponding to each other are as follows: Figure 12 As shown.

[0099] (a) If they are on the same contour line, the contour points between the two intersection points are used to create a mapping, construct the triangular facet of the region and record it.

[0100] The mapping is created as follows:

[0101] The resulting two sets of points (one set consists of SupportPolygon points, and the other set consists of the intersection points obtained from SupportPolygon in step 3) are processed. The number of points is then determined: the set with fewer points is designated as vlessPnt (vlessPnt represents the set with fewer points), and the set with more points is designated as vmorePnt (vmorePnt represents the set with more points). For example... Figure 13 As shown, divide vlessPnt by vmorePnt and take the remainder to find how many times vmorePnt is a multiple of vlessPnt and the remaining remainder. Then iterate through vlessPnt, with each vlessPnt point corresponding to a multiple of the next vmorePnt points, as shown. Figure 14 As shown, each vlessPnt is connected to the previous mapping, as follows: Figure 15 As shown. The last point of vlessPnt corresponds to the remaining number of vmorePnts, such as... Figure 16 As shown. For each set of mappings obtained in the above steps, a triangular patch is constructed for every three points, as shown. Figure 17 As shown.

[0102] (b) If they are not on the same contour line, find the beginning (end) point of the contour line between the two intersection points P1 and P2 (use vectors to determine if a point is between two intersection points using the same formula as the mesh cutting contour line method). Using this beginning (end) point as the boundary, divide the points into two different groups and repeat step (a) to construct the corresponding triangular facets, such as... Figure 18 As shown.

[0103] The fixed interval for generating planar cut contour lines specified in step 2 means that multiple contour lines can be cut out using multiple equidistant planes, but the SupportPolygon in step 4 is just one example.

[0104] 5. Discussion based on the type of support required by the user (the calculation process for all sheet-like and connecting supports is as follows):

[0105] (a) If the required type is a connecting support structure, no offset is needed. Generate planes directly at fixed intervals, repeat steps 2 to 4 to obtain multiple non-closed triangular facet models. Then, connect the triangular facet models in odd-even order, as follows: Figure 19 As shown, all the connected support models required for the model can be obtained.

[0106] (b) If the required type is a sheet support, then continue to align vlessPnt and vmorePnt from step 4 in a direction perpendicular to the outline. Offset by a user-specified thickness to obtain two new sets of offset points, voffsetlessPnt and voffsetmorePnt. The formula for calculating the point offset (the fundamental formula for calculating the coordinates of the target offset point in a specific offset direction) is as follows: Point P before offset plus the offset vector (direction vector). Multiplying by the offset thickness gives the offset point P: Repeat step 4, using voffsetlessPnt and voffsetmorePnt to construct the offset triangular facets. Finally, connect the faces at the beginning and end of the faces before and after the offset, as shown below. Figure 20 As shown, the same mapping method is used to construct the connected top and bottom faces simultaneously, as follows: Figure 21 As shown, a closed sheet-like support triangular mesh model cut out of a plane can be obtained. By generating planes at fixed intervals and repeating steps 2 to 5, all the sheet-like support models required for this model can be obtained. All the above steps constitute the process of constructing a sheet-like support model.

[0107] Compared with the prior art, the advantages of the present invention are as follows:

[0108] It eliminates the step of repeatedly finding intersections between the sampled point rays and the model, and only calculates intersections with the generated contour lines, greatly optimizing the calculation process and speed.

[0109] For areas with many overlapping regions, a method of numbering the contour lines was used to simplify the judgment logic and make the generation of the support structure of complex models more stable.

[0110] Based on the automatic generation method for support structures supporting 3D printing provided by this invention, this invention also provides an automatic generation system for support structures supporting 3D printing, the system comprising the following modules:

[0111] The module for acquiring data of the model to be supported is used to acquire model data from the model file to be supported; the model data includes triangular faces and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported.

[0112] The first and second facet model generation modules are used to filter out two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model, respectively. The two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards. The first facet model is a triangular mesh model of facets that conform to the support angle. The second facet model is a triangular mesh model of facets with the normal vectors pointing upwards.

[0113] The first and second intersecting contour line generation modules are used to generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, the vertical plane is intersected with the first patch model and the second patch model respectively to obtain multiple first intersecting contour lines and multiple second intersecting contour lines, and each second intersecting contour line is numbered. The first intersecting contour line is the contour line where the vertical plane intersects with the first patch model; the second intersecting contour line is the contour line where the vertical plane intersects with the second patch model.

[0114] The multi-set corresponding point generation module is used to obtain multiple contour points of each first intersecting contour line. For each contour point, the module calculates the intersection of the contour point vertically downward with the second intersecting contour line, selects the nearest intersection point below the contour point, and records the number of the second intersecting contour line where the intersection point is located, thus obtaining a set of corresponding points corresponding to each first intersecting contour line. The set of corresponding points corresponding to the first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point.

[0115] The triangular facet construction module for the support structure is used to detect whether the lower intersection points of each pair of corresponding points in a set of first intersecting contours are on the same numbered second intersecting contours, and construct the triangular facets of the support structure based on the detection results.

[0116] The support model construction module is used to construct the support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure.

[0117] The support structure generation module is used to generate support structures based on the support model; the support structures include sheet-like support structures and connected support structures.

[0118] Furthermore, the present invention also provides an electronic device, which may include: a processor, a communication interface, a memory, and a communication bus. The processor, communication interface, and memory communicate with each other via the communication bus. The processor can call a computer program stored in the memory to execute the described automatic generation method for support structures supporting 3D printing.

[0119] Furthermore, when the computer program in the aforementioned memory is implemented as a software functional unit and sold or used as an independent product, it can be stored in a non-transitory computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.

[0120] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to the method section.

[0121] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for automatically generating support structures supporting 3D printing, characterized in that, The method includes: Step S1: Obtain the model data from the model file to be supported; the model data includes triangular facets and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported; Step S2: Select two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model respectively; the two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards; the first facet model is a triangular mesh model of facets that conform to the support angle; the second facet model is a triangular mesh model of facets with the normal vectors pointing upwards. Step S3: Generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, find the intersection between the vertical plane and the first patch model and the second patch model respectively to obtain multiple first intersecting contour lines and multiple second intersecting contour lines, and number each second intersecting contour line; the first intersecting contour line is the contour line where the vertical plane intersects with the first patch model; the second intersecting contour line is the contour line where the vertical plane intersects with the second patch model; Step S4: For each of the first intersecting contour lines, obtain multiple contour points of the first intersecting contour line. For each contour point, find the intersection point with the second intersecting contour line vertically downwards. Select the nearest intersection point below the contour point and record the number of the second intersecting contour line where the intersection point is located. This yields a set of corresponding points for each of the first intersecting contour lines. The set of corresponding points for each first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point. Step S5: For each pair of corresponding points corresponding to the first intersecting contour line, check whether the lower intersection points are on the same numbered second intersecting contour line between the pairs of corresponding intersection points in the pair. Construct a triangular facet of the support structure based on the detection result. The construction of the triangular facet of the support structure based on the detection result specifically includes: Step S51: When the detection result is that the lower intersection points are on the same numbered second intersecting contour line, create a mapping using the contour points between the two intersection points, construct the triangular facet of the support structure and record it; Step S52: When the detection result is that the lower intersection points are not on the same numbered second intersecting contour line, find the head point or tail point of the second intersecting contour line between the two intersection points, divide the points into two different groups based on the head point or tail point, and repeat Step S51 to construct the triangular facet of the support structure. Step S6: Construct a support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure; Step S7: Generate a support structure based on the support model; the support structure includes a sheet-like support structure and a connecting support structure.

2. The method for automatically generating support structures supporting 3D printing according to claim 1, characterized in that, The construction of the support model based on the triangular facets of the support structure specifically includes: Step S61: When constructing the triangular mesh model of the connected support structure, no offset is required. Directly generate vertical planes at fixed intervals, repeat steps S3 to S5 to obtain multiple non-closed triangular facet models, and then connect the triangular facet models in odd and even order to obtain the triangular mesh model of the connected support structure. Step S62: When constructing the triangular mesh model of the sheet support structure, continue to offset each contour point of the first intersecting contour line in step S5 and the intersection point corresponding to each contour point along the direction perpendicular to the contour line by a set thickness to obtain two new sets of offset points; repeat step S5 again to construct the offset triangular facets using the two new sets of offset points; finally, construct facet connections at the beginning and end of the triangular facets before and after offset, and at the same time use the mapping method to construct the connected top and bottom triangular facets to obtain a closed sheet support triangular mesh model cut out by a vertical plane; generate vertical planes at fixed intervals, and repeat steps S3 to S6 to obtain the triangular mesh model of the sheet support structure.

3. The method for automatically generating support structures supporting 3D printing according to claim 1, characterized in that, When the contour point is used to vertically downwards to find the intersection with the second intersecting contour line, if no intersection point is found at the bottom, it is determined that there is no overlapping area at the bottom, and the support structure can be directly generated on the printing plane.

4. The method for automatically generating support structures supporting 3D printing according to claim 1, characterized in that, After obtaining multiple contour points of the first intersecting contour line, the method further includes: The multiple contour points of the first intersecting contour line are thinned to obtain the multiple contour points of the first intersecting contour line after thinning.

5. An automatic generation system for support structures supporting 3D printing, characterized in that, The system includes: The module for acquiring model data to be supported is used to acquire model data from the model file to be supported; the model data includes triangular facets and vertices; the model to be supported is a triangular mesh model of the structure that needs to be supported; The first and second facet model generation modules are used to filter out two sets of facets based on the normal vectors of the triangular facets, and convert the two sets of facets into a first facet model and a second facet model respectively; the two sets of facets include a set of facets that conform to the support angle and a set of facets with the normal vectors pointing upwards; the first facet model is a triangular mesh model of facets that conform to the support angle; the second facet model is a triangular mesh model of facets with the normal vectors pointing upwards. The first and second intersecting contour line generation modules are used to generate multiple vertical planes at fixed intervals in the X or Y direction. For each vertical plane, the vertical plane is intersected with the first patch model and the second patch model respectively to obtain multiple first intersecting contour lines and multiple second intersecting contour lines, and each second intersecting contour line is numbered. The first intersecting contour line is the contour line where the vertical plane intersects with the first patch model; the second intersecting contour line is the contour line where the vertical plane intersects with the second patch model. A multi-set corresponding point generation module is used to obtain multiple contour points of each first intersecting contour line, and for each contour point, to find the intersection of the contour point vertically downward with the second intersecting contour line, select the nearest intersection point below the contour point, and record the number of the second intersecting contour line where the intersection point is located, thereby obtaining a set of corresponding points corresponding to each first intersecting contour line; the set of corresponding points corresponding to the first intersecting contour line includes each contour point of the first intersecting contour line and the intersection point corresponding to each contour point. The triangular facet construction module for the support structure is used to detect whether the lower intersection points of each pair of corresponding points in a set of first intersecting contours are on the same numbered second intersecting contour, and construct triangular facets of the support structure based on the detection results. The construction of triangular facets of the support structure based on the detection results specifically includes: when the detection result is that the lower intersection points are on the same numbered second intersecting contour, a mapping is created using the contour points between the two intersection points to construct the triangular facets of the support structure and record them; when the detection result is that the lower intersection points are not on the same numbered second intersecting contour, the head point or tail point of the second intersecting contour between the two intersection points is found, and the points are divided into two different groups based on the head point or tail point, and step S51 is repeated to construct the triangular facets of the support structure. A support model construction module is used to construct a support model based on the triangular facets of the support structure; the support model is a triangular mesh model of the support structure. A support structure generation module is used to generate a support structure based on the support model; the support structure includes a sheet-like support structure and a connected support structure.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the automatic generation method for support structures that support 3D printing as described in any one of claims 1-4.

7. The electronic device according to claim 6, characterized in that, The memory is a non-transitory computer-readable storage medium.