Product three-dimensional model design method using GPU (Graphics Processing Unit) parallel processing

By performing parallel processing and hierarchical surrounding body tree construction on the GPU side, combined with topological reconstruction on the CPU side, the traditional Boolean computing method is solved in terms of efficiency, and an efficient product three-dimensional model design is realized, which is suitable for processing in complex scenarios.

CN120219616AActive Publication Date: 2025-06-27ZHEJIANG UNIV
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510260946.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2025-06-27
Estimated Expiration
2045-03-06

AI Technical Summary

Technical Problem

Traditional Boolean computing methods are difficult to improve greatly in terms of efficiency, which limits their application potential in complex scenarios, especially on the CPU side, and there is still room for improvement in processing efficiency.

Method used

The GPU parallel processing technology is used to store the topology and geometric data in the model file on the GPU side, and a hierarchical surrounding body tree is built. Based on this, the surface relationship judgment and Boolean operation are carried out, and the topology reconstruction on the CPU side is combined to complete the design of the product three-dimensional model.

Benefits of technology

Through GPU parallel processing technology, the time efficiency of the product three-dimensional model design process is greatly improved, and it can handle singular situations such as overlap and overlap in complex scenarios, and has good robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120219616A_ABST
    Figure CN120219616A_ABST
Patent Text Reader

Abstract

The invention discloses a product three-dimensional model design method based on GPU parallel processing. Comprising the following steps of: firstly, storing topology and geometric data in all model files in a GPU (Graphics Processing Unit) end, so as to obtain a model corresponding to the GPU end; then, constructing a hierarchical bounding volume tree corresponding to all the models in a GPU end; then, judging the surface relationship between every two models in the GPU end based on the hierarchical bounding volume tree of the models to obtain all surface classification results; and finally, carrying out topology reconstruction on the target model in the CPU end according to the type of Boolean operation to obtain a topology reconstruction result, and completing the design of the three-dimensional model of the product. According to the method, various singular conditions such as overlapping and the like in the model design process can be processed, and parallel design and optimization are performed on a data structure and a flow aiming at the SIMT architecture of the GPU, so that the powerful performance of the modern GPU is fully played, a large amount of operation is accelerated, and the design of a robust and efficient three-dimensional model of a product is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a product three-dimensional model design method in the field of Computer-Aided Design and Manufacturing (CAD / CAM) systems, and specifically to a product three-dimensional model design method using GPU parallel processing. Background Art

[0002] Computer-aided design (CAD), as one of the core technologies of modern industrial design, has been widely used in mechanical manufacturing, construction engineering, electronic circuits, aerospace and other fields. Its core value lies in the use of digital modeling technology to transform abstract engineering concepts into precise geometric entities, thereby supporting the entire process of design verification, simulation analysis, manufacturing and processing. For example, in mechanical design, CAD technology can quickly generate three-dimensional models of complex parts and directly associate numerical control machining (CAM) parameters, greatly shortening the product development cycle and reducing trial and error costs. Enterprises using CAD / CAM technology can increase their design and production efficiency by 30%-50% and reduce their design error rate by more than 60%. This technology not only promotes the standardization and automation of industrial production, improves the efficiency and cost competitiveness of industrial production, but also provides a technical basis for personalized customization and small-batch production. The value of computer-aided design technology in the integration of design and manufacturing, data-driven decision optimization, and the construction of flexible production capabilities has made it the cornerstone of modern industrial intelligence.

[0003] Boolean operation is the core method for processing geometric entity relationships in computer-aided design. Its significance lies in quickly generating complex structures through simple geometric combination or cutting. Boolean operation simplifies the product 3D modeling process and significantly improves design flexibility and efficiency.

[0004] At present, research on Boolean operations has made some progress, but there are still many problems to be solved. Traditional Boolean operation methods usually rely on boundary representation (Boundary Representation, B-Rep) or voxel representation to describe geometric objects. In Boolean operations on B-Rep, complex geometric calculations and topological modifications are required, including solving the intersection of faces and updating the B-Rep topological data structure. Therefore, the current research on B-Rep Boolean operation methods is mainly focused on the CPU side, and the time efficiency of the method still has a lot of room for improvement.

