Attribute adjacency graph-based three-dimensional model transition feature suppression method

By constructing an undirected attribute adjacency graph and creating virtual edges to replace transition features, the inefficiency and low accuracy of transition feature processing in 3D model feature recognition algorithms are solved, thereby simplifying the model structure and improving the accuracy of feature recognition.

CN121706355APending Publication Date: 2026-03-20SHENYANG INST OF AUTOMATION - CHINESE ACAD OF SCI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511796694.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-02
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing 3D model feature recognition algorithms based on attribute adjacency graphs have low recall and precision when processing models containing transitional features, and are also computationally inefficient, making it difficult to effectively identify and process transitional features.

Method used

By constructing an undirected attribute adjacency graph, creating virtual edges to replace the topological connections of transition surfaces, deleting the vertices of transition surfaces and their adjacent edges, a new undirected attribute adjacency graph is formed, simplifying the topological structure. The graph is then updated through geometric calculations and adjacency relationships to ensure the integrity of the model's core structure.

Benefits of technology

It significantly improves the recall and precision of feature recognition, reduces computational overhead, simplifies model complexity, is applicable to various transitional features, and improves the efficiency and accuracy of 3D model processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121706355A_ABST
    Figure CN121706355A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of three-dimensional model feature recognition, and particularly relates to a three-dimensional model transition feature suppression method based on an attribute adjacency graph, which comprises the following steps of: firstly, constructing an undirected attribute adjacency graph AAG1 based on B-Rep information of a three-dimensional CAD (Computer Aided Design) model; then identifying a transition surface in the model, establishing a virtual edge between adjacent surfaces which are not connected by entity edges and are intersected in a spatial geometry manner by analyzing the spatial geometry relationship of the adjacent surfaces, and calculating the attribute of the virtual edge and an adjacent entity edge set; then deleting a transition surface vertex and an adjacent edge thereof in the AAG1 to form a simplified undirected attribute adjacency graph AAG2; and finally, topology reconstruction of the attribute adjacency graph is completed by updating the adjacency edge set of the virtual edges. According to the method, a three-dimensional geometric problem is converted into a graph theory problem, topological connection of a transition surface is replaced by a virtual edge, the core structure of the model is effectively reserved, and the topological complexity of the model is remarkably reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the field of three-dimensional model feature recognition, and particularly relates to a three-dimensional model transition feature suppression method based on attribute adjacency graph. BACKGROUND

[0002] A three-dimensional model feature recognition algorithm based on attribute adjacency graph is very sensitive to the topological structure of a part model, and has limited capability in processing a model containing transition features, and often has a missing detection phenomenon and low efficiency.

[0003] In three-dimensional CAD model modeling, in order to design a better appearance and obtain better mechanical characteristics, transition features are often used by designers. These transition features, as auxiliary features of a part, although do not have great influence on the appearance and function of a model, significantly change the topological structure of the model. The attribute adjacency graph corresponding to the model is completely different, resulting in low fullness and precision of the algorithm, and the search result cannot accurately reflect the user's intention. The effective reuse of existing model design and manufacturing knowledge is limited, and the difficulty and computational overhead of feature recognition are increased. Therefore, transition feature suppression is an important prerequisite and key technology for realizing feature recognition based on a graph, and has important theoretical significance and application value. SUMMARY

[0004] The application aims to provide a three-dimensional model transition feature suppression method based on an attribute adjacency graph. A three-dimensional geometry problem is converted into a graph theory problem by taking a non-directional attribute adjacency graph as a carrier, and the topological connection of a transition surface is replaced by creating a virtual edge, which not only ensures the integrity of the core structure of the model, but also significantly reduces the complexity of the topological structure. A new technical path is provided for efficient processing of a three-dimensional model, and the problems of low calculation efficiency and accuracy in the model feature recognition algorithm are solved.

[0005] The application adopts the technical scheme that a three-dimensional model transition feature suppression method based on an attribute adjacency graph comprises the following steps.

[0006] Step S1: based on B-Rep information of a three-dimensional CAD model, calculating a surface attribute Fai and an edge attribute Eai of the model, and constructing a non-directional attribute adjacency graph AAG1;

[0007] Step S2: based on the non-directional attribute adjacency graph AAG1, establishing a set A containing AAG1 vertices corresponding to transition surfaces and adjacent surfaces of the CAD model, a hash table M1 for storing topological edge-edge descriptors, and a hash table M2 for storing a topological edge-adjacent edge set;

[0008] Step S3: Initialize an empty set B for storing all virtual edges and their adjacent entity edges, an empty set C for storing all virtual edges and their adjacent entity edges and their adjacent surfaces, and a hash table M3 for storing transition surfaces-virtual edges and their corresponding entity edge sets.

[0009] Step S4: For each transition surface Fj in set A, if there is no physical edge connecting the two adjacent surfaces AdFj1 and AdFj2 of transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after extension, then create a virtual edge VEk; calculate the virtual edge VEk attribute VEak and the set of adjacent physical edges Dk; and create virtual edge nodes, and calculate the members of sets B, C and hash table M3;

[0010] Step S5: Delete the transition surface vertices and their adjacent edges in the undirected attribute adjacency graph AAG1 to form a new undirected attribute adjacency graph AAG2, and store its topological edge-edge descriptors in the form of key-value pairs in hash table M4.

[0011] Step S6: Update sets B and C and hash table M3 based on hash table M4;

[0012] Step S7: Calculate the set of adjacent edges Qr of the virtual edge VEk, update the properties of the set of adjacent edges of the AAG2 virtual edge, and realize the topological reconstruction of the undirected attribute adjacency graph.

[0013] The surface attribute Fai includes topological surface, outer ring of the surface, concavity and convexity of the surface, toroidal type, area, whether it is a connected surface, whether it is a closed surface, whether it is a transition surface, transition surface type, and commonly defined surface;

[0014] The edge attribute Eai includes: topological edge, first adjacent face, second adjacent face, edge concavity / convexity, angle between adjacent faces, edge length, whether it is a plane of revolution connecting edge, whether it is a virtual edge, whether it is a closed edge, and the set of adjacent edges.

