Computer-implemented method, program, medium and system for machine learning classification function

CN123013213APending Publication Date: 2026-10-30DASSAULT SYSTEMES SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610494390.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-15
Filing Date
2026-04-15
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

然而,在现有技术中,确定机械接口是缓慢且手动的过程,这个过程涉及用户的大量时间并且容易出错

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123013213A_ABST
    Figure CN123013213A_ABST
Patent Text Reader

Abstract

The present disclosure particularly relates to a computer-implemented method, program, medium and system of machine learning classification function configured for detecting mechanical interfaces of CAD models representing individual mechanical parts. The method comprises: obtaining a training dataset comprising graphs, each graph being indicative of a CAD model representing an individual mechanical part. Each graph comprises: one or more nodes indicative of canonical surfaces of the respective CAD model. Each node comprises a label of a list of: a primary face, a secondary face, a tertiary face, a maintenance face, or no interface. Each graph further comprises one or more edges indicative of connections between the canonical surfaces. The method further comprises: training the classification function based on the training dataset to classify each node of a graph indicative of a CAD model representing an individual mechanical part with a label of the list of labels. This provides an improved solution for detecting mechanical interfaces.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer programs and systems, and more specifically to computer implementation methods, programs, media, and systems for machine learning classification functions. Background Technology

[0002] The market offers numerous systems and programs for the design, engineering, and manufacturing of objects. CAD, an acronym for Computer-Aided Design, refers to software solutions used for designing objects. CAE, an acronym for Computer-Aided Engineering, refers to software solutions used for simulating the physical behavior of future products. CAM, an acronym for Computer-Aided Manufacturing, refers to software solutions used for defining manufacturing processes and operations. In such computer-aided design systems, graphical user interfaces play a crucial role in technical efficiency. These technologies can be embedded in Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that spans the extended enterprise, helping companies share product data, apply common processes, and leverage enterprise knowledge to develop products from product conception to the end of their lifecycle. PLM solutions offered by Dassault Systèmes (traded as CATIA, ENOVIA, and DELMIA) provide an Engineering Hub for organizing product engineering knowledge, a Manufacturing Hub for managing manufacturing engineering knowledge, and an Enterprise Hub that integrates and connects the Engineering Hub and Manufacturing Hub. Together, the system provides an open object model that links products, processes, and resources to enable dynamic, knowledge-based product innovation and decision support, driving optimized product definition, manufacturing preparation, production, and service.

[0003] CAD models representing mechanical parts typically include mechanical interfaces. A mechanical interface refers to the area of ​​interaction, such as a contact area, between the represented mechanical part and other possible mechanical parts. Accurately identifying mechanical interfaces ensures the accurate production of mechanical parts with appropriate tolerances. However, in the prior art, determining mechanical interfaces is a slow and manual process, requiring a significant amount of the user's time and prone to errors.

[0004] In this case, an improved method is still needed to determine the mechanical interface of mechanical parts. Summary of the Invention

[0005] Therefore, a method for a computer-implemented classification function for machine learning is provided, the classification function being configured to detect mechanical interfaces of a CAD model. The CAD model represents a single mechanical part. The learning method includes: acquiring a training dataset. The training dataset includes training samples. Each training sample includes a graph indicating a CAD model representing a single mechanical part. The graph includes one or more nodes. Each node represents a canonical surface of the CAD model. Each node includes a label. The label is one of the following list of labels: primary face of a mechanical interface, secondary face of a mechanical interface, tertiary face of a mechanical interface, sustaining face of a mechanical interface, and no interface. The graph also includes one or more edges. Each edge represents a connection between canonical surfaces represented by nodes connected by the edge. The learning method further includes: training a classification function based on the dataset to classify each node of the graph indicating a CAD model representing a single mechanical part using the labels of the label list. In this disclosure, the method may be referred to as a "learning method".

[0006] Learning methods may include one or more of the following: Each graph included in the training dataset includes: Each node has a node vector, which is a feature vector representing the attributes of the canonical surface represented by the node; and / or The edge vector of each edge, wherein the edge vector is a feature vector representing the attribute of the connection represented by the edge; The properties of the canonical surface, represented by each node vector, include: surface type, area, radius, orientation, material, or a combination of the above; and / or The properties of the connection represented by each edge vector include: convexity, concavity, coplanarity, coaxiality, adjacent smoothness, presence of rounded corners, presence of chamfers, presence of connections other than rounded corners or chamfers, or a combination of the above. Obtaining the training dataset includes: Obtain the first dataset, which includes CAD models representing mechanical objects; Extract a second dataset from the first dataset, including CAD models representing individual mechanical parts; and For each CAD model in the second dataset, determine a diagram representing the CAD model; Determining the drawing representing the CAD model includes: Determine the specification surfaces of the CAD model, and generate nodes for each determined specification surface; and Determine the connections between the canonical surface pairs of the CAD model, and generate edges for each pair of canonical surfaces; Each specification surface is part of a plane, sphere, cone, torus, or cylinder. The classification function includes a graph neural network; The training classification function includes: sampling nodes for each graph in the training dataset to balance the interface-less labels with other labels; and / or The classification function further includes a module configured to form a mechanical interface based on the output labels by regrouping adjacent canonical surfaces corresponding to the primary, secondary, tertiary, and sustaining surfaces.

[0007] It also provides a classification function obtainable according to the learning method, that is, a computer-implemented classification function with weights learned by the learning method. The provided classification function can, for example, have already been learned directly by the learning method, where the weights of the classification function have been determined by the learning steps of the learning method.

[0008] A method for using a classification function derived from machine learning is also provided. This method includes acquiring a CAD model representing a single mechanical part. The method also includes determining a graph representing the CAD model. The graph includes one or more nodes. Each node represents a specification surface of the CAD model. The graph also includes one or more edges. Each edge represents a connection between specification surfaces represented by nodes connected by the edge. The method further includes applying a classification function derived from machine learning to the graph. In this disclosure, the method may be referred to as the "method of use".

[0009] A computer program including instructions for performing learning methods and / or usage methods is also provided.

[0010] An apparatus including a data storage medium on which computer programs and / or classification functions are recorded is also provided.

[0011] The device can be formed or used as a non-transitory computer-readable medium, such as on SaaS (Software as a Service) or other server or cloud-based platforms. The device may alternatively include a processor coupled to the data storage medium. Therefore, the device can form wholly or partially of a computer system (e.g., the device is a subsystem of a larger system). The system may also include a graphical user interface coupled to the processor. Attached Figure Description

[0012] A non-limiting example will now be described with reference to the accompanying drawings, in which: Figures 1 to 29 The method is shown.

[0013] Figure 30 An example of the system is shown. Detailed Implementation

[0014] A method for a computer-implemented classification function for machine learning is proposed, configured to detect mechanical interfaces of a CAD model representing a single mechanical part. The learning method includes: acquiring a training dataset. The training dataset includes training samples. Each training sample includes a graph representing the CAD model, which represents a single mechanical part. The graph includes one or more nodes. Each node represents a canonical surface of the CAD model. Each node includes a label. The label is one of the following list of labels: primary face of the mechanical interface, secondary face of the mechanical interface, tertiary face of the mechanical interface, sustaining face of the mechanical interface, and no interface. The graph also includes one or more edges. Each edge represents a connection (e.g., connection type) between the canonical surfaces represented by the nodes connected by the edge. The learning method also includes: training a classification function based on the dataset to classify each node of the graph representing the CAD model, which represents a single mechanical part, using the labels from the label list.

[0015] As will be explained in detail below, a mechanical interface representing a CAD model of a single mechanical part is a collection of specification surfaces (e.g., portions) of the CAD model (e.g., outer surfaces) that specifies possible interaction zones between the single mechanical part represented by the CAD model and other mechanical parts. In other words, a mechanical interface can include (e.g., consist of): any possible interaction zones between the mechanical part and any other collection of mechanical parts. The mechanical interface can specify areas with detailed tolerances to be produced.

[0016] Figure 1 , Figure 2A , Figure 2B and Figure 2C An example of a mechanical assembly is shown, each assembly comprising several mechanical parts, some of which include mechanical interfaces. Each specification surface included in the mechanical interface is shown with a corresponding shading line corresponding to the primary surface, secondary surface, tertiary surface, sustaining surface, and no-interface (label list) category of the mechanical interface. Specifically, the shading line associated with label "0" corresponds to the specification surface without an interface. The shading line associated with label "1" corresponds to the specification surface of the primary surface. The shading line associated with label "2" corresponds to the specification surface of the secondary surface. The shading line associated with label "3" corresponds to the specification surface of the tertiary surface. The shading line associated with label "4" corresponds to the specification surface of the sustaining surface.

[0017] In this disclosure, a CAD model representing a mechanical product (e.g., a single mechanical part or an assembly of mechanical parts) can be two-dimensional or three-dimensional, representing the outer surface of the mechanical product (in the two-dimensional case) or the mechanical product itself (in the three-dimensional case). The term "part of a CAD model" as used herein refers to either "a surface portion of the CAD model" (in the two-dimensional case) or "a portion of the outer surface of the CAD model" (in the three-dimensional case). Therefore, a part of a CAD model as used herein always includes two-dimensional surfaces included in the CAD model. A part of a CAD model can be connected or unconnected (as a surface, in a standard mathematical sense). It is noteworthy that any mechanical interface herein can include unjoined surfaces that share a connection or connection type with each other, where connection (type) is one of a list, including but not limited to adjacent, as will be explained in detail below. Each CAD model (or corresponding outer surface) can be divided into multiple parts, each part being a surface with boundaries. For example, a CAD model can include a B-rep, which includes vertices, edges, and faces. A part of a CAD model can be, for example, a portion of the faces of a B-rep, faces, or a set of faces (e.g., adjacent faces). Similarly, the term "area" always refers to a two-dimensional portion corresponding to the outer surface of a mechanical part represented by the CAD model.

[0018] For any CAD model in this disclosure, a specification surface of the CAD model is a portion of the CAD model that corresponds to one of the specification surfaces (e.g., has affine isomorphism). A specification surface is a surface that can support a contact area between mechanical parts. A specification surface can be, for example, a plane, a sphere, a cone, a torus, or a cylinder. Each CAD model (or the outer surface of the CAD model) can be decomposed into one or more specification surfaces and freeform surfaces, i.e., portions of the CAD model that are not one of the specification surfaces. For example, a portion of the CAD model can be a chamfer or fillet that is not part of any specification surface.

