Support base generation method, system and device for three-dimensional model presentation

By generating a 3D model of the support base through parameter settings and linear discriminant analysis, the problems of low adaptability and insufficient stability in traditional designs are solved, and efficient and stable support structure generation is achieved.

CN119941992BActive Publication Date: 2025-11-11HANGZHOU DIANZI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510036392.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-11-11
Estimated Expiration
2045-01-09

AI Technical Summary

Technical Problem

Traditional 3D model display base designs suffer from low adaptability, insufficient stability, and complex operation, making it difficult to quickly and effectively generate a support structure that fits tightly against the bottom of the model.

Method used

The support base is generated by parameter setting, linear discriminant analysis and cutting algorithm. The placement plane is generated by user input parameters, cluster analysis is performed by linear discriminant analysis to construct support columns, and the support columns are optimized by cutting algorithm to merge and generate the support base.

Benefits of technology

It enables automated and modular generation of high-strength, highly fitting, and highly stable support bases, improving design efficiency and structural stability, adapting to the geometric feature distribution of complex models, and optimizing stress distribution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941992B_ABST
    Figure CN119941992B_ABST
Patent Text Reader

Abstract

This invention discloses a method, system, and device for generating a support base for 3D model display. First, it acquires user-set parameters and the user-imported 3D model. Then, it generates a placement plane for the 3D model. Next, it generates a support base plate based on the generated wrapper and the 3D model. After generating a vertex map, it uses linear discriminant analysis to cluster the vertex map, using each cluster center as the endpoint of its corresponding support column. Support columns are constructed using the point with the closest Euclidean distance to each cluster center and the endpoint of the support column. A cutting algorithm is used to process each support column. All processed support columns are merged with the support base plate to obtain a composite body. Finally, the composite body is merged with the placement plane of the 3D model to obtain the support base for 3D model display. As can be seen, this invention can generate a support base that fits the bottom of the model simply by setting simple parameters, making the operation simple.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of 3D modeling, and in particular relates to a method, system and device for generating a support base for 3D model display. Background Technology

[0002] In the fields of 3D modeling and digital manufacturing, generating a stable base is crucial for the display and assembly of 3D models. Traditional base design often relies on complex manual operations. However, when the model shape is complex or requires multiple adjustments, the design process can become lengthy and unintuitive. Furthermore, traditional base design methods often suffer from the following problems: 1. Low adaptability: Insufficient fit between the base and the model's bottom geometry, leading to easy wobbling or tipping during use. 2. Insufficient stability: Existing methods struggle to optimize the base for the specific center of gravity and mechanical characteristics of the model, affecting overall stability. 3. Complex operation: The design process often requires manual adjustments and repeated testing, resulting in low efficiency and being unsuitable for constructing bases for complex objects. Summary of the Invention

[0003] The purpose of this invention is to solve the problems existing in the prior art and to provide a method, system, and device for generating a support base for 3D model display. The method of this invention can quickly, effectively, and accurately customize a support base that fits the bottom of the model.

[0004] To achieve the above-mentioned objectives, the present invention specifically adopts the following technical solution:

[0005] In a first aspect, the present invention provides a method for generating a support base for displaying a three-dimensional model, comprising the following steps:

[0006] S1. Obtain the parameters set by the user and the 3D model imported by the user; among which, the parameters set by the user include the horizontal plane normal, the height above the ground, the range of the base plate, the thickness of the base plate, the thickness of the placement plane, the number of support columns, and the radius of the support columns;

[0007] S2. Generate a placement plane for the 3D model based on the user-set parameters and the 3D model;

[0008] S3. Obtain the corresponding package based on the set base plate thickness, and generate a supporting base plate based on the package and the three-dimensional model.

[0009] S4. Generate a vertex mapping map based on the three-dimensional model, use linear discriminant analysis to cluster the vertex mapping map, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar.

[0010] S5. Use a cutting algorithm to process each support column, merge all the processed support columns with the support base plate to obtain a composite body, and then merge the composite body with the placement plane of the 3D model to obtain the support base used for 3D model display.

[0011] Based on the above scheme, each step can be implemented in the following preferred manner.

[0012] As a preferred embodiment of the first aspect mentioned above, the specific process for generating the placement plane in step S2 is as follows:

[0013] S21. Based on the set horizontal plane, project and transform the 3D model into the world coordinate system, so that its vertical direction is consistent with the z-axis in the world coordinate system.

[0014] S22. Calculate the axis-aligned bounding box of the 3D model in the world coordinate system to obtain the maximum and minimum values ​​of the z-axis coordinate of the 3D model;