[0015] The construction of the undirected attribute adjacency graph AAG1 includes the following steps:

[0016] Step S1-1: Based on the B-Rep information, obtain the set of all topological faces and edges and their adjacency relationships;

[0017] Step S1-2: Traverse each topological face and calculate its face attribute Fai; traverse each topological edge and calculate its edge attribute Eai;

[0018] Step S1-3: Uniquely map each topological surface in the B-Rep information to a vertex in the undirected attribute adjacency graph AAG1;

[0019] Step S1-4: For any two topological faces in the B-Rep information that have a common topological edge, establish an edge between the corresponding two vertices in AAG1;

[0020] Step S1-5: Associate the calculated face attribute Fai with the corresponding vertex in AAG1, and associate the calculated edge attribute Eai with the corresponding edge in AAG1;

[0021] Steps S1-6: Integrate all vertices, edges, and their attributes to form an undirected attributed adjacency graph AAG1, represented as a quadruple.<V, E, Fa, Ea> Where V is the set of vertices, corresponding to each face in the 3D CAD model, E is the set of edges, Fa is the set of face attributes, and Ea is the set of edge attributes.

[0022] In step S2, the set A is the set of vertices of the CAD model transition surface and its adjacent surfaces corresponding to AAG1;

[0023] Step S2-1: Establishing set A specifically involves:

[0024] Identify all transition surfaces in the B-Rep information. For each transition surface Fj, find all its adjacent surfaces and store the vertices of AAG1 corresponding to these adjacent surfaces into a temporary set R. Pair the vertices of AAG1 corresponding to the transition surface Fj with set R and store them into set A.

[0025] Step S2-2: The key-value pairs of the hash table M1 are topological edge-edge descriptors of the edge attributes of AAG1; wherein the topological edge is the edge entity in the B-Rep information, and the edge descriptor is the complete attribute description of the corresponding edge in AAG1, including: all fields of the edge attribute Eai and its identifier in AAG1;

[0026] Step S2-3: The key-value pairs of the hash table M2 are the topological edge-adjacent edge set of the AAG1 edge attribute; wherein the adjacent edge set is all edges in the 3D model that share an endpoint with the edge, obtained through the B-Rep model.

[0027] In step S4, for each transition surface Fj in set A, a virtual edge VEk is created, satisfying the following condition:

[0028] If there is no solid edge connecting the two adjacent surfaces AdFj1 and AdFj2 of the transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after being extended, then a virtual edge VEk is created to connect the two adjacent surfaces.

[0029] The determination of spatial intersections is achieved through geometric calculations:

[0030] Extend adjacent faces AdFj1 and AdFj2 around the perimeter and calculate whether the extended faces intersect in three-dimensional space. If they intersect, the condition is satisfied.

[0031] The attributes of a virtual edge include: topological edge, adjacent face AdFj1, adjacent face AdFj2, concavity / convexity, angle between adjacent faces, edge length, identifier of the edge connecting the surface of revolution, identifier of the virtual edge, and set of adjacent edges; the set of adjacent edges is initially empty.

[0032] In step S4, the set of adjacent entity edges Dk is calculated, including the following steps:

[0033] 1) Obtain the solid edges SEj1 and SEj2 between the transition surface Fj and its two adjacent surfaces, and store them in the set Gj;

[0034] 2) Recursively search for non-transitional adjacent edges of SEj1 and SEj2 in the two adjacent surfaces respectively;

[0035] 2-1) For the adjacent edge of SEj1 within the adjacent surface AdFj1, if it is a transition edge, continue searching for its adjacent edges until a non-transition edge is found. and And store it in set Hj1;

[0036] 2-2) Find the non-transitional adjacent edge of entity edge SEj2 within the adjacent surface AdFj2. and And store it in set Hj2;

[0037] 3) Ultimately , , and Store the set of adjacent entity edges Dk of the virtual edges.

[0038] In step S4, the creation of virtual edge nodes specifically involves:

[0039] (1) Add an edge descriptor DesVEk as a virtual edge node between two corresponding vertices in AAG1, and associate the virtual edge with the attribute VEak;

[0040] (2) Add the virtual edge to the set of adjacent edges of each entity edge in the set of adjacent entity edges Dk, and store all entity edges in the set of adjacent entity edges Dk of the virtual edge into set B.

[0041] (3) Pair the virtual edge descriptor DesVEk and the virtual edge VEk. The pair Hj1_Hj2, which is a set of sets Hj1 and Hj2, is further paired as follows: And store them in set C;

[0042] (4) Pair the virtual edge VEk and the set of physical edges Gj as follows: Store in a temporary set ;

[0043] (5) After processing all the virtual edges of the transition surface, connect the transition surface Fj and the set Store the data in hash table M3 as key-value pairs.

[0044] Step S5 specifically includes:

[0045] Step S5-1: Traverse all vertices in the undirected attribute adjacency graph AAG1 and identify all vertices marked as transition surfaces;

[0046] Step S5-2: For each identified transition surface vertex, delete the vertex and all edges directly connected to it. These edges correspond to the entity edges in the B-Rep information that connect the transition surface to other adjacent surfaces.

[0047] Step S5-3: Check and clean up isolated vertices or invalid connections in AAG1 caused by the deletion of vertices and edges;

[0048] Step S5-4: After completing the deletion and cleanup operations, construct a new undirected attribute adjacency graph AAG2 from the remaining vertices, edges and associated attributes.

[0049] Step S5-5: Traverse all edges in AAG2, extract the topological edge corresponding to each edge in the B-Rep model as the key, and extract the complete edge descriptor of the edge in AAG2 as the value;

[0050] Steps S5-6: Store the key-value pairs of topological edge-edge descriptors into hash table M4;

[0051] Step S5-7: The hash table M4 serves as a fast query index for the edge attributes of AAG2, and is used in subsequent steps to determine the existence of edges and obtain their attributes.