[0019] Figure 3 The standard surface is shown.

[0020] In this context, the interaction zone between a mechanical part and other mechanical parts can be a region within an assembly of mechanical parts (including the mechanical part itself and other mechanical parts) that has a functional role. This functional role could, for example, reduce the degrees of freedom of the assembly of the mechanical parts or hold the assembly together. The interaction zone can be part of a mechanical part in which the mechanical part, for example, contacts or interacts with other mechanical parts. The interaction zone can be used to facilitate movement, force transmission, or the performance of functional operations within the assembly of the mechanical parts.

[0021] It is worth noting that a mechanical interface is a potential interaction zone between a single mechanical part and other mechanical parts. On the other hand, within a CAD model representing an assembly of mechanical parts, the implemented mechanical interface of the CAD model representing a single mechanical part is a set of specification surfaces representing that single mechanical part. This set of specification surfaces corresponds to the interaction zone between the single mechanical part and other mechanical parts in the assembly of the mechanical parts. Specifically, the specification surfaces including the implemented mechanical interface may each have (e.g., different) functional roles, such as reducing the degrees of freedom of the mechanical part assembly or holding the mechanical part assembly together.

[0022] For example, a single mechanical part can be a bolt, and an assembly of mechanical parts can include a nut. In the mechanical assembly of the part, the nut can be tightened onto the bolt. Therefore, the threads of the bolt can contact the threaded hole of the nut, which reduces the degrees of freedom of the mechanical part assembly because the nut is thus connected to the bolt. Therefore, the surface of the CAD model representing the bolt's threads is included in the implemented mechanical interface.

[0023] In this disclosure, any implemented mechanical interface of a CAD model representing a single mechanical part within a CAD model representing an assembly of mechanical parts may include a set of specification surfaces that are connected to each other (e.g., connection type). Specifically, the connection between two specification surfaces of the CAD model may correspond to the adjacency, coplanarity, and / or coaxiality of the two specification surfaces. Additionally or alternatively, the connection between two specification surfaces of the CAD model may correspond to the separation between two specification surfaces, including fillets, chamfers, and / or another non-specific surface. In particular, the implemented mechanical interface may include a set of specification surfaces connected relative to the connections defined above. That is, for any pair of specification surfaces included in the implemented mechanical interface, there may be a way of passing from any specification surface to any other specification surface, such a way of passing from a specification surface to a specification surface connected therebetween within the mechanical interface each time.

[0024] It should be understood that within a CAD model representing an assembly of mechanical parts, the implemented mechanical interface of the CAD model representing a single mechanical part corresponds to the implemented mechanical interface associated with that single mechanical part within the assembly of mechanical parts. Therefore, it can be said that the implemented mechanical interface of the CAD model or the implemented mechanical interface of the associated single mechanical part are corresponding concepts.

[0025] Within a CAD model representing an assembly of mechanical parts, each specification surface included in the implemented mechanical interface of a CAD model representing an individual mechanical part is classified according to its function into one of the following lists: primary surface, secondary surface, tertiary surface, or sustaining surface of the implemented mechanical interface. The classification may correspond to the associated functional role of each specification surface.

[0026] Each implemented mechanical interface in this disclosure includes one or more master surfaces. A master surface is a specification surface included in the implemented mechanical interface that maximally constrains the position of a single mechanical part within an assembly of mechanical parts. The maximal constraint can be with respect to the degrees of freedom of the assembly of mechanical parts; that is, the master surface can be a specification surface of the implemented mechanical interface that reduces the maximum degrees of freedom in the assembly of mechanical parts. "Maximum" in this document means that the number of degrees of freedom reduced by the specification surface can be greater than a factor multiple of the maximum number of degrees of freedom reduced by any specification surface included in the implemented mechanical interface. This factor can be 1, such that only the master surface is a specification surface of the implemented mechanical interface that reduces the maximum number of degrees of freedom. Alternatively, the factor can be any number less than 1, such as 0.9 or 0.8.

[0027] Each implemented mechanical interface in this disclosure may include one or more secondary surfaces. A secondary surface is a specification surface included in the implemented mechanical interface that is not a principal surface, but, apart from (i.e., excluding or disregarding) the principal surface, maximally constrains the position of a single mechanical part within the assembly of the mechanical parts. The maximal constraint may be with respect to the degrees of freedom of the assembly of the mechanical parts; that is, a secondary surface may be a specification surface of the implemented mechanical interface that is not a principal surface, but, apart from the principal surface, reduces the maximum degrees of freedom in the assembly of the mechanical parts. "Maximum" in this document may refer to a factor greater than the number of degrees of freedom reduced by the specification surface that is greater than the factor of the maximum degrees of freedom reduced by any non-principal surface of the implemented mechanical interface. This factor may be 1, such that, apart from the principal surface, only the secondary surface is a specification surface of the implemented mechanical interface that reduces the maximum degrees of freedom. Alternatively, the factor may be any number less than 1, such as 0.8 or 0.9.

[0028] Each implemented mechanical interface in this disclosure may include one or more tertiary surfaces. A tertiary surface is a specification surface of the implemented mechanical interface that is neither a primary nor a secondary surface, but which constrains the position of individual mechanical parts within an assembly of mechanical parts. The constraint may be with respect to the degrees of freedom of the assembly of mechanical parts; that is, a tertiary surface may be a specification surface of the implemented mechanical interface that is neither a primary nor a secondary surface, but which at least reduces the degrees of freedom within the assembly of mechanical parts.

[0029] Each implemented mechanical interface in this disclosure may include one or more holding surfaces. A holding surface is a specification surface of the implemented mechanical interface that holds the mechanical part in a position defined by primary, secondary, and tertiary surfaces within the components of the mechanical part.

[0030] Therefore, in this disclosure, the mechanical interface of each implementation of the CAD model representing a single mechanical part within the CAD model representing the assembly of mechanical parts can reduce the number of degrees of freedom N≥1 for the assembly of mechanical parts. It can be written as the sum of the primary face, secondary face, and tertiary face. .

[0031] The implemented main surfaces of the mechanical interface (in total) reduce the number of degrees of freedom of the mechanical parts assembly. . degrees of freedom It is one or more degrees of freedom The sum of each degree of freedom The corresponding number of degrees of freedom reduced by the corresponding principal plane, i.e. Each degree of freedom reduced by each principal face. These degrees of freedom can be defined from below (for example, they can all be the same and equal to the maximum number of degrees of freedom reduced by any face, or they can be included in the intervals as described above).

[0032] Similarly, the secondary surfaces of the implemented mechanical interface (if they exist) (in total) reduce the number of degrees of freedom of the mechanical parts' assembly. . degrees of freedom (If not 0) is one or more degrees of freedom The sum of each degree of freedom Corresponding to the reduction in degrees of freedom due to the corresponding secondary surface, such that If a secondary surface exists (i.e., if...) Then each degree of freedom is reduced by each secondary surface. It can be defined from below as described above.

[0033] Similarly, the implemented tertiary surfaces of the mechanical interface (if present) reduce the number of degrees of freedom of the mechanical parts' assembly (in total). . degrees of freedom (If not 0) is one or more degrees of freedom The sum of each degree of freedom Corresponding to the reduction in degrees of freedom due to the corresponding third-order surface, such that If a third-order surface exists (i.e., if...) Then each degree of freedom is reduced by each third-order surface. (Strictly) positive, as stated above.

[0034] In this disclosure, each specification surface representing a CAD model of a single mechanical part can be classified into one of the following lists: primary surface, secondary surface, tertiary surface, sustaining surface, or no interface (without reference to any implemented mechanical interface and / or any component of the mechanical part). Specification surfaces classified as primary surfaces, secondary surfaces, tertiary surfaces, or sustaining surfaces can also be represented as interface surfaces or specification surfaces with interfaces.

[0035] In this disclosure, if the specification surface representing a CAD model of a single mechanical part is a primary / secondary / tertiary / maintaining surface of some implemented mechanical interface of the CAD model representing the assembly of the mechanical part, then each of the specification surfaces can be a primary / secondary / tertiary / maintaining surface. Specifically, a specification surface representing a CAD model of a single mechanical part can be a primary / secondary / tertiary / maintaining surface if the following holds: There exist CAD models representing assemblies of mechanical parts, wherein the CAD models representing assemblies of mechanical parts include CAD models representing individual mechanical parts. Within a CAD model representing an assembly of mechanical parts, there exists a mechanical interface representing the implementation of the CAD model of an individual mechanical part. This mechanical interface includes specification surfaces, and... The standard surface is the primary / secondary / tertiary / maintaining surface relative to the mechanical interface.

[0036] Primary / secondary / tertiary / maintaining surfaces can also be referred to as primary / secondary / tertiary / maintaining surfaces of mechanical interfaces. If a specification surface of a CAD model is not a primary, secondary, tertiary, or maintaining surface (i.e., if the specification surface is not an interface surface), then the specification surface is an interface-free surface.

[0037] It should be understood that a CAD model representing a single mechanical part may be included in multiple CAD models representing each corresponding component of the mechanical part, and the specification surfaces of the CAD models may be included in multiple implemented mechanical interfaces. In this case, a specification surface may be, for example, a primary surface relative to an implemented mechanical interface, and, for example, a secondary surface relative to another implemented mechanical interface. In practice, the concepts of primary / secondary / tertiary surfaces are relative concepts to possible components of a mechanical part that may include a single mechanical part. This concept may not be expressed geometrically or inherently, and different specification definitions of the concepts of primary, secondary, or tertiary surfaces may exist. These different definitions are fundamentally consistent with most specific cases, but may be inconsistent in certain exceptional cases. The learning method and / or the method itself can be implemented using (and not dependent on) any of these specification definitions.

[0038] For example, a specification surface can be classified as a secondary surface, such as a secondary surface, rather than a primary surface, of the corresponding implemented mechanical interface. Specifically, a specification surface can be classified as a secondary surface, such as a secondary surface, if the following holds true: The specification surface is a secondary surface within the CAD model representing the assembly of a mechanical part, representing the implementation of the mechanical interface of a single mechanical part in the CAD model; and The specification surface is the main surface of any implementation of the mechanical interface of a CAD model that represents a single mechanical part, and is not within any CAD model representing an assembly of mechanical parts.