[0015] S23. Starting from the minimum value of the z-axis coordinate of the 3D model, extract the 3D model slice of step i with a preset distance value as the step size, obtain the z-axis coordinate of the 3D model slice of step i, and combine the z-axis coordinate of the 3D model slice of step i with the contour line formed in step i-1 to form the contour line of step i, until the z-axis coordinate of the 3D model slice reaches the maximum value of the z-axis coordinate of the 3D model, and finally obtain all the contour lines.

[0016] S24. Project the obtained contour lines onto the Oxy plane to obtain the x-axis and y-axis coordinates of the placement plane. Take the difference between the minimum value of the z-axis coordinate of the 3D model and the height above the ground as the first coordinate threshold, and take the sum of the first coordinate threshold and the thickness of the placement plane as the second coordinate threshold. Take the first coordinate threshold as the left endpoint and the second coordinate threshold as the right endpoint. The first coordinate threshold and the second coordinate threshold form a closed interval first coordinate interval. Set the z-axis coordinate of the placement plane to a coordinate value in the first coordinate interval, and finally construct the placement plane of the 3D model.

[0017] As a preferred embodiment of the first aspect mentioned above, the specific process for generating the support base plate in step S3 is as follows:

[0018] S31. Take the contour line obtained in S23 as the candidate region for expansion. Take the difference between the maximum and minimum values ​​of the z-axis coordinate of the 3D model as the third coordinate threshold. Take 0 as the left endpoint and the third coordinate threshold as the right endpoint to form a second coordinate interval in the form of left open and right closed. Select a coordinate value from the second coordinate interval as the z-axis coordinate of the base plate range. Then take 0 as the left endpoint and the z-axis coordinate of the base plate range as the right endpoint to form a third coordinate interval in the form of closed interval. If the z-axis coordinate of the bottom range of a candidate region is located within the third coordinate interval, then the candidate region is taken as the expansion region.

[0019] S32. After expanding the expansion region, use CGAL's Alpha Warp algorithm to obtain an encapsulation with a thickness twice that of the base plate.

[0020] S33. Finally, the difference between the package and the three-dimensional model is used as the supporting base plate.

[0021] As a preferred embodiment of the first aspect mentioned above, the specific process of constructing the support column in step S4 is as follows:

[0022] S41. Map the vertices of the 3D model to the horizontal plane to obtain a vertex mapping map;

[0023] S42. Use linear discriminant analysis to cluster the vertex map. By maximizing the inter-class divergence and minimizing the intra-class divergence, the vertices on the vertex map are divided into k classes, and the average value of the point coordinates of each class is used as the corresponding cluster center.

[0024] S43. Using each cluster center as the endpoint of its corresponding support column, find the Euclidean distance closest point of each cluster center on the horizontal projection.

[0025] Furthermore, for the j-th cluster center (1,…,k), its Euclidean distance is closest to point p. j The three-dimensional coordinate form is and Let z represent the x-axis coordinates and y-axis coordinates of the Euclidean nearest point to the j-th cluster center, respectively; min The z-axis coordinate of the 3D model represents the minimum value; h represents the height above the ground.

[0026] S44. Construct the center coordinates of the corresponding support column base circle using the x-axis and y-axis coordinates of the nearest Euclidean point to each cluster center. Based on the x-axis and y-axis components of the three-dimensional coordinates of the support column endpoints at each cluster center, the center coordinates of the support column base circle, and the support column radius, design the standard equation for the support column base circle. This equation is greater than or equal to the first coordinate threshold (i.e., z...). min Set the z-axis component of the three-dimensional coordinates of the support column endpoint within the range of -h) and less than or equal to the maximum value of the z-axis coordinate of the three-dimensional model to obtain the support column corresponding to each cluster center.

[0027] Furthermore, for step S44, the support pillars corresponding to the j-th cluster center are constructed according to the following formula.

[0028] In the formula: r represents the radius of the supporting column; z max This represents the maximum value of the z-axis coordinate of the 3D model; (x j ,y j ,zj ) represents the support pillar corresponding to the j-th cluster center. The three-dimensional coordinates of the endpoint, x j ,y j ,z j These represent the x-axis component, y-axis component, and z-axis component in the three-dimensional coordinate system, respectively.

[0029] As a preferred embodiment of the first aspect mentioned above, the specific process of processing each support column using the cutting algorithm in step S5 is as follows:

[0030] S51. Subtract the support column of the j-th cluster center from the support base plate to obtain the support column of the j-th cluster center after the first processing.

[0031] S52. Using the first coordinate threshold as the left endpoint and the maximum value of the z-axis coordinate of the three-dimensional model as the right endpoint, a third coordinate interval in the form of an open interval is formed. From the support column after the first processing of the j-th cluster center, the largest connected component of the centroid coordinate z-axis component in the third coordinate interval is selected, and the rest is removed to obtain the support column after the second processing of the j-th cluster center.

