A method of adding details to a model surface at a slice level
By slicing large-scale models and rotating detailed models at the slicing level, the problem of being unable to model cross-scale models is solved, enabling the addition of cross-scale details to arbitrary surfaces while ensuring the continuity of printed shapes and the consistency of detailed structures.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-08
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies cannot add multi-scale detail models to arbitrary surfaces, making it impossible to model multi-scale models.
By slicing the large-size model at the slice level and adding the detailed model after overall rotation, the topological information of the STL model and the cubic interpolation function are used to ensure the continuity between layers and the correct addition of the detailed model.
It enables the addition of arbitrarily shaped detailed models to the surface of any large-sized model, ensuring the continuity of the printing process and the consistency of the detailed structure.
Smart Images

Figure CN121168035B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of photopolymer additive manufacturing, and more specifically to a method for adding details to the surface of a model at a slice level. Background Technology
[0002] Photopolymer additive manufacturing, as an emerging manufacturing method, compared to traditional surface forming methods, employs a layer-by-layer accumulation approach, allowing for the simultaneous forming of features across the entire area of a workpiece. Therefore, it excels at forming complex three-dimensional structures. For multi-scale photopolymer additive manufacturing, a multi-scale model must first be established, and then converted to STL format. However, due to current computer performance limitations, simultaneously creating arrays of meter-scale large-scale structures and micrometer-scale small-scale detail models results in a model size exceeding 100GB, making direct multi-scale modeling of macro-micro features impossible. Existing technologies, to verify the feasibility of multi-scale printing equipment, propose methods for adding details to the surfaces of simple, regular large-scale models such as cylinders and squares, but these methods cannot add multi-scale details to arbitrary surfaces. Summary of the Invention
[0003] The purpose of this invention is to provide a method for adding details to the surface of a model at the slice level. This method can add details to the outline of a model slice while ensuring the continuity between layers, making the printed model approximately equivalent to a model with added details on the model surface, thereby solving the problem of being unable to model cross-scale models.
[0004] The objective of this invention is achieved through the following technical solution:
[0005] A method for adding details to the surface of a model at the slice level involves slicing a large model, rotating the detail model as a whole according to the angle at which the face is added to the large model, and then slicing the detail model slices accordingly on the contour points of the large model slices.
[0006] The method specifically includes the following steps:
[0007] Step S1: Slice the large-size model and save the outline vertex array of the large-size model. Rotate the detailed model as a whole according to the angle of the face added to the large-size model, slice it, and extract the side length information of the detailed model.
[0008] Step S2: Process the vertex array of the large-size model slice outline, reorder the array so that the first point is located at the top left of the large-size model slice;
[0009] Step S3: Add a starting point based on the information of the previous large-size model slice. If the shapes and positions of the two large-size model slices are similar, take the foot of the perpendicular between the starting point of the previous large-size model slice and the shortest perpendicular line segment of the large-size model slice of this layer as the starting point of this large-size model slice.
[0010] Step S4: Determine the deflection angle of the large-size model slice contour. If it is greater than the threshold, it is determined to be a deflection angle and marked as the next deflection segment.
[0011] Step S5: Perform mean averaging on each deflection segment based on cubic interpolation;
[0012] Step S6: After processing the detailed model slices in step S5, deflect the outline segments of the large-size model slices by a certain angle and place them at the outline points of each large-size model slice.
[0013] Step S7: Repeat steps S1-S6 for each slice of the face of the large model that needs to be detailed;
[0014] In step S1, the slicing method for the large-size model is the slicing method for the STL model. The slicing method is based on topological information. In the slicing method, the step before filling the large-size model is to generate the vertex array of the large-size model, which is the outline vertex array of the method of adding details to the model surface at the slicing level. The vertices of the faces that do not need to be detailed are deleted, and the positions of the vertices of the faces that need to be detailed are recorded in the array, as well as the tilt angle of the large-size model faces are recorded.
[0015] The slicing method for the detailed model is the same as that for the STL model. The pixel size and layer information of the detailed model slice are recorded. Before slicing the detailed model, the direction needs to be adjusted according to the direction of the face added to the large model. The adjustment method is to multiply all vertices of the detailed STL model by the same coefficient, which is determined according to the direction of the face added to the large model.
[0016] In step S2, the array is reordered by traversing all points, calculating the distance from the origin, taking the closest point as the first point, and then arranging the other points in order after the first point. That is, the order of the points after the first point remains unchanged. The last point is followed by the original first point, and then by all the points before the original first point.
[0017] In step S3, the first point is the first point of the outline of the large-size model slice. Based on the continuity of the 3D printed slice, it is only necessary to determine whether the slices are the same surface. The threshold for determining proximity is 30 pixels. If the slice is continuous with the slice above, then the perpendicular line segment connecting each two points of the slice is drawn through the coordinates of the first point of the slice above. The foot of the perpendicular segment with the smallest perpendicular is taken as the first point of the slice. The other points are reordered according to the arrangement method in step S2.
[0018] In step S4, the deflection angle of the large-size model slice is determined. Utilizing the characteristics of the STL model, when slicing a large-size model, contour points will inevitably be generated at the junctions of the large-size model surfaces. Therefore, determining the included angle between the line segments at both ends of all points can distinguish whether they are the same curved surface. The included angle threshold is 130 degrees. 130 degrees to 230 degrees are the same curved surface, while 0 to 130 degrees and 230 degrees to 360 degrees are different curved surfaces.
[0019] The specific steps in step S5 are as follows: calculate the total length of the large-size model slice outline; normalize the cumulative distance of the line segments to the interval [0, 1] and generate a parameter array t; based on the array t, create a cubic spline interpolation function for the x and y coordinates; generate uniformly distributed parameters according to the coordinate points in the interval [0, 1]; and calculate new coordinate points through the interpolation function.
[0020] In step S6, the method of placing the detailed model slice at the contour point of each large-size model slice is as follows: by using the difference between the contour point of the large-size model slice and the contour point of the next large-size model slice, the angle of the line segment connecting the contour point and the next contour point is determined, a rotation matrix is created with the detailed model slice as the center, the angle is rotated, the offset is calculated according to the rotation angle, the offset direction is changed as needed, and the detailed model slice is added inside or outside the contour of the large-size model slice.
[0021] The beneficial effects of this invention are as follows:
[0022] You can add detailed models of any shape to the surface of any large model;
[0023] Add a starting point based on the information of the previous large-size model slice. If the shapes and positions of the two large-size model slices are similar, take the foot of the perpendicular between the starting point of the previous large-size model slice and the shortest perpendicular line segment of the current large-size model slice as the starting point of the current large-size model slice. Adding a starting point can ensure the continuity between layers, thereby ensuring the continuity of printing.
[0024] Determine the deflection angle of the large-size model slice outline. If it is greater than the threshold, it is determined to be a deflection angle and marked as the next deflection segment. This is used to ensure that the added detailed model does not exceed the outline of the large-size model slice.
[0025] The detailed model is rotated as a whole according to the angle at which the face is added to the large-size model, and then sliced to extract the edge length information of the detailed model. After determining the surface angle, the angle is changed before slicing the detailed model, so that the surface can be added in any direction. This ensures that the method of adding details at the slice level can keep the structure of the details as consistent as possible with the expectation during printing. Attached Figure Description
[0026] The present invention will now be described in further detail with reference to the accompanying drawings and specific implementation methods.
[0027] Figure 1 This is a schematic diagram of the large-size model structure of the present invention;
[0028] Figure 2 This is a detailed model structural diagram of the present invention;
[0029] Figure 3 This is a detailed model slice diagram of the present invention;
[0030] Figure 4 This is a schematic diagram of a large-size model slice of the present invention;
[0031] Figure 5 This is a schematic diagram of the combination of large-size model slices and detailed model slices of the present invention;
[0032] Figure 6 This is a comparative schematic diagram of the large-size model slice outline processing of the present invention;
[0033] Figure 7 This is a schematic diagram of the printed finished product structure of the present invention. Detailed Implementation
[0034] The present invention will now be described in further detail with reference to the accompanying drawings.
[0035] like Figures 1 to 7 As shown, in order to achieve the technical effect of "adding details to the model slice outline while ensuring interlayer continuity, so that the printed model is approximately equivalent to adding details to the model surface, thus solving the problem of cross-scale modeling failure", the steps and functions of a method for adding details to the model surface at the slice level are explained in detail below.
[0036] A method for adding details to a model surface at a slice level involves slicing a large model, rotating the detail model as a whole according to the angle at which faces are added to the large model, and then slicing the detail model slices. The detail model slices are then added to the contour points of the large model slices accordingly. Figure 3 The image shown is a slice of the detailed model, as follows: Figure 4 As shown, this is a slice of a large-size model, such as... Figure 5 The image shows a schematic diagram of adding detail model slices to the outline points of large model slices;
[0037] The method specifically includes the following steps:
[0038] Step S1: Slice the large-size model and save the outline vertex array of the large-size model. Rotate the detailed model as a whole according to the angle of the face added to the large-size model, slice it, and extract the side length information of the detailed model.
[0039] The slicing method for large-size models is the same as the slicing method for STL models. The slicing method is based on topological information. In the slicing method, the step before filling the large-size model is to generate the vertex array of the large-size model, which is the outline vertex array of the method to add details to the model surface at the slicing level. The vertices of the faces that do not need to be detailed are deleted, and the positions of the vertices of the faces that need to be detailed are recorded in the array, as well as the tilt angle of the large-size model faces are recorded.
[0040] The slicing method for the detailed model is the same as that for the STL model. The pixel size and layer information of the detailed model slice are recorded. Before slicing the detailed model, the direction needs to be adjusted according to the direction of the face added to the large model. The adjustment method is to multiply all vertices of the detailed STL model by the same coefficient, which is determined according to the direction of the face added to the large model.
[0041] The coefficients are the general matrix of rotational transformations about the x-axis in 3D space:
[0042]
[0043] If the angle of the surface to be added is θ, the specific operation is as follows: for all coordinate points of the detailed STL model, the x-coordinate remains unchanged, y' = ycosθ - zsinθ, z' = ysinθ + zcosθ;
[0044] Step S2: Process the vertex array of the large-size model slice outline, reorder the array so that the first point is located at the top left of the large-size model slice;
[0045] The top leftmost point is defined as the point in the contour array that is closest to the origin. The distance is calculated using the following formula:
[0046]
[0047] The array is reordered by iterating through all points, calculating the distance from the origin, taking the closest point as the first point, and then arranging the other points in order after the first point. That is, the order of the points after the first point remains unchanged. The last point is followed by the original first point, and then by all the points before the original first point.
[0048] Step S3: Add a starting point based on the information of the previous large-size model slice. If the shapes and positions of the two large-size model slices are similar, take the foot of the perpendicular between the starting point of the previous large-size model slice and the shortest perpendicular line segment of the large-size model slice of this layer as the starting point of this large-size model slice.
[0049] The first point is the first point of the outline of the large-size model slice. Based on the continuity of 3D printed slices, it is only necessary to determine whether the slices are the same face. The distance threshold for determining proximity is 30 pixels. If the slices are continuous with the slices above, then the perpendicular line segment connecting each two points of the slices is drawn through the coordinates of the first point of the slices above. The foot of the perpendicular segment with the smallest perpendicular is taken as the first point of the slices. The other points are reordered according to the method in step S2.
[0050] Step S3 is crucial to ensuring the continuity between layers. Without step S3, the added detail slices will not be continuous between layers, and the final printed model will not be able to reproduce the detailed model structure, and will be randomly arranged on the surface of the large-size model.
[0051] Step S4: Determine the deflection angle of the large-size model slice contour. If it is greater than the threshold, it is determined to be a deflection angle and marked as the next deflection segment.
[0052] The deflection angle of the large-size model slice is determined by utilizing the characteristics of the STL model. When slicing a large-size model, contour points will inevitably be generated at the junctions of the large-size model surfaces. Therefore, the angle between the line segments at both ends of all points can be used to distinguish whether they are the same surface. The threshold for the angle is 130 degrees. 130 degrees to 230 degrees are the same surface, while 0 to 130 degrees and 230 degrees to 360 degrees are different surfaces.
[0053] Step S4 is crucial to ensure that the added detailed model does not exceed the contour of the cut surface. Without step S4, when rotating and adding the detailed model in step S6, the detailed model slice will exceed the contour range of the large-size model slice, resulting in no adhering residue during printing.
[0054] Step S5: Perform mean averaging on each deflection segment based on cubic interpolation;
[0055] The specific steps in step S5 are as follows: calculate the total length of the outline of the large-size model slice; normalize the cumulative distance of the line segments to the interval [0, 1] and generate a parameter array t; based on the array t, create a cubic spline interpolation function for the x and y coordinates; generate uniformly distributed parameters according to the coordinate points in the interval [0, 1]; calculate new coordinate points through the interpolation function; after the equalization in step S5 is completed, it is necessary to ensure that the distance between each edge point is equal to the side length of the detail model slice.
[0056] Step S6: After processing the detailed model slices in step S5, deflect the outline segments of the large-size model slices by a certain angle and place them at the outline points of each large-size model slice.
[0057] The method for placing detailed model slices at the contour points of each large-size model slice is as follows: Determine the angle of the line segment connecting the contour points of the current and next large-size model slices based on the difference between their contour points. Create a rotation matrix centered on the detailed model slice, rotate it by this angle, calculate the offset based on the rotation angle, change the offset direction as needed, and add the detailed model slice inside or outside the contour of the large-size model slice. Note that the rotated detailed model slice is larger than the original detailed model slice, requiring a larger image to store the rotated detailed model slice. Finally, calculate the offset based on the rotation angle, and change the offset direction as needed to add the detailed model slice inside or outside the contour.
[0058] Note that adding 255 pixels to the outside and setting 255 pixels to 0 to the inside. For example, when adding to the outside, the original origin coordinates are rotated by an angle using a rotation matrix. The rotated origin coordinates are then the offset. Subtracting the rotated origin coordinates from the top left corner of the detail slice graphic to determine the position where the detail slice needs to be added to the large model slice.
[0059] Step S7: Repeat steps S1-S6 for each slice of the face of the large model that needs to be detailed;
[0060] The slicing method is a mature technology, and the output is 1098 slice images of the large model, 1098 edge point arrays of the slices of the large model, and 140 slice images of the detailed model.
[0061] After judging each point in the array, a detailed model slice is pasted on it. Specifically, the first of the 1098 large model slices is pasted on the first detailed model slice, the second of the 140 detailed model slices is pasted on the second large model slice, and so on. The 141st of the 1098 large model slices is pasted on the first detailed model slice, and so on.
[0062] Taking the first layer out of 1098 layers as an example, for all points in the array of large slice 1: determine the angle α of the line segment connecting the current point and the next point, α = arctan(dy / dx). Create a rotation matrix A with a rotation angle of α and the rotation center being the center of the detail slice. Use the first of the 140 detail slices and rotate it by a rotation matrix. Note that the size of the rotated image is larger than the original image, so a larger image (denoted as image B) is needed to store the rotated image.
[0063] Finally, the offset is calculated based on the rotation matrix, and the offset is (offset_x,offset_y)=A*(0,0); B is then placed at the current point -(offset_x,offset_y) of the large slice 1.
[0064] The offset direction can be changed as needed to add detail slices inside or outside the outline. Note that adding 255 pixels outside the outline and setting 255 pixels to 0 inside the outline will result in the addition of 255 pixels.
Claims
1. A method for adding details to the surface of a model at a slice level, characterized in that: The large model is sliced, and the detailed model is sliced after being rotated as a whole according to the angle of the face added to the large model. The slices of the detailed model are then added to the outline points of the slices of the large model. The method specifically includes the following steps: Step S1: Slice the large-size model and save the outline vertex array of the large-size model. Rotate the detailed model as a whole according to the angle of the face added to the large-size model, slice it, and extract the side length information of the detailed model. Step S2: Process the vertex array of the large-size model slice outline, reorder the array so that the first point is located at the top left of the large-size model slice; Step S3: Add a starting point based on the information of the previous large-size model slice. If the shapes and positions of the two large-size model slices are similar, take the foot of the perpendicular between the starting point of the previous large-size model slice and the shortest perpendicular line segment of the large-size model slice of this layer as the starting point of this large-size model slice. Step S4: Determine the deflection angle of the large-size model slice contour. If it is greater than the threshold, it is determined to be a deflection angle and marked as the next deflection segment. Step S5: Perform mean averaging on each deflection segment based on cubic interpolation; Step S6: After processing the detailed model slices in step S5, deflect the outline segments of the large-size model slices by a certain angle and place them at the outline points of each large-size model slice. Step S7: Repeat steps S1-S6 for each slice of the face of the large model that needs to be detailed.
2. The method for adding details to the surface of a model at a slice level according to claim 1, characterized in that: In step S1, the slicing method for the large-size model is the slicing method for the STL model. The slicing method is based on topological information. In the slicing method, the step before filling the large-size model is to generate the vertex array of the large-size model, which is the outline vertex array of the method for adding details to the model surface at the slicing level. The vertices of the faces that do not need to have details added are deleted, and the positions of the vertices of the faces that need to have details added are recorded in the array, as well as the tilt angle of the large-size model faces are recorded.
3. The method for adding details to the surface of a model at a slice level according to claim 1, characterized in that: The slicing method for the detailed model is the same as that for the STL model. It records the pixel size and layer information of the detailed model slice. Before slicing the detailed model, the direction needs to be adjusted according to the direction of the face added to the large-size model. The adjustment method is to multiply all vertices of the detailed STL model by the same coefficient, which is determined according to the direction of the face added to the large-size model.
4. The method for adding details to the surface of a model at a slice level according to claim 1, characterized in that: In step S2, the array is reordered by traversing all points, calculating the distance from the origin, taking the closest point as the first point, and then arranging the other points in order after the first point. That is, the order of the points after the first point remains unchanged. The last point is followed by the original first point, and then by all the points before the original first point.
5. The method for adding details to the surface of a model at a slice level according to claim 4, characterized in that: In step S3, the first point is the first point of the outline of the large-size model slice. Based on the continuity of 3D printed slices, it is only necessary to determine whether the slices are the same surface to determine whether the first point of the previous slice and the current slice are close. The distance threshold for determining closeness is 30 pixels. If the current slice and the previous slice are continuous, then through the coordinates of the first point of the previous slice, draw the perpendicular line segment connecting every two points of the current slice. Take the foot of the perpendicular segment with the smallest perpendicular as the first point of the current slice. The other points are reordered according to the arrangement method in step S2.
6. The method for adding details to the surface of a model at a slice level according to claim 3, characterized in that: In step S4, the deflection angle of the large-size model slice is determined. Utilizing the characteristics of the STL model, when slicing a large-size model, contour points will inevitably be generated at the junction of the large-size model surfaces. Therefore, judging the included angle between the line segments at both ends of all points can distinguish whether they are the same curved surface.
7. A method for adding details to a model surface at a slice level according to claim 6, characterized in that: The threshold for the included angle is 130 degrees. 130 degrees to 230 degrees is the same curved surface, while 0 to 130 degrees and 230 degrees to 360 degrees are different curved surfaces.
8. The method for adding details to the surface of a model at a slice level according to claim 1, characterized in that: The specific steps in step S5 are as follows: calculate the total length of the large-size model slice outline; normalize the cumulative distance of the line segments to the interval [0, 1] and generate a parameter array t; based on the array t, create a cubic spline interpolation function for the x and y coordinates; generate uniformly distributed parameters according to the coordinate points in the interval [0, 1]; and calculate new coordinate points through the interpolation function.
9. A method for adding details to a model surface at a slice level according to claim 1, characterized in that: In step S6, the method of placing the detailed model slice at the contour point of each large-size model slice is as follows: by using the difference between the contour point of the large-size model slice and the contour point of the next large-size model slice, the angle of the line segment connecting the contour point and the next contour point is determined, a rotation matrix is created with the detailed model slice as the center, the angle is rotated, the offset is calculated according to the rotation angle, the offset direction is changed as needed, and the detailed model slice is added inside or outside the contour of the large-size model slice.
Citation Information
Patent Citations
3D printing model detail area partition filling method based on shape features
CN106056672A
System and method for determining spatial distribution of variable deposition size in additive manufacturing
US20210042455A1