[0039] Additionally or alternatively, if the specification surface is the master face of the implemented mechanical interface that comprises the highest proportion of the specification surfaces of the CAD model representing a single mechanical part, then the specification surface may be labeled, for example, as the master face, each implemented mechanical interface being relative to a corresponding CAD model representing an assembly of mechanical parts, the CAD model representing the assembly of mechanical parts including the CAD model representing a single mechanical part.

[0040] The examples above can be easily generalized to provide a canonical definition for each of the labels mentioned. However, it should be understood that since the learning method is used for a machine learning classification function, which is trained on a dataset containing several examples, each example comprising several canonical surfaces, the machine learning classification function is able to interpret classifications based on the different canonical definitions used by the different experts constituting the dataset. Therefore, the classification function automatically interprets the canonical definitions used by the experts after training, without needing prior knowledge of any of these canonical definitions. Thus, the machine learning classification function can automatically detect the common basis of all these definitions.

[0041] The mechanical interface of a CAD model representing a single mechanical part is a connecting component consisting of specification surfaces that serve as interface faces. Specifically, the mechanical interface of a CAD model is a set of specification surfaces, each of which is a primary / secondary / tertiary / maintaining surface with connections (e.g., paths connecting specification surfaces to each other, as described above), such that all other specification surfaces of the CAD model that have connections to any specification surface in the set of specification surfaces are interface-free surfaces. As described above, the connection (or connection type) between two specification surfaces of a CAD model can correspond to, for example, the adjacency, coplanarity, and / or coaxiality of the two specification surfaces. Additionally or alternatively, the connection (or connection type) between two specification surfaces of a CAD model can correspond to, for example, the separation between two specification surfaces including fillets, chamfers, and / or another non-specification surface.

[0042] As explained below, a CAD model representing a single mechanical part can be represented by a diagram, where nodes represent the standard surfaces of the CAD model, and edges represent the connections between the corresponding standard surfaces. Examples of CAD models and corresponding diagrams are provided in... Figure 5 As shown in the diagram. The mechanical interface may correspond to a connecting component in a sub-diagram that includes all nodes associated with the interface surface.

[0043] It should be understood that the mechanical interface of a CAD model representing a single mechanical part corresponds to the associated mechanical interface of that single mechanical part. Therefore, it can be said that the mechanical interface of the CAD model is equivalent to the mechanical interface of the associated single mechanical part, and these two concepts are corresponding.

[0044] It should be noted that a CAD model representing a single mechanical part can include multiple mechanical interfaces, each of which can be implemented relative to a different CAD model representing the components of the mechanical part. Therefore, inspecting the mechanical interfaces of a CAD model is a challenging task, as the user may need to be familiar with all possible mechanical components that make up the mechanical part. Manually inspecting each mechanical interface and / or labeling each specification surface with the appropriate label is therefore an extremely time-consuming task. Furthermore, this task is prone to errors, as the user may forget some possible components of the mechanical part or fail to use the correct classification labels for some specification surfaces that constitute the mechanical interfaces. However, for the manufacturing process of a single mechanical part represented by a CAD model, inspecting the mechanical interfaces may be necessary. In some cases, inspecting the mechanical interfaces can simplify the manufacturing process or increase the lifespan of the individual mechanical part.

[0045] When manufacturing individual mechanical parts represented by CAD models, accurate inspection of mechanical interfaces can be beneficial. Because mechanical parts can be used in assemblies of mechanical parts, the interaction areas (e.g., contact areas) between mechanical parts and other mechanical parts within an assembly of a mechanical part can be manufactured with higher precision to ensure proper assembly of the mechanical parts constituting the assembly (e.g., minimizing distances between parts, minimizing friction between parts). Therefore, interaction areas (e.g., contact areas) represented by mechanical interfaces can be manufactured with higher precision and more detailed tolerances than some other areas of the mechanical part (e.g., specification surfaces) that should not have a functional role / should not contact other mechanical parts. Since manufacturing with higher precision may involve longer production times and / or more expensive materials / machinery, accurately inspecting which areas lack interfaces can be beneficial to accelerate the production process. The design and precision of these interaction areas can ensure proper alignment, minimize energy loss, and enhance the durability and performance of the mechanical assembly. Effective management of these interaction areas involves considering material compatibility, surface finish, lubrication, and tolerances to maintain optimal function under varying operating conditions. By carefully defining mechanical interfaces, mechanical products can achieve higher efficiency, reliability, and lifespan.

[0046] When manufacturing a single mechanical part represented by a CAD model, the manufacturer may not be clear about its intended uses (e.g., mechanical assembly). Therefore, it is important to consider every possible use of the mechanical part, even those not initially intended. Consequently, it is crucial to consider every mechanical interface of the mechanical part.

[0047] The learning method is a method for using a machine learning classification function configured to detect the mechanical interface of a CAD model representing a single mechanical part. Therefore, the learning method can be used to obtain a machine learning classification function. A method for using the machine learning classification function is also provided. This method includes obtaining a CAD model representing a single mechanical part. The method also includes determining a graph representing the CAD model. The graph includes one or more nodes. Each node represents a canonical surface of the CAD model. The graph also includes one or more edges. Each edge represents a connection between canonical surfaces represented by nodes connected by that edge. The method also includes applying the machine learning classification function to the graph.

[0048] The usage method may include performing machine learning on the classification function, as in the learning method. A process for a computer implementation of an ensemble learning method and a usage method is also proposed. This process includes executing the learning method and then executing the usage method.

[0049] The machine learning classification function (both using and learning methods) takes a graph representing a CAD model (which represents a single mechanical part) as input and outputs the classification of each node in the graph as one of a list of labels. Since each node corresponds to a specific surface of the CAD model, the machine learning classification function can output the classification of each specific surface of the CAD model as one of a list of labels.

[0050] The classification function may also include a module configured to form a mechanical interface based on output labels by regrouping canonical surfaces corresponding to connected primary, secondary, tertiary, and sustaining surfaces, as described above. In one embodiment, the module may process a subgraph representing a CAD model of a single mechanical part, the subgraph including all interface nodes, i.e., all nodes labeled as primary, secondary, tertiary, and sustaining surfaces by a machine learning classification function. The module may also include determining each connecting component of the subgraph. The module may further include, for each connecting component of the subgraph, forming a mechanical interface comprising canonical surfaces represented by the nodes of the connecting components of the subgraph. In other embodiments, the mechanical interface may correspond to a subgraph that is not necessarily connected, since the connections between the canonical surfaces constituting the mechanical interface may not yet be represented in the drawing. In this case, other methods of regrouping can be implemented. However, in embodiments of the methods disclosed herein, any mechanical interface involved in the method may correspond to a connected subgraph.

[0051] Therefore, the method can take a CAD model representing a single mechanical part as input and the classification of each specification surface of the CAD model as output. Optionally, the method can also take the mechanical interfaces of the CAD model as output. Implementations of the method show output acquisition in real time (e.g., a few seconds or fractions of a second after the input is provided). This is a significant improvement over manual methods. In fact, as described in detail above, the detection of mechanical interfaces is a complex task considering all possible components of a mechanical part, including a single mechanical component. Manual detection of mechanical interfaces can take more than an hour; in contrast, the method enables the acquisition of classifications of specification surfaces and / or mechanical interfaces in real time (e.g., in less than a second). In particular, the machine learning classification function and the method greatly improve the ergonomics of the steps involved in the classification of specification surfaces and / or mechanical interfaces (and thus, more generally, the design of CAD models representing single mechanical parts).

[0052] Furthermore, compared to manual methods, this method reduces the number of errors in the classification of specification surfaces and / or the inspection of mechanical interfaces. In fact, with manual methods, users may not be able to see or imagine some of the possible components of a mechanical part that might include a given single mechanical component. Moreover, because the definitions involved can be complex, users may not be sure how to accurately classify each specification surface that constitutes a mechanical interface (e.g., in a primary, secondary, tertiary, and maintenance manner). Therefore, this method can be used to obtain the classification of surfaces in an example row provided by an expert, without the user having to understand every definition involved in the classification.

[0053] The method of use may include the use of the manufacturing process and / or the output of the method may be directly used to manufacture a product. For example, the method may include: after inspecting a mechanical interface, storing specifications of a CAD model representing a single mechanical part in, for example, a file and / or as distributed CAD data on one or more storage devices; optionally, converting the specifications and / or distributed CAD data (e.g., using a known CAD-to-CAM conversion process) into manufacturing instructions for manufacturing a product modeled from said single mechanical part. The manufacturing instructions may, for example, include different levels of precision to be used for each sized surface of the mechanical interface. The method may also automatically send the manufacturing instructions and / or specifications (e.g., stored files or distributed specifications) to manufacturing machinery, causing the manufacturing machinery to produce mechanical parts according to the instructions. The method may include physical manufacturing or simply storing the manufacturing instructions obtained from the specifications and output of the method and / or sending these instructions to the manufacturing process.

[0054] Therefore, this method constitutes a significant improvement in the manufacturing of mechanical parts. In fact, the method ensures that all mechanical interfaces of a single mechanical part are manufactured with appropriate precision, thus ensuring a smooth and efficient manufacturing process. The method may also include storing manufacturing instructions and / or manufacturing each specification surface with different precision according to a classification of specification surfaces. For example, the method may include manufacturing the master surface with higher precision and the holding surface with lower precision. This can further improve productivity, reduce costs, and minimize errors.

[0055] The method of use (e.g., acquiring a CAD model representing a single mechanical part) may also include: acquiring an image of the single mechanical part, and converting the acquired image into a CAD model representing the single mechanical part. Images may be acquired from a remote or local source, for example. Acquiring images may include using a camera or 3D scanning. Therefore, the method can be used to inspect the mechanical interfaces of real-world mechanical parts, more specifically, based on physical measurements of the mechanical interfaces of the mechanical parts. This can, for example, prove useful for manufacturing copies of mechanical parts, thereby ensuring that each specification surface is manufactured according to its function. In practice, the precision / tolerances used in image and / or 3D scanning inspection of each specification surface included in the manufacture of a mechanical part may not be accurate enough. Additionally or alternatively, inspecting the mechanical interfaces of mechanical parts can be used to understand the possible uses of the mechanical parts.