[0032] S53. Subtract the support column of the j-th cluster center after the second processing from the placement plane of the three-dimensional model to obtain the support column of the j-th cluster center after the third processing.

[0033] S54. Select the largest connected component of the centroid coordinate z-axis component in the third coordinate interval from the support column after the third processing of the j-th cluster center, and remove the rest to obtain the support column after the fourth processing of the j-th cluster center.

[0034] S55. After processing the support pillars corresponding to each cluster center according to S51 to S54, the support pillars after the fourth processing of each cluster center constitute all the processed support pillars.

[0035] As a preferred embodiment of the first aspect mentioned above, the preset distance value is 0.1 cm, and the number of clusters k is the same as the number of support columns in S1, which is set to k = 4.

[0036] Secondly, the present invention provides a support base generation system for displaying three-dimensional models, comprising:

[0037] The data acquisition module is used to acquire user-set parameters and user-imported 3D models; among them, user-set parameters include horizontal plane normal, ground clearance, base plate range, base plate thickness, placement plane thickness, number of support columns, and support column radius;

[0038] The placement plane generation module is used to generate a placement plane of the three-dimensional model based on the parameters set by the user and the three-dimensional model.

[0039] The support base plate generation module is used to obtain the corresponding package body according to the set base plate thickness, and generate the support base plate based on the package body and the three-dimensional model.

[0040] The support pillar generation module is used to generate a vertex mapping map based on the three-dimensional model, cluster the vertex mapping map using linear discriminant analysis, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar.

[0041] The support base generation module is used to process each support column using a cutting algorithm, merge all the processed support columns with the support base plate to obtain a composite body, and then merge the composite body with the placement plane of the 3D model to obtain the support base used for 3D model display.

[0042] Thirdly, the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, enables the generation method for a support base for displaying a three-dimensional model as described in any of the solutions of the first aspect above.

[0043] Fourthly, the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method for generating a support base for displaying a three-dimensional model as described in any of the solutions of the first aspect above.

[0044] Fifthly, the present invention provides a computer electronic device, which includes a memory and a processor;

[0045] The memory is used to store computer programs;

[0046] The processor is configured to, when executing the computer program, implement the method for generating a support base for displaying a three-dimensional model as described in any of the solutions of the first aspect above.

[0047] Compared with the prior art, the present invention has the following advantages:

[0048] This invention proposes a method for generating support bases for 3D model display. This method can automatically and modularly generate 3D support structures, offering the following advantages: Support bases can be automatically generated based on user-defined parameters. Even with complex models, the generated support structure ensures a close fit to the target model, effectively reducing manual intervention and design complexity. This method introduces a layered expansion approach, enabling the construction of high-strength, highly fitted, and highly stable support bases. Furthermore, this method can automatically generate stable base plates based on the different geometric features of complex models and adaptively generate the layout of support columns through linear discriminant analysis and clustering of support points, thereby optimizing stress distribution, significantly improving structural stability and deformation resistance, and ensuring the stability of the model's placement. Using this method, users can quickly complete the overall design of the support structure, improving production efficiency and design flexibility. Attached Figure Description

[0049] Figure 1 This is a flowchart of the steps of the method of the present invention;

[0050] Figure 2 This is a schematic diagram of the contour lines generated by the method of the present invention;

[0051] Figure 3 This is a schematic diagram of the support base plate generated by the method of the present invention;

[0052] Figure 4 A schematic diagram of the placement plane of the three-dimensional model generated by the method of the present invention;

[0053] Figure 5 A perspective view of the support base for displaying a three-dimensional model, generated by the method of the present invention;

[0054] Figure 6 This is a system block diagram of the present invention;

[0055] Figure 7 This is a schematic diagram of the computer electronic device components of the present invention. Detailed Implementation

[0056] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Many specific details are set forth in the following description to provide a thorough understanding of the present invention. However, the present invention can be practiced in many other ways different from those described herein, and those skilled in the art can make similar modifications without departing from the spirit of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below. Technical features in the various embodiments of the present invention can be combined accordingly without mutual conflict.

[0057] In the description of this invention, it should be understood that the terms "first" and "second" are used only for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include at least one of those features.

[0058] like Figure 1 As shown, in a preferred embodiment of the present invention, the method for generating a support base for displaying a three-dimensional model includes the following steps S1 to S5. The specific implementation process of each step will be described in detail below.

[0059] I. Parameter Settings and 3D Model Import

[0060] S1. Obtain user-set parameters and user-imported 3D model m model Among them, the parameters set by the user include the horizontal plane normal. Ground clearance h, base plate range z range Base plate thickness t base Placement plane thickness t plane The number of support columns k and the radius of the support columns r.