[0052] Step S6 specifically includes:

[0053] Step S6-1: Update set B as follows: Iterate through each entity edge in set B. If the edge exists in hash table M4, iterate through the set of adjacent edges of the edge and delete the edges that do not exist in M4.

[0054] Step S6-2: Update set C by iterating through each member of set C. Extract the virtual edge VEk; if the virtual edge does not exist in M4, delete the member.

[0055] Step S6-3: Update hash table M3 as follows: for each key-value pair (Fj, ), traversal Each member If the virtual edge VEk does not exist in M4, then delete that member. If the set becomes empty, then delete the key-value pair.

[0056] Step S7 specifically includes:

[0057] Step S7-1: Extract members from set C The virtual edge descriptor DesVEk, sets Hj1 and Hj2, and an empty set Qr are initialized;

[0058] Step S7-2: Process the two members in set Hj1: For each member, extract the entity edge, transition surface identifier, and adjacent surface information. If the transition surface identifier is True, then search for the set corresponding to that adjacent surface in M3. traversal Members If the set of entity edges Gj contains the current entity edge, then the corresponding virtual edge is stored as an adjacent edge in Qr; if the transition surface identifier is False, then the current entity edge is directly stored as an adjacent edge in Qr.

[0059] Step S7-3: Process two members in set Hj2 to obtain four adjacent edges and store them in Qr; update the set of adjacent edges of the virtual edges in AAG2 to Qr based on DesVEk.

[0060] The present invention has the following beneficial effects and advantages:

[0061] 1. This invention replaces the topological connection function of the deleted transition surfaces by creating virtual edges. While suppressing transition features, this invention ensures the integrity of the connection relationship between the geometric surfaces of the main body of the model, avoids the loss of model structural information caused by simple deletion, and provides an accurate structural basis for subsequent feature recognition.

[0062] 2. After the transition feature suppression of this invention, the complexity of the attribute adjacency graph corresponding to the model (such as the number of vertices and edges) is significantly reduced, directly reducing the computational overhead of core feature recognition algorithms such as graph matching and subgraph isomorphism. At the same time, the simplified graph reduces interference and ambiguity caused by transition features, thereby significantly improving the recall and precision of feature recognition.

[0063] 3. The method of this invention is based on the general boundary representation (B-Rep) model and graph theory. It does not depend on specific modeling rules or feature types and can effectively handle various forms of transition features such as rounded corners and chamfers. It has good applicability and robustness to complex practical engineering models.

[0064] 4. This invention not only utilizes the adjacency topology information of surfaces, but also deeply integrates geometric properties such as the concavity and convexity of surfaces and the angle between adjacent surfaces, and guides the creation of virtual edges through spatial intersection judgment, making the process of identifying and suppressing transition features more accurate and in line with engineering intuition.

[0065] 5. The simplified 3D model and reconstructed attribute adjacency graph output by this invention greatly facilitate the subsequent processing of 3D models, such as retrieval, matching, and lightweighting. It has important application value in fields such as computer-aided design, manufacturing, and knowledge reuse, and lays the foundation for improving the efficiency of the entire product development chain. Attached Figure Description

[0066] Figure 1 This is a schematic diagram of the method flow for the three-dimensional model transition feature suppression method of the present invention;

[0067] Figure 2 This is an example diagram of a 3D CAD model with transition fillets and chamfers according to an embodiment of the present invention;

[0068] Figure 3 This is an example diagram of the surface and edge markings of a three-dimensional CAD model according to an embodiment of the present invention;

[0069] Figure 4 This is a schematic diagram of a 3D CAD model after suppressing transition features according to an embodiment of the present invention. Detailed Implementation

[0070] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0071] like Figure 1 The diagram shown is a flowchart of the present invention. The present invention provides a method for suppressing transition features in a 3D model based on attribute adjacency graphs, comprising the following steps:

[0072] Step S1: Based on the B-Rep information of the 3D CAD model, calculate the face attribute Fai and edge attribute Eai of the model, and construct an undirected attribute adjacency graph AAG1;

[0073] Among them, the surface attribute Fai includes topological surface, outer ring of the surface, concavity and convexity of the surface, torus type, area, whether it is a connected surface, whether it is a closed surface, whether it is a transition surface, transition surface type, and commonly defined surface;

[0074] The edge attribute Eai includes: topological edge, first adjacent face, second adjacent face, edge concavity / convexity, angle between adjacent faces, edge length, whether it is a plane of revolution connecting edge, whether it is a virtual edge, whether it is a closed edge, and the set of adjacent edges.

[0075] The specific steps to construct an undirected attributed adjacency graph AAG1 are as follows:

[0076] Step S1-1: Based on the B-Rep information, obtain the set of all topological faces and edges and their adjacency relationships;

[0077] Step S1-2: Traverse each topological face and calculate its face attribute Fai; traverse each topological edge and calculate its edge attribute Eai;

[0078] Step S1-3: Uniquely map each topological surface in the B-Rep information to a vertex in the undirected attribute adjacency graph AAG1;

[0079] Step S1-4: For any two topological faces in the B-Rep information that have a common topological edge, establish an edge between the corresponding two vertices in AAG1;

[0080] Step S1-5: Associate the calculated face attribute Fai with the corresponding vertex in AAG1, and associate the calculated edge attribute Eai with the corresponding edge in AAG1;

[0081] Steps S1-6: Integrate all vertices, edges, and their attributes to form an undirected attributed adjacency graph AAG1, represented as a quadruple.<V, E, Fa, Ea> Where V is the set of vertices, corresponding to each face in the 3D CAD model, E is the set of edges, Fa is the set of face attributes, and Ea is the set of edge attributes.

[0082] Step S2: Based on the undirected attribute adjacency graph AAG1, establish a set A containing the CAD model transition surface and its adjacent surfaces and corresponding AAG1 vertices, a hash table M1 for storing topological edge-edge descriptors, and a hash table M2 for storing the topological edge-adjacent edge set.