[0056] The learning method is a machine learning approach used to learn a classification function (also called a model). The learning method includes: acquiring a training dataset and training the classification function based on the training dataset. As is known in the field of machine learning, processing inputs by a model includes: applying operations to the inputs, these operations being defined by data including weight values ​​or parameters. Therefore, learning a model (e.g., a neural network or GNN) includes: determining the values ​​of the weights / parameters based on a dataset configured for this learning, which may be referred to as a learning dataset or training dataset. For this purpose, the dataset includes data slices, each forming a corresponding training sample or training example. Training samples / training examples represent the diversity of situations on which the model will be used after learning. Any training dataset described herein may include multiple training samples / training examples greater than 1000, 5000, or 10000. In the context of this disclosure, "learning a model based on a dataset" means that the dataset is the learning / training dataset of the model, on which the values ​​of the weights / parameters are set. In this disclosure, the training dataset is a dataset of acquired training examples on which the model is learned / trained. In an implementation, the training dataset includes tens of thousands of examples, each example corresponding to a B-rep and an associated conditional signal.

[0057] As is known from machine learning, a neural network can be defined by its architecture, parameters, and hyperparameters. The architecture consists of layers, starting with the input layer, where the number of neurons can be determined by the dimension of the input data. Following the input layer are several hidden layers with a given number of neurons and activation functions. These layers and neurons define the depth and width of the network, while the activation functions may introduce non-linearity into the model. The output layer can have as many neurons as there are variables in the output data. The interconnections between these layers define the topology of the neural network. The parameters of the neural network are learnable weights and biases that are determined during training. In contrast, hyperparameters are predefined settings that are not learned from the training data. These hyperparameters include the number of hidden layers, the number of neurons per layer, etc. To train a neural network, at least two settings can be defined. First is the loss function, which is a measure of the error between the training data and the model's predictions, such as mean squared error (MSE) or class-weighted cross-entropy loss. Second is the optimizer, which modifies the model's weights and biases during training to minimize the loss function. Each optimizer has its own set of hyperparameters.

[0058] Specifically, the learning method includes: acquiring a training dataset that includes training samples, each training sample including a drawing representing a CAD model, which represents a single mechanical part.

[0059] Obtaining a training dataset may include retrieving (e.g., from local or remote storage) or receiving (e.g., from a remote system). Additionally or alternatively, obtaining a training dataset may include generating at least a portion of the training dataset.

[0060] At least a portion of acquiring / generating the training dataset may include: acquiring a first dataset comprising CAD models representing mechanical objects (e.g., components of mechanical parts, mechanical products). At least a portion of acquiring / generating the training dataset may also include: extracting a second dataset from the first dataset comprising CAD models representing individual mechanical parts. Extraction from the first dataset may include: retrieving each CAD model representing a single mechanical part from each CAD model representing a mechanical object. At least a portion of acquiring / generating the training dataset may also include: determining a drawing representing the CAD model for each CAD model in the second dataset. The dataset comprising CAD models representing individual mechanical parts may be referred to as a CAD dataset. At least a portion of acquiring / generating the training dataset may also directly include: acquiring the CAD dataset and, for each CAD model in the CAD dataset, determining a drawing representing the CAD model.

[0061] Obtaining the first dataset and / or CAD dataset may include retrieving (e.g., from local or remote storage) or receiving (e.g., from a remote system) the first dataset and / or CAD dataset.

[0062] It may be advantageous to acquire / generate at least a portion of the training dataset, as multiple CAD models representing individual mechanical parts and / or components of mechanical parts are available to the user.

[0063] Figure 4 An example of a mechanical assembly that can be used to obtain parts from a CAD dataset is shown.

[0064] Each drawing in the training dataset representing a CAD model will be referred to as a CAD drawing, which represents a single mechanical part. A CAD drawing includes one or more nodes and one or more edges. Each node represents a specification surface of the CAD model, and each edge represents a connection between specification surfaces represented by nodes connected by that edge. As described above, a connection between two specification surfaces of a CAD model can correspond to, for example, the adjacency, coplanarity, and / or coaxiality of the two specification surfaces. Additionally or alternatively, a connection between two specification surfaces of a CAD model can correspond to, for example, the spacing between two specification surfaces including fillets, chamfers, and / or another non-specific surface.

[0065] It is worth noting that determining a CAD drawing based on a CAD model representing a single mechanical part may include: determining each specification surface of the CAD model and all connections between the determined specification surfaces. Determining a CAD drawing may also include: defining the nodes of each determined specification surface and the edges of each determined connection (connections between corresponding associated specification surfaces) (edges between associated nodes).

[0066] Figure 5 Different examples of CAD models and associated CAD drawings representing individual mechanical parts are shown.

[0067] In an implementation, the CAD model may be a B-rep comprising multiple faces. In an implementation, determining each specification surface may include: determining whether each face of the B-rep is part of a specification surface, i.e., part of a plane, sphere, cone, torus, or cylinder. In an implementation, determining each specification surface may further include: engaging one or more different faces that are part of the same specification surface. Therefore, in an implementation, each detected specification surface may include one or more faces defining the B-rep of the CAD model.

[0068] Figure 6 An example of the above-described embodiment is shown. In the figure, the hollow cylinder includes two faces. These two faces are joined together to form a unique, canonical surface that is part of the cylinder.

[0069] Each CAD drawing included in the training dataset also includes a label for each node, which is one of the following list of labels: primary face of a mechanical interface, secondary face of a mechanical interface, tertiary face of a mechanical interface, sustaining face of a mechanical interface, and no interface. Each label for each node corresponds to the corresponding category of the specification surface associated with that node in the CAD model representing a single mechanical part. That is, a node is labeled as a primary face if and only if the specification surface associated with it is a primary face.

[0070] Similarly, determining a CAD drawing based on a CAD model representing a single mechanical part included in a CAD dataset may include labeling each node with a classification label of a specification surface represented by a node.

[0071] Obtaining the training dataset may include: acquiring and / or determining the node vector of each node and / or the edge vector of each edge in the CAD drawing included in the training dataset. Specifically, obtaining the training dataset may include: retrieving (e.g., from local or remote memory) or receiving (e.g., from a remote system) the node vector of each node and / or the edge vector of each edge in each corresponding CAD drawing. Additionally or alternatively, at least a portion of the training dataset may be determined based on the CAD dataset, and obtaining the training dataset may further include: determining the node vector of each canonical surface (corresponding to a node) and / or the edge vector of each connection (corresponding to an edge) between canonical surfaces for each CAD model included in the CAD dataset. Including each node vector and / or edge vector in each CAD drawing may be advantageous for training the classification function. In fact, during training, the node vectors and / or edge vectors can be used to better understand and predict training samples.

[0072] In an implementation, the method may further include: obtaining and / or determining the node vector of each specification surface (and corresponding node) of the obtained CAD model and / or the edge vector of each connection between the specification surfaces (and corresponding edges) of the obtained CAD model.

[0073] A node vector (which can be acquired and / or determined) can be a feature vector representing the properties of a canonical surface represented by a node. Specifically, a node vector can be a vector comprising several entries, each corresponding to a specific property of the canonical surface represented by a node. For example, each node vector may include entries regarding: surface type (e.g., one in a list of canonical surfaces, i.e., plane, sphere, cone, torus, or cylinder), area, a parameter defining the surface type (e.g., the radius if the surface type is sphere), orientation, material, or a combination of the above.

[0074] (Available and / or determinable) edge vectors can be feature vectors representing the attributes of the connections represented by the edges. A feature vector can be a vector comprising several entries, each entry corresponding to a specific attribute of the connection between canonical surfaces represented by the edges. For example, each attribute of the connection represented by each edge vector representing the attributes of the connection between two canonical surfaces includes one or more of the following: Convexity, that is, whether a local part of the CAD model including these two specification surfaces is convex; Concavity, that is, whether a local part of the CAD model including these two standard surfaces is concave; Coplanarity, that is, whether the two gauge surfaces lie on the same plane; Coaxiality, that is, whether the two specification surfaces are portions of a cylindrical surface that share the same axis; Adjacent smoothness, that is, the two canonical surfaces share a common edge in the same plane; The presence of fillets means that these two standard surfaces are separated by fillets; The presence of a chamfer, i.e., the two specification surfaces are separated by a chamfer; and / or The existence of a reference means that the two specification surfaces are separated by a set of non-specific surfaces (e.g., surfaces that may not support mechanical interfaces), such as chamfers, fillets, or curved surfaces.

[0075] Figure 7 Figure 8 shows an example of a connection between standard surfaces. The connection can be, for example, a smooth coplanar surface, a concave surface, or a convex surface.

[0076] Figure 8A A mechanical part comprising five specification surfaces as parts of a hollow cylinder 81 is shown. These five parts of the hollow cylinder 81 are aligned on the same plane, i.e., coplanar. Therefore, these five parts of the hollow cylinder 81 are paired and connected to each other. The edge vector associated with the edge representing the connection can include information that the connection is a coplanar connection between the cylinders.

[0077] Figure 8B A mechanical part is shown having two canonical surfaces that are part of plane 82. These two portions of plane 82 are coplanar. Therefore, these two portions of plane 82 are connected. The edge vector associated with the edge representing the connection can include information that the connection is a coplanar connection between the planes.

[0078] Figure 8C A mechanical part is shown having two specification surfaces that are part of a cylindrical surface 83. These two portions of the cylindrical surface 83 are coaxial. Therefore, these two portions of the cylindrical surface 83 are connected. The edge vector associated with the edge representing the connection can include information that the connection is a coaxial connection between the cylindrical surfaces.

[0079] Figure 9 A CAD model representing a single mechanical part and its associated diagram are shown. Each node in the diagram is labeled as part of a mechanical interface (without further specifying whether the node is associated with a primary, secondary, tertiary, or sustaining surface). Specifically, specification surfaces 19, 20, and 21 form the mechanical interface. Figure 5 In this context, each node may also include a node vector. The node vector of each node except node 19 may include information that the associated canonical surface type is "planar," while the node vector of node 19 may include information that the associated canonical surface type is "cylindrical." Similarly, in... Figure 5 In this context, each edge may also include an edge vector. The edge vector of each edge except edge 90 may include information that the connection between the associated canonical surfaces is "convex," and the edge vector of edge 90 may include information that the connection between the associated canonical surfaces is "concave." The edge vector of edge 91 may further include information that the connection includes a chamfer.

[0080] In implementations, determining a CAD drawing, determining each node vector for each specification surface (and corresponding node), and / or determining each edge vector for each connection between specification surfaces (and corresponding edges) of the CAD model representing a single mechanical part can include several different steps. For example, each determination can include several methods, each specifically designed to obtain a single feature (e.g., an entry for a node / edge vector). In implementations, determining a CAD drawing / each node vector / each edge vector from a CAD model representing a single mechanical part can include one or more extraction steps.