[0061] It should be noted that in step S1 of this embodiment of the invention, the ground clearance, the thickness of the base plate, and the thickness of the placement plane are parameters manually input by the user, and the normal of the horizontal plane is set by the normal vector of the viewpoint selected by the user.

[0062] Furthermore, the parameters in step S1 can all be user-defined, set by the user according to the model to be processed. In this embodiment, the horizontal plane normal... Ground clearance h = 5.5cm, base plate range z range =43cm, base plate thickness t base =2cm, thickness of the placement plane t plane =2cm, number of support columns k=4, support column radius r=1.5cm.

[0063] II. Generating a Placement Plane for a 3D Model

[0064] S2. Generate a placement plane for the three-dimensional model based on the user-set parameters and the three-dimensional model.

[0065] It should be noted that, in step S2 of this embodiment of the invention, the specific process of generating the placement plane is as follows:

[0066] S21. Based on the set horizontal plane, place the 3D model m model The projection is transformed to the world coordinate system so that its vertical direction is consistent with the z-axis in the world coordinate system.

[0067] S22. Calculate the axis-aligned bounding box (AABB) of the 3D model in the world coordinate system, and obtain the maximum value of the z-axis coordinate of the 3D model. max and minimum value z min .

[0068] S23, from the minimum value of the z-axis coordinate of the 3D model z min Starting with a preset distance value d as the step size, extract the 3D model slice of the i-th step, and obtain the z-axis coordinate z of the 3D model slice of the i-th step. i =(z min +di), and combine the z-axis coordinates of the 3D model slices from step i with the contour lines formed in step i-1. i-1 Find the union to form the contour line of step i. i This continues until the z-axis coordinate of the 3D model slice reaches its maximum value, ultimately yielding all contour lines, totaling (z... max -z min ) / d layer.

[0069] It should be noted that in this embodiment, the preset distance value d is 0.1 cm.

