CN112861201B - 3D printing support area generation method based on support point expansion fusion - Google Patents
3D printing support area generation method based on support point expansion fusion Download PDFInfo
- Publication number
- CN112861201B CN112861201B CN202110082030.1A CN202110082030A CN112861201B CN 112861201 B CN112861201 B CN 112861201B CN 202110082030 A CN202110082030 A CN 202110082030A CN 112861201 B CN112861201 B CN 112861201B
- Authority
- CN
- China
- Prior art keywords
- support
- current
- point
- grid
- model
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000010146 3D printing Methods 0.000 title claims abstract description 17
- 230000004927 fusion Effects 0.000 title claims abstract description 13
- 238000007639 printing Methods 0.000 claims abstract description 10
- 238000012216 screening Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000019300 CLIPPERS Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 1
- 239000011438 cord wood Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. 3D printing
Abstract
The invention provides a 3D printing support area generation method based on support point expansion fusion, which is characterized in that a support point set of a current layer is obtained by slicing a support line segment based on the support line segment; setting a rectangular influence area by taking the supporting point as a center, and successfully converting the supporting point into a supporting contour area; meanwhile, the problem that the support invades the model is solved by performing offset operation on the model outline and performing Boolean operation on the support outline area and the offset model outline, and the problem that the model is separated from the support after printing is performed is effectively solved. The support region generation method can be applied to a complex model to automatically generate a layered support contour region, and has clear algorithm logic and design, better robustness and wide application range.
Description
Technical Field
The invention belongs to the technical field of Computer Aided Manufacturing (CAM), and particularly relates to a 3D printing support area generation method based on support point expansion and fusion.
Background
With the rapid development of computer technology and material molding technology, 3D printing technology is an advanced manufacturing technology that is widely used in the current manufacturing field. By utilizing the principle of layered manufacturing, the 3D printing technology can stack materials layer by layer to obtain design realization, and is particularly suitable for manufacturing three-dimensional parts with complex shapes and topologies.
Because the printing process is the 'cordwood system' process of piling up, when printing unsettled position, extrude the head and extrude the unable attached to waiting to print the object of material, need discern unsettled position and add the support in order to realize the normal printing of unsettled position when printing the planning.
Regarding a model support generation algorithm for 3D printing, related patent documents currently available are as follows:
chinese patent document CN106293547B (application number CN201510300613.1) discloses an automatic generation method for support of 3D printing. The method has the following steps: generating virtual bounding boxes for the imported STL model, and equally dividing the virtual bounding boxes into sub bounding boxes; and in the sub-surrounding, judging whether the triangular surface patch needs to be supported or not, and generating support for the surface patch needing to be supported. The method is simple in design, can only aim at the support needing simple support such as an H-shaped model, cannot be applied to support identification of a complex model (such as an F-shaped model), and is limited in application range.
At present, the field of 3D printing technology generally adopts an STL model as a model data format, and the STL belongs to a discrete triangular patch model, namely, a three-dimensional geometric model is approximated by a triangular patch. The support region can be identified by judging whether the region is required to be supported or not through the included angle between the normal vector of the triangular patch and the horizontal plane, if the region is a dangerous patch, the support region is a triangular prism in a vertical projection space below the triangular patch, and a long and narrow triangular prism is unrealistic in actual printing and needs to be combined. Since the points in the patch are randomly distributed, there is a great difficulty in the generation of the subsequent support region.
Disclosure of Invention
In order to realize identification of a support area and addition of support in 3D printing, the invention provides a 3D printing support area generation method based on support point expansion fusion.
A3D printing support area generation method based on support point expansion fusion comprises the following steps:
(1) inputting model surface patch data, defining a grid area on an XY plane, and generating a uniform grid node set Q;
(2) respectively making vertical lines for the grid nodes in the set Q, solving the intersection points of the grid nodes and the model, and obtaining a set W of supporting line segments according to the intersection points;
(3) slicing the support line segment in the set W, solving the intersection point of the sliced layer and the support line segment, and storing the intersection point as a support point into a support point set E in layers;
(4) selecting a slicing layer in the supporting point set E as a current slicing layer, and respectively expanding by taking the supporting point as the center in the current slicing layer to generate rectangular influence areas;
(5) the method comprises the steps of solving a union set of rectangular influence areas of different supporting points to generate an original supporting outline area set;
(6) correcting the original support contour region;
(7) and (5) repeating the steps (4) to (6) to traverse the sliced layers to obtain the support contour regions of all the sliced layers.
Preferably, in step (1), the XY plane may be any plane parallel to the printing plane or the die-cutting plane.
Preferably, in the step (1), the step of generating the grid node set Q includes:
respectively obtaining extreme values of the model in the direction X, Y according to the model patch data to obtain an envelope rectangle, namely the grid area; and optimizing the side length of the grid according to the side length of the enveloping rectangle and the set side length of the initial grid to obtain an optimized grid node, and further generating a grid node set Q. The envelope rectangle may also be other figures, such as a circle, a triangle, etc., and for convenience of description, the rectangle is illustrated here.
Preferably, a rectangle is selected as an envelope graph, the rectangle is set to be easier for adjacent regions to fuse, and gaps of the adjacent regions are not generated.
Specifically, the input model patch data are all patches of a model file, and the limit value X of the model in the direction of X, Y is obtainedmin、Xmax、Ymin、YmaxObtaining an envelope rectangle;
in order to ensure that the grid can cover the whole envelope rectangle, the length L of the initial grid side is set according to the extreme value of the model0Adjusting the side length of the grid;
as a further preference, the following formula is adopted to optimize the initial grid side length:
wherein: l isa1、La2Two side lengths of an envelope rectangle respectively; a is1、a2Respectively corresponding two side lengths, L, of the optimized grid0The length of the initial grid side can be set manually according to the size of the model.
Taking X, Y direction as an example to construct a grid, the length of the side of the adjusted grid in the X directionFor the same reason, its side length in the Y direction
With the above operation, the mesh region may be subdivided into NX*NYGrid cells, each grid cell is rectangular, and the side length in the direction of X, Y is ax、ay. The center of each grid unit is a grid node, and a grid node set Q is generated. As another simple and feasible scheme, the vertices of the mesh unit may also be used as mesh nodes for subsequent computation and processing. The aim is to obtain grid nodes that are evenly arranged within the grid area.
Preferably, in the step (2), the grid nodes in the set Q are respectively made vertical lines, and the intersection points between the grid nodes and the model are obtained, and the specific steps are as follows:
2.1, selecting an unprocessed patch as a current patch, projecting the current patch to an XY plane, screening out grid nodes in a projection area of the current patch, and adding the grid nodes into a temporary set;
2.2 selecting an unprocessed grid node in the temporary set as a current grid node, making a vertical line for the current grid node, and solving an intersection point of the current grid node and the current patch;
repeating the step until all the grid nodes in the temporary set are traversed, and obtaining the intersection points of the vertical lines made by all the grid nodes in the temporary set and the current surface patch;
and 2.3, repeating the steps 2.2 and 2.3 until all the surface patches are traversed, and obtaining all the intersection points of the vertical line corresponding to each grid node and the model.
Of course, the intersection point corresponding to a certain grid node can also be obtained by directly obtaining the intersection point of all the other surfaces by directly taking the perpendicular line corresponding to the grid node as a reference.
More preferably, in the step (2), when the mesh nodes located in the projection area of the current patch are screened out, the mesh nodes are judged by using an area comparison method.
More preferably, the area comparison method specifically includes: and aiming at the current mesh node, solving the sum of the areas of all triangles formed by combining the current mesh node and any two of the three vertexes of the projection area of the current patch, and if the sum of the areas is equal to the area of the projection area of the current patch, determining that the current mesh node is in the projection area of the current patch, otherwise, determining that the current mesh node is not in the projection area of the current patch.
Specifically, a triangle after the current patch is projected is set as ABC, and a mesh node to be determined is set as D; combining any two of the three vertexes A, B, C of the triangle ABC with the D to respectively form a triangle DAB, a triangle DAC and a triangle DBC, wherein if the sum of the areas of the triangle DAB, the triangle DAC and the triangle DBC is equal to the area of the triangle ABC, the point D is inside the triangle ABC, namely the point D to be determined is in the projection area of the current patch; otherwise, point D does not fall within the projection area of the current patch.
Preferably, in the step (2), when the mesh nodes located in the projection area of the current patch are screened, first, the projection extremum of the current patch is used for primary screening, and then, the area comparison method is adopted to judge the mesh nodes screened for the first time.
Specifically, in step (2), after the current patch is projected, an extreme value of the current patch on the projection plane, that is, X in the X direction, is obtainedkmin、XkmaxAnd Y in the Y directionkmin、YkmaxWhere k ∈ [1, i ]]I is the total number of patches of the model;
according to a coordinate comparison method, screening out the X-ray satisfying the requirementkmin<x<XkmaxAnd Ykmin<y<YkmaxThe mesh node of (1). When the next screening is carried out on the grid nodes located in the projection area of the current surface patch, only secondary screening needs to be carried out on the screened grid nodes, and the screening workload is reduced.
Preferably, in the step (2), the step of obtaining the set W of supporting line segments from the intersection points is as follows:
selecting a vertical line made by a grid node as a current vertical line, sequencing all intersection points related to the current vertical line according to a Z coordinate, sequentially determining a support starting point and a support end point, if a surface patch on which the support end point is located needs to be supported, generating a support line segment, and adding the support line segment into a set W;
and repeating the step until the vertical lines of all the grid nodes are traversed, and obtaining a set W of the supporting line segments.
Preferably, in step (2), when the intersection points related to the current vertical line are sorted according to the Z coordinate and the support starting point and the support ending point are sequentially determined:
firstly, adding a virtual plane vertical to a Z axis at or below the lowest point of the model, and intersecting the current vertical line with the virtual plane;
when only one related intersection point of the current vertical line exists, namely the current vertical line does not have an intersection point with the model and only has one intersection point with the virtual plane, the grid node corresponding to the current vertical line is directly output without support;
for the case that there are two or more relative intersection points of the current vertical line, all the intersection points are sorted according to the Z coordinate, the point defining the minimum Z coordinate (or the coordinate of the lowest point) is the 0 th intersection point, the 0 th, 1,2 … n intersection points are sequentially arranged from bottom to top (n is the total number of the intersection points in the current value, n is more than or equal to 2, and n is an even number), for the 0 th to n-1 th intersection points, the obtained even number intersection point is the support starting point (wherein the 0 th intersection point is the even number intersection point), and the odd number intersection point is the support terminal point.
Through this step, n/2 support start-support end data sets can be obtained.
It is further preferred that the model is penetrated in space from the outside by vertical lines passing through the current mesh node, and that each vertical line passing through the current mesh node normally has n intersections with the model patch and 1 intersection with the virtual plane, so that there are n +1 intersections with respect to the vertical line passing through the current mesh node in each value in the dictionary O, where n is an even number.
Arranging n +1 intersection points in the order of Z coordinate from small to large, and regarding classPmAnd classPjAnd if m is more than or equal to 1 and less than or equal to j and less than or equal to n +1, then zm≤zj。
Let n be 2r, then the method of obtaining the support line segment is:
the starting point of support (lower support point) is (z)2e,α2e) Where e ∈ [0, r), z2eZ coordinate value, alpha, for the support origin2eThe inclination angle of the plane where the support starting point is located; the support end point (upper support point) is (z)2e+1,α2e+1),z2e+1Z coordinate value, alpha, for the support end point2e+1The inclination angle of the plane of the support terminal point; if α is2e+1≤θ0Wherein, theta0For supporting the critical angle, all the surface patches of which the supporting end points with any inclination angle smaller than the supporting critical angle are dangerous surface patches; from the support starting point (z)2e,α2e) And supporting end point (z)2e+1,α2e+1) The line segment formed by the connecting lines is the supporting line segment.
When e is 0, the support starting point z0Namely the intersection point of the vertical line passing through the current grid node and the virtual plane, namely the support zero point.
If z is2e=z2e+1If the length of the line segment formed by the support starting point and the support end point being coincident is 0, it is judged that no support is needed.
When e is equal to r, the patch where the intersection point is located is the top patch of the model, and the description does not need to be supported any more.
More preferably, in the step (2), when it is determined whether the patch at which the support end point is located needs to be supported:
calculating an included angle between a surface patch at the support end point and an XY plane, wherein when the included angle is larger than a set support critical angle, the surface patch does not need to be supported; when the included angle is less than or equal to the support critical angle, the dough sheet needs to be supported.
Preferably, in step (4), on the current slice layer, the side length of the rectangular influence region generated by expansion with the supporting point as the center is f times of the corresponding side length of each grid cell (or the distance between two adjacent grid nodes in the corresponding direction), where f is greater than 1 and approaches to 1. The method aims to enable the adjacent overlapping areas to overlap more and improve the accuracy of the combination; the rectangular influence area generated by taking the supporting point as the center is used as the generation area of the supporting point, in order to convert the point into the area, the side length of the rectangular influence area of the current supporting point is set to be f times of the corresponding side length of each direction of the grid unit, and the rectangular influence areas corresponding to the adjacent supporting points can be fused into an area on the graph. Preferably, the side length of the rectangular influence area generated by expansion with the supporting point as the center is 1.1-1.2 times of the corresponding side length of each direction of the grid unit.
Preferably, in step (6), on the current sliced layer, the original support contour region is corrected by the following steps:
outwardly biasing the model slice outline region to obtain a biased outline region; and executing Boolean difference operation on the original support contour region and the offset contour region to generate an optimized support contour region.
The above-mentioned distance for outwardly offsetting the contour region of the model may be given according to actual conditions, and the general model is set to be 1 mm. And the model slice outline region is a closed outline region generated by the intersection of the current slice surface and the model.
In the invention, the slicing surface for slicing the support line segment in the step (3) is correspondingly consistent with the slicing surface for slicing (intersecting) the model in the step (6). The method can be used for slicing the supporting line segment and further obtaining supporting point information corresponding to the slicing layer.
Compared with the prior art, the invention has the beneficial effects that:
the method for generating the support area is based on a support line segment, a support point set of a current layer is obtained by slicing the support line segment, a rectangular influence area of the support point is set, and the support point is successfully converted into a support outline area; meanwhile, the method successfully solves the problem of support invasion of the model through Boolean operation of the support outline area and the model slice outline area, and effectively solves the problem of separation of the model and the support after printing is executed. The support region generation method can be applied to a complex model to automatically generate a layered support contour region, and has clear algorithm logic and design, better robustness and wide application range.
Drawings
FIG. 1 is a flow chart of an identification method according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a model and a mesh node according to an embodiment of the present invention;
fig. 3a is a schematic diagram of mesh nodes screened out to fall within the projection area of the current patch according to the embodiment of the present invention;
fig. 3b and c are schematic diagrams of determining that a mesh node is inside and outside a projection area of a current patch by using an area comparison method according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a set of support line segments generated by an embodiment of the present invention;
FIG. 5 is a schematic diagram of a region where an inner support point in a current slice layer is converted into an original support contour in the embodiment of the present invention;
FIG. 6 is a schematic diagram of an optimization and correction process of an original support contour region according to an embodiment of the present invention.
Detailed Description
The following is a more detailed description of the embodiments of the present invention with reference to the drawings attached to the specification, taking the "F" model as an example, and the following examples are not intended to limit the present invention.
A flow chart of a 3D printing support region generation method based on support point expansion fusion is shown in fig. 1, and the specific implementation steps are as follows:
step 101: inputting model F data and surface patch data thereof, and setting initial grid side length L0And supporting critical angle theta0The model is as shown in FIG. 2 a;
step 102: according to the model extreme value and L0A set of uniform projection grid nodes Q is generated in the XY plane, the grid nodes being shown in fig. 2 b.
Before generating the grid node set Q, according to the model extreme value and L0The side length of the grid is optimally adjusted as follows:
extreme values of the model in the direction X, Y are X respectivelymin、Xmax、Ymin、YmaxFirstly, determining to obtain an envelope rectangle, namely a rectangular grid area shown in FIG. 2 b;
side length of adjusted grid in X directionFor the same reason, its side length in the Y directionLength of side a of gridx、ayAnd generating optimized grid units, and generating a grid node set Q by taking the center of each grid unit as a grid node.
Step 103: and respectively making vertical lines for the grid nodes in the set Q, and solving the intersection points of the grid nodes and the model.
In the step 103, vertical lines are respectively drawn on the grid nodes in the set Q, and the intersection points between the grid nodes and the model are obtained, wherein the specific operation process is as follows:
103-1, selecting an unprocessed patch as a current patch, projecting the current patch to an XY plane, screening out grid nodes in a projection area of the current patch, and adding the grid nodes into the temporary set.
After the current patch is projected, the extreme value of the current patch on the projection plane, namely X in the X direction, is obtainedkmin、XkmaxAnd Y in the Y directionkmin、YkmaxWhere k represents the kth patch, k ∈ [1, i ]]And i is the total number of patches of the model.
When the grid nodes in the projection area of the current surface patch are screened out, the following operations are carried out:
firstly, for a grid node set Q, screening out a grid node set Q which simultaneously meets X according to a coordinate comparison methodkmin<x<XkmaxAnd Ykmin<y<YkmaxThe grid node (x, y) is grid node coordinates, and a grid node set S is obtained.
Then, judging whether the grid nodes in the obtained set S are in the projection area of the current patch by adopting an area comparison method:
specifically, a triangle ABC after the current patch is projected is set, and a mesh node to be determined is D; combining any two of the three vertexes A, B, C of the triangle ABC with the point D to form a triangle DAB, a triangle DAC and a triangle DBC respectively, if the sum of the areas of the triangle DAB, the triangle DAC and the triangle DBC is equal to the area of the triangle ABC, adding a temporary set to the mesh node D to be determined inside the triangle ABC, namely the mesh node D to be determined is in the projection area of the current patch, as shown in FIG. 3 b; otherwise, the mesh node D to be determined does not fall within the projection area of the current patch, as shown in fig. 3c, and is not added. And obtaining all grid nodes positioned in the projection area of the current patch according to the steps to obtain a complete temporary set.
103-2, selecting an unprocessed grid node in the temporary set as a current grid node, making a vertical line for the current grid node, and solving an intersection point of the current grid node and the current patch;
repeating the step until all the grid nodes in the temporary set are traversed, and obtaining the intersection points of the vertical lines made by all the grid nodes in the temporary set and the current surface patch;
103-3, repeating the steps 103-2 and 103-3 until all the surface patches are traversed, and obtaining all the intersection points of the vertical lines corresponding to each grid node and the model.
Step 104: a set W of support line segments is obtained from the intersection points of the model and the perpendicular line obtained in step 103, as shown in fig. 4.
The specific operation process of the steps is as follows:
selecting a vertical line made by a grid node as a current vertical line, sequencing all intersection points related to the current vertical line according to a Z coordinate, sequentially determining a support starting point and a support end point, if a surface patch on which the support end point is located needs to be supported, generating a support line segment, and adding the support line segment into a set W;
and repeating the step until the vertical lines of all the grid nodes are traversed, and obtaining a set W of the supporting line segments.
In the above steps, when judging whether the surface patch at the support end point needs to be supported, firstly, the included angle α between the surface patch and the XY plane is obtained, and the support angle α and the support critical angle θ are judged0And judging whether the surface patch needs to be supported or not according to the relationship between the two patches:
when alpha > theta0When in use, the dough sheet does not need to be supported; when alpha is less than or equal to theta0The face sheet needs to be supported.
Specifically, when the support starting point and the support end point are determined:
firstly, adding a virtual plane vertical to the Z axis at the lowest point of the model, and solving the intersection point of the vertical line of the current grid node and the virtual plane.
When only one related intersection point of the current vertical line exists, namely the current vertical line does not have an intersection point with the model and only has one intersection point with the virtual plane, the grid node corresponding to the current vertical line is directly output without support;
for the case that there are two or more relative intersection points of the current vertical line, all intersection points included in the current value are sorted according to the Z coordinate, the point of the minimum Z coordinate (or the coordinate of the lowest point) is defined as the 0 th intersection point, the 0 th, 1 st, 2 … th intersection points are sequentially arranged from bottom to top (n is the total number of the intersection points in the current value, n is more than or equal to 2, and n is an even number), for the 0-n-1 th intersection points, the obtained even number intersection point is a support starting point, and the odd number intersection point is a support terminal point corresponding to the adjacent support starting point.
Through this step, n/2 support start-support end data sets can be obtained.
From another perspective, a vertical line passing through a current mesh node penetrates the model from the outside in space, and it is assumed that the vertical line has n intersections with the model patch and 1 intersection with the virtual plane, so that there are n +1 intersections with respect to the vertical line in each value in the dictionary gridDic, where n is an even number.
Arranging the n +1 intersection points according to the sequence of Z coordinates from small to large, and making n equal to 2r, the method for obtaining the support line segment is as follows:
the starting point of the support is (z)2e,α2e) Wherein e is equal to [0, r), and the support terminal point is (z)2e+1,α2e+1) If α is2e+1≤θ0Wherein, theta0In order to support the critical angle, all the surface patches of which the support end points with any inclination angle smaller than the support critical angle are dangerous surface patches and need to be provided with supports; from the support starting point (z)2e,α2e) And supporting end point (z)2e+1,α2e+1) The line segment formed by the connecting lines is the supporting line segment.
When e is 0, the support starting point z0Namely the intersection point of the vertical line passing through the current grid node and the virtual plane, namely the support zero point.
If z is2e=z2e+1The support starting point coincides with the support end pointIf the length of the formed segment is 0, it is determined that no support is necessary.
When e is equal to r, the patch where the intersection point is located is the top patch of the model, and the description does not need to be supported any more.
Step 105: and slicing the support line segment in the set W, solving the intersection point of the sliced layer and the support line segment, and storing the intersection point into a support point set E layer by layer.
Step 106: selecting a slice layer in the supporting point set E as a current slice layer, and respectively expanding to generate rectangular influence areas in the current slice layer by taking the supporting point as the center, wherein the side lengths of the rectangular influence areas are respectively set to be 1.1ax、1.1ay。
Step 107: as shown in fig. 5, a boolean operation (Clipper library is adopted in this embodiment) is used to perform a union operation on rectangular influence regions corresponding to different support points, so as to obtain an original support contour region set. It should be noted that fig. 5 is only an exemplary diagram, and is not a part corresponding to the "F" model. However, when the calculation of this step is performed on the "F" model, the calculation can be performed by directly referring to the method shown in fig. 5.
Step 108: as shown in fig. 6, the original support contour region is modified, specifically, the operations are as follows:
the model slice profile corresponding to the slice plane is obtained by performing a slicing operation on the model using the slice plane corresponding to step 105, and the model slice profile of each layer can be obtained according to the method. Then, outwardly offsetting the outline area of the model slice by 1mm to obtain an offset outline area of the model; and performing Boolean difference operation on the original support contour region corresponding to the slice and the obtained model offset contour region, wherein the generated difference contour region is the optimized support contour region.
Step 109: and repeating the steps 106-108 until the slice layers in the set E are traversed completely, and obtaining the support outline regions of all the slice layers.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that various modifications and changes can be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made without departing from the principle of the present invention shall be included in the protection scope of the present invention.
Claims (6)
1. A3D printing support area generation method based on support point expansion fusion is characterized by comprising the following steps:
(1) inputting model surface patch data, defining a grid area on an XY plane, and generating a uniform grid node set Q;
(2) respectively making vertical lines for the grid nodes in the set Q, solving the intersection points of the grid nodes and the model, and obtaining a set W of supporting line segments according to the intersection points;
(3) slicing the support line segment in the set W, solving the intersection point of the sliced layer and the support line segment, and storing the intersection point as a support point into a support point set E in layers;
(4) selecting an unrotated slicing layer in the supporting point set E as a current slicing layer, and respectively expanding to generate rectangular influence areas in the current slicing layer by taking the supporting points as centers;
(5) the method comprises the steps of solving a union set of rectangular influence areas of different supporting points to generate an original supporting outline area set;
(6) correcting the original support contour region;
(7) repeating the steps (4) to (6) to traverse the sliced layers to obtain the support contour regions of all the sliced layers;
in the step (2), vertical lines are respectively drawn on the grid nodes in the set Q, and the intersection points of the grid nodes and the model are obtained, and the method specifically comprises the following steps:
2.1, selecting an unprocessed patch as a current patch, projecting the current patch to an XY plane, screening out grid nodes in a projection area of the current patch, and adding the grid nodes into a temporary set;
2.2 selecting an unprocessed grid node in the temporary set as a current grid node, making a vertical line for the current grid node, and solving an intersection point of the current grid node and the current patch;
repeating the step until all the grid nodes in the temporary set are traversed, and obtaining the intersection points of the vertical lines made by all the grid nodes in the temporary set and the current surface patch;
2.3 repeating the steps 2.2 and 2.3 until all the surface patches are traversed, and obtaining all the intersection points of the vertical lines corresponding to each grid node and the model;
in the step (2), the method for obtaining the set W of the supporting line segments according to the intersection points comprises the following steps: and respectively sequencing all intersection points of each vertical line according to the Z coordinate, sequentially determining a support starting point and a support end point, if the surface patch where the support end point is located needs to be supported, generating a support line segment, and finally obtaining a set W of the support line segments.
2. The method for generating the 3D printing support area based on the support point expansion fusion as claimed in claim 1, wherein in the step (1), the method for generating the grid node set Q is as follows: and obtaining a corresponding grid area according to an extreme value of the model in the direction X, Y, uniformly selecting grid nodes in the grid area, and further generating the grid node set Q.
3. The method for generating the 3D printing support area based on the expansion and fusion of the support points as claimed in claim 1, wherein in the step (2), when judging whether the surface patch with the support end point is required to be supported or not:
calculating an included angle between a surface patch at the support end point and an XY plane, wherein when the included angle is larger than a set support critical angle, the surface patch does not need to be supported; when the included angle is less than or equal to the support critical angle, the dough sheet needs to be supported.
4. The method for generating the 3D printing support region based on the support point expansion fusion of claim 1, wherein in the step (4), on the current sliced layer, the side length of the rectangular influence region generated by the expansion with the support point as the center is f times the distance between two adjacent support points in the corresponding direction, and f is greater than 1 and approaches to 1.
5. The method for generating the 3D printing support region based on the support point expansion fusion is characterized in that in the step (6), the original support contour region is corrected on the current sliced layer by adopting the following method:
outwardly biasing the model slice outline region to obtain a biased outline region; and executing Boolean difference operation on the original support contour region and the offset contour region to generate a final support contour region.
6. The support point expansion fusion-based 3D printing support region generation method according to claim 5, wherein the model slice outline region is a closed outline region generated by intersection of a current slice plane and a model; and (4) slicing the support line segments in the set W in the step (3) to form the slicing surface of the current slicing layer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082030.1A CN112861201B (en) | 2021-01-21 | 2021-01-21 | 3D printing support area generation method based on support point expansion fusion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082030.1A CN112861201B (en) | 2021-01-21 | 2021-01-21 | 3D printing support area generation method based on support point expansion fusion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861201A CN112861201A (en) | 2021-05-28 |
CN112861201B true CN112861201B (en) | 2022-04-05 |
Family
ID=76008832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110082030.1A Expired - Fee Related CN112861201B (en) | 2021-01-21 | 2021-01-21 | 3D printing support area generation method based on support point expansion fusion |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861201B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255021B (en) * | 2021-05-31 | 2023-03-31 | 中国科学院长春光学精密机械与物理研究所 | Method for generating 3D printing support structure |
CN113478835A (en) * | 2021-07-29 | 2021-10-08 | 江苏乾度智造高科技有限公司 | 3D printing model slicing method |
CN113836606A (en) * | 2021-09-07 | 2021-12-24 | 深圳市创想三帝科技有限公司 | Method, device and equipment for determining model supporting points and storage medium |
CN114083800B (en) * | 2021-10-27 | 2022-07-05 | 深圳市诺瓦机器人技术有限公司 | 3D printing data generation method and device of model supporting surface and storage medium |
CN114769625B (en) * | 2022-01-05 | 2024-03-15 | 上海云铸三维科技有限公司 | Composite support structure construction method and system based on metal 3D printing |
CN114454487B (en) * | 2022-02-14 | 2023-06-23 | 佛山科学技术学院 | Additive manufacturing layering slicing method capable of adaptively generating supporting structure |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105121134B (en) * | 2013-03-14 | 2017-07-18 | 斯特拉塔西斯公司 | The formation section printd used in three-dimensional and/or the method for texture |
KR102314089B1 (en) * | 2015-06-07 | 2021-10-18 | 스트라타시스 엘티디. | Method and apparatus for printing three-dimensional (3D) objects |
CN107599404B (en) * | 2017-09-21 | 2020-01-17 | 中科院广州电子技术有限公司 | Vertical projection intersection method for FDM three-dimensional printing vertical support model |
CN110116503A (en) * | 2018-02-07 | 2019-08-13 | 三纬国际立体列印科技股份有限公司 | Printable layer auxiliary design method for 3D printing |
US20220242051A1 (en) * | 2019-06-13 | 2022-08-04 | Stratasys Ltd. | System and method for 3d printing a support structure |
EP3756858A1 (en) * | 2019-06-28 | 2020-12-30 | LayerWise NV | Three dimensional printing system with improved surface properties |
-
2021
- 2021-01-21 CN CN202110082030.1A patent/CN112861201B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN112861201A (en) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112861201B (en) | 3D printing support area generation method based on support point expansion fusion | |
CN110188423B (en) | Linear engineering structure rapid BIM modeling method based on finite element meshing | |
JP2017205975A (en) | Three-dimensional data generation apparatus, three-dimensional forming apparatus, method of forming object, and program | |
CN108022307B (en) | Self-adaptive plane layering method based on additive remanufacturing point cloud model | |
US11934753B2 (en) | Automatic parametrization of a CAD model | |
US11931965B2 (en) | 3D printing method and device | |
US6781582B1 (en) | Mesh generator for and method of generating meshes in an extrusion process | |
CN111222418A (en) | Crowdsourcing data rapid fusion optimization method for multiple road segments of lane line | |
CN110516377A (en) | The fusion method of steel structure system 3D printing data and finite element grid | |
CN115194931B (en) | Planning method, device and equipment for concrete 3D printing path and storage medium | |
Choi et al. | Support-free hollowing with spheroids and efficient 3D printing utilizing circular printing motions based on Voronoi diagrams | |
US11017597B2 (en) | Singularity reduction in quadrilateral meshes | |
Liu et al. | Generating sparse self-supporting wireframe models for 3D printing using mesh simplification | |
AU2021102109A4 (en) | Fusion method of oblique photography model | |
US7333104B2 (en) | Method and program of converting three-dimensional shape data into cell internal data | |
CN110001066B (en) | Method for determining filling direction of minimum partition in three-dimensional printing | |
CN111914364A (en) | Frequency selection antenna housing modeling method based on high-order moment method and projection | |
CN113704841B (en) | Bias-based optimized layout method | |
CN114998381A (en) | Welding track fitting method, device, equipment and storage medium in tube plate welding | |
CN116304484B (en) | High-precision estimation method and system for grid model vertex normal vector | |
CN110171139B (en) | Method for unifying 3D printing and numerical calculation of thin-wall structure into grid | |
CN112487674B (en) | Method and apparatus for generating model of lattice structure | |
CN113362427B (en) | Contour generation method, device, computer equipment and medium for hypotenuse three-dimensional word | |
JP2018032277A (en) | Method for forming rectangular mesh | |
JP6427395B2 (en) | Device for generating model for FEM analysis, method and computer program |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220405 |
|
CF01 | Termination of patent right due to non-payment of annual fee |