[0081] In one implementation, generating each node vector from the CAD model may include: extracting information related to the mechanical interface (e.g., ID, type). In another implementation, generating each node vector from the CAD model may include: extracting the topology of the CAD model (e.g., ID, area, axis, material orientation, type of the specification surfaces). In yet another implementation, generating each edge vector from the CAD model may include determining the connection pattern (e.g., coaxial, coplanar, contact). In yet another implementation, determining the connections between specification surfaces of the CAD model may include: detecting fillets and chamfers to study the neighborhoods between specification surfaces (e.g., portions of planes, cylinders, spheres, cones, toroidals).

[0082] In an implementation, the extraction step (included in one or more extraction steps) may include: material meaning extraction. Material meaning extraction is a process that allows the determination of certain properties of a 3D object, particularly for cylinders. Material meaning extraction enables the method to distinguish whether a cylinder represents a hollow or solid portion of a mechanical part. This can indicate whether the cylinder can be a screw, gear, or other type of object. In an implementation, extraction may include determining which side of a specification surface (e.g., a portion of a plane) the material is located on.

[0083] In an implementation, the extraction step (included in one or more extraction steps) may include: determining the normal and center of each face (e.g., each specification surface) of the CAD model. The normal and center can determine the orientation relative to the object. The extraction step may also include: determining the orientation of each face within its "shell," which represents the outer envelope of the object. Herein, a "shell" may be a surface (e.g., a set of faces connected by edges) that defines a volume in 3D space. The shell may be an inner shell or an outer shell.

[0084] Figure 10 An implementation of the extraction steps is shown, including extracting data and resources, separating canonical and non-canonical surfaces, creating a baseline body (e.g., a set of non-canonical surfaces), and extracting resources from the canonical surfaces.

[0085] In implementations, the distribution of node types, edge types, and labels in the label list of the training dataset may not be homogeneous. In implementations, having a diverse dataset (e.g., a dataset including many examples of different kinds) to increase the usability of the method may be beneficial. Figures 16 and 17, discussed below, illustrate the distribution of surface types and labels in the dataset used to implement the method.

[0086] In implementation, the learning method may include: separating (e.g., partitioning) the training dataset into two (e.g., non-joined) parts, the first part of which may be used to learn a classification function, and the second part of which may be used to test the classification function. Separating the training dataset may include: considering different proportions of different features in the separated training dataset.

[0087] It is worth noting that the method includes: acquiring a CAD model representing a single mechanical part, and determining a CAD drawing based on the CAD model. Determining the CAD drawing can be achieved using the steps described above for determining the CAD drawing to be included in the training dataset. Specifically, determining the CAD drawing may include: determining each specification surface of the CAD model and all connections between the determined specification surfaces. Determining the CAD drawing may also include: defining the nodes of each determined specification surface and the edges (edges between associated nodes) of each determined connection (connections between corresponding associated specification surfaces). It should be understood that whenever the training dataset includes some additional information (such as node vectors and / or edge vectors) appended to each CAD drawing, the method may include: acquiring and / or determining at least a portion of the additional information, which will be used as input to a classification function. This determination can be implemented as described above, for example, using the extraction step.

[0088] Figure 11 A flowchart illustrating the method of use is shown, including creating and validating CAD drawings from CAD models representing individual mechanical parts, using a classification function to predict the label of each node, and determining the mechanical interface based on the labeled nodes.

[0089] Classification functions can be based on (for example, including) graph neural networks (GNNs). GNNs are neural networks specifically designed to work with data structured as graphs. GNNs are powerful tools for analyzing data with complex interconnections, such as the types of connections between canonical surfaces in a CAD model representing a single mechanical part. GNNs perform neighborhood aggregation, updating node features by aggregating information from the immediate neighbors of each layer. This allows for information sharing, as well as the capture of local context.

[0090] Figure 12 This demonstrates the key mechanism of "message passing" in GNNs.

[0091] Figure 13 An example of a GNN model that can be used in a classification function, including the ReLU activation function, is shown.

[0092] In implementations, the classification function may also include a multi-layer perceptron (MLP) neural network (e.g., an MLP before and after the GNN). MLPs can be used to enhance node features. Enhancing node features allows the model to handle more complex situations by increasing its expressiveness.

[0093] Figure 14An implementation of a classification function is shown, which includes a feedforward architecture comprising three main blocks: an MLP for feature enhancement, a GNN for node representation learning, and another MLP for classification.

[0094] Training a classification function may include using a loss function. The loss function may be, for example, a cross-entropy loss function. In implementations, the cross-entropy loss may be weighted based on different classes to compensate for imbalances in class distribution. Specifically, samples from the minority classes may be associated with larger weights, while samples from the majority classes may receive smaller weights. In implementations, the loss function may be defined by the following formula: in It is a sample. It is the output vector of the classification function of the samples. , It is a sample Ground real-time labels, It is the number of all categories. It is a category The output of the classification function, It is a category The output of the classification function, and Is with category Associated weights.

[0095] Training the classification function may also include sampling nodes for each CAD drawing in the training dataset to balance the "no interface" label with other labels. That is, at each batch and epoch during training, the loss function can be computed for the proportion of all nodes with interfaces (i.e., primary / secondary / tertiary / maintenance surfaces of the mechanical interface) and nodes without interfaces. The proportion can be chosen such that it considers the same proportion of nodes with and without interfaces in the loss function. Alternatively, the proportion of nodes without interfaces can be randomly selected from all nodes with interfaces. During training, the CAD drawings included in the training dataset can be used in several epochs and / or batches such that each node of the CAD drawing is used during training (e.g., as considered by the loss function). In particular, sampling allows training on all nodes labeled as "no interface" over several epochs while ensuring a balanced class distribution in each epoch. Sampling can be beneficial because using sampling during training can offset the imbalance between the number of canonical surfaces that are interfaces and the number of canonical surfaces that are not interfaces. Imbalance can cause the classification function to overclassify canonical surfaces as "no interface."

[0096] In implementation, the steps described above for learning and using the method can be illustrated in a 3D component. For example, a CAD model representing a single mechanical part can be displayed in a graphical interface, including some features of the CAD model (e.g., features contained in node vectors and / or edge vectors). Some features may include radius and / or material orientation. Users can interact with the graphical representation to perform the method (e.g., determine the classification of each specification surface and / or determine the mechanical interface).

[0097] Figure 15A and Figure 15B An implementation of the method is shown, wherein a CAD model is displayed in a graphical interface.

[0098] The learning method was implemented, and the classification function was tested on a dataset. The training dataset in the implementation includes 30 components from mechanical parts (such as…). Figure 4 The mechanical parts of the component shown contain more than 5,800 mechanical interfaces.

[0099] Figure 16A and Figure 16B A distribution map of the types of standard surfaces included in the CAD model of the implemented dataset is shown. Figure 16A The distribution map indicates that 54.2% of the specification surfaces are planes 161, 38.5% are cylindrical surfaces 162, 2.1% are conical surfaces 163, and 5.0% are reference surfaces 164.

[0100] Figure 17A and Figure 17B A distribution map of labels on the standard surfaces included in the CAD model of the implemented dataset is shown. Figure 17A The distribution diagram indicates that 59.3% of the specification surfaces are interface-free (171), 23.1% are primary surfaces (172), 12.6% are secondary surfaces (173), 2.3% are tertiary surfaces (174), and 2.9% are maintenance surfaces (175).

[0101] Figure 18 The distribution of the three categories in the training and test datasets used in the implementation is shown, demonstrating that the proportion of features is the same during training and testing.

[0102] Figure 19 The evolution of loss and metric during training of the classification function is shown. In this implementation, the learning rate is 1e-3, the optimizer used is ADAM, and the batch size is 32.

[0103] Figures 20 to 21 The confusion matrix and classification report of the results of training the classification function in the implementation are shown.

[0104] Figures 22 to 25 The results of the implemented classification function applied to different CAD drawings are shown. For example... Figure 1 , Figure 2A , Figure 2B and Figure 2C As shown, the shading associated with label "0" corresponds to a canonical surface without interfaces. The shading associated with label "1" corresponds to a canonical surface of a primary face. The shading associated with label "2" corresponds to a canonical surface of a secondary face. The shading associated with label "3" corresponds to a canonical surface of a tertiary face. The shading associated with label "4" corresponds to a canonical surface of a sustaining face. Nodes with only one shading are nodes correctly evaluated by the implemented classification function (i.e., the predicted classification corresponds to, for example, the ground reality given by an expert). Nodes with boundary shadings different from the central shading are nodes misclassified by the classification function, where the central shading is the ground reality (e.g., the label given by the expert) classification, and the boundary shading is the inferred classification.

[0105] Figures 26 to 29 The results of the implemented classification function applied to different CAD drawings are shown, considering only whether each node is an interface node or a node without an interface. In these figures, the shaded line associated with label "0" corresponds to a specification surface without an interface. The shaded line associated with label "1" corresponds to a specification surface that is an interface surface. (See figure...) Figures 22 to 25 In the diagram, nodes with only one shaded line are nodes correctly evaluated by the implemented classification function, while nodes with boundary shaded lines different from the central shaded line are nodes incorrectly classified by the classification function.

[0106] Unless otherwise expressly stated, the methods and implementations presented in this disclosure may be combined in any possible manner. In particular, any method described herein may include any steps described with respect to any method and / or implementation described in connection with this disclosure.

[0107] "Designing and manufacturing a product / mechanical part / mechanical product" refers to any action or series of actions that details at least a portion of the process of modeling an object (3D or 2D) for manufacturing a product / mechanical part / mechanical product. This method can form the process described above or at least a portion of the process described above.

[0108] Therefore, this method typically manipulates modeling objects, such as CAD models output by the method. A modeling object is any object defined by data, for example, stored in a database. By extension, the expression "modeling object" refers to the data itself. Depending on the type of system, modeling objects can be defined by different kinds of data. This system can actually be any combination of CAD and CAM systems. In those different systems, modeling objects are defined by corresponding data. Therefore, one can say CAD objects, CAM objects, CAD data, and CAM data. However, these systems are not exclusive to one another, because modeling objects can be defined by data corresponding to any combination of these systems. Therefore, as will be apparent from the definition of a system provided below, such a system can be a CAD and / or CAM system.