[0083] Step S2-1: Establishing set A specifically involves:

[0084] Identify all transition surfaces in the B-Rep information. For each transition surface Fj, find all its adjacent surfaces and store the vertices of AAG1 corresponding to these adjacent surfaces into a temporary set R. Pair the vertices of AAG1 corresponding to the transition surface Fj with set R and store them into set A.

[0085] Step S2-2: The key-value pairs of hash table M1 are: topological edge-edge descriptor of edge attribute of AAG1; where the topological edge is the edge entity in B-Rep information, and the edge descriptor is the complete attribute description of the corresponding edge in AAG1, including: all fields of edge attribute Eai and its identifier in AAG1;

[0086] Step S2-3: The key-value pairs of hash table M2 are the topological edge-adjacent edge set of AAG1 edge attributes; where the adjacent edge set is all edges in the 3D model that share an endpoint with the edge, obtained through the B-Rep model.

[0087] Step S3: Initialize an empty set B for storing all virtual edges and their adjacent entity edges, an empty set C for storing all virtual edges and their adjacent entity edges and their adjacent surfaces, and a hash table M3 for storing transition surfaces-virtual edges and their corresponding entity edge sets.

[0088] Step S4: For each transition surface Fj in set A, if there is no physical edge connecting the two adjacent surfaces AdFj1 and AdFj2 of transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after extension, then create a virtual edge VEk; calculate the virtual edge VEk attribute VEak and the set of adjacent physical edges Dk; and create virtual edge nodes, and calculate the members of sets B, C and hash table M3;

[0089] Step S4-1: For each transition surface Fj in set A, if there is no solid edge connecting the two adjacent surfaces AdFj1 and AdFj2 of transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after being extended, then create a virtual edge VEk to connect the two adjacent surfaces.

[0090] The determination of spatial intersection is achieved through geometric calculations:

[0091] Extend adjacent faces AdFj1 and AdFj2 around the perimeter and calculate whether the extended faces intersect in three-dimensional space. If they intersect, the condition is satisfied.

[0092] The attributes of a virtual edge include topological edge, adjacent face AdFj1, adjacent face AdFj2, concavity / convexity, angle between adjacent faces, edge length, identifier of the edge connecting the surface of revolution, identifier of the virtual edge, and set of adjacent edges; the set of adjacent edges is initially empty.

[0093] Step S4-2: Calculate the virtual edge VEk attribute VEak and the set of adjacent entity edges Dk;

[0094] Step S4-2-1: Obtain the entity edge SEj1 between the transition surface Fj and the adjacent surface AdFj1 and the entity edge SEj2 between the transition surface Fj and the adjacent surface AdFj2, and store the entity edges SEj1 and SEj2 into the set Gj.

[0095] Step S4-2-2: Obtain the adjacent entity edges of entity edge SEj1 within the adjacent surface AdFj1. and If the calculated adjacent entity edges and If the edge is rounded or chamfered, continue calculating the next adjacent edge until the solid edge is reached. and The edges that are not rounded or chamfered are stored in set Hj1.

[0096] Step S4-2-3: Calculate the adjacent entity edges of entity edge SEj2 within the adjacent surface AdFj2 using the same method. and Store it in set Hj2;

[0097] Step S4-2-4: Finally, , , and Store the set of adjacent entity edges Dk of the virtual edges.

[0098] The process of step S4-2-3 in this embodiment is as follows:

[0099] Based on the undirected attribute adjacency graph AAG1, calculate the adjacent entity edges respectively. The pair is IsTra111_AdFj111, which is an adjacent face other than face AdFj1 and whether that adjacent face is a transition face IsTra111.

[0100] Will The pair with IsTra111_AdFj111 is AdSEj11_IsTra111AdFj111; adjacent entity edges Besides AdFj1, another adjacent face AdFj112, and whether that adjacent face is a transition face IsTra112, are grouped together as IsTra112_AdFj112.

[0101] Will The pair with IsTra112_AdFj112 is AdSEj12_IsTra112AdFj112; adjacent entity edges Besides AdFj2, another adjacent face AdFj221 and whether that adjacent face is a transition face IsTra221 are grouped together as IsTra221_AdFj221. The pair with IsTra221_AdFj221 is AdSEj21_IsTra221AdFj221; adjacent entity edges Besides AdFj2, another adjacent face AdFj222 and whether that adjacent face is a transition face IsTra222 are paired as IsTra222_AdFj222. The pair with IsTra222_AdFj222 is AdSEj22_IsTra222AdFj222.

[0102] Store AdSEj11_IsTra111AdFj111 and AdSEj12_IsTra112AdFj112 into set Hj1, and AdSEj21_IsTra221AdFj221 and AdSEj22_IsTra222AdFj222 into set Hj2. Combine sets Hj1 and Hj2 into Hj1_Hj2, and then store the entity edges... , , and Store in set Dk.

[0103] Step S4-3: Create virtual edge nodes and compute the members of sets B, C, and hash table M3;

[0104] Step S4-3-1: Add an edge descriptor DesVEk as a virtual edge node between the two corresponding vertices in AAG1, and associate the virtual edge with the attribute VEak;

[0105] Step S4-3-2: Add the virtual edge to the set of adjacent edges of each entity edge in the set of adjacent entity edges Dk, and store all entity edges in the set of adjacent entity edges Dk of the virtual edge into set B.

[0106] Step S4-3-3: Pair the virtual edge descriptor DesVEk and the virtual edge VEk. The pair Hj1_Hj2, which is a set of sets Hj1 and Hj2, is further paired as follows: And store them in set C;

[0107] Step S4-3-4: Pair the virtual edge VEk with the set of physical edges Gj. Store in a temporary set ;

[0108] Step S4-3-5: After processing all the virtual edges of the transition surface, connect the transition surface Fj and the set Store the data in hash table M3 as key-value pairs.

[0109] Step S5: Delete the transition surface vertices and their adjacent edges in the undirected attribute adjacency graph AAG1 to form a new undirected attribute adjacency graph AAG2, and store its topological edge-edge descriptors in the form of key-value pairs in hash table M4.

