Method for finding similar components
By calculating the digital signature (PDS) of components and filtering using Manhattan distance, the problem of identifying similar components in complex 3D CAD models is solved, enabling efficient and universal similar component search and reducing the design and manufacturing costs of high-tech products.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
- Filing Date
- 2024-02-19
- Publication Date
- 2026-05-29
AI Technical Summary
Existing technologies struggle to effectively identify and locate similar parts with varying degrees of complexity, especially in complex 3D CAD models, leading to increased time and costs in the design and manufacturing of high-tech products.
By obtaining the boundary representation (B-rep) model of the reference component, the digital signature (PDS) of the component is calculated, and similar components are identified based on the PDS in the multi-component database. The Manhattan distance threshold is used to filter similar components, ignoring minor details and improving versatility.
It enables efficient identification of components with varying degrees of complexity, simplifies the process of finding similar components, reduces tool manufacturing costs, and improves the versatility and efficiency of identification.
Smart Images

Figure CN122122575A_ABST
Abstract
Description
[0001] This application relates to the field of 3D modeling, and more specifically, to finding similar components. Background Technology
[0002] In a highly competitive environment, leading industries (such as automotive, A&D, E&S, E&U, etc.) face the critical task of reducing the time and cost of R&D and the design and manufacturing of high-tech products. Therefore, finding parts with similar shapes is extremely important.
[0003] For example, in the aerospace and defense industries, reducing the range of components used in complex products such as modern civil aircraft is a significant competitive advantage. Similarly, in the automotive and consumer goods industries, searching for components with similar shapes and for which appropriate technical equipment has already been developed, due to the refinement of existing projects, can significantly reduce the manufacturing costs of tooling (molds / dies).
[0004] In related technical solutions, by comparing and identifying the external or internal contours, holes, hole arrangements, chamfers, curves, cuts, etc. between 3D CAD models, similar parts can be searched.
[0005] The above methods for searching for similar parts are suitable for relatively simple parts. For more complex parts, it is impossible to search for similar parts.
[0006] Therefore, improving the generality of finding similar components of arbitrary complexity is a challenge. Summary of the Invention
[0007] Embodiments of this application provide a method for finding similar components. This method provides a general approach to searching for similar components of any complexity.
[0008] According to a first aspect, embodiments of this application provide a method for finding similar components, wherein the method includes: Obtain the boundary representation (B-rep) model of the reference component; The part digital signature (PDS) of the reference component is calculated based on the B-rep model. Based on the PDS of each component in the multi-component database and the PDS of the reference component, a list of similar components is selected from the multi-component database, wherein the list of similar components is similar to the reference component.
[0009] According to the above method, the method is attribute-based, identifies components by large details and ignores small details, and has high versatility in the process of identifying similar components.
[0010] In one possible design, the Manhattan distance between the PDS of the reference component and the PDS of each component included in the list of similar components is less than a threshold.
[0011] In one possible design, the method further includes: calculating a plurality of Manhattan distances between the PDS of the reference component and the PDS of each component in the multi-component database, based on the PDS of the reference component and the PDS of each component in the multi-component database.
[0012] In one possible design, the method further includes: calculating the PDS of each component based on the B-rep model of each component in the multi-component database; and storing the PDS and the B-rep model of each component in the multi-component database.
[0013] In one possible design, the formula for calculating the Manhattan distance is:
[0014] in, The PDS of the reference component, For the PDS of one component in the multi-component database, The Manhattan distance is the distance between the PDS of the reference component and the PDS of the one component.
[0015] In one possible design, the method further includes displaying the list of similar components.
[0016] According to a second aspect, embodiments of this application provide a computing device having the functionality to implement the method described in the first aspect. The functionality can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functionality.
[0017] According to a third aspect, embodiments of this application provide a computer-readable storage medium including instructions. When the instructions are executed on a computer, they cause the computer to perform the methods described in the first aspect or any possible design of the first aspect.
[0018] According to a fourth aspect, embodiments of this application provide a computing device including a processor, a memory, and a communication interface. The processor is connected to the memory and the communication interface. The memory is used to store instructions, the processor is used to execute the instructions, and the communication interface is used to communicate with other network elements under the control of the processor. When the processor executes the instructions stored in the memory, it causes the processor to perform the methods described in the first aspect or any possible design of the first aspect.
[0019] According to a fifth aspect, embodiments of this application provide a computing device cluster including at least one computing device, wherein the computing device includes a processor and a memory coupled to the processor, wherein the memory is used to store a computer program, and the processor is used to invoke and run the computer program stored in the memory to cause the computing device to perform the methods of the first aspect or any possible design of the first aspect.
[0020] According to a sixth aspect, a chip system is provided, wherein the chip system includes a memory and a processor, the memory being used to store a computer program, and the processor being used to invoke the computer program from the memory and run the computer program to cause a server on which the chip resides to perform the methods described in the first aspect or any possible design of the first aspect.
[0021] According to a seventh aspect, a computer program product is provided, wherein when the computer program product is run on a server, the server is caused to perform the methods described in the first aspect or any possible design of the first aspect. Attached Figure Description
[0022] One or more embodiments are illustrated by way of example with the accompanying drawings, which are not intended to limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings are not limited to scale, wherein: Figure 1 A 3D model of the component is shown; Figure 2 The construction of the vector corresponding to the PDS of the component is shown; Figure 3 It shows the corresponding Figure 2 3D model of the table in the document; Figure 4 This demonstrates how to calculate the square area of a face in two 3D models; Figure 5 A schematic diagram of a method for finding similar parts is shown; Figure 6 A list of similar parts is shown; Figure 7 This illustrates the process of creating a database; Figure 8 This demonstrates the process of using a database; Figure 9 This is a schematic block diagram of a computing device provided in an embodiment of this application; Figure 10 This is a schematic block diagram of a computing device provided in an embodiment of this application. Detailed Implementation
[0023] The technical solutions in the embodiments of this application are clearly and completely described below with reference to the accompanying drawings. The described embodiments are merely some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of this application.
[0024] In the specification, claims, and drawings of this application, the term "comprising" and any other variations thereof are intended to cover a non-exclusive inclusion. For example, a process, method, system, product, or apparatus that comprises a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to the process, method, system, product, or apparatus.
[0025] This application presents various aspects, embodiments, or features within the context of systems comprising multiple devices, components, modules, etc. It should be understood and appreciated that various systems may include additional devices, components, modules, etc., and / or may exclude all devices, components, modules, etc., discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches may also be used.
[0026] Furthermore, in the embodiments of this application, the words "exemplary," "for example," etc., are used to indicate examples or illustrations. Any embodiment or design described as "exemplary" in this application should not be construed as a preferred or advantageous embodiment that is superior to other embodiments or designs. Rather, the word "exemplary" is used to present a concept in a specific manner.
[0027] In this application, "related" and "corresponding" can sometimes be used interchangeably. It should be noted that, without emphasizing the distinction, they have the same meaning.
[0028] The business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Even if the architecture evolves and new business scenarios emerge, the technical solutions provided by the embodiments of this application are still applicable to solving similar technical problems.
[0029] For ease of description, the following explains several concepts involved in the embodiments of this application.
[0030] 1. Similarity: In the context of the proposed patent application, it is the standard for the similarity of the geometry of two components, so that under certain conditions, one component can be modified to match the other component, or the component can be used in the design instead of the original component.
[0031] 2. Components: A component can also be called a three-dimensional (3D) model, a 3D solid model, or a solid model. A component is defined by a set of faces, and the faces surrounding a component are bounded by edges, which are defined by vertices.
[0032] 3. Boundary representation (B-rep): B-rep, also known as B-rep format or B-rep model, defines a 3D model using a set of geometric entities (points, curves, and surfaces) and topological entities (vertices, edges, faces, shells, and solids). B-rep is widely used in computer-aided design (CAD) because it supports precise 3D model definition, using accurate geometric definitions to describe the boundaries of the 3D model.
[0033] 4. Face: A surface is one of the surfaces of a 3D solid that constrains its volume in a B-rep model. A surface is bounded by an outer boundary curve (edge profile loop) and may have internal cutouts (inner loops).
[0034] 5. Part Digital Signature (PDS): PDS is a special form of representation of the B-rep model of 3D entities in the form of multidimensional vectors. It helps to understand the approximation of the shapes of two 3D entities by the approximation of the vectors of their shapes.
[0035] 6. Component Size Factor (PSF) PSF is a scalar value calculated based on the square area of the largest face on an entity. It is used to normalize the vector of a digital signature.
[0036] In a highly competitive environment, leading industries (such as automotive, A&D, E&S, E&U, etc.) face the critical task of reducing R&D costs and time constraints in the design and manufacture of high-tech products. Therefore, finding components with similar shapes is extremely important.
[0037] For example, in the aerospace and defense industries, reducing the range of components used in complex products such as modern civil aircraft is a significant competitive advantage.
[0038] Another example is in the automotive and consumer goods industries, where searching for parts with similar shapes and for which appropriate technical equipment has already been developed can significantly reduce the manufacturing cost of tools (molds / dies) due to the refinement of existing projects.
[0039] In related technical solutions, similar parts can be searched by comparing and identifying the external or internal contours, holes, hole arrangements, chamfers, curves, and cuts between 3D CAD models.
[0040] In another related technical solution, B-rep models of components can be compared and identified to search for similar components.
[0041] The above methods for searching for similar parts are suitable for relatively simple parts. For more complex parts, it is impossible to search for similar parts. Specifically, the solid model of an object in B-rep format includes all the necessary information to define its shape. Only when the structures of two solid models are relatively simple can it be possible to directly identify whether two solid models are similar by analyzing their B-rep formats. With the help of solid models, it can identify parts with relatively simple geometries.
[0042] Embodiments of this application provide a method for identifying similar components. This method is based on human-recognizable component attributes, identifying components through large details while ignoring small details, and has high versatility in identifying similar components. Therefore, not only can professional IT companies providing such services today easily use this method to create search databases, but industrial enterprises can also easily use this method to create their own search databases, which may include confidential information.
[0043] For example, in Figure 1 In B-rep format, the presence of rounded corners and other small details in components makes the topological map of the object representation very complex, thus complicating the shape recognition process. Therefore, the shape of a component can be understood by ignoring its rounded corners.
[0044] The main idea behind this method is to forgo detailed analysis of the 3D B-rep model, which is a multi-connected graph. Instead, it selects the most important faces from the model based on their influence on shape. These faces are arranged in a specific order to form a multi-dimensional vector, known as the part digital signature (PDS) of the 3D model. This vector consists of repeating blocks, each describing another face of the object involved in the object recognition process. The structure of the vector is as follows: Figure 2 As shown.
[0045] exist Figure 2 In the diagram, each block of the vector (which is a row in the table) consists of a normalized face region and a binary vector specifying the face type. It should be noted that the column with the area values of real squares is not part of the PDS, but is used to calculate the area of the normalized square. Corresponding to... Figure 2 3D entities in the table, such as Figure 3 As shown.
[0046] The faces in the table are sorted in descending order based on their normalized areas calculated using a formula.
[0047]
[0048] Here, min(S) and max(S) are the global maximum and minimum area values in the entire search database.
[0049] exist Figure 4 In the diagram, the left component calculates the square area of the face in the B-rep model, while the right component does not consider the area occupied by the inner ring on the face (the inner ring in the diagram represents a hole).
[0050] Figure 5 This is a schematic diagram of a method for finding similar parts; the method specifically includes the following steps.
[0051] Step 510: Obtain the B-rep model of the reference component.
[0052] Step 520: Calculate the PDS of the reference component based on the B-rep model.
[0053] Step 530: Based on the PDS of each component in the multi-component database and the PDS of the reference component, select a list of similar components, wherein the list of similar components is similar to the reference component.
[0054] In this embodiment of the application, a list of similar parts can be selected based on the part digital signature (PDS) of each part in the multi-part database and the PDS of the reference part. The list of similar parts includes at least one part selected from the multi-part database that is similar to the reference part.
[0055] Optionally, before step 510, the PDS of each component in the multi-component database is calculated based on the B-rep model of each component, and the PDS and B-rep model of each component are stored in the multi-component database.
[0056] In this embodiment of the application, multiple Manhattan distances can be calculated between the PDS of the reference component and the PDS of each component in the multi-component database. The Manhattan distance between the PDS of the reference component and the PDS of each component included in the list of similar components is less than a threshold.
[0057] That is, the PDS of all 3D models are stored in the database along with the complete B-rep format. The proposed method leverages the possibility of identifying objects with similar shapes through the proximity of multi-component PDS vectors. For parts being searched for similar components, the PDS is calculated. This PDS is compared with the PDS components in the multi-component database, and the part with the closest vector is selected. For this purpose, the Manhattan distance between vectors is calculated using the following formula:
[0058] Where p is the PDS of the reference component, q is the PDS of a component in the multi-component database, and d_1(p,q) is the Manhattan distance between the PDS of the reference component and the PDS of a component in the multi-component database.
[0059] The method was tested on a dataset of 1022 B-rep models and showed good results, as can be observed in the graph. For each requested part, the system searches for similar parts in the database.
[0060] exist Figure 6 The left column shows the components that were attempted to be found in the search database, and the right column shows the search results. That is, the components on the left correspond to the reference components mentioned above, and the multiple components on the right correspond to the list of similar components mentioned above.
[0061] The advantage of this method is its simplicity in populating the database with 3D models. The process is fully automated, requiring no manual configuration or data tagging.
[0062] It allows for the creation of both large industrial libraries and local libraries for individual companies. This is especially important when the geometric model itself contains important information that the company is unwilling to disclose publicly.
[0063] This patent can be used to create databases for searching similar 3D models, suitable for individual users, companies, or industrial database providers. The process of creating the database is as follows: Figure 7 As shown, the process of using this database is as follows: Figure 8 As shown.
[0064] Only two modules and Figure 7 and Figure 8 The patents in this paper are directly related. These two modules are the PDS calculation module and the similarity standard calculation module. The PDS calculation module is responsible for calculating the digital signature (PDS) of the component based on its B-rep model, while the similarity standard calculation module is responsible for calculating the distance between two multidimensional vectors, which is essentially a digital signature.
[0065] Figure 7 and Figure 8The remaining modules are responsible for creating the database, access control, converting source data formats to B-rep formats, scanning the database when necessary, and providing search results to users.
[0066] This application can be used in search engines that are fully oriented towards the geometry of components or in a broader industrial database, where searching by shape is one of the possible search options.
[0067] The developed method provides a general approach to searching for similar parts of any complexity. It places no limit on the complexity of the parts and does not use a topological graph of the vertices for the search, which makes it difficult to handle the details of complex shapes in other methods.
[0068] Further development of the proposed method could involve computing digital signatures that reflect the complexity of a manufactured part. This could serve as a basis for predicting manufacturing costs. According to industry experts, being able to predict part costs with up to 10% accuracy could significantly improve the financial performance of any company.
[0069] Figure 9 This is a schematic block diagram of a computing device 600 provided in an embodiment of this application. Figure 9 As shown, the computing device 600 includes: an acquisition unit 601, a computing unit 602, and a selection unit 603.
[0070] It should be understood that the computing device 600 in this embodiment of the present application can correspond to the computing device in the above embodiments, and the above and other management operations and / or functions of each unit in the computing device are used to implement the corresponding steps of the above method. For the sake of brevity, further details are omitted here.
[0071] like Figure 10 As shown, the computing device 700 may include a transceiver 701, a processor 702, and a memory 703. The memory 703 may be used to store code, instructions, etc., executed by the processor 702.
[0072] It should be understood that the processor 702 can be an integrated circuit chip with signal processing capabilities. In implementation, the various steps of the above method embodiments can be completed by hardware integrated logic circuits in the processor or by software instructions. The processor can be a general-purpose processor, a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), a system-on-chip (SoC), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor, or it can be any common processor. The steps of the methods disclosed in the embodiments of this application can be directly executed by a hardware decoding processor, or executed using a combination of hardware and software modules in the decoding processor. The software modules can be located in storage media that are well-established in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with the hardware in the processor, completes the steps of the above methods.
[0073] It is understood that the memory 703 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0074] It should be noted that the memory of the systems and methods described in this specification includes, but is not limited to, these memories and any other suitable types of memory.
[0075] Embodiments of this application also provide a system-on-a-chip (SoC), wherein the SoC includes an input / output interface, at least one processor, at least one memory, and a bus. The at least one memory is used to store instructions, and the at least one processor is used to invoke the instructions from the at least one memory to perform the operations of the methods described in the above embodiments.
[0076] Embodiments of this application also provide a computer storage medium, wherein the computer storage medium can store program instructions to execute any of the methods described above.
[0077] Alternatively, the storage medium may specifically be memory 703.
[0078] Those skilled in the art will recognize that the various examples, units, and algorithm steps described in conjunction with the embodiments disclosed in this specification can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention.
[0079] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the above-described systems, devices, and units can be referred to the corresponding processes in the above-described method embodiments. Further details will not be repeated here.
[0080] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the described apparatus embodiments are merely exemplary. For example, the unit division is only a logical functional division, and other division methods may be used in actual implementation. For example, multiple units or components may be merged or integrated into another system, or some features may be ignored or not performed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be implemented through some interfaces. Indirect coupling or communication connection between devices or units can be implemented electronically, mechanically, or in other ways.
[0081] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; they may be located in one place or distributed across multiple network units. Some or all of the units can be selected based on actual needs to achieve the purpose of the embodiment.
[0082] In addition, the functional units in the embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0083] If implemented as software functional units and sold or used as independent products, these functions can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the embodiments of this application. The aforementioned storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk, read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.
[0084] The above description is merely a specific implementation of this application and is not intended to limit the scope of protection of this application. Any variations or substitutions easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for finding similar parts, characterized in that, include: Obtain the boundary representation (B-rep) model of the reference component; The part digital signature (PDS) of the reference component is calculated based on the B-rep model. Based on the PDS of each component in the multi-component database and the PDS of the reference component, a list of similar components is selected from the multi-component database, wherein the list of similar components is similar to the reference component.
2. The method according to claim 1, characterized in that, The Manhattan distance between the PDS of the reference component and the PDS of each component included in the list of similar components is less than a threshold.
3. The method according to claim 2, characterized in that, The method further includes: Based on the PDS of the reference component and the PDS of each component in the multi-component database, calculate multiple Manhattan distances between the PDS of the reference component and the PDS of each component.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: The PDS of each component is calculated based on the B-rep model of each component in the multi-component database; The PDS and B-rep model of each component are stored in the multi-component database.
5. The method according to any one of claims 1 to 4, characterized in that, The formula for calculating the Manhattan distance is: in, The PDS of the reference component, For the PDS of one component in the multi-component database, The Manhattan distance is the distance between the PDS of the reference component and the PDS of the one component.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Display the list of similar components.
7. A computing device, characterized in that, include: The acquisition unit is used to acquire the boundary representation (B-rep) model of the reference component; A computing unit is used to calculate the part digital signature (PDS) of the reference component based on the B-rep model. The selection unit is configured to select a list of similar components from the multi-component database based on the PDS of each component in the multi-component database and the PDS of the reference component, wherein the list of similar components is similar to the reference component.
8. The computing device according to claim 7, characterized in that, The Manhattan distance between the PDS of the reference component and the PDS of each component included in the list of similar components is less than a threshold.
9. The computing device according to claim 8, characterized in that, The calculation unit is used to calculate multiple Manhattan distances between the PDS of the reference component and the PDS of each component in the multi-component database, based on the PDS of the reference component and the PDS of each component in the multi-component database.
10. The computing device according to any one of claims 7 to 9, characterized in that, The computing unit is used to calculate the PDS of each component based on the B-rep model of each component in the multi-component system; The computing device also includes: A storage unit is used to store the PDS and the B-rep model of each component in the multi-component database.
11. The computing device according to any one of claims 7 to 10, characterized in that, The formula for calculating the Manhattan distance is: in, The PDS of the reference component, For the PDS of one component in the multi-component database, The Manhattan distance is the distance between the PDS of the reference component and the PDS of the one component.
12. The computing device according to any one of claims 7 to 11, characterized in that, The computing device also includes: The display unit is used to display the list of similar components.
13. A computer-readable storage medium for storing instructions, characterized in that, When the instruction is executed on the server, it causes the server to perform the method according to any one of claims 1 to 6.
14. A computing device cluster, characterized in that, The device includes at least one computing device, wherein the computing device includes a processor and a memory coupled to the processor, wherein the memory is used to store a computer program, and the processor is used to invoke and run the computer program stored in the memory to cause the computing device to perform the method according to any one of claims 1 to 6.
15. A computer program product, characterized in that, When the computer program product is run on the server, the server performs the method according to any one of claims 1 to 6.