[0109] CAD solutions (e.g., CAD systems or CAD software) also refer to any system, software, or hardware, such as CATIA, that is at least suitable for designing modeling objects based on their graphical representation and / or structured representation (e.g., feature trees). In this context, the data defining the modeling object includes data that allows the modeling object to be represented. CAD systems may provide a representation of CAD modeling objects, for example, using edges or lines (and in some cases, faces or surfaces). Lines, edges, or surfaces can be represented in various ways, such as non-uniform rational B-splines (NURBS). Specifically, CAD files contain specifications from which geometry can be generated, which in turn allows for the generation of representations. The specifications of the modeling object can be stored in a single CAD file or multiple CAD files. The typical size of a file representing a modeling object in a CAD system is in the range of one megabyte per part. Modeling objects can typically be assemblies of thousands of parts. The specifications of a CAD model (also called "CAD specifications") can be stored in CAD files as described above, but can also be stored as distributed CAD data on one or more storage devices, i.e., in a cloud environment.

[0110] In the context of CAD, modeling objects can typically be 2D or 3D modeling objects, such as representing products like parts or part assemblies, or possibly product components. 2D or 3D modeling objects can be manufactured products, products that are about to be manufactured. A "3D modeling object" refers to any object modeled from data that allows for its 3D representation. 3D representation allows parts to be viewed from all angles. For example, when 3D represented, a 3D modeling object can be manipulated and rotated around any axis of the 3D modeling object or around any axis on the screen displaying that representation. This specifically excludes 2D icons that are not 3D modeled. The display of 3D representations aids in design (i.e., increases the speed at which designers can statistically complete their tasks). This accelerates the manufacturing process in industry, as product design is part of the manufacturing process.

[0111] 3D modeling objects can represent the geometry of a product to be manufactured in the real world after a virtual design of the product has been completed using, for example, CAD / CAE software solutions or CAD / CAE systems. This could include (e.g., mechanical) parts or components of parts (or equivalently, component assemblies, since from a methodological perspective, a component of a part can be considered as the part itself, or the method can be applied independently to each part of the assembly), or more generally, any rigid body assembly (e.g., a moving mechanism). CAD / CAE software solutions allow for the design of products in a wide and virtually limitless range of industrial sectors, including: aerospace, architecture, construction, consumer goods, high-tech equipment, industrial equipment, transportation, marine and / or offshore oil / gas production or transportation. Therefore, the 3D modeling objects designed using this method can represent industrial products, which can be any mechanical parts, such as parts for land vehicles (including, for example, automobiles and light truck equipment, racing cars, motorcycles, truck and motor equipment, trucks and buses, trains), parts for aircraft (including, for example, fuselage equipment, aerospace equipment, propulsion equipment, defense products, aerospace equipment, space equipment), parts for naval vehicles (including, for example, naval equipment, commercial vessels, marine equipment, yachts and workboats, marine equipment), general mechanical parts (including, for example, industrial manufacturing machinery, heavy mobile machinery or equipment, installation equipment, industrial equipment products, manufactured metal products, tire manufacturing products), electromechanical or electronic parts (including, for example, consumer electronics products, safety and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical devices and equipment), consumer goods (including, for example, furniture, home and garden products, leisure goods, fashion products, products of hard goods retailers, products of soft goods retailers), and packaging (including, for example, food and beverage and tobacco, beauty and personal care, and household product packaging).

[0112] CAD systems can be history-based. In this case, the modeling object is further defined by data including historical geometry. The modeling object can actually be designed by a physicist (i.e., a designer / user) using standard modeling features (e.g., extrusion, revolve, cut, and / or rounding) and / or standard surface features (e.g., sweep, blend, loft, fill, deform, and / or smooth). Many CAD systems that support this modeling capability are history-based. This means that the creation history of design features is typically maintained through a non-cyclic data stream that links the geometry together via input and output links. The history-based modeling paradigm has been widely known since the early 1980s. The modeling object is described by two persistent data representations: history and B-rep (i.e., boundary representation). The B-rep is the computational result defined in the history. When representing the modeling object, the shape of the part displayed on the computer screen is the B-rep (e.g., the subdivision surface of the B-rep). The history of the part is the design intent. Essentially, the history collects information about the operations that the modeling object has undergone. The B-rep can be maintained along with the history to make it easier to display complex parts. History can be preserved along with B-rep so that design changes to parts can be made according to design intent.

[0113] CAM solutions refer to any solution, hardware, or software suitable for managing manufacturing data of a product. Manufacturing data typically includes data related to the product to be manufactured, the manufacturing process, and the resources required. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, a CAM solution can provide CAM users with information about feasibility, the duration of the manufacturing process, or the amount of resources (such as a specific robot) that can be used at a specific step in the manufacturing process; thus allowing for decisions regarding management or required investment. CAM is a follow-up process to CAD processes and potential CAE processes. For example, a CAM solution can provide information about machining or molding parameters consistent with extrusion features provided in a CAD model. Such CAM solutions are provided by Dassault Systèmes (traded as CATIA, Solidworks, or DELMIA®).

[0114] Therefore, CAD solutions and CAM solutions are closely related. In fact, CAD solutions focus on the design of products or parts, while CAM solutions focus on how to manufacture those products or parts. Designing a CAD model is the first step in computer-aided manufacturing. CAD solutions provide key functionalities such as feature-based modeling and boundary representation (B-Rep) to reduce the risk of errors and loss of accuracy during the manufacturing process when using CAM solutions. In reality, the CAD model is designed to be manufactured. Therefore, the CAD model is a virtual twin of the object to be manufactured, also known as a digital twin, with the following two objectives: To check the correct behavior of objects to be created in a specific environment; and Ensure the manufacturability of the object to be manufactured.

[0115] The modeling object output / designed / input by this method can be a 2D / 3D discrete geometric representation of a manufactured product / mechanical product / mechanical part, which is a data structure comprising a set of discrete data pieces. Each data piece can specify an element of the product / mechanical part, referred to as a discrete element. The discrete geometric representation can be 3D or alternatively 2D. Alternatively, the discrete geometric representation can be both 3D and 2D, i.e., it can include a 3D portion as a 3D discrete geometric representation and a 2D portion as a discrete geometric representation, such as a hybrid 3D-2D mesh (e.g., for modeling a product that includes both a thin part modeled with 2D portions and a thick part modeled with 3D portions). In the example, the discrete geometric representation can include more than 100, 1000, or 10000 such data pieces.

[0116] The modeling object output / designed / processed / used as input by the method can be a CAD model, for example, comprising or composed of feature trees and / or B-rep. This model can originate from a CAE model and can be generated by a CAE-to-CAD conversion process, which the method may include, for example, in the initial stage.

[0117] CAD models can be feature-based (e.g., a CAD model may include a feature tree, optionally including a corresponding B-rep obtained by performing the feature tree). Feature-based 3D models (e.g., during the determination of manufacturing files, CAM files, or CAM specifications stored as distributed data, as discussed below) allow for the detection and automatic resolution of geometric errors in the CAD model, such as clashes that will affect the manufacturing process. A clash is the mutual penetration between two parts in a 3D model, such as mutual penetration caused by their relative motion. Furthermore, such clashes can sometimes only be detected through finite element analysis based on a feature-based CAD model. Therefore, clash resolution can be performed either iteratively by modifying the parameters of the features and by performing finite element analysis, either in conjunction with the CAD solution or automatically by the CAD solution.

[0118] As another example, feature-based 3D models (e.g., during the determination of manufacturing files, CAM files, or CAM specifications stored as distributed data, as discussed below) allow for the automated creation of toolpaths for the machine via computer numerical control (CNC). Using a CNC, each object to be manufactured receives a custom computer program stored in and executed by a machine control unit (a microcomputer attached to the machine). This program contains the instructions and parameters that the machine tool will follow. Milling machines, lathes, planers, grinders, and lasers are common examples of machine tools whose operation can be automated using CNC.

[0119] A key characteristic of CAD models is that they can be precisely and explicitly designed by linking a small number of high-level parametric design operations (including, but not limited to, sketching, extrusion, and chamfering), and edited by modifying their high-level parameters. This is a key difference from polyhedral representations such as triangular surface meshes, which can represent any 3D shape but do not provide the modification or parametric capabilities required in an industrial design context.

[0120] Because CAD models are parametric models of parts / products, they are lighter in terms of memory footprint than other models such as CAE models. In fact, instead of storing a collection of discrete geometric elements such as finite element methods, CAD models allow for the storage of lists of features and parameters, which is lighter in terms of storage and memory footprint. Therefore, in addition to improving the editability of the model, working with CAD models reduces the memory requirements of the underlying system compared to, for example, CAE models. This is equivalent to the CAE to CAD conversion process effectively compressing the CAE model into a CAD model that is lighter in terms of memory requirements (e.g., space footprint), beyond simply converting a CAE model into a more easily editable CAD model.

[0121] The generation of custom computer programs from CAD files or distributed CAD specifications can be automated. Therefore, this generation can be error-proof and ensure a perfect reproduction of the CAD model into the manufactured product. CNC is considered to offer higher precision, complexity, and repeatability than manual machining. Other benefits include greater accuracy, speed, and flexibility, as well as capabilities such as contour machining, which allows milling contour shapes, including those generated in 3D designs.

[0122] B-rep (Boundary Representation) is a 3D representation of a mechanical part. Specifically, a B-rep is a persistent data representation describing a 3D modeled object representing a mechanical part. A B-rep can be the result of calculations and / or a series of operations performed during the design phase of representing the 3D modeled object of the mechanical part. When representing a modeled object, the shape of the mechanical part displayed on the computer screen is a B-rep (e.g., a subdivision surface of the B-rep). In the example, the B-rep represents a portion of the model object.

[0123] B-Rep comprises topological entities and geometric entities. Topological entities are: faces, edges, and vertices. Geometric entities are 3D objects: surfaces, planes, curves, lines, and points. By definition, a face is a bounded portion of a surface, called a supporting surface. An edge is a bounded portion of a curve, called a supporting curve. A vertex is a point in 3D space. They are related to each other as follows: A bounded portion of a curve is defined by two points (vertices) located on the curve. A bounded portion of a surface is defined by its boundary, which is a set of edges located on the surface. The boundaries of the edges of a face are connected by sharing vertices. Faces are connected by sharing edges. If two faces share an edge, then the two faces are adjacent. Similarly, if two edges share a vertex, then the two edges are adjacent. In a CAD system, B-Rep aggregates in an appropriate data structure defined by the relationships between topological entities and supporting geometries, as well as the mathematical description of the supporting geometries. The inner edges of a B-Rep are edges that are shared by exactly two faces. By definition, boundary edges are not shared, and a boundary edge defines only one face. By definition, a boundary face is defined by at least one boundary edge. A B-Rep is considered closed if all its edges are interior edges. A B-Rep is considered open if it includes at least one boundary edge. Closed B-Reps are used to model thick 3D volumes because they define the interior portion of the space that (virtually) encloses the material. Open B-Reps are used to model 3D skins, representing 3D objects whose thickness is small enough to be ignored.