[0110] Step S6: Update sets B and C and hash table M3 based on hash table M4;

[0111] Step S6-1: Update set B as follows: Iterate through each entity edge in set B. If the edge exists in hash table M4, iterate through the set of adjacent edges of the edge and delete the edges that do not exist in M4.

[0112] Step S6-2: Update set C by iterating through each member of set C. Extract the virtual edge VEk; if the virtual edge does not exist in M4, delete the member.

[0113] Step S6-3: Update hash table M3 as follows: for each key-value pair (Fj, ), traversal Each member If the virtual edge VEk does not exist in M4, then delete that member. If the set becomes empty, then delete the key-value pair.

[0114] Step S7: Calculate the set of adjacent edges Qr of the virtual edge VEk, update the properties of the set of adjacent edges of the AAG2 virtual edge, and realize the topological reconstruction of the undirected attribute adjacency graph.

[0115] Step S7-1: Extract members from set C The virtual edge descriptor DesVEk, sets Hj1 and Hj2, and an empty set Qr are initialized;

[0116] Step S7-2: Process the two members in set Hj1: For each member, extract the entity edge, transition surface identifier, and adjacent surface information. If the transition surface identifier is True, then search for the set corresponding to that adjacent surface in M3. traversal Members If the set of entity edges Gj contains the current entity edge, then the corresponding virtual edge is stored as an adjacent edge in Qr; if the transition surface identifier is False, then the current entity edge is directly stored as an adjacent edge in Qr.

[0117] Step S7-3: Process two members in set Hj2 to obtain four adjacent edges and store them in Qr; update the set of adjacent edges of the virtual edges in AAG2 to Qr based on DesVEk.

[0118] Example 1:

[0119] To establish such Figure 2 Taking the 3D CAD model with a through hole as an example, all edges of the model have been rounded or chamfered, and it contains a total of 29 faces and 56 edges.

[0120] Referring to the flowchart of the method of the present invention, the specific steps of this embodiment are as follows:

[0121] Step 1: Based on the B-Rep information of the 3D CAD model, calculate the face attribute Fai and edge attribute Eai of the 3D CAD model, and construct an undirected attribute adjacency graph AAG1.

[0122] like Figure 2As shown, this embodiment calculates the attributes of 29 faces and 56 edges of the CAD model, and constructs an undirected attribute adjacency graph AAG1=<V,E,Fa,Ea> In this model, V is the set of vertices in the graph, and each face Fi in the B-Rep model has a unique vertex corresponding to it. E is the set of edges in the graph, and any two adjacent faces in the B-Rep model have a unique edge corresponding to them. Fa is the set of attributes of the face in the B-Rep model, and Ea is the set of attributes of the edge in the B-Rep model.

[0123] Step 2: Based on the undirected attribute adjacency graph AAG1, establish set A and hash tables M1 and M2.

[0124] like Figure 3 As shown, face F0 is a transition face of a 3D CAD model. The vertices V1, V2, V3, and V4 of AAG1 corresponding to its adjacent faces F1, F2, F3, and F4 are stored as set R. The vertex V0 of AAG1 corresponding to face F0 is paired with set R and stored in set A. The remaining transition faces are calculated in the same way to complete the establishment of set A.

[0125] like Figure 3 As shown, edge E01 is an edge in the 3D CAD model. The edge descriptors between topological edge E01 and vertices V0 and V3 in AAG1 are stored in hash table M1 as key-value pairs. The set of adjacent edges S of topological edge E01 and E01 (e.g., ...) are stored in hash table M1. Figure 3 As shown, the six edges (E02, E03, E04, E05, E06, and E07) are stored in hash table M2 in the form of key-value pairs. The remaining topological edges are calculated in the same way to complete the construction of hash tables M1 and M2.

[0126] Step 3: Initialize empty sets B and C and hash table M3.

[0127] Step 4: For each transition surface Fj in set A, create a virtual edge VEk, calculate the virtual edge VEk attribute VEak and the set of adjacent entity edges Dk, create virtual edge nodes, and calculate the members of sets B, C and hash table M3.

[0128] like Figure 3As shown, there is no physical edge connecting the two adjacent faces F1 and F3 of transition face F0, and the two faces intersect in space after being extended. Therefore, a virtual edge VE0 is created to connect the two adjacent faces. The spatial intersection edge of the extended faces F1 and F3 is the topological edge of the virtual edge VE0. Faces F1 and F3 are the two adjacent faces of the virtual edge VE0. Based on this, the attribute VE0a of the virtual edge VE0 is calculated except for the set of adjacent edges. The same method is used to create the virtual edge VE5 between the two adjacent faces F1 and F9 of transition face F5, the virtual edge VE6 between the two adjacent faces F3 and F9 of transition face F6, the virtual edge VE7 between the two adjacent faces F3 and F10 of transition face F7, and the virtual edge VE8 between the two adjacent faces F1 and F10 of transition face F8, etc.

[0129] like Figure 3 As shown, the solid edge E01 between transition surface F0 and adjacent surface F3 and the solid edge E08 between transition surface F0 and adjacent surface F1 are stored in set G0.

[0130] like Figure 3 As shown, the set of adjacent edges of entity edge E01 is {E02, E03, E04, E05, E06, E07}. Among them, the adjacent edges within the adjacent face F3 are E04 and E05, and edges E04 and E05 are not rounded or chamfered edges. Therefore, edges E04 and E05 are taken as the adjacent entity edges of virtual edge VE0 within the adjacent face F3. The set of adjacent edges of entity edge E08 is {E02, E07, E09, E11}. The adjacent edges within the adjacent face F1 are E09 and E11, but edges E09 and E11 are rounded transition edges. Therefore, within face F1, the next edge E10 of E09 and the next edge E12 of E11 are calculated. Edges E10 and E12 are not rounded or chamfered edges. Therefore, edges E10 and E12 are taken as the adjacent entity edges of virtual edge VE0 within the adjacent face F1.