[0005] With the continuous development of hardware technology, the powerful parallel computing ability of the Graphics Processing Unit (GPU) provides new possibilities for improving the efficiency of Boolean operations. The GPU has significant advantages in large-scale parallel computing tasks and is particularly suitable for processing data-intensive tasks with high concurrency. Nevertheless, the research on introducing the GPU into Boolean operation methods is still in its initial stage. On the one hand, the data structure and operation logic in Boolean operations are complex, and how to efficiently map them onto the GPU hardware architecture remains a difficult point; on the other hand, the memory hierarchy and data transfer mechanism of the GPU pose special requirements for method design.

[0006] In summary, Boolean operations have important application values in fields such as CAD, but traditional methods are difficult to achieve a large improvement in efficiency, which limits their application potential in complex scenarios. GPU parallel computing technology provides a brand-new idea for optimizing Boolean operation methods, but the current technology has not fully explored its potential. Summary of the Invention

[0007] Aiming at the deficiencies proposed in the background technology, the purpose of the present invention is to provide a method for designing a three-dimensional model of a product using GPU parallel processing.

[0008] The technical solution adopted by the present invention is as follows:

[0009] 1. A method for designing a three-dimensional model of a product using GPU parallel processing

[0010] 1) Store the topology and geometric data of all model files on the GPU side, thereby obtaining the corresponding models on the GPU side;

[0011] 2) Construct a hierarchical bounding volume tree corresponding to all models on the GPU side;

[0012] 3) Based on the hierarchical bounding volume tree of the models on the GPU side, judge the face relationship between every two models to obtain the face classification result between the current two models, and traverse and judge all pairwise combinations of the target models to obtain all face classification results;

[0013] 4) According to all face classification results, perform topology reconstruction on the target models on the CPU side according to the type of Boolean operation to obtain the topology reconstruction result, and complete the design of the three-dimensional model of the product.

[0014] In the above 1), the geometric data of the model file includes variable-length data. During the storage process, the variable-length data is separated into fixed-length data and variable-length data, and then the fixed-length data is encapsulated into a header class, and the variable-length data is sequentially stored in the pre-allocated continuous space. All operations on the data are encapsulated in the header class.

[0015] In the above (2), for each model on the GPU side, the construction process of its hierarchical bounding volume tree specifically includes:

[0016] 2.1) Calculate the AABB bounding box of each model on the GPU side. The root node of the hierarchical bounding volume tree is all the faces of the current model, and the root node serves as the initial node;

[0017] 2.2) Respectively, use three planes that are perpendicular to the three axis directions of the current node's AABB bounding box and pass through the midpoint of the bounding box to calculate the segmentation cost C corresponding to the three planes; Take the plane with the minimum segmentation cost C among the three planes as the final segmentation plane, thereby obtaining the left and right child nodes of the current node; And calculate the AABB bounding boxes corresponding to all the left and right child nodes respectively;

[0018] 2.3) Parallel process each node in the latest level of the current hierarchical bounding volume tree on the GPU according to the node segmentation method in 2.2), and parallelly generate the left and right child nodes corresponding to each node in the current level;

[0019] 2.4) Repeat 2.3), and sequentially segment each node in the latest level of the current hierarchical bounding volume tree until each node in the latest level contains only a single face, obtaining the hierarchical bounding volume tree corresponding to the current model.

[0020] The calculation formula for the segmentation cost C of each of the above planes is as follows:

[0021]

[0022] Among them, SA( ) represents the surface area of the node bounding box, N( ) represents the number of faces contained in the node, n l represents the left child node formed by dividing the current node through each segmentation plane, and n r represents the right child node formed by dividing the current node through each segmentation plane.

[0023] In the above (3), for the two target models, the generation process of their face classification results specifically includes:

[0024] 3.1) After traversing and performing ground face intersection processing based on the hierarchical bounding volume trees of the current two target models, obtain the intersection result between the current two target models,

[0025] 3.2) According to the intersection result, respectively segment the relevant faces of the current two target models to obtain the set of faces to be classified corresponding to each target model;

[0026] 3.3) Respectively classify all the faces in the set of faces to be classified of each target model to obtain the face classification result between the current two target models.

[0027] The specific content of 3.1) is as follows:

[0028] 3.1.1) Respectively name the current two target models as object model A and tool model B; use a traversal kernel function to assign each face of tool model B to a thread. Each thread traverses the hierarchical bounding volume tree of object model A and performs interference checking. If there are interfering face pairs, add them to the interfering face pair queue until all interference checking is completed;

[0029] 3.1.2) Use a face-face intersection kernel function to process all the interfering face pairs in the interfering face pair queue. Each thread is responsible for the face-face intersection of one interfering face pair and records the intersection line until all face-face intersections are completed;