[0124] A key advantage of B-Rep over any other representation type used in CAD modeling is its ability to accurately represent arbitrary shapes. All other representations in use, such as point clouds, distance fields, and meshes, approximate shapes through discretization. B-Rep, on the other hand, contains surface equations representing an accurate design, thus constituting a true "master model" for further manufacturing, whether generating toolpaths for CNC or discretizing to the correct sample density for a given 3D printer technology. In other words, by using B-Rep, a 3D model can be an accurate representation of a manufactured object. B-Rep is also advantageous for simulating the behavior of 3D models. For stress, thermal, electromagnetic, or other analyses, B-Rep supports local refinement of the simulated mesh to capture physical phenomena, and for kinematics, it supports realistic contact modeling between surfaces. Finally, B-Rep allows for a small memory and / or file footprint. This is because the representation contains surfaces based solely on parameters. In other representations such as meshes, the equivalent surface comprises up to thousands of triangles. Secondly, because B-Rep does not contain any history-based information.

[0125] This method can be incorporated into a production process, which may include, after executing the method, producing a physical product corresponding to the modeled object designed / processed / output by the method. The production process may include the following steps: (For example, automatically) the method is applied to obtain a CAD model; Use the obtained CAD model to manufacture parts / products.

[0126] Manufacturing using a CAD model specifies any real-world action or series of actions involved in the manufacturing of the product / part represented by the CAD model. Manufacturing using a CAD model may include, for example, one or more of the following steps: Edit the obtained CAD model; Simulations based on CAD models or corresponding CAE models (e.g., the CAE model from which the CAD model originates after a CAE-to-CAD conversion process) are used for purposes such as simulations to verify mechanical, usage, and / or manufacturing properties and / or constraints (e.g., structural simulations, thermodynamic simulations, aerodynamic simulations). Editing CAD models based on simulation results; Optionally (i.e., depending on the manufacturing process used, the production of the mechanical product may or may not include this step), manufacturing specifications / CAM specifications (e.g., stored as manufacturing files / CAM files or distributed CAM data stored on one or more storage devices, including manufacturing instructions for manufacturing the product represented by the CAD model and / or control instructions for the manufacturing process and / or control instructions for commanding the manufacturing process or its manufacturing tools) may be determined (e.g., automatically) based on (e.g., edited) CAD models (e.g., control instructions derived from CAD files storing the CAD models and / or specifications of the CAD models or distributed CAM data stored on one or more storage devices) for the production / manufacturing of the manufactured product; Because of the manufacturing of products represented by the CAD model, CAD specifications and / or manufacturing specifications / CAM specifications are sent to the factory; and / or (For example, automatically) to produce / manufacture mechanical products represented by a model initially output by the method, based on determined manufacturing specifications / CAM specifications or based on a CAD model. This may include (for example, automatically) feeding manufacturing specifications / CAM specifications and / or CAD specifications to the machine performing the manufacturing process.

[0127] This final step in production / manufacturing can be referred to as the manufacturing step or production step. This step involves creating / fabricating parts / products based on CAD models and / or CAM specifications, for example, when the CAD models and / or CAD specifications are fed to one or more manufacturing machines or computer systems controlling those machines. The manufacturing step may include performing any known manufacturing process or a series of manufacturing processes, such as one or more additive manufacturing steps, one or more cutting steps (e.g., laser cutting or plasma cutting steps), one or more stamping steps, one or more forging steps, one or more bending steps, one or more deep drawing steps, one or more molding steps, one or more machining steps (e.g., milling steps), and / or one or more punching steps. Because the design methodology improves the design of the model (CAE or CAD) representing the part / product, manufacturing and its productivity are also improved.

[0128] Editing a CAD model can include one or more versions of the CAD model executed by a user (i.e., a designer), for example, using a CAD solution. Modifying a CAD model can include one or more modifications to each geometry and / or parameter of the CAD model. Modifications can include any or a series of modifications to the model's feature tree (e.g., modifications to feature parameters and / or specifications) and / or modifications to the CAD model's display representation (e.g., B-rep). Modifications that maintain the technical functionality of the part / product, i.e., modifications made by the user to the geometry and / or parameters of the model that may affect the downstream use and / or manufacturing of the part / product, solely for the purpose of making the CAD model more technically compatible with the specifications of the machines used in the downstream manufacturing process. Such modifications may additionally or alternatively include any or a series of modifications to the CAD model that make it technically compatible with the further use of the product / part once it has been manufactured, such modifications or series of modifications being based, for example, on simulation results.

[0129] CAM specifications can include a manufacturing setup model obtained from a CAD model. The manufacturing setup can include all the data required to manufacture the mechanical product (e.g., control instructions for controlling the manufacturing process), such that the mechanical product has a material geometry and / or distribution corresponding to the material geometry and / or distribution captured in the CAD model, potentially reaching manufacturing tolerances. Determining production specifications can include applying any CAM (Computer-Aided Manufacturing) or CAD-to-CAM solution to (e.g., automatically) determine the production specifications from the CAD model (e.g., any automatic CAD-to-CAM conversion algorithm). Such CAM or CAD-to-CAM solutions can include one or more of the following software solutions that enable the automatic generation of manufacturing instructions and toolpaths for a given manufacturing process based on a CAD model of the product to be manufactured: Fusion 360 FreeCAD CATIA, SOLIDWORKS, The Dassault Systèmes NC shop floor programmer shown at https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / nc-shop-floor-programmer The Dassault Systèmes NC milling machine programmer shown at https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / nc-mill-turn-machine-programmer, and / or The Dassault Systèmes powder bed machine programmer is shown at https: / / my.3dexperience.3ds.com / welcome / fr / compass-world / rootroles / powder-bed-machine-programmer.

[0130] The product / part can be an additively manufactured part, i.e., a part manufactured through additive manufacturing (i.e., 3D printing). In this case, the production process does not include the step of determining CAM specifications and proceeding directly to the production / manufacturing step by feeding the CAD model directly (e.g., automatically) to the 3D printer. The 3D printer is configured to 3D print the mechanical product directly and automatically based on the CAD model when a CAD model representing the mechanical product is fed to it (e.g., when 3D printing is initiated by a 3D printer operator). In other words, the 3D printer receives (e.g., automatically) the CAD model fed to the 3D printer, reads (e.g., automatically reads) the CAD model, and prints (e.g., automatically prints) the part by adding material (e.g., layer by layer) to replicate the geometry and / or distribution of the material captured by the CAD model. The 3D printer adds material, thereby replicating the geometry and / or distribution of the material captured by the CAD model in a virtually accurate manner until the resolution of the 3D printer is reached, optionally with or without tolerance errors and / or manufacturing corrections. Manufacturing may include determining such manufacturing corrections and / or tolerances, for example, by a user (e.g., the operator of the 3D printer) or automatically (by the 3D printer or the computer system controlling the 3D printer), for example, by modifying CAD specifications to match the specifications of the 3D printer. The production process may additionally or alternatively include determining, based on the CAD model (e.g., automatically by the 3D printer or the computer system controlling the 3D printer), the printing orientation, for example, to minimize overhang volume (as described in European Patent No. 3327593, which is incorporated herein by reference), layer slicing (i.e., determining the thickness of each layer, and the layer-by-layer path / track), and other characteristics of the 3D printer head (e.g., laser beam, such as path, speed, intensity / temperature, and other parameters).

[0131] The product / part can alternatively be a machined part (i.e., a part manufactured by machining), such as a milled part (i.e., a part manufactured by milling). In this case, the production process may include a step of determining CAM specifications. This step can be performed automatically by any suitable CAM solution to automatically obtain CAM specifications from the CAD model of the machined part. Determining CAM specifications may include: (e.g., automatically) checking whether the CAD model has any geometrical specificities (e.g., errors or artifacts) that may affect the production process and whether (e.g., automatically) correcting such specificities. For example, if the CAD model still includes sharp edges (because machining or milling tools cannot produce sharp edges), then machining or milling based on the CAD model may not be performed. In this case, determining CAM specifications may include: (e.g., automatically) rounding or rounding such sharp edges (e.g., rounding or rounding with a radius or fillet radius corresponding to the radius of the cutting head of the machining tool (e.g., substantially equal to the tolerance error), so that machining or milling based on the CAD model can be completed. More generally, determining CAM specifications may include automatically rounding or chamfering geometry within a CAD model that is incompatible with the radius of the machining or milling tool to enable machining / milling. This check and possible corrections (e.g., rounding or chamfering of geometry) can be performed automatically as previously discussed, but can also be performed by a user (e.g., a machining engineer) who manually corrects the CAD and / or CAM solution, for example, by constraining the user to perform corrections to make the CAD model conform to the specifications of the tool used in the machining process.

[0132] In addition to inspection, determining CAM specifications may include (e.g., automatically) determining the machining or milling path, i.e., the path taken by a machining tool to process the product. The path may include a set of coordinates and / or parametric trajectories to be followed by the machining tool. Determining the path may include (e.g., automatically) calculating these coordinates and / or trajectories based on a CAD model. This calculation may be based on calculating the boundaries of a Minkowski subtraction of a CAD model represented by the CAD model of the machining tool, as discussed, for example, in European patent application EP21306754.9 filed by Dassault Systèmes on 13 September 2021, which is incorporated herein by reference. It should be understood that the path may be a single path, e.g., followed continuously by the tool without disrupting contact with the material to be cut. Alternatively, the path may be a series of sub-paths followed by the tool in a specific order, e.g., followed continuously by the tool without disrupting contact with the material to be cut. Optionally, determining the CAM specifications may then include, for example, setting machine parameters (e.g., automatically) based on the determined path and machine specifications, including cutting speed, cutting / piercing height, and / or die opening stroke. Optionally, determining the CAM specifications may then include, for example, configuring nesting (e.g., automatically), where the CAM solution determines the optimal orientation of the part to maximize processing efficiency.

[0133] In the case of machining or milling parts, determining the CAM specifications thus results in and outputs CAM specifications including machining paths, and optionally outputs configured nested set machine parameters and / or specifications. This output CAM specification can then be fed to the machining tool (e.g., directly and automatically), and / or the machining tool can then be programmed (e.g., directly and automatically) by reading the specifications, where the production process includes production / manufacturing steps, where the machine performs machining of the product according to the production specifications, for example, by directly and automatically executing the production specifications. The machining process involves the machining tool cutting a real-world block of material to replicate the geometry and / or distribution of the material captured by the CAD model, for example, to achieve tolerances (e.g., tens of micrometers for milling).

[0134] The product / part can alternatively be a molded part, i.e., a part manufactured by molding (e.g., injection molding). In this case, the production process may include a step of determining CAM specifications. This step can be performed automatically by any suitable CAM solution to automatically obtain CAM specifications from the CAD model of the molded part. Determining CAM specifications may include: (e.g., automatically) performing a series of molding checks based on the CAD model to check that the geometry and / or distribution of the material captured by the CAD model is suitable for molding, and (e.g., automatically) performing appropriate corrections if the CAD model is not suitable for molding. Performing checks and appropriate corrections (if any) may be performed automatically, for example, using a CAD and / or CAM solution, or alternatively, by a user (e.g., a molding engineer) who allows the user to perform appropriate corrections to the CAD model and limit his / her corrections to make the CAD model conform to the specifications of the molding tool. Checks may include: verifying that the dimensions of the virtual product represented by the CAD model are consistent with the mold and / or verifying that the CAD model includes all draft angles required to demold the product, as known from the molding process itself. Determining the CAM specifications may then include: determining the amount of liquid material to be used for molding and / or the time for the liquid material to harden / solidify within the mold based on the CAD model, and outputting the CAM specifications including these parameters. The production process then includes (e.g., automatically) performing molding based on the output specifications, wherein the mold shapes the liquid material into a shape corresponding to the geometry and / or distribution of the material captured by the CAD model within a determined hardening time, for example, up to tolerance errors (e.g., up to incorporating or modifying the draft angle for demolding).

[0135] Alternatively, the product / part can be a stamped part, or may be referred to as a "stamped part," i.e., a part manufactured during the stamping process. In this case, the production process may include (e.g., automatically) determining CAM specifications based on a CAD model. The CAD model represents the stamped part; for example, if the part is to include some flanges, the stamped part may have one or more flanges, and in the latter case, may have additional material to be removed to form the unfolded state of one or more flanges of the part, as known from the stamping itself. Therefore, the CAD model includes portions representing the part without flanges (in some cases, the entire part) and external additional patch portions (if any) that may represent flanges, which may have additional material (if any). This additional patch portion may exhibit g2 continuity over a length and then g1 continuity over another length.

[0136] In this stamping scenario, determining the CAM specifications may include (e.g., automatically) determining stamping press parameters, such as the dimensions of the stamping die or punch and / or stamping force, based on the geometry and / or distribution of the material of the virtual product captured by the CAD model. If the CAD model also includes a representation of additional material to be removed to form the unfolded state of one or more flanges of the part, the additional material to be removed may be cut, for example, by machining. Determining the CAM specifications may also include determining the corresponding machining CAM specifications, for example, as previously discussed. If one or more flanges are present, determining the CAM specifications may include determining the geometry of the g2 continuity portion and the geometry of the g1 continuity portion, which allow the flanges to be folded toward the inner surface of the stamped part and along the g2 continuity length during the folding process after the stamping itself and the removal of the additional material. The CAM specifications thus determined may therefore include: parameters of the stamping tool, the specifications (if any) optionally used for folding the flanges, and the machining production specifications (if any) optionally used for removing the additional material.

[0137] The stamping production process can then, for example, directly and automatically output CAM specifications, and perform the stamping process based on the CAM specifications (e.g., automatically). The stamping process may include stamping (e.g., punching) a portion of the material to form a product represented by CAD specifications, which may have an unfolded flange and additional material (if any). Where appropriate, the stamping process may then include cutting the additional material based on machining production specifications and folding the flange based on said specifications to fold the flange over its g2 continuity length and provide a smooth appearance to the outer boundary of the part. In the latter case, the shape of the part, once manufactured, differs from the virtual counterpart of the part represented by the CAD model because the additional material is removed, the flange is folded, and the CAD model represents the part with the additional material and the flange in an unfolded state.

[0138] The method is implemented by a computer. This means that the steps (or essentially all steps) of the method are executed by at least one computer or any system. Therefore, the steps of the method may be executed fully or semi-automatically by the computer. In the example, at least some steps of the method can be triggered through user-computer interaction. The required level of user-computer interaction can depend on the anticipated level of automation and be balanced with the need to fulfill the user's wishes. In the example, this level of automation can be user-defined and / or predefined.

[0139] A typical example of a computer implementation of the method is to use a system suitable for that purpose to execute the method. This system may include a processor coupled to memory and a graphical user interface (GUI), with a computer program containing instructions for executing the method stored in the memory. The memory may also store a database. The memory is any hardware suitable for such storage and may comprise several physically distinct parts (e.g., one part for the program, and another part for the database).

[0140] Figure 30 An example of a system is shown, where the system is a client computer system, such as a user's workstation.

[0141] The client computer in this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000, and random access memory (RAM) 1070 also connected to the bus. The client computer also includes a graphics processing unit (GPU) 1110 associated with video random access memory 1100 connected to the bus. The video RAM 1100 is also referred to in the art as a frame buffer. A mass storage device controller 1020 manages access to mass storage devices, such as hard disk drives 1030. Mass storage devices suitable for tangibly representing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; disks such as internal hard disks and removable disks; and magneto-optical disks. Any of the foregoing may be supplemented by or incorporated into a specially designed ASIC (Application-Specific Integrated Circuit). A network adapter 1050 manages access to a network 1060. The client computer may also include a haptic device 1090, such as a cursor control device, a keyboard, etc. A cursor control device is used on the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. Furthermore, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes multiple signal generating devices for inputting control signals to the system. Typically, the cursor control device can be a mouse, with mouse buttons used to generate signals. Alternatively or additionally, the client computer system may include a touchpad and / or a touchscreen.

[0142] The computer program may include computer-executable instructions, including means for causing the system to perform the method. The program may be recorded on any data storage medium, including the system's memory. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as a means, such as a product tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be executed by a programmable processor that executes the instruction program to perform the function of the method by manipulating input data and generating output. Thus, the processor may be programmable and coupled to receive data and instructions from the data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. If desired, the application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language. In any case, the language may be a compiled or interpreted language. The program may be a complete installation program or update program. Any situation where the application program causes the instructions to perform the method on the system. The computer program may alternatively be stored and executed on a server in a cloud computing environment, the server communicating with one or more clients over a network. In this scenario, the processing unit executes the instructions included in the program, thereby enabling the method to be executed in the cloud computing environment.

Claims

1. A computer-implemented method for a machine learning classification function, the classification function being configured to detect a mechanical interface of a CAD model, the CAD model representing a single mechanical part, the method comprising: Obtain a training dataset including training samples, each training sample including a drawing indicating a CAD model representing a single mechanical part, the drawing including: One or more nodes, each node representing a specification surface of the CAD model; each node includes a label, which is one of the following label lists: The main surface of the mechanical interface; Secondary surface of the mechanical interface; The three-level surface of the mechanical interface; The maintaining surface of the mechanical interface; and No interface; and One or more edges, each edge representing a connection between the canonical surfaces represented by the nodes connected by the edge; and The classification function is trained based on the training dataset to classify each node of a graph representing a single mechanical part using the labels in the label list.

2. The method according to claim 1, wherein, Each graph included in the training dataset includes: Each node has a node vector, which is a feature vector representing the attributes of the canonical surface represented by the node; and / or The edge vector of each edge, wherein the edge vector is a feature vector representing the attribute of the connection represented by the edge.

3. The method according to claim 2, wherein: The properties of the canonical surface, represented by each node vector, include: surface type, area, radius, orientation, material, or a combination of the above; and / or The properties of the connection represented by each edge vector include: convexity, concavity, coplanarity, coaxiality, adjacent smoothness, presence of rounded corners, presence of chamfers, presence of connections other than rounded corners or chamfers, or a combination of the above.

4. The method according to any one of claims 1 to 3, wherein, Obtaining the training dataset includes: Obtain the first dataset, which includes CAD models representing mechanical objects; Extract a second dataset from the first dataset, including CAD models representing individual mechanical parts; and For each CAD model in the second dataset, a drawing representing the CAD model is determined.

5. The method according to claim 4, wherein, The determination of the drawing representing the CAD model includes: Determine the specification surfaces of the CAD model, and generate nodes for each determined specification surface; and Determine the connections between the canonical surface pairs of the CAD model, and generate edges for each pair of canonical surfaces.

6. The method according to any one of claims 1 to 5, wherein, Each specification surface is part of a plane, sphere, cone, torus, or cylinder.

7. The method according to any one of claims 1 to 6, wherein, The classification function includes a graph neural network.

8. The method according to any one of claims 1 to 7, wherein, Training the classification function includes sampling nodes of each graph in the training dataset to balance the interface-less label with other labels.

9. The method according to any one of claims 1 to 8, wherein, The classification function further includes a module configured to form a mechanical interface based on the output labels by regrouping adjacent canonical surfaces corresponding to the primary, secondary, tertiary, and sustaining surfaces.

10. A machine learning classification function, said machine learning classification function being obtained according to any one of claims 1 to 9.

11. A computer-implemented method for using the machine learning classification function according to claim 10, the method comprising: Obtain a CAD model representing a single mechanical part; Determine a drawing representing the CAD model, the drawing including: One or more nodes, each node representing a canonical surface of the CAD model; and One or more edges, each edge representing a connection between the canonical surfaces represented by the nodes connected by the edge; and The machine learning classification function is applied to the graph.

12. A computer program comprising instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1 to 9 and / or the method of claim 11.

13. A computer-readable storage medium having the computer program of claim 12 and / or the machine learning classification function of claim 10 recorded thereon.

14. A system comprising a processor coupled to a memory, the memory storing the computer program of claim 12 and / or the machine learning classification function of claim 10.

Citation Information

Patent Citations

  • Orientation of a real object for 3D printing

    EP3327593A1

  • 3D axis machining design

    EP4195088A1