[0131] like Figure 3 As shown, the other adjacent face of entity edge E04 besides face F3 is F6, and this face is a transition face, marked as True. Grouping it together results in True_F6. Grouping E04 and True_F6 together results in E04_TrueF6. The other adjacent face of entity edge E05 besides face F3 is F7, and this face is a transition face, marked as True. Grouping it together results in True_F7. Grouping E05 and True_F7 together results in E05_TrueF6. 7. Entity edge E10 has another adjacent face besides face F1, which is a transition face. The transition face is marked as True. Group it as True_F5. Group E10 and True_F5 as E10_TrueF5. Entity edge E12 has another adjacent face besides face F1, which is a transition face. The transition face is marked as True. Group it as True_F8. Group E12 and True_F8 as E12_TrueF8.

[0132] Store E04_TrueF6 and E05_TrueF7 in set H01, and E10_TrueF5 and E12_TrueF8 in set H02. Combine sets H01 and H02 into H01_H02. Store the entity edges E04, E05, E10, and E12 in set D0. D0 is the set of adjacent entity edges of the virtual edge VE0.

[0133] like Figure 3 As shown, virtual edge VE0 is added to the adjacent edge set of entity edges E04, E05, E10, and E12 respectively, to update the adjacent edge attributes of the virtual edges adjacent to the entity edges, and entity edges E04, E05, E10, and E12 are stored in set B.

[0134] Create a virtual edge node DesVE0 in the undirected attribute adjacency graph AAG1 and associate the virtual edge VE0 with the attribute VE0a.

[0135] Pair the virtual edge descriptor DesVE0 and the virtual edge VE0 into DesVE0_VE0, and pair DesVE0_VE0 and H01_H02 into DesVE0_H012 and store them in set C.

[0136] The virtual edge VE0 and the set of physical edges G0 are paired and stored in the set P0 as VE0_G0.

[0137] Calculate the virtual edges between other adjacent surfaces of transition surface F0 using the same method. Pair the calculated virtual edges with the set of physical edges and store them in set P0. After the virtual edges of transition surface F0 are calculated, store transition surface F0 and set P0 in hash table M3 as key-value pairs.

[0138] Calculate the virtual edges of the remaining transition surfaces using the same method to complete the calculation of the members of sets B, C, and hash table M3.

[0139] Step 5: Delete the transition surface vertices and their adjacent edges in AAG1 to form a new undirected attribute adjacency graph AAG2, and store its "topological edge-edge descriptor" in the form of key-value pairs in hash table M4.

[0140] like Figure 3 As shown, delete the vertex V0 corresponding to the transition surface F0 in AAG1 and its adjacent edges E01, E02, E07, and E08. Delete the remaining transition surface vertices and their adjacent edges in the same way to form a new undirected attribute adjacency graph AAG2. Store the "topological edge-edge descriptor" of AAG2 in the form of key-value pairs into a hash table M4 to complete the creation of M4.

[0141] Step 6: Update sets B and C and hash table M3 based on hash table M4.

[0142] like Figure 3 As shown, entity edge E04 in set B is an adjacent edge of transition surface F6. In step five, this edge has been deleted, meaning it will not exist in hash table M4. Therefore, entity edge E04 is skipped, and the next entity edge in set B is traversed. Assuming that entity edge E05 was not deleted in step five (it was actually deleted) and exists in hash table M4, the adjacent edge set {E01, E06, E07, E17, E18, E19} of entity edge E05 is traversed, and edges that do not exist in hash table M4 are deleted. The traversal and calculation of the remaining entity edges in set B are completed in the same way, and the update of set B is completed, that is, the adjacent edge attribute update of the entity edges that have not been deleted is completed.

[0143] like Figure 3 As shown, the virtual edge VE0 of member DesVE0_H012 in set C is extracted. Virtual edge VE0 is created by the spatial intersection relationship between adjacent faces F1 and F3 of transition face F0. Faces F1 and F3 are both non-transition faces and were not deleted in step five. Therefore, virtual edge VE0 is also not deleted, that is, it exists in hash table M4. So member DesVE0_H012 in set C is retained, and the remaining members in set C are traversed. During the traversal, if a virtual edge is found that does not exist in hash table M4 (for example, a virtual edge is created by the spatial intersection relationship between adjacent faces F0 and F5 of transition face F2, but this virtual edge is deleted in step five due to the deletion of transition faces F0 and F5. Therefore, this virtual edge will not exist in hash table M4), then the corresponding member in set C is deleted, and the update of set C is finally completed.

[0144] like Figure 3 As shown, for the key-value pair (F0, P0) in hash table M3, extract the virtual edge VE0 of member VE0_G0 of set P0. Since the virtual edge VE0 exists in hash table M4, member VE0_G0 in set P0 is retained. In the same way, traverse other members in set P0 and delete members whose virtual edges are not in hash table M4. Since set P0 has at least member VE0_G0 and is not empty, the corresponding key-value pair in hash table M3 is retained. In the same way, traverse the remaining sets in hash table M3. If all members contained in a set are deleted after traversal, delete the corresponding key-value pair in hash table M3, and complete the update of hash table M3.

[0145] Step 7: Calculate the set of adjacent edges Qr of the virtual edge VEk, update the properties of the set of adjacent edges of the AAG2 virtual edge, and realize the topology reconstruction of the undirected attribute adjacency graph.

[0146] Extract the virtual edge descriptor DesVE0 from the member DesVE0_H012 in set C, as well as sets H01 and H02, and initialize the empty set Q0.