[0030] 3.1.3) Remove duplicates from the obtained intersection lines to obtain the intersection result between the current two target models.

[0031] In 3.2), assign the segmentation task of one face with intersection lines in each target model to a thread. The segmentation process of each face with intersection lines specifically includes:

[0032] 3.2.1) Construct an edge topological connection graph and a vertex table that contain the intersection line and the original edges of the current face;

[0033] 3.2.2) Select a vertex from the vertex table and traverse the edge topological connection graph to obtain a closed loop;

[0034] 3.2.3) Repeat 3.2.2), traverse and select vertices and obtain the loops corresponding to the remaining vertices, so as to obtain all the loops contained in the current face;

[0035] 3.2.4) Construct all the loops as sub-faces and add all the sub-faces of the current face to the set of faces to be classified of the current target model.

[0036] In 3.3), assign the classification task of each face in the set of faces to be classified of each target model to a thread. The classification process of each face to be classified specifically includes:

[0037] First, calculate the centroid of the face; then, use the ray method to judge the spatial relationship of the centroid relative to the other target model to obtain the classification result of inside, coplanar or outside as the classification result of the face.

[0038] The specific content of 4) is as follows:

[0039] 4.1) According to the Boolean operation type between the target models and all the face classification results, process the target models to obtain a queue of faces to be processed; among them, the Boolean operations have three types: intersection, union, and difference. The calculation formulas between object model A and tool model B are as follows:

[0040]

[0041] Among them, F AoutB represents the set of faces that are outside the tool model B and belong to the object model A; F AinB represents the set of faces that are inside the tool model B and belong to the object model A; F BoutA represents the set of faces that are outside the object model A and belong to the tool model B; F BinA represents the set of faces that are inside the object model A and belong to the tool model B; represents the faces that belong to the object model A, are coplanar with the faces of the tool model B, and have the same normal direction; represents the faces that belong to the object model A, are coplanar with the faces of the tool model B, and have the opposite normal direction;

[0042] 4.2) Take a face from the queue of faces to be processed. According to the edge adjacency relationship between the faces, find all the faces adjacent to the current face and form a shell. At the same time, delete the relevant faces from the queue of faces to be processed;

[0043] 4.3) Repeat 4.2), take a face from the queue of faces to be processed in turn and generate the corresponding shell for this face until the queue of faces to be processed is empty, and obtain all the shells;

[0044] 4.4) Construct all the obtained shells into an entity to complete the design of the three-dimensional model of the product.

[0045] II. A computer device

[0046] The device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the steps of the method for designing a three-dimensional model of a product using GPU parallel processing.

[0047] The beneficial effects of the present invention are:

[0048] According to the hardware architecture characteristics of the GPU and the SIMT architecture characteristics, the present invention designs, reconstructs, and optimizes the data structure and process of the method for designing a three-dimensional model of a product. By mapping the design method to the GPU parallel architecture, it can handle various singular situations such as coincidence and overlap existing in the model design process, and can also greatly improve the time efficiency of the three-dimensional model design process of the product and have good robustness. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is the overall process framework diagram of the present invention.

[0050] Figure 2 It is the architecture diagram of the boundary representation (B-rep) data structure design for GPU parallel processing.

[0051] Figure 3 Two model diagrams for Boolean operation examples.

[0052] Figure 4 Example diagrams of the results of union, intersection, and difference operations of Boolean operations on two models. Detailed implementation manners

[0053] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.

[0054] The present invention proposes a method for designing a three-dimensional model of a product using GPU parallel processing, as Figure 1 shown, including the following steps:

[0055] 1) Store the topology and geometric data in all the obtained model files on the GPU side, so as to obtain the models corresponding to the GPU side;

[0056] To avoid the huge overhead caused by frequent data exchange between the GPU and the CPU, different from the existing practices that do not use the GPU and only store part of the model data on the GPU side, the present invention stores the complete topology and geometric data of the model on the GPU side. To enable the thread to obtain the required data more quickly and reduce the data IO time, the data of the model should be stored in a continuous video memory space as much as possible. Different from the ordinary B-rep data structure, the present invention makes a targeted design for variable-length data. The geometric data of each model file includes variable-length data. For example: a solid contains an indefinite number of shells, a shell contains an indefinite number of faces, a face contains an indefinite number of loops, and a loop contains an indefinite number of edges, as Figure 2 shown. During the storage process, the variable-length data is separated into fixed-length data and variable-length data, and then the fixed-length data is encapsulated into a header class, and the variable-length data is sequentially stored in the pre-allocated continuous space, and the operations on the data are all encapsulated in the header class.

[0057] 2) Parallelly construct the hierarchical bounding volume (BVH, Bounding Volume Hierarchy) trees corresponding to all the models on the GPU side;

[0058] For each model on the GPU side, the construction of the BVH adopts a top-down and heuristic strategy. The construction process of its hierarchical bounding volume tree specifically includes:

[0059] 2.1) Calculate the axis-aligned bounding box (AABB) of each model on the GPU side. The root node of the hierarchical bounding volume tree is all the faces of the current model, and the root node is used as the initial node;

[0060] 2.2) For each of the three planes formed by the directions perpendicular to the three axes of the current node's AABB bounding box and passing through the midpoint of the bounding box, calculate the segmentation cost C corresponding to each plane; take the plane with the minimum segmentation cost C among the three planes as the final segmentation plane, so as to obtain the left and right child nodes of the current node; and calculate the AABB bounding boxes corresponding to all the left and right child nodes respectively.

[0061] The calculation formula for the segmentation cost C of each plane is as follows:

[0062]

[0063] where SA( ) represents the surface area of the node bounding box, N( ) represents the number of faces included in the node, n l represents the left child node formed after dividing the current node by each segmentation plane, and n r represents the right child node formed after dividing the current node by each segmentation plane.

[0064] 2.3) Process each node in the latest level of the current hierarchical bounding volume tree in parallel on the GPU according to the node segmentation method in 2.2), and generate the left and right child nodes corresponding to each node in the current level in parallel.

[0065] 2.4) Repeat 2.3), and sequentially divide each node in the latest level of the current hierarchical bounding volume tree until each node in the latest level contains only a single face, obtaining the hierarchical bounding volume tree corresponding to the current model.

[0066] 3) On the GPU side, based on the hierarchical bounding volume tree of the model, judge the face relationship between every two models to obtain the face classification result between the current two models, and traverse all pairwise combinations of the target models to obtain all the face classification results.

[0067] For two target models, the construction of the hierarchical bounding volume tree adopts a top-down, heuristic strategy. The generation process of its face classification result specifically includes:

[0068] 3.1) After performing intersection processing on the ground faces by traversing the hierarchical bounding volume trees of the current two target models, obtain the intersection result between the current two target models.

[0069] 3.1) Specifically:

[0070] 3.1.1) Name the current two target models as object model A (object) and tool model B (tool) respectively; use a traversal kernel function (kernel), assign each face of tool model B to a thread respectively, and each thread traverses the hierarchical bounding volume tree of object model A to perform interference checking. If there are interfering faces, add them to the interfering face queue until all interference checking is completed;

[0071] 3.1.2) Use a face-face intersection kernel function to process all the interfering faces in the interfering face queue. Each thread is responsible for the face-face intersection of one interfering face and records the intersection line until all face-face intersections are completed; in this embodiment, there are no curved surfaces, so there is only plane intersection. Plane intersection uses a conventional method and stores the intersection line in point-normal form.

[0072] 3.1.3) Remove duplicates from the obtained intersection lines to obtain the intersection result between the current two target models.

[0073] 3.2) According to the intersection result, split the relevant faces of the current two target models respectively to obtain the set of faces to be classified corresponding to each target model;

[0074] In 3.2), assign the splitting task of one face (i.e., the relevant face) with an intersection line in each target model to a thread. The splitting process of each face with an intersection line specifically includes:

[0075] 3.2.1) Construct an edge topology connection graph and a vertex table containing the intersection line and the original edges of the current face;

[0076] 3.2.2) Select a vertex from the vertex table and traverse the edge topology connection graph to obtain a closed loop (Loop);

[0077] 3.2.3) Repeat 3.2.2), traverse and select vertices and obtain the loops corresponding to the remaining vertices, so as to obtain all the loops contained in the current face;

[0078] 3.2.4) Construct all the loops as sub-faces, record them in the original face, and add all the sub-faces of the current face to the set of faces to be classified of the current target model.

[0079] 3.3) Classify all the faces in the set of faces to be classified of each target model respectively to obtain the face classification result between the current two target models.

[0080] In 3.3), assign the classification task of each face in the set of faces to be classified of each target model to a thread. The classification process of each face to be classified specifically includes:

[0081] First, calculate the centroid of the face; then, use the ray method to judge the spatial relationship of the centroid relative to another target model, and obtain the classification result of in, on, or out as the classification result of the face.

[0082] 4) According to all the face classification results, perform topological reconstruction on the target model according to the type of Boolean operation on the CPU side to obtain the topological reconstruction result and complete the design of the product three-dimensional model.

[0083] 4) Specifically:

[0084] 4.1) According to the type of Boolean operation between the target models and all the face classification results, after processing the target models, obtain the queue of faces to be processed; among them, there are three types of Boolean operations: intersection, union, and difference. The calculation formulas between the object model A and the tool model B are as follows:

[0085]

[0086] Among them, F AoutB represents the set of faces that are outside the tool model B and belong to the object model A; F AinB represents the set of faces that are inside the tool model B and belong to the object model A; F BoutA represents the set of faces that are outside the object model A and belong to the tool model B; F BinA represents the set of faces that are inside the object model A and belong to the tool model B; represents the faces that belong to the object model A and are coplanar with the faces of the tool model B and have the same normal direction of the face; represents the faces that belong to the object model A and are coplanar with the faces of the tool model B and have the opposite normal direction of the face;

[0087] 4.2) Take a face from the queue of faces to be processed. According to the edge adjacency relationship between the faces, find all the faces adjacent to the current face and form a shell, and at the same time delete the relevant faces from the queue of faces to be processed;

[0088] 4.3) Repeat 4.2), take a face from the queue of faces to be processed in turn and generate the corresponding shell until the queue of faces to be processed is empty to obtain all the shells;

[0089] 4.4) Construct the obtained all shells into a solid, which may be multiple solids, to complete the design of the product three-dimensional model. Specifically, it can quickly construct complex three-dimensional shapes on the basis of basic geometric shapes, or can quickly modify the original product model.

[0090] Figure 3 In the example of, the left model is the object model A and the right is the tool model B. Taking Figure 3Taking the two models shown as the input and performing Boolean union, intersection, and difference operations according to the above implementation steps, the resulting model is as Figure 4 shown.

[0091] The above specific implementation manners are used to explain and illustrate the present invention, rather than to limit the present invention. Any modification and change made to the present invention within the spirit and scope of the protection of the claims of the present invention fall within the protection scope of the present invention.

Claims

1. A product 3D model design method using GPU parallel processing, characterized in that: The following steps are involved: 1) Store the topology and geometry data in all model files on the GPU side to obtain the model corresponding to the GPU side; 2) Construct a hierarchical bounding volume tree corresponding to all models on the GPU side; 3) On the GPU side, the face relationship between each two models is judged based on the hierarchical bounding volume tree of the model, the face classification result between the current two models is obtained, and all pairwise combinations of the target models are traversed to obtain all face classification results; 4) Based on all the surface classification results, the target model is topologically reconstructed according to the type of Boolean operation on the CPU side to obtain the topological reconstruction result and complete the design of the product three-dimensional model.

2. The method for designing a product 3D model using GPU parallel processing according to claim 1, characterized in that: In the above 1), the geometric data of the model file includes variable-length data. During the storage process, the variable-length data is separated into fixed-length data and variable-length data, and then the fixed-length data is encapsulated into a header class. The variable-length data is stored in sequence in a continuous space opened in advance, and all operations on the data are encapsulated in the header class.

3. The method for designing a product 3D model using GPU parallel processing according to claim 1, characterized in that: In the above 2), for each model in the GPU side, the construction process of its hierarchical bounding volume tree specifically includes: 2.1) Calculate the AABB bounding box of each model on the GPU. The root node of the hierarchical bounding volume tree is all the faces of the current model, and the root node is used as the initial node; 2.2) Calculate the segmentation costs C of the three planes formed by the three axes perpendicular to the AABB bounding box of the current node and passing through the midpoint of the bounding box respectively; take the plane with the smallest segmentation cost C among the three planes as the final segmentation plane, thereby obtaining the left and right child nodes of the current node; and calculate the AABB bounding boxes corresponding to all the left and right child nodes respectively; 2.3) According to the node segmentation method of 2.2), each node of the latest level in the current level bounding volume tree is processed in parallel on the GPU, and the left and right child nodes corresponding to each node in the current level are generated in parallel; 2.4) Repeat 2.3) to split each node of the latest level in the current hierarchical bounding volume tree in turn until each node of the latest level contains only a single face, and obtain the hierarchical bounding volume tree corresponding to the current model.

4. The method for designing a product 3D model using GPU parallel processing according to claim 3, characterized in that: The calculation formula of the segmentation cost C of each plane is as follows: Where SA() represents the surface area of ​​the node bounding box, N() represents the number of faces contained in the node, and n l It represents the left child node formed by splitting the current node through each splitting plane, n r Represents the right child node formed by splitting the current node through each splitting plane.

5. The method for designing a product 3D model using GPU parallel processing according to claim 1, characterized in that: In 3), for the two target models, the generation process of the face classification results specifically includes: 3.1) After traversing the ground surface intersection processing based on the hierarchical bounding volume tree of the current two target models, the intersection result between the current two target models is obtained. 3.2) Segment the relevant faces of the two current target models according to the intersection results to obtain a set of faces to be classified corresponding to each target model; 3.3) Classify all faces in the to-be-classified face set of each target model respectively, and obtain the face classification result between the current two target models.

6. The method for designing a product 3D model using GPU parallel processing according to claim 5, characterized in that: The above 3.1) is specifically: 3.1.1) The two current target models are called object model A and tool model B respectively; a traversal kernel function is used to assign each face of tool model B to a thread respectively, and each thread traverses the hierarchical bounding volume tree of object model A and performs interference checks. If there is an interference face pair, it is added to the interference face queue until all interference checks are completed; 3.1.2) Use a face-to-face intersection kernel function to process all the interference faces in the interference face queue. Each thread is responsible for the face-to-face intersection of one interference face and records the intersection line until all the face-to-face intersections are completed. 3.1.3) De-duplicate the obtained intersection lines to obtain the intersection result between the current two target models.

7. The method for designing a product 3D model using GPU parallel processing according to claim 5, characterized in that: In the above 3.2), the segmentation task of a face with an intersection line in each target model is assigned to a thread, and the segmentation process of each face with an intersection line specifically includes: 3.2.1) Construct an edge topology connection graph and vertex table including the intersection line and the original edge in front of the current line; 3.2.2) Select a vertex from the vertex table and traverse the edge topology connection graph to obtain a closed loop; 3.2.3) Repeat 3.2.2), traverse the selected vertices and obtain the rings corresponding to the remaining vertices, so as to obtain all the rings contained in the current face; 3.2.4) All rings are constructed as sub-faces, and all sub-faces of the current face are added to the set of faces to be classified of the current target model.

8. The method for designing a product 3D model using GPU parallel processing according to claim 5, characterized in that: In the above 3.3), the classification task of each face in the set of faces to be classified of each target model is assigned to a thread, and the classification process of each face to be classified specifically includes: First, the centroid of the face is calculated; then, the spatial relationship of the centroid with respect to another target model is judged using the ray method, and the classification result of inside, coplanar or outside is obtained and used as the classification result of the face.

9. The method for designing a product 3D model using GPU parallel processing according to claim 1, characterized in that: The specific aspects of 4) are: 4.1) According to the Boolean operation type between the target models and all the face classification results. After processing the target model, a queue of faces to be processed is obtained; among them, Boolean operations include intersection, union, and difference. The calculation formula between the object model A and the tool model B is as follows: Among them, F AoutB F represents the face set outside the tool model B and belonging to the object model A; AinB F represents the face set in tool model B and belonging to object model A; BoutA F represents the face set outside the object model A and belonging to the tool model B; BinA Represents the face set within object model A and belonging to tool model B; Indicates a face belonging to the object model A and coplanar with a face of the tool model B and the normal direction of the face is the same; Indicates a face belonging to the object model A and coplanar with a face of the tool model B and having an opposite normal direction; 4.2) Take a face from the queue of faces to be processed, find all faces adjacent to the current face according to the edge adjacency relationship between faces and form a shell, and delete the relevant faces from the queue of faces to be processed; 4.3) Repeat 4.2), take a face from the queue of faces to be processed one by one and generate a corresponding shell for the face, until the queue of faces to be processed is empty, and all shells are obtained; 4.4) All the shells obtained are constructed into entities to complete the design of the product three-dimensional model.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of a method for designing a three-dimensional product model using GPU parallel processing as described in any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Three-dimensional scene optimization management method of power transmission line

    CN107016727A

  • GPU-based octree Boolean operation acceleration intersection method

    CN114283244A

  • GPU-based NURBS curved surface parallel intersection method and device, and storage medium

    CN117115393A

  • Three-dimensional geometry engine-oriented boundary representation model topology intersection method and device

    CN119004765A

  • Graphical rendering with implicit surfaces

    US20150035854A1