[0070] S24. Project the obtained contour lines onto the Oxy plane to obtain the x-axis and y-axis coordinates of the placed planar body, that is, to obtain the two-dimensional planar coordinates (x, y) of the placed planar body; find the minimum value of the z-axis coordinate of the three-dimensional model. min The difference h between the ground height and the first coordinate threshold (z) is used as the first coordinate threshold. min -h), the first coordinate threshold and the placement plane thickness t plane The sum is used as the second coordinate threshold (z) min -h+t plane Using the first coordinate threshold as the left endpoint and the second coordinate threshold as the right endpoint, a first coordinate interval [z] in the form of a closed interval is formed by the first coordinate threshold and the second coordinate threshold. min -h,z min -h+t plane Set the z-axis coordinate of the placed planar solid to a coordinate value z in the first coordinate interval. plane ∈[z min -h,z min -h+t plane Finally, the placement plane m of the three-dimensional model is constructed. plane .

[0071] III. Generating the Support Base Plate

[0072] S3. Obtain the corresponding encapsulation body based on the set base plate thickness, and generate a supporting base plate based on the encapsulation body and the three-dimensional model.

[0073] It should be noted that, in step S3 of this embodiment of the invention, the specific process of generating the supporting base plate is as follows:

[0074] S31. Using the contour line obtained in S23 as the candidate region for expansion, the difference between the maximum and minimum values ​​of the z-axis coordinate of the 3D model is used as the third coordinate threshold. With 0 as the left endpoint and the third coordinate threshold as the right endpoint, a second coordinate interval in a left-open, right-closed form is constructed. A coordinate value is selected from this second coordinate interval as the z-axis coordinate of the base plate range. range ∈(0,z max -z min Then, taking 0 as the left endpoint and the z-axis coordinate of the base plate range as the right endpoint, a third coordinate interval [0, z] in the form of a closed interval is formed. range If the bottom range of a candidate region has a z-axis coordinate of z... p If the region is located within the third coordinate interval, then the candidate region is considered as the expansion region: Range = {z} p |z p ∈[0,z range Range indicates the bottom range of the candidate area.

[0075] In this embodiment, light is projected along the horizontal plane normal from the bottom viewpoint. According to the order in which the light touches the three-dimensional model, the three-dimensional model can be sliced ​​into layers. Obviously, this result is the same as the calculation result of step S23. Therefore, the contour line obtained in step S23 is used as the candidate region for expansion.

[0076] S32. After expanding the expansion region, the Alpha Warp algorithm of CGAL is used to obtain a thickness of 2t, which is twice the thickness of the base plate. base The inclusion body m warp .

[0077] In this embodiment, CGAL's Alpha Warp algorithm is a method for generating 3D triangular meshes. Its implementation is existing technology and will not be described in detail here.

[0078] S33, Finally, the package m warp With the three-dimensional model m model The difference is used as the support base plate m base =m warp -m model .

[0079] IV. Generating Support Columns

[0080] S4. Generate a vertex mapping graph based on the three-dimensional model, use linear discriminant analysis to cluster the vertex mapping graph, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar.

[0081] It should be noted that, in step S4 of this embodiment of the invention, the specific process of constructing the support column is as follows:

[0082] S41. Map the vertices of the 3D model to the horizontal plane to obtain a vertex mapping graph G.

[0083] In this embodiment, step S41 can be completed simultaneously with step S3, ultimately yielding a vertex mapping graph.

[0084] S42. Use Linear Discriminant Analysis (LDA) to cluster the vertex map G. By maximizing the inter-class divergence and minimizing the intra-class divergence, the vertices on the vertex map are divided into k classes. The average coordinates of the points in each class are used as the corresponding cluster center, resulting in a total of k cluster centers.

[0085] In this embodiment, the implementation of linear discriminant analysis is a prior art, and is explained in detail as follows: First, the eigenvector of each vertex is calculated, and the optimal projection direction is found by solving the ratio of the inter-class scatter matrix to the intra-class scatter matrix. Then, the vertices in the vertex map are mapped to a low-dimensional space using this projection direction, and the vertices are assigned to k classes based on the mapped data, thereby realizing the process of dividing the vertices in the vertex map into k classes.

[0086] S43. Using each cluster center as the endpoint of its corresponding support pillar, find the Euclidean nearest point of each cluster center on the horizontal projection. For the j-th cluster center (1,…,k), its Euclidean nearest point p... j The three-dimensional coordinate form is and Let x and y represent the x-axis coordinates and y-axis coordinates of the Euclidean distance to the nearest point of the j-th cluster center, respectively.

[0087] S44. Construct the center coordinates of the corresponding support column base circle using the x-axis and y-axis coordinates of the nearest Euclidean point to each cluster center. Based on the x-axis and y-axis components of the three-dimensional coordinates of the support column endpoints at each cluster center, the center coordinates of the support column base circle, and the support column radius, design the standard equation for the support column base circle. This equation is greater than or equal to the first coordinate threshold (i.e., z...). min Set the z-axis component of the three-dimensional coordinates of the support column endpoint within the range of -h) and less than or equal to the maximum value of the z-axis coordinate of the three-dimensional model to obtain the support column corresponding to each cluster center.

[0088] In this embodiment, for step S44, the support column corresponding to the j-th cluster center is constructed according to the following formula.

[0089] In the formula: r represents the radius of the supporting column; z max This represents the maximum value of the z-axis coordinate of the 3D model; (x j ,y j ,z j ) represents the support pillar corresponding to the j-th cluster center. The three-dimensional coordinates of the endpoint, x j ,y j ,z j These represent the x-axis component, y-axis component, and z-axis component in the three-dimensional coordinate system, respectively.

[0090] It should be noted that in this embodiment, the number of clusters k is the same as the number of support pillars in S1, that is, k = 4.

[0091] V. Merged Products

[0092] S5. Process each support column using a cutting algorithm, and then combine all the processed support columns with the support base plate m. base Merge to obtain composite m base+sup Then, place the composite object and the 3D model on the placement plane m. plane By merging, we obtain the support base m used for displaying the 3D model. result .

[0093] It should be noted that the specific process of using the cutting algorithm to process each support column in step S5 is as follows:

[0094] S51, support pillars for the j-th cluster center By subtracting from the base plate, we obtain the support column after the first processing of the j-th cluster center.

[0095] S52. Using the first coordinate threshold as the left endpoint and the maximum value of the z-axis coordinate of the 3D model as the right endpoint, a third coordinate interval (z) in open interval form is constructed. min -h,z max ), the support pillar after the first processing of the j-th cluster center. Select the z-axis component of the centroid coordinate in the third coordinate interval z kx ∈(z min -h,z max The largest connected component of the cluster is identified, and the remaining components are removed to obtain the support pillar of the j-th cluster center after the second processing.

[0096] It should be noted that, in this embodiment, at this time... For multiple connected regions, select the z-axis component of the centroid coordinate z′. kx ∈(z min -h,z max The largest connected component is identified, and the rest are removed.

[0097] S53. Subtract the support column of the j-th cluster center after the second processing from the placement plane of the 3D model to obtain the support column of the j-th cluster center after the third processing.

[0098] S54. Select the largest connected component of the centroid coordinate z-axis component in the third coordinate interval from the support column after the third processing of the j-th cluster center, and remove the rest to obtain the support column after the fourth processing of the j-th cluster center.

[0099] It should be noted that, in this embodiment, similar to step S52, at this time... Since there are multiple connected regions, the z-axis component of the centroid coordinate, z″, is then selected from them. kx ∈(z min -h,z max The largest connected component is selected, and the rest are removed.

[0100] S55. After processing the support pillars corresponding to each cluster center according to S51 to S54, the support pillars after the fourth processing of each cluster center constitute all the processed support pillars.

[0101] The present invention will now demonstrate the application effect of the support base generation method for 3D model display described in S1 to S5 of the above embodiments through a specific example, so as to facilitate understanding of the essence of the present invention.

[0102] Example

[0103] The specific implementation process of the support base generation method used in this embodiment for 3D model display is as described above and will not be repeated here. In the aforementioned step S2, the generated contour lines are as follows: Figure 2 As shown, the placement plane of the generated 3D model is as follows: Figure 4 As shown; in the aforementioned step S3, the generated support base plate is as follows Figure 3 As shown; in the aforementioned step S5, the final generated perspective view of the support base for 3D model display is as follows. Figure 5 As shown.

[0104] It should also be noted that the method for generating a support base for 3D model display in the above embodiments can essentially be executed by a computer program or module. Therefore, similarly, based on the same inventive concept, another preferred embodiment of the present invention also provides a support base generation system for 3D model display, corresponding to the method for generating a support base for 3D model display provided in the above embodiments, such as... Figure 6 As shown, it includes:

[0105] The data acquisition module is used to acquire user-set parameters and user-imported 3D models; among them, user-set parameters include horizontal plane normal, ground clearance, base plate range, base plate thickness, placement plane thickness, number of support columns, and support column radius;

[0106] The placement plane generation module is used to generate a placement plane of the three-dimensional model based on the parameters set by the user and the three-dimensional model.

[0107] The support base plate generation module is used to obtain the corresponding package body according to the set base plate thickness, and generate the support base plate based on the package body and the three-dimensional model.

[0108] The support pillar generation module is used to generate a vertex mapping map based on the three-dimensional model, cluster the vertex mapping map using linear discriminant analysis, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar.

[0109] The support base generation module is used to process each support column using a cutting algorithm, merge all the processed support columns with the support base plate to obtain a composite body, and then merge the composite body with the placement plane of the 3D model to obtain the support base used for 3D model display.

[0110] It is understood that the method for generating a support base for displaying a 3D model described in S1 to S5 above can essentially be implemented by a computer program. Therefore, based on the same inventive concept, another preferred embodiment of the present invention also provides a computer program product corresponding to the method for generating a support base for displaying a 3D model provided in the above embodiments, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, they can implement the method for generating a support base for displaying a 3D model as described in the above embodiments.

[0111] Similarly, based on the same inventive concept, another preferred embodiment of the present invention also provides a computer electronic device corresponding to the method for generating a support base for displaying three-dimensional models provided in the above embodiments, such as... Figure 7 As shown, it includes a memory and a processor;

[0112] The memory is used to store computer programs;

[0113] The processor is configured to implement the method for generating a support base for displaying a three-dimensional model as described in the above embodiments when executing the computer program.

[0114] Furthermore, the logical instructions in the aforementioned memory can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0115] Therefore, based on the same inventive concept, another preferred embodiment of the present invention also provides a computer-readable storage medium corresponding to the support base generation method for displaying three-dimensional models provided in the above embodiments. The storage medium stores a computer program, which, when executed by a processor, can realize the support base generation method for displaying three-dimensional models in the above embodiments.

[0116] It is understood that the aforementioned storage media may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Furthermore, the storage media may also be various media capable of storing program code, such as USB flash drives, external hard drives, magnetic disks, or optical discs.

[0117] It is understood that the processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0118] It should also be noted that those skilled in the art will understand that, for the sake of convenience and brevity, the specific working process of the system described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here. In the embodiments provided in this application, the division of steps or modules in the system and method is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple modules or steps may be combined or integrated together, and a module or step may also be split.

[0119] The embodiments described above are merely preferred embodiments of the present invention and are not intended to limit the invention. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention. Therefore, all technical solutions obtained through equivalent substitution or transformation fall within the protection scope of the present invention.

Claims

1. A method for generating a support base for displaying a 3D model, characterized in that, Includes the following steps: S1. Obtain the parameters set by the user and the 3D model imported by the user; among which, the parameters set by the user include the horizontal plane normal, the height above the ground, the range of the base plate, the thickness of the base plate, the thickness of the placement plane, the number of support columns, and the radius of the support columns; S2. Generate a placement plane for the 3D model based on the user-set parameters and the 3D model; S3. Obtain the corresponding package based on the set base plate thickness, and generate a supporting base plate based on the package and the three-dimensional model. S4. Generate a vertex mapping map based on the three-dimensional model, use linear discriminant analysis to cluster the vertex mapping map, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar. S5. Use a cutting algorithm to process each support column, merge all the processed support columns with the support base plate to obtain a composite body, and then merge the composite body with the placement plane of the 3D model to obtain a support base for displaying the 3D model. In step S2, the specific process of generating the placement plane is as follows: S21. Based on the set horizontal plane, project and transform the 3D model to the world coordinate system, aligning its vertical direction with the world coordinate system. The axis remains consistent; S22. Calculate the axis-aligned bounding box of the 3D model in the world coordinate system to obtain the 3D model. The maximum and minimum values ​​of the axis coordinates; S23, From the 3D Model Starting from the minimum value of the axis coordinate, extract the first value with a preset distance as the step size. The 3D model is sliced ​​in step 1 to obtain the 3D model slices in step 2. Step-by-step 3D model slicing Axis coordinates, and the first Step-by-step 3D model slicing Axis coordinates and the first The contour lines formed in step 1 are merged to form the first contour line. The outline of each step, down to the slices of the 3D model. Axial coordinates to achieve 3D model The maximum value of the axis coordinates is used to obtain all the contour lines; S24. The obtained contour lines are... Projecting a plane onto a surface yields a planar solid. Axis coordinates and Axis coordinates; 3D model The difference between the minimum value of the axis coordinate and the height above the ground is used as the first coordinate threshold. The sum of the first coordinate threshold and the thickness of the placement plane is used as the second coordinate threshold. The first coordinate threshold is used as the left endpoint, and the second coordinate threshold is used as the right endpoint. The first coordinate interval is formed by the first coordinate threshold and the second coordinate threshold in the form of a closed interval. The placement plane is then... The axis coordinates are set to a coordinate value in the first coordinate interval, and finally the placement plane of the three-dimensional model is constructed; In step S3, the specific process of generating the supporting base plate is as follows: S31. Using the contour lines obtained in S23 as candidate regions for expansion, the 3D model... The difference between the maximum and minimum values ​​of the axis coordinates is used as the third coordinate threshold. With 0 as the left endpoint and the third coordinate threshold as the right endpoint, a second coordinate interval in the form of left-open and right-closed is formed. A coordinate value is selected from the second coordinate interval as the base plate range. Axis coordinates, then take 0 as the left endpoint and the base plate range. Using the axis coordinates as the right endpoints, a third coordinate interval in the form of a closed interval is formed. If the bottom range of a candidate region... If the axis coordinates are located within the third coordinate interval, then the candidate region is considered as the expansion region; S32. After expanding the expansion region, use CGAL's Alpha Warp algorithm to obtain an encapsulation with a thickness twice that of the base plate. S33. Finally, the difference between the package and the three-dimensional model is used as the supporting base plate.

2. The method for generating a support base for displaying a three-dimensional model as described in claim 1, characterized in that, In step S4, the specific process of constructing the support column is as follows: S41. Map the vertices of the 3D model to the horizontal plane to obtain a vertex mapping map; S42. Use linear discriminant analysis to cluster the vertex map graph, dividing the vertices in the vertex map graph into groups by maximizing between-class divergence and minimizing within-class divergence. There are 10 classes, and the average value of the point coordinates of each class is used as the corresponding cluster center. S43. Using each cluster center as the endpoint of its corresponding support column, find the Euclidean distance closest point of each cluster center on the horizontal projection. S44. Find the Euclidean distance of each cluster center to the nearest point. axis coordinates and The axis coordinates form the center coordinates of the circle corresponding to the bottom surface of the support column, and the three-dimensional coordinates of the support column endpoints are based on the cluster centers. Axial components and The standard equation for designing the base circle of the support column, including its axis components, center coordinates, and radius, is defined within a range greater than or equal to the first coordinate threshold and less than or equal to the 3D model. Set the support column endpoints in three-dimensional coordinates within the range of the maximum values ​​of the axis coordinates. The axial components are used to obtain the support pillars corresponding to each cluster center.

3. The method for generating a support base for displaying a three-dimensional model as described in claim 2, characterized in that, In step S5, the specific process of using the cutting algorithm to process each support column is as follows: S51, the first The difference between the supporting column and the supporting base plate of the cluster center is obtained to get the first cluster center. The support pillars after the first processing of each cluster center; S52, Using the first coordinate threshold as the left endpoint, 3D model The maximum value of the axis coordinate is used as the right endpoint to form the third coordinate interval in open interval form, starting from the first... Select the centroid coordinates from the support pillars after the first processing of each cluster center. The maximum connected component of the axis component in the third coordinate interval is obtained by discarding the rest. The support pillars after the second processing of each cluster center; S53, the first The difference between the supporting pillars of the second processing of the cluster centers and the placement plane of the 3D model is obtained. The support pillars after the third processing of each cluster center; S54, from the first Select the centroid coordinates from the support pillars after the third processing of the cluster centers. The maximum connected component of the axis component in the third coordinate interval is obtained by discarding the rest. The support pillars after the fourth processing of each cluster center; S55. After processing the support pillars corresponding to each cluster center according to S51~S54, the support pillars after the fourth processing of each cluster center constitute all the processed support pillars.

4. The method for generating a support base for displaying a three-dimensional model as described in claim 2, characterized in that, The preset distance value is 0.1 cm, and the number of clusters is... The number of support columns is the same as in S1, set to .

5. A support base generation system for displaying three-dimensional models, characterized in that, include: The data acquisition module is used to acquire user-set parameters and user-imported 3D models; among them, user-set parameters include horizontal plane normal, ground clearance, base plate range, base plate thickness, placement plane thickness, number of support columns, and support column radius; The placement plane generation module is used to generate a placement plane of the three-dimensional model based on the parameters set by the user and the three-dimensional model. The support base plate generation module is used to obtain the corresponding package body according to the set base plate thickness, and generate the support base plate based on the package body and the three-dimensional model. The support pillar generation module is used to generate a vertex mapping map based on the three-dimensional model, cluster the vertex mapping map using linear discriminant analysis, take each cluster center as the endpoint of its corresponding support pillar, and construct the support pillar corresponding to each cluster center by the point with the closest Euclidean distance to each cluster center and the endpoint of the support pillar. The support base generation module is used to process each support column using a cutting algorithm, merge all the processed support columns with the support base plate to obtain a composite body, and then merge the composite body with the placement plane of the 3D model to obtain the support base used for 3D model display. The specific process for generating a planar object in the planar object generation module is as follows: S21. Based on the set horizontal plane, project and transform the 3D model to the world coordinate system, aligning its vertical direction with the world coordinate system. The axis remains consistent; S22. Calculate the axis-aligned bounding box of the 3D model in the world coordinate system to obtain the 3D model. The maximum and minimum values ​​of the axis coordinates; S23, From the 3D Model Starting from the minimum value of the axis coordinate, extract the first value with a preset distance as the step size. The 3D model is sliced ​​in step 1 to obtain the 3D model slices in step 2. Step-by-step 3D model slicing Axis coordinates, and the first Step-by-step 3D model slicing Axis coordinates and the first The contour lines formed in step 1 are merged to form the first contour line. The outline of each step, down to the slices of the 3D model. Axial coordinates to achieve 3D model The maximum value of the axis coordinates is used to obtain all the contour lines; S24. The obtained contour lines are... Projecting a plane onto a surface yields a planar solid. Axis coordinates and Axis coordinates; 3D model The difference between the minimum value of the axis coordinate and the height above the ground is used as the first coordinate threshold. The sum of the first coordinate threshold and the thickness of the placement plane is used as the second coordinate threshold. The first coordinate threshold is used as the left endpoint, and the second coordinate threshold is used as the right endpoint. The first coordinate interval is formed by the first coordinate threshold and the second coordinate threshold in the form of a closed interval. The placement plane is then... The axis coordinates are set to a coordinate value in the first coordinate interval, and finally the placement plane of the three-dimensional model is constructed; The specific process for generating the support base plate in the support base plate generation module is as follows: S31. Using the contour lines obtained in S23 as candidate regions for expansion, the 3D model... The difference between the maximum and minimum values ​​of the axis coordinates is used as the third coordinate threshold. With 0 as the left endpoint and the third coordinate threshold as the right endpoint, a second coordinate interval in the form of left-open and right-closed is formed. A coordinate value is selected from the second coordinate interval as the base plate range. Axis coordinates, then take 0 as the left endpoint and the base plate range. Using the axis coordinates as the right endpoints, a third coordinate interval in the form of a closed interval is formed. If the bottom range of a candidate region... If the axis coordinates are located within the third coordinate interval, then the candidate region is considered as the expansion region; S32. After expanding the expansion region, use CGAL's Alpha Warp algorithm to obtain an encapsulation with a thickness twice that of the base plate. S33. Finally, the difference between the package and the three-dimensional model is used as the supporting base plate.

6. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it can implement the method for generating a support base for displaying a three-dimensional model as described in any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method for generating a support base for displaying a three-dimensional model as described in any one of claims 1 to 4.

8. A computer electronic device, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is configured to, when executing the computer program, implement the method for generating a support base for displaying a three-dimensional model as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method for generating tree supporting structure of 3D printing model

    CN109624325A

  • Automatic generation method and device for 3D printing model support and storage medium

    CN115782182A