[0147] like Figure 3 As shown, extract the entity edge E04, transition surface identifier True, and surface F6 from member E04_TrueF6 in set H01. Since the transition surface identifier of surface F6 is True, search for the value P6 corresponding to the key of surface F6 in hash table M3. Set P6 only has member VE6_G6. Extract the virtual edge VE6 and entity edge set G6 of VE6_G6 (where the virtual edge VE6 is created by the spatial intersection relationship of adjacent surfaces F3 and F9 of transition surface F6, and the members of entity edge set G6 are the entity edges between transition surface F6 and adjacent surface F3). (E04 and the entity edge E14 between transition surface F6 and adjacent surface F9). Continue traversing the entity edges in set G6, find the entity edge E04 that is the same as E04_TrueF6. This indicates that the virtual edge VE6 corresponding to set G6 is an adjacent edge of virtual edge VE0. Store it in set Q0. Assuming that the transition surface identifier of another member E05_TrueF7 in set H01 is False (actually True), then the entity edge E05 (actually VE7) is another adjacent edge of virtual edge VE0. Store it in set Q0.

[0148] Calculate the two adjacent edges VE5 and VE8 corresponding to the virtual edge VE0 of set H02 using the same method and store them in set Q0 to complete the calculation of set Q0.

[0149] Based on the virtual edge descriptor DesVE0, update the set of adjacent edges of the virtual edge VE0 of AAG2 to Q0.

[0150] Calculate the remaining members in set C using the same method to complete the virtual edge adjacency attribute update, thus completing the topological reconstruction of the undirected attribute adjacency graph.

[0151] Figure 4 for Figure 2 The example 3D CAD model, after suppressing transition features using the method described in this invention, contains only 7 faces and 14 edges, which greatly simplifies the complexity of the 3D CAD model and provides favorable conditions for subsequent analysis and calculation of the model.

[0152] In summary, this invention transforms the geometric topology problem of a 3D model into the construction and reconstruction problem of an attribute adjacency graph, proposing a systematic solution for suppressing transition features. The core of this method lies in using "virtual edges" as bridges to effectively strip away auxiliary transition features while maintaining the integrity of the model's core structure. Through a series of rigorous graph operations—creating virtual edges, deleting transition surfaces, and updating adjacency relationships—a simplified attribute adjacency graph (AAG2) is ultimately generated, significantly reducing topological complexity while accurately preserving key design intent.

[0153] The successful implementation of this method not only demonstrates the powerful potential of attribute adjacency graphs as an intermediate representation of 3D models, but also provides a clear, universal, and automated technical path to solve the long-standing problem of transitional feature interference in the field of 3D model feature recognition. The simplified model and its graph generated by this invention can directly and efficiently serve advanced applications such as model retrieval, manufacturing feature recognition, and model lightweighting, laying a solid technical foundation for achieving seamless integration and knowledge reuse from 3D CAD models to intelligent manufacturing processes.

[0154] Those skilled in the art will understand that the above description is merely a preferred embodiment of the present invention, and the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. This is not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

[0155] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention. Clearly, those skilled in the art can make various alterations and modifications to the invention without departing from its spirit and scope. Thus, if these modifications and modifications of the invention fall within the scope of the claims and their equivalents, the invention is also intended to include these modifications and modifications.

Claims

1. A method for suppressing transition features in a 3D model based on attribute adjacency graphs, characterized in that, Includes the following steps: Step S1: Based on the B-Rep information of the 3D CAD model, calculate the face attribute Fai and edge attribute Eai of the model, and construct an undirected attribute adjacency graph AAG1; Step S2: Based on the undirected attribute adjacency graph AAG1, establish a set A containing the CAD model transition surface and its adjacent surfaces and corresponding AAG1 vertices, a hash table M1 for storing topological edge-edge descriptors, and a hash table M2 for storing the topological edge-adjacent edge set. Step S3: Initialize an empty set B for storing all virtual edges and their adjacent entity edges, an empty set C for storing all virtual edges and their adjacent entity edges and their adjacent surfaces, and a hash table M3 for storing transition surfaces-virtual edges and their corresponding entity edge sets. Step S4: For each transition surface Fj in set A, if there is no physical edge connecting the two adjacent surfaces AdFj1 and AdFj2 of transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after extension, then create a virtual edge VEk; calculate the virtual edge VEk attribute VEak and the set of adjacent physical edges Dk; and create virtual edge nodes, and calculate the members of sets B, C and hash table M3; Step S5: Delete the transition surface vertices and their adjacent edges in the undirected attribute adjacency graph AAG1 to form a new undirected attribute adjacency graph AAG2, and store its topological edge-edge descriptors in the form of key-value pairs in hash table M4. Step S6: Update sets B and C and hash table M3 based on hash table M4; Step S7: Calculate the set of adjacent edges Qr of the virtual edge VEk, update the properties of the set of adjacent edges of the AAG2 virtual edge, and realize the topological reconstruction of the undirected attribute adjacency graph.

2. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, The surface attribute Fai includes topological surface, outer ring of the surface, concavity and convexity of the surface, toroidal type, area, whether it is a connected surface, whether it is a closed surface, whether it is a transition surface, transition surface type, and commonly defined surface; The edge attribute Eai includes: topological edge, first adjacent face, second adjacent face, edge concavity / convexity, angle between adjacent faces, edge length, whether it is a plane of revolution connecting edge, whether it is a virtual edge, whether it is a closed edge, and the set of adjacent edges.

3. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, The construction of the undirected attribute adjacency graph AAG1 includes the following steps: Step S1-1: Based on the B-Rep information, obtain the set of all topological faces and edges and their adjacency relationships; Step S1-2: Traverse each topological face and calculate its face attribute Fai; traverse each topological edge and calculate its edge attribute Eai; Step S1-3: Uniquely map each topological surface in the B-Rep information to a vertex in the undirected attribute adjacency graph AAG1; Step S1-4: For any two topological faces in the B-Rep information that have a common topological edge, establish an edge between the corresponding two vertices in AAG1; Step S1-5: Associate the calculated face attribute Fai with the corresponding vertex in AAG1, and associate the calculated edge attribute Eai with the corresponding edge in AAG1; Steps S1-6: Integrate all vertices, edges, and their attributes to form an undirected attributed adjacency graph AAG1, represented as a quadruple.<V,E, Fa, Ea> Where V is the set of vertices, corresponding to each face in the 3D CAD model, E is the set of edges, Fa is the set of face attributes, and Ea is the set of edge attributes.

4. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, In step S2, the set A is the set of vertices of the CAD model transition surface and its adjacent surfaces corresponding to AAG1; Step S2-1: Establishing set A specifically involves: Identify all transition surfaces in the B-Rep information. For each transition surface Fj, find all its adjacent surfaces and store the vertices of AAG1 corresponding to these adjacent surfaces into a temporary set R. Pair the vertices of AAG1 corresponding to the transition surface Fj with set R and store them into set A. Step S2-2: The key-value pairs of the hash table M1 are topological edge-edge descriptors of the AAG1 edge attributes; The topological edge is the edge entity in the B-Rep information, and the edge descriptor is the complete attribute description of the corresponding edge in AAG1, including: all fields of the edge attribute Eai and its identifier in AAG1; Step S2-3: The key-value pairs of the hash table M2 are the topological edge-adjacent edge set of the AAG1 edge attribute; wherein the adjacent edge set is all edges in the 3D model that share an endpoint with the edge, obtained through the B-Rep model.

5. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, In step S4, for each transition surface Fj in set A, a virtual edge VEk is created, satisfying the following condition: If there is no solid edge connecting the two adjacent surfaces AdFj1 and AdFj2 of the transition surface Fj, and the two adjacent surfaces intersect in three-dimensional space after being extended, then a virtual edge VEk is created to connect the two adjacent surfaces. The determination of spatial intersections is achieved through geometric calculations: Extend adjacent faces AdFj1 and AdFj2 around the perimeter and calculate whether the extended faces intersect in three-dimensional space. If they intersect, the condition is satisfied. The attributes of a virtual edge include: topological edge, adjacent face AdFj1, adjacent face AdFj2, concavity / convexity, angle between adjacent faces, edge length, identifier of the edge connecting the surface of revolution, identifier of the virtual edge, and set of adjacent edges; the set of adjacent edges is initially empty.

6. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, In step S4, the set of adjacent entity edges Dk is calculated, including the following steps: 1) Obtain the solid edges SEj1 and SEj2 between the transition surface Fj and its two adjacent surfaces, and store them in the set Gj; 2) Recursively search for non-transitional adjacent edges of SEj1 and SEj2 in the two adjacent surfaces respectively; 2-1) For the adjacent edge of SEj1 within the adjacent surface AdFj1, if it is a transition edge, continue searching for its adjacent edges until a non-transition edge is found. and And store it in set Hj1; 2-2) Find the non-transitional adjacent edge of entity edge SEj2 within the adjacent surface AdFj2. and And store it in set Hj2; 3) Ultimately , , and Store the set of adjacent entity edges Dk of the virtual edges.

7. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, In step S4, the creation of virtual edge nodes specifically involves: (1) Add an edge descriptor DesVEk as a virtual edge node between two corresponding vertices in AAG1, and associate the virtual edge with the attribute VEak; (2) Add the virtual edge to the set of adjacent edges of each entity edge in the set of adjacent entity edges Dk, and store all entity edges in the set of adjacent entity edges Dk of the virtual edge into set B. (3) Pair the virtual edge descriptor DesVEk and the virtual edge VEk. The pair Hj1_Hj2, which is a set of sets Hj1 and Hj2, is further paired as follows: And store them in set C; (4) Pair the virtual edge VEk and the set of physical edges Gj as follows: Store in a temporary set ; (5) After processing all the virtual edges of the transition surface, connect the transition surface Fj and the set Store the data in hash table M3 as key-value pairs.

8. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, Step S5 specifically includes: Step S5-1: Traverse all vertices in the undirected attribute adjacency graph AAG1 and identify all vertices marked as transition surfaces; Step S5-2: For each identified transition surface vertex, delete the vertex and all edges directly connected to it. These edges correspond to the entity edges in the B-Rep information that connect the transition surface to other adjacent surfaces. Step S5-3: Check and clean up isolated vertices or invalid connections in AAG1 caused by the deletion of vertices and edges; Step S5-4: After completing the deletion and cleanup operations, construct a new undirected attribute adjacency graph AAG2 from the remaining vertices, edges and associated attributes. Step S5-5: Traverse all edges in AAG2, extract the topological edge corresponding to each edge in the B-Rep model as the key, and extract the complete edge descriptor of the edge in AAG2 as the value; Steps S5-6: Store the key-value pairs of topological edge-edge descriptors into hash table M4; Step S5-7: The hash table M4 serves as a fast query index for the edge attributes of AAG2, and is used in subsequent steps to determine the existence of edges and obtain their attributes.

9. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, Step S6 specifically includes: Step S6-1: Update set B as follows: Iterate through each entity edge in set B. If the edge exists in hash table M4, iterate through the set of adjacent edges of the edge and delete the edges that do not exist in M4. Step S6-2: Update set C by iterating through each member of set C. Extract the virtual edge VEk; if the virtual edge does not exist in M4, delete the member. Step S6-3: Update hash table M3 as follows: for each key-value pair (Fj, ), traversal Each member If the virtual edge VEk does not exist in M4, then delete that member. If the set becomes empty, then delete the key-value pair.

10. The method for suppressing transition features in a 3D model based on attribute adjacency graphs according to claim 1, characterized in that, Step S7 specifically includes: Step S7-1: Extract members from set C The virtual edge descriptor DesVEk, sets Hj1 and Hj2, and an empty set Qr are initialized; Step S7-2: Process the two members in set Hj1: For each member, extract the entity edge, transition surface identifier, and adjacent surface information. If the transition surface identifier is True, then search for the set corresponding to that adjacent surface in M3. traversal Members If the set of entity edges Gj contains the current entity edge, then the corresponding virtual edge is stored as an adjacent edge in Qr; if the transition surface identifier is False, then the current entity edge is directly stored as an adjacent edge in Qr. Step S7-3: Process two members in set Hj2 to obtain four adjacent edges and store them in Qr; update the set of adjacent edges of the virtual edges in AAG2 to Qr based on DesVEk.