CN116872500A - Method for realizing Z-axis compensation by generating and eliminating self-intersection - Google Patents

Method for realizing Z-axis compensation by generating and eliminating self-intersection Download PDF

Info

Publication number
CN116872500A
CN116872500A CN202311146976.5A CN202311146976A CN116872500A CN 116872500 A CN116872500 A CN 116872500A CN 202311146976 A CN202311146976 A CN 202311146976A CN 116872500 A CN116872500 A CN 116872500A
Authority
CN
China
Prior art keywords
boundary
point
sub
patches
intersection
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
Application number
CN202311146976.5A
Other languages
Chinese (zh)
Other versions
CN116872500B (en
Inventor
何雪军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Flash Casting 3d Technology Co ltd
Original Assignee
Suzhou Flash Casting 3d Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Flash Casting 3d Technology Co ltd filed Critical Suzhou Flash Casting 3d Technology Co ltd
Priority to CN202311146976.5A priority Critical patent/CN116872500B/en
Publication of CN116872500A publication Critical patent/CN116872500A/en
Application granted granted Critical
Publication of CN116872500B publication Critical patent/CN116872500B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing

Abstract

The invention relates to the technical field of 3D printing, and discloses a method for realizing Z-axis compensation by generating and eliminating self-intersection. The invention can compensate the conditions of different penetration depths, but is not limited to slice compensation, which can only compensate the integral multiple of the layer height, and is not limited to the problem that the gray compensation value is smaller than one layer height.

Description

Method for realizing Z-axis compensation by generating and eliminating self-intersection
Technical Field
The invention relates to the technical field of 3D printing, in particular to a method for realizing Z-axis compensation by generating and eliminating self-intersection.
Background
In the photo-curing printing, in order to secure the curing strength between the adjacent two layers, the penetration depth of light is at least one layer, so that the excessive resin is cured when the first layer of the lower surface is printed, resulting in thickening of the lower surface. For non-vertical holes with tolerance requirements, this can lead to sagging of the upper edge of the hole, making the effective diameter of the hole smaller and thus not fitting, as shown in fig. 1. To solve this problem, the lower surface needs to be adjusted in the Z-axis direction, a process called Z-axis compensation.
The patent CN202011011096.3 implements Z-axis compensation by 2D boolean operations on the basis of slice data, which can only compensate for integer multiples of the layer height, but the light penetration depth is unlikely to be exactly integer multiples of the layer height, thus there is an error. Patent CN202210806990.2 implements Z-axis compensation by reducing the local gray level of the projected image, which requires editing the slice image, and the amount of compensation is less than one layer thickness. Patent CN202210111295.4 realizes Z-axis compensation through three-dimensional boolean operation, which is theoretically feasible, but is complex to implement, large in calculation amount and easy to generate detail errors.
Disclosure of Invention
The invention extrudes the lower surface upwards to cause the self-intersection of the model, and then eliminates the self-intersection through calculation to realize the Z-axis compensation of the model, thereby ensuring that the lower surface of the model is not thickened after printing.
In order to achieve the above purpose, the invention adopts the following technical scheme:
a method for achieving Z-axis compensation by generating and eliminating self-intersections, comprising the steps of:
(1) Establishing a topological connection relation of the main grid model by adopting a half-side structure;
(2) Finding out all the first surfaces, and mapping the first surfaces into a sub-grid; defining the first surface as a triangular patch set with a normal direction and an acute angle with the projection direction of light;
(3) Repairing topology errors in the sub-grids, and splitting the sub-grids into a plurality of sub-regions which are not connected with each other;
(4) Mapping the boundary of each subarea back to a main grid, and extruding the main grid region in the boundary in the projection reverse direction;
(5) The extrusion part intersects with the main grid, the intersection point and the intersection line are obtained, and a dividing mark is arranged on the intersection line;
(6) Dividing the main grid into a plurality of subareas according to the dividing mark, deleting subareas with volumes smaller than a set value and not with all faces facing downwards, stitching the boundaries of the rest subareas, and finally realizing Z-axis compensation of the model.
Preferably, the specific method for determining which patches belong to the first surface in the step (2) is as follows: and calculating the normal direction of all the patches, adding the patches with acute angles to the projection direction into a first surface set { F }, and mapping the first surface set { F } into a sub-grid so as to accelerate boundary searching.
The topology error in step (3) refers to the case where one vertex is connected to more than two boundary edges.
Preferably, the method for repairing topology errors in the step (3) is as follows: adjacent surfaces are inserted near a point containing a topology error, such that the point is connected to only two boundary edges. The number of the inserted adjacent surfaces is as small as possible, and the adjacent surfaces with relatively small top angles and areas are preferentially inserted.
Preferably, in the step (3), the specific method for splitting the sub-grid into a plurality of sub-areas which are not connected with each other is as follows: starting from any one of the patches which is not marked with 'access', all the patches which are directly or indirectly connected through the adjacent edges are found to form a set { R } 1 And will { R } 1 The patches in } set an "access" flag; starting from the next patch without access mark, finding out all patches directly or indirectly connected by adjacent edges to form a set { R } 2 And will { R } 2 The triangular patches in } place "access" markers; and so on until all patches in the sub-grid are marked with an "access" mark; each set { R i One for each sub-region.
Preferably, the specific method for mapping the boundary of each sub-region back to the main grid in the step (4) is as follows: will sub-region { R i The boundary of the } is mapped back to the main grid point by point to obtain a boundary set { B } on the main grid i }, wherein the boundary set { B } i The seal may comprise a plurality of seal segments formed by a set of boundary points { P } i And the left side of the broken line section points to the inside of the enclosed area, so that all the patches in the area can be found out from the boundary through the adjacent relation of the edges.
Preferably, in the step (4), the specific method for extruding the main grid area in the boundary in the projection reverse direction is as follows: boundary { B } i Copy one to get { B } i ' then { B } i ' and its internal vertices translate upward by a Z-axis compensation value.
In actual operation, the main grid area in the boundary is extruded in the projection opposite direction according to the boundary vertex { P } i -generating an extruded mesh, comprising in particular:
(a) Calculating the number of adjacent edges of each boundary point in the enclosed area;
(b) Traversing the boundary point of the current region, if the boundary point P i No contiguous edge is present in the region, at this boundary point P i A point P is inserted into the triangle in the area i ' (Point P) i The' coordinates are more arbitrary and then reassigned), while P will be i ' connected to three vertices of the triangle in which it is located, and at this time, to the boundary point P i The number of adjacent edges in the areas of the adjacent boundary points is increased by 1;
(c) Any boundary point P remaining except the boundary point processed in the step (b) i The number of adjacent edges in the region is greater than 0, and a point P is inserted into the adjacent edges in the first region encountered by the first region starting from the left (or right) boundary and rotating clockwise (or counter) clockwise i ' (Point P) i The' coordinates are more arbitrary and then reassigned) while pointing the original point P in the region i The edge of (2) is changed to point to P i ' and other topological connection relations are maintained;
(d) Triangulating polygons with more than 3 sides;
(e) Each boundary point P i The coordinates of' are changed from point P i Offset a Z-axis compensation value in the opposite direction of projection to make P i The inner points of the' enclosed region are offset by a Z-axis compensation value in the opposite direction of projection.
Preferably, the specific method in the step (5) is as follows: and calculating all intersection points and intersection lines, distinguishing points intersected in the triangle from points intersected on the sides, and counting the intersection points on each side and the intersection lines on each surface. Wherein, the point of intersection on the edge includes 3 cases where the edge intersects the interior of the other face, the edge (including the end point) intersects the other face, and the edge partially overlaps with one edge of the other face. According to the statistical information, inserting each intersection point on the edge in sequence; secondly, according to whether the end points are on the edge or in the plane, the intersecting lines on the plane are also divided into a plurality of cases, in order to connect the intersecting lines sequentially, the intersecting lines need to start from the end point on one edge, pass through a plurality of in-plane end points and then reach the end point on the other edge, firstly, the edge is inserted according to the end points on the two edges, and then the internal end points are inserted into the edges sequentially. Finally, the polygons of more than 3 sides are triangulated, and a 'segmentation' mark is set for all the intersecting sides.
Preferably, in the step (6), the specific dividing method for dividing the main grid into a plurality of sub-areas according to the dividing mark is as follows: starting from any one of the patches of the main grid, finding out all the patches directly or indirectly connected through the adjacent edges, but searching cannot pass through the adjacent edges containing the division marks, so that a sub-area is found, and the patches in the area are marked as accessed; then, starting from the next dough sheet which is not marked with 'visited', searching for the next sub-area; and so on until all patches contain an "accessed" flag.
Preferably, the subareas in step (6) comprise thin shells, thin sheets, normal wrong shells and unsealed shells, and the vertex of any one of the panels in the subareas is A i 、B i 、C i The directional volume of the dough sheet relative to the origin is A i ×B i ·C i The volume of the subarea is the sum of the directed volumes of all the patches constituting the subarea; when the main grid model is positioned above the XY plane, the volume of the thin shell is close to 0, the normal error shell volume is negative, the volume of the unsealed shell is larger than 0, the volume of the thin sheet is smaller than 0, and the normal directions of the surface sheets forming the thin sheet are downward.
By adopting the technical scheme, the invention has the following beneficial effects:
1. the invention can compensate for the conditions of different penetration depths by only adjusting the Z-axis compensation value, but is not limited to slice compensation, only can compensate for integral multiples of the layer height, and is not limited to the problem that the gray compensation value is smaller than one layer thickness.
2. The compensation calculation is simpler, and the precision of finally generating the Z-axis compensation model is high, so that the lower surface of the model is ensured not to be thickened after printing, and the non-vertical hole and the corresponding shaft can be correctly matched.
Drawings
Fig. 1 is a schematic view of a structure with a thickened lower surface of a printing model.
FIG. 2 is a flow chart of a method of implementing Z-axis compensation by generating and eliminating self-intersections.
Fig. 3 is a schematic diagram of a sub-grid requiring topology repair.
Fig. 4 (1) to 4 (5) are schematic diagrams showing the extrusion of the lower surface upward.
FIG. 5 is a point P i The insertion point P when the number of adjacent edges in the region of (a) is greater than 0 i Maintenance of 'post-topology connections'.
Fig. 6 is a view showing a case where the lower surface is intersected with the main grid pattern after being extruded upward.
Fig. 7 is another case where the lower surface intersects the main grid pattern after being extruded upward.
Fig. 8 (1) is a front view of the hole pattern in example 1, and fig. 8 (2) is a left view of the hole pattern.
Fig. 9 is a schematic view of the structure after the lower surface of the perforated pattern is extruded upward.
Fig. 10 is a calculated intersection segment after the lower surface of the apertured pattern is extruded upward.
FIG. 11 is a model after intersection points and intersection edges are inserted and partially triangulated.
Fig. 12 (1) shows an unconditional sub-region, and fig. 12 (2) shows a Z-axis compensation result.
Fig. 13 (1) -13 (7) are diagrams of the process of implementing Z-axis compensation using the method of the present invention in example 2.
Detailed Description
A method for implementing Z-axis compensation by generating and eliminating self-intersections as shown in fig. 2, comprising the steps of:
(1) And establishing a topological connection relation of the main grid model by adopting a half-side structure.
(2) Finding out all the first surfaces, and mapping the first surfaces into a sub-grid; the first surface is defined as a set of triangular patches having a normal direction at an acute angle to the direction of projection of the light. For this purpose, it is necessary to calculate the normal direction of all the patches, add the patches that form an acute angle with the projection direction to the first surface set { F }, and map the first surface set { F } to a sub-grid, and since there is only one adjacent surface on the boundary edge in the sub-grid, the search of the boundary can be expedited. The first surface is a set of lower surfaces when the projection direction of the light is vertically downward, and is a set of upper surfaces when the projection direction of the light is vertically upward.
(3) And repairing topology errors in the sub-grids, and splitting the sub-grids into a plurality of sub-regions which are not connected with each other.
Topology errors refer to the situation that one vertex is connected with more than two boundary edges, and the repairing method is to insert the adjacent surfaces, so that the point is connected with only two boundary edges, the number of the inserted adjacent surfaces is as small as possible, and the adjacent surfaces with relatively small vertex angles and areas are preferentially inserted.
As shown in fig. 3, there are 4 boundary edges connected to boundary point a, AB, AC, AD, AE respectively, and extruding this area results in a non-two-dimensional manifold mesh, for which the area boundary needs to be repaired, since ++bac is smaller than ++dae, triangular patches ABC are preferentially inserted, so that boundary edges AB, AC become internal edges, and BC becomes boundary edges, so that there are only two boundary edges connected to boundary point a, AD, AE respectively. This situation is manifested mainly as abrupt changes in the normal direction of the patch, typically caused by local noise in the grid, and the added patch ABC is typically small with negligible impact on the final result.
The sub-grid is a whole and cannot be directly processed, and the sub-grid is required to be divided into a plurality of sub-areas which are not connected with each other according to the adjacent relation of the edges for processing respectively. For this purpose, it is necessary to find all the patches directly or indirectly connected by the adjacent edges from any patch not marked with "access" to form a set { R } 1 And will { R } 1 The patches in } set an "access" flag; starting from the next patch without access mark, finding out all patches directly or indirectly connected by adjacent edges to form a set { R } 2 And will { R } 2 The triangular patches in } place "access" markers; and so on until all patches in the sub-grid are marked with an "access" mark; each set is also called a sub-region, assuming that there are n sub-regions, for any sub-region { R i For example, there may be 1 or more than 1 boundary depending on whether or not a hole exists in the sub-region.
(4) And mapping the boundary of each subarea back to the main grid, and extruding the main grid region in the boundary in the projection opposite direction. And when the projection direction of the light is vertical downward, extruding the main grid area in the boundary upwards, and when the projection direction of the light is vertical upward, extruding the main grid area in the boundary downwards.
Mapping the sub-grids is only to facilitate the splitting of the sub-regions and the finding of the boundary lines around it, whether the corresponding region on the main grid is to be operated at last, for which purpose the boundary of each sub-region needs to be mapped back to the main grid point by point to obtain the boundary set { B } on the main grid i }, wherein { B } i The seal may comprise a plurality of seal segments formed by a set of boundary points { P } i And the left side of the broken line section points to the inside of the enclosed area, so that all the patches in the area can be found out from the boundary through the adjacent relation of the edges.
After the boundary and the subarea on the main grid are obtained, the main grid area in the boundary can be extruded upwards, and the method specifically comprises the following steps:
(a) The number of adjacent edges of each boundary point in the enclosed area is calculated. As shown in FIG. 4 (1), P 1 And P 6 The number of adjacent edges in the region of (2) is 0, and the number of adjacent edges in the region of the rest of the vertices is greater than 0, e.g. P 2 The number of adjacent edges in the area of the dot is 2.
(b) Traversing the boundary point of the current region, if the boundary point P i If there is no adjacent edge in the region, a point P is inserted into the triangle in the region where the boundary point Pi is located i ' (Point P) i’ Is more arbitrary and then reassigned), while P i ' connected to three vertices of the triangle in which it is located, and at this time, to the boundary point P i The number of adjacent edges in the areas of the adjacent boundary points is increased by 1;
as shown in FIG. 4 (2), at P 1 For example, at the boundary point P 1 The triangle is inserted with a point P 1 ' simultaneously connect P 1 ’P 1 、P 1 ’P 2 、P 1 ’P 9 At this time, adjacent boundary point P 2 、P 9 The number of contiguous edges in the region of (2) is increased by 1. Inserting replication point P in the same way 6 ' simultaneously connect P 6 ’P 6 、 P 6 ’P 5 、 P 6 ’P 7 At this time, adjacent boundary point P 5 、P 7 The number of contiguous edges in the region of (2) is increased by 1.
(c) Any boundary point P remaining except the boundary point processed in the previous step i The number of adjacent edges in the region is greater than 0, and a point P is inserted into the adjacent edges in the first region encountered by the first region starting from the left (or right) boundary and rotating clockwise (or counter) clockwise i ' (Point P) i The' coordinates are more arbitrary and then reassigned) while pointing the original point P in the region i The edge of (2) is changed to point to P i ' and other topological connection relations are maintained;
at point P in FIG. 4 (2) 2 For example, facing the inner region, at the left boundary P 2 P 1 The 1 st zone of the adjacent edge P encountered by the beginning of the clockwise rotation 2 P 1 ' insert a point P on 2 ' adjacent edge P in other regions 9 P 2 、OP 2 From the direction P 2 Instead point to P 2 ' while maintaining other topological connections, the remaining vertices are treated as such, the result being shown in fig. 4 (3).
Taking fig. 5 as an example, maintenance of the topological connection relationship includes: insertion point P i ' after which point P i The other incident half a, b, c is instead directed to point P i 'A'; the plane to which half o0 points changes from f0 to fj; the next half of half c changes from hj to o0; the next half of o0 changes from the opposite half of a to hj; the next half of o1 changes from o0 to the opposite half of a; if the face f0 points to o0, it should instead point to o1; if the vertex P i The outgoing half of (a) points to the opposite half of a (or the opposite half of b, or the opposite half of c), the vertex P should be i Is set to hj.
(d) Triangulating polygons with more than 3 sides;
connecting the copy points P according to the situation 1 ’~ P 9 And triangulating the resulting quadrangle, the result is shown in fig. 4 (4).
(e) Each boundary point P i The coordinates of' are changed from point P i Offset a Z-axis compensation value in the opposite direction of projection to make P i The inner point of the' enclosed area is offset to the opposite direction of projection by a Z-axis compensation value;
(5) The extruded part intersects the main grid, the intersection point and the intersection line are obtained, and a division mark is arranged on the intersection line.
And calculating all intersection points and intersection lines, distinguishing points intersected in the triangle from points intersected on the sides, and counting the intersection points on each side and the intersection lines on each surface. Wherein, the point of intersection on the edge includes 3 cases where the edge intersects the interior of the other face, the edge (including the end point) intersects the other face, and the edge partially overlaps with one edge of the other face. Inserting the respective intersections on the sides in order according to the statistical information (refer to the description of fig. 5 in patent CN115984442a for details); next, the intersection lines on the surface are also divided into various cases according to whether the end points are on the edge or in the surface, and in order to connect the intersection lines sequentially, the intersection lines need to start from the end point on one edge, pass through a plurality of in-surface end points and reach the end point on the other edge, firstly insert the edge according to the end points on the two edges, and then insert the internal end points sequentially on the edges (refer to the description of fig. 7 in patent CN115984442a for specific details). Finally, the polygons of more than 3 sides are triangulated, and a 'segmentation' mark is set for all the intersecting sides.
As shown in fig. 6, is an example of intersecting on a triangle side. After extrusion upwards towards the lower BCDE, a face B ' C ' D ' E ' is obtained, the triangle B ' D ' E ' and the triangle ABE, AEF are respectively crossed with B ' G, E ' G, so that it is necessary to insert a point B ' on the AB side, a point E ' on the EF side, a point G on the AE side, a point G on the B ' E ', a side B ' G in the triangle ABE, a side E ' G in the triangle AEF, while the quadrangle BEGB ', AGE ' F, B ' D ' E ' G, BB ' GE ' is triangulated, and a "split" flag is set to a side B ' G, E ' G split from a side B ' E ' of the triangle B ' D ' E ', and a new side B ' G, E ' G inserted on the triangle ABE is set to a "split" flag. B 'G, E' G appears to be marked twice, but twice each represent a different edge on a different triangle, but with the same coordinates.
As shown in fig. 7, is an example of intersecting inside a triangle. A 'B' C 'is extruded upwards towards the lower face ABC (not shown in the figure), and is intersected with the triangles DEF and DFG respectively at IJ and HI, so that a point H is required to be inserted on the side A' C ', a point I is required to be inserted on the side DF, a point J is required to be inserted on the side B' C ', a point I is required to be inserted inside the triangle A' B 'C', sides HI and IJ are required to be inserted in the triangle A 'B' C ', a point J is required to be inserted inside the triangle DEF, a point H is required to be inserted in the triangle DFG, more than 3 sides of polygons are required to be triangulated, and sides HI and IJ inserted in the triangle A' B 'C' are required to be provided with "division" marks.
The adjacent surface (not shown in the figure) of the triangle A ' B ' C ' along B ' C ' is also intersected with the triangle DEF (the other edge C ' A ' is similar), so that all the intersected edges need to be calculated at one time to obtain the information of the intersection point and intersection line in each surface of each edge, the intersection points on the edges are inserted edge by edge, the intersection lines and the intersection points in the surfaces are inserted face by face, and the polygons of more than 3 edges are triangulated.
In order to accelerate the intersection calculation, acceleration methods such as a hierarchical bounding box and an octree can be adopted, and obviously disjoint triangle pairs are eliminated in advance, so that the calculation amount is reduced.
Taking a hierarchical bounding box as an example, a bounding box B of a certain triangle T is necessary to be in a bounding box of a main grid root node, and comparison is not performed; when B does not intersect the bounding box of the left node of the root node, all triangular patches in the left node of the root node can be eliminated, and the triangles do not intersect T, so that a large number of invalid computations are avoided; when the bounding box of the right node of the root node is intersected with the bounding box of the B, the intersecting situation of the bounding boxes of the left and right child nodes of the next layer and the B needs to be judged recursively, the method is similar until a triangle intersected with T is determined in the leaf node, and an intersection point and an intersection line are obtained. In addition, a certain time is also needed for constructing the hierarchical bounding box, but after the hierarchical bounding box is adopted for acceleration, the total calculation time can be reduced by more than one order of magnitude.
(6) Dividing a main grid into a plurality of sub-grids according to division marksThe area is deleted and the volume is smaller than the set value of 0.125m 3 And not all the downward facing regions stitch the remaining boundaries, ultimately achieving z-axis compensation of the model.
The specific method for dividing the main grid into a plurality of subareas according to the dividing mark is as follows: starting from any one of the patches of the main grid, finding out all the patches directly or indirectly connected through the adjacent edges, but searching cannot pass through the adjacent edges containing the division marks, so that a sub-area is found, and the patches in the area are marked as accessed; then, starting from the next dough sheet which is not marked with 'visited', searching for the next sub-area; and so on until all patches contain an "accessed" flag.
The subarea comprises a thin shell, a thin sheet, a normal error shell and an unsealed shell, and the vertex of any one of the panels in the subarea is A i 、B i 、C i The directional volume of the dough sheet relative to the origin is A i ×B i ·C i The volume of the subarea is the sum of the directed volumes of all the patches constituting the subarea; when the main grid model is positioned above the XY plane, the volume of the thin shell is close to 0, the normal error shell volume is negative, the volume of the unsealed shell is larger than 0, the volume of the thin sheet is smaller than 0, and the normal directions of the surface sheets forming the thin sheet are downward.
Example 1
In this embodiment, a perforated pattern is taken as an example, wherein the pattern has an inclination of 10 °, as shown in fig. 8 (1) and 8 (2).
Assuming that the light projection direction is vertically downward, the lower surface of the apertured pattern is extruded upward, and the result is shown in fig. 9.
After the intersection calculation, all the intersection segments are shown in fig. 10.
Depending on the intersection, new vertices and edges are inserted, and the local polygon is triangulated, the result being shown in FIG. 11.
The model is split into 7 sub-regions of 0-6 by "split" markers at the intersection, as shown in FIG. 12. To distinguish the different sub-areas, sub-areas 0 and 5 in fig. 12 (1) are separated from the other sub-areas by a dotted line, and sub-area 3 in fig. 12 (2) is shifted out to the right from fig. 12 (1). In this example, subareas 0, 2, 4, 5 are normal wrong shells, subareas 1, 6 are thin shells, and subarea 3 is an unsealed shell. Obviously, all the subareas in fig. 12 (1) can be deleted, and the subareas 3 in fig. 12 (2) are left to be subjected to boundary stitching, so that the Z-axis compensation result of the hole model is obtained.
Example 2
This embodiment is a model with holes without inclination, and fig. 13 (1) is a front view thereof, and fig. 13 (2) is a left side view thereof.
Assuming that the light projection direction is vertically downward, the lower surface of the mold is pushed upward, and the result is shown in fig. 13 (4).
After the intersection calculation, all the intersection segments are as shown in fig. 13 (3).
Based on the intersection, new vertices and edges are inserted, and the local polygon is triangulated, the result of which is shown in FIG. 13 (5).
The mark is split into 14 sub-areas of 0 to 13 by "splitting" at the intersection, as shown in fig. 13 (6) and 13 (7). The sub-regions 0, 13 in fig. 13 (7) are shifted out to the right from fig. 13 (6). In this example, the subareas 8, 11 are normal wrong housings, the subareas 1, 2, 3, 4, 5, 6, 7, 9, 10, 12 are thin housings, the subarea 0 is an unsealed housing, the underside is open, the subarea 13 is a sheet (not visible in the figure), and the notch on the underside of the subarea 0 is just complemented. Obviously, all the subareas in fig. 13 (6) can be deleted, and the subareas 0 and 13 in fig. 13 (7) are left to be subjected to boundary stitching, so that the Z-axis compensation result of the hole model is obtained.
The above is only a specific embodiment of the present invention, but the technical features of the present invention are not limited thereto. Any simple changes, equivalent substitutions or modifications made on the basis of the present invention to solve the substantially same technical problems and achieve the substantially same technical effects are encompassed within the scope of the present invention.

Claims (10)

1. A method for achieving Z-axis compensation by generating and eliminating self-intersections, comprising the steps of:
(1) Establishing a topological connection relation of the main grid model by adopting a half-side structure;
(2) Finding out all the first surfaces, and mapping the first surfaces into a sub-grid; defining the first surface as a triangular patch set with a normal direction and an acute angle with the projection direction of light;
(3) Repairing topology errors in the sub-grids, and splitting the sub-grids into a plurality of sub-regions which are not connected with each other;
(4) Mapping the boundary of each subarea back to a main grid, and extruding the main grid region in the boundary in the projection reverse direction;
(5) The extrusion part intersects with the main grid, the intersection point and the intersection line are obtained, and a dividing mark is arranged on the intersection line;
(6) Dividing the main grid into a plurality of subareas according to the dividing mark, deleting subareas with volumes smaller than a set value and not with all faces facing downwards, stitching the boundaries of the rest subareas, and finally realizing Z-axis compensation of the model.
2. The method for implementing Z-axis compensation by generating and eliminating self-intersection according to claim 1, wherein the specific method for determining which patches belong to the first surface in step (2) is as follows: and calculating the normal direction of all the patches, adding the patches with acute angles to the projection direction into a first surface set { F }, and mapping the first surface set { F } into a sub-grid so as to accelerate boundary searching.
3. The method for implementing Z-axis compensation by generating and eliminating self-intersections according to claim 2, wherein the specific method for repairing topology errors in the subgrid in step (3) is as follows: the abutment surface is inserted such that any one boundary point is connected to only two boundary edges.
4. The method for implementing Z-axis compensation by generating and eliminating self-intersection according to claim 1, wherein the specific method for splitting the sub-grid into a plurality of sub-regions that are not connected to each other in step (3) is as follows: starting from any patch that is not marked "access",finding all patches directly or indirectly connected by adjacent edges to form a set { R 1 And will { R } 1 The patches in } set an "access" flag; starting from the next patch without access mark, finding out all patches directly or indirectly connected by adjacent edges to form a set { R } 2 And will { R } 2 The triangular patches in } place "access" markers; and so on until all patches in the sub-grid are marked with an "access" mark; each set { R i One for each sub-region.
5. The method of claim 1, wherein the step (4) of mapping boundaries of sub-regions back to the main grid is specifically: will sub-region { R i The boundary of the } is mapped back to the main grid point by point to obtain a boundary set { B } on the main grid i }, wherein the boundary set { B } i The seal may comprise a plurality of seal segments formed by a set of boundary points { P } i And the left side of the broken line section points to the inside of the enclosed area, and all the patches in the area are found out from the boundary through the adjacent relation of the edges.
6. The method for realizing the Z-axis compensation by generating and eliminating the self-intersection according to claim 5, wherein the specific method for extruding the main grid area in the boundary in the projection opposite direction in the step (4) is as follows: boundary { B } i Copy one copy obtain boundary { B } i ' boundary { B }, then i ' and its internal vertices translate upward by a Z-axis compensation value.
7. A method for achieving Z-axis compensation by generating and eliminating self-intersection according to claim 6, wherein the extruding the main grid area within the boundary in the step (4) toward the opposite direction of projection specifically comprises:
(a) Calculating the number of adjacent edges of each boundary point in the enclosed area;
(b) Traversing boundary points of the current region, if the boundary pointsP i No contiguous edge is present in the region, at this boundary point P i A point P is inserted into the triangle in the area i ' at the same time P i ' connected to three vertices of the triangle in which it is located, and at this time, to the boundary point P i The number of adjacent edges in the areas of the adjacent boundary points is increased by 1;
(c) Any boundary point P remaining except the boundary point processed in the step (b) i The number of adjacent edges in the region is greater than 0, and a point P is inserted into the adjacent edges in the first region encountered in clockwise or counterclockwise rotation from the left or right boundary facing the interior region i ' at the same time point to P originally in the region i The edge of (2) is changed to point to P i ' and other topological connection relations are maintained;
(d) Triangulating polygons with more than 3 sides;
(e) Each boundary point P i The coordinates of' are changed from the boundary point P i Offset a Z-axis compensation value in the opposite direction of projection to make P i The inner points of the' enclosed region are offset by a Z-axis compensation value in the opposite direction of projection.
8. The method of claim 1, wherein the specific method of step (5) is as follows: calculating all intersection points and intersection lines, distinguishing points intersected in the triangle from points intersected on the sides, counting the intersection lines of the intersection points on each side and each surface, and inserting the intersection points on the sides in sequence according to the statistical information; secondly, connecting each intersecting line sequentially according to whether the end points are on the edge or in the plane, starting from the end point on one edge, passing through a plurality of in-plane end points, reaching the end point on the other edge, inserting the edge according to the end points on the two edges, inserting the internal end points on the edges in sequence, triangulating polygons with more than 3 edges, and setting a division mark for all the intersecting edges.
9. The method for achieving Z-axis compensation by generating and eliminating self-intersections according to claim 1, wherein the specific method for dividing the main grid into a plurality of sub-regions according to the "division" mark in step (6) is as follows: starting from any one of the patches of the main grid, finding out all the patches directly or indirectly connected through adjacent edges, searching the adjacent edges which do not cross the adjacent edges containing the division marks, finding out a sub-area, and taking the patches in the area as accessed marks; then, starting from the next dough sheet which is not marked with 'visited', searching for the next sub-area; and so on until all patches contain an "accessed" flag.
10. A method of achieving Z-axis compensation by generating and eliminating self-intersections as defined in claim 9 wherein: the subarea comprises a thin shell, a thin sheet, a normal error shell and an unsealed shell, and the vertex of any sheet in the subarea is A i 、B i 、C i The directional volume of the dough sheet relative to the origin is A i ×B i ·C i The volume of the subarea is the sum of the directed volumes of all the patches constituting the subarea; when the main grid model is positioned above the XY plane, the volume of the thin shell is close to 0, the normal error shell volume is negative, the volume of the unsealed shell is larger than 0, the volume of the thin sheet is smaller than 0, and the normal directions of the surface sheets forming the thin sheet are downward.
CN202311146976.5A 2023-09-07 2023-09-07 Method for realizing Z-axis compensation by generating and eliminating self-intersection Active CN116872500B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311146976.5A CN116872500B (en) 2023-09-07 2023-09-07 Method for realizing Z-axis compensation by generating and eliminating self-intersection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311146976.5A CN116872500B (en) 2023-09-07 2023-09-07 Method for realizing Z-axis compensation by generating and eliminating self-intersection

Publications (2)

Publication Number Publication Date
CN116872500A true CN116872500A (en) 2023-10-13
CN116872500B CN116872500B (en) 2023-12-29

Family

ID=88262634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311146976.5A Active CN116872500B (en) 2023-09-07 2023-09-07 Method for realizing Z-axis compensation by generating and eliminating self-intersection

Country Status (1)

Country Link
CN (1) CN116872500B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532299B1 (en) * 2000-04-28 2003-03-11 Orametrix, Inc. System and method for mapping a surface
JP2003122806A (en) * 2001-10-09 2003-04-25 Nippon Soken Holdings:Kk Mesh shape determining method, mesh generating method, mesh generating device, computer program and recording medium
US8260589B1 (en) * 2009-12-24 2012-09-04 Indian Institute Of Technology Madras Methods and systems for modeling a physical object
CN104331555A (en) * 2014-10-31 2015-02-04 河海大学常州校区 Slicing processing method aiming at non-closed STL model with boundaries
CN105058795A (en) * 2015-08-06 2015-11-18 清华大学 Error compensating method for material-increase manufacturing
CN107599404A (en) * 2017-09-21 2018-01-19 中科院广州电子技术有限公司 A kind of upright projection of FDM 3 D-printings vertical support model seeks friendship method
CN108647399A (en) * 2018-04-17 2018-10-12 华中科技大学 A kind of biasing means of composite surface
CN110232742A (en) * 2019-06-12 2019-09-13 洁誉科技(上海)股份有限公司 3D printing hierarchical control algorithm
CN112036041A (en) * 2020-09-02 2020-12-04 河北工业大学 STL model permeation error comprehensive compensation method in 3DP process
CN112581623A (en) * 2020-12-09 2021-03-30 燕山大学 STL file-oriented three-dimensional model preprocessing method and system
CN114147970A (en) * 2021-11-22 2022-03-08 浙江闪铸三维科技有限公司 Method for automatic compensation platform of 3D printer
CN114407369A (en) * 2022-01-29 2022-04-29 上海漫格科技有限公司 Z-axis compensation method of three-dimensional model based on three-dimensional printing

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532299B1 (en) * 2000-04-28 2003-03-11 Orametrix, Inc. System and method for mapping a surface
JP2003122806A (en) * 2001-10-09 2003-04-25 Nippon Soken Holdings:Kk Mesh shape determining method, mesh generating method, mesh generating device, computer program and recording medium
US8260589B1 (en) * 2009-12-24 2012-09-04 Indian Institute Of Technology Madras Methods and systems for modeling a physical object
CN104331555A (en) * 2014-10-31 2015-02-04 河海大学常州校区 Slicing processing method aiming at non-closed STL model with boundaries
CN105058795A (en) * 2015-08-06 2015-11-18 清华大学 Error compensating method for material-increase manufacturing
CN107599404A (en) * 2017-09-21 2018-01-19 中科院广州电子技术有限公司 A kind of upright projection of FDM 3 D-printings vertical support model seeks friendship method
CN108647399A (en) * 2018-04-17 2018-10-12 华中科技大学 A kind of biasing means of composite surface
CN110232742A (en) * 2019-06-12 2019-09-13 洁誉科技(上海)股份有限公司 3D printing hierarchical control algorithm
CN112036041A (en) * 2020-09-02 2020-12-04 河北工业大学 STL model permeation error comprehensive compensation method in 3DP process
CN112581623A (en) * 2020-12-09 2021-03-30 燕山大学 STL file-oriented three-dimensional model preprocessing method and system
CN114147970A (en) * 2021-11-22 2022-03-08 浙江闪铸三维科技有限公司 Method for automatic compensation platform of 3D printer
CN114407369A (en) * 2022-01-29 2022-04-29 上海漫格科技有限公司 Z-axis compensation method of three-dimensional model based on three-dimensional printing

Also Published As

Publication number Publication date
CN116872500B (en) 2023-12-29

Similar Documents

Publication Publication Date Title
US11203157B2 (en) Three-dimensional printing preparation
CN109711018B (en) Two-dimensional to three-dimensional house type design method
US10504284B2 (en) Method for automatic modeling of complex buildings with high accuracy
US8175734B2 (en) Methods and system for enabling printing three-dimensional object models
Li et al. Compaction and separation algorithms for non-convex polygons and their applications
CN103136790A (en) Creating a surface from a plurality of 3d curves
CN101154295A (en) Three-dimensional simulation electronic chart of navigation channel
JPH0756678B2 (en) Interactive shape modeling system
CN102799702A (en) Quick topographic map making method based on database driving
CN104346830A (en) Design of a path connecting a first point to a second point in a three-dimensional scene
CN107622530B (en) Efficient and robust triangulation network cutting method
CN105243237B (en) A kind of construction method of assembly technology structure tree
US6781582B1 (en) Mesh generator for and method of generating meshes in an extrusion process
CN112132973A (en) Method and device for quickly generating three-dimensional integrated circuit electromagnetic simulation full three-dimensional grid
EP0837430B1 (en) Enhanced solid model generation
CN111353188B (en) Automated system for artificial rock structural design and manufacture
CN116872500B (en) Method for realizing Z-axis compensation by generating and eliminating self-intersection
KR101586765B1 (en) 3 Dimensional Modeling Method for Object Producted through Semiconductor Manufacturing Process
CN107145643A (en) The intelligent design system and design method of a kind of metal plate sculpture type face steelframe
US7765240B2 (en) Computer-aided modeling
US11763524B2 (en) Layered meshing for additive manufacturing simulations
JP2003022285A (en) Computer-aided product designing device
McMains et al. Layered manufacturing of thin-walled parts
CN102999944B (en) The embossment model modelling approach of a kind of border subregion
CN112948919B (en) BIM model cross-floor road network extraction method based on image refinement

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant