Methods and systems for generating geometric components using machine learning models

By using a trained machine learning model to automatically perform geometric operations in a CAD environment, the efficiency and error problems encountered by beginners in generating geometric components are solved, achieving efficient and accurate geometric component generation.

CN115699009BActive Publication Date: 2025-12-02SIEMENS LNDUSTRY SOFTWARE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080102373.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-23
Filing Date
2020-08-13
Publication Date
2025-12-02
Estimated Expiration
2040-08-13

AI Technical Summary

Technical Problem

In computer-aided design (CAD) environments, beginners or inexperienced users need to repeat the same operations when generating geometric components, which is time-consuming and error-prone, complicates the design verification process, and increases the time to market for physical objects.

Method used

Employing one or more trained machine learning models, geometric operations are determined based on user-selected CAD commands, and candidate groups are predicted and ranked using feature data to automatically execute geometric operations, reducing human intervention.

Benefits of technology

It improves the efficiency of generating geometric components, reduces errors, and lowers the complexity and time cost of design verification, making it suitable for beginners and intermediate users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115699009B_ABST
    Figure CN115699009B_ABST
Patent Text Reader

Abstract

A method and system for generating geometric components in a computer-aided design (CAD) environment using a machine learning model are disclosed. A computer-implemented method for generating geometric components in a CAD environment includes determining a geometric operation to be performed on at least one geometric component in the CAD environment based on a user-selected CAD command. The method further includes using one or more trained machine learning models to determine one or more candidate groups comprising one or more candidates from the geometric components, said one or more candidates being suitable for performing the geometric operation. The method includes identifying at least one candidate group from said one or more candidate groups to which a geometric operation is to be performed. The method further includes performing the geometric operation on said one or more candidates in the identified candidate group.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates generally to the field of computer-aided design (CAD), and more particularly to methods and systems for generating geometric components in a CAD environment using machine learning models. Background Technology

[0002] Computer-aided design (CAD) applications enable users to create three-dimensional (3D) geometric components of physical objects via a graphical user interface (GUI). Users can manually perform numerous operations to generate these geometric components through interaction with the GUI. For example, to create a hole in a rectangular block, a user might have to specify the hole's diameter, location, and length via the GUI. If the user wants holes at multiple locations within the rectangular block, they must select the locations where the holes will be created. If the same operation needs to be performed multiple times on similar entities, the user must repeat the same activities (e.g., translation, scaling, rotation, selection, etc.) over and over. Repeating the same operations multiple times can become time-consuming and monotonous. Furthermore, some of these operations are based on the user's experience and expertise. Therefore, beginners or less experienced users may find these operations difficult to perform without extensive exposure to their role, field, and industry. Consequently, beginners or less experienced users may make mistakes when performing operations on geometric components. These errors are typically identified during the design verification process after the geometric component has been designed. However, correcting these errors can be a cumbersome and time-consuming activity, and may also increase the time-to-market of the physical object. Summary of the Invention

[0003] A method and system for generating geometric components in a computer-aided design (CAD) environment using one or more machine learning models are disclosed. In one aspect, a computer-implemented method for generating geometric components in a CAD environment includes determining a geometric operation to be performed on at least one geometric component in the CAD environment based on a user-selected CAD command. The method then includes using one or more trained machine learning models to determine one or more candidate groups comprising one or more candidates from the geometric component, said one or more candidates being suitable for performing the geometric operation. In embodiments, the method may include generating feature data associated with the geometric component. The feature data includes object feature data associated with the geometric component. The method may include using the one or more trained machine learning models to predict a plurality of candidates associated with the geometric operation to be performed on the geometric component based on the generated feature data. In predicting the plurality of candidates, the method may include using the one or more trained machine learning models to calculate the probability that a geometric operation is likely to be performed on each object in the geometric component, and identifying a plurality of candidates suitable for performing the geometric operation based on the probability that a geometric operation is likely to be performed on each object in the geometric component. The method may include creating said one or more candidate groups comprising one or more candidates from said one or more candidates based on predefined grouping rules.

[0004] The method further includes identifying at least one candidate group from the one or more candidate groups to which a geometric operation is to be performed. In embodiments, the method may include calculating a probability value for each candidate group based on probability values ​​associated with candidates in the respective candidate group. Furthermore, the method may include sorting the one or more candidate groups, including the one or more candidates, based on one or more calculated probability values ​​for each of the one or more candidate groups.

[0005] The method further includes performing geometric operations on the one or more candidates in the identified candidate group. Additionally, the method may include displaying geometric components indicating the one or more candidates in the identified candidate group on a graphical user interface. The method may also include identifying the one or more trained machine learning models from a plurality of trained machine learning models based on the geometric operations to be performed on the geometric components.

[0006] On the other hand, a data processing system for generating geometric components in a CAD environment includes a processing unit and a memory unit communicatively coupled to the processing unit. The memory unit includes a component generation module configured to determine a geometric operation to be performed on at least one geometric component in the CAD environment based on a user-selected CAD command. The component generation module is configured to use one or more trained machine learning models to determine one or more candidate groups comprising one or more candidates from the geometric components suitable for performing the geometric operation. The component generation module is further configured to identify at least one candidate group from the one or more candidate groups to which a geometric operation is to be performed. The component generation module is also configured to perform a geometric operation on the one or more candidates in the identified candidate group. Furthermore, the data processing system may include a display unit configured to display, on a graphical user interface, the geometric components indicating the one or more candidates in the identified candidate group.

[0007] The component generation module can also be configured to generate feature data associated with the geometric component. The feature data includes object feature data associated with the geometric component. The component generation module can be configured to use one or more trained machine learning models to predict multiple candidates associated with a geometric operation to be performed on the geometric component based on the generated feature data, and to create one or more candidate groups comprising one or more candidates from the multiple candidates based on predefined grouping rules.

[0008] Furthermore, the component generation module can be configured to use the one or more trained machine learning models to calculate the probability that a geometric operation may be performed on each object in the geometric component, and based on the probability that a geometric operation may be performed on each object in the geometric component, identify the plurality of candidates suitable for performing the geometric operation. The component generation module can be configured to calculate a probability value for each candidate group based on the probability values ​​associated with candidates in the corresponding candidate group. The component generation module can also be configured to sort the one or more candidate groups including the one or more candidates based on one or more calculated probability values.

[0009] The component generation module can also be configured to identify one or more trained machine learning models from a plurality of trained machine learning models based on the geometric operations to be performed on the geometric components.

[0010] In another aspect, a non-transitory computer-readable storage medium is provided in which machine-readable instructions are stored. When executed by a data processing system, the machine-readable instructions cause the data processing system to perform a method for generating geometric components in the aforementioned computer-aided design (CAD) environment.

[0011] This overview is provided to present a simplified selection of concepts, which are further described below. This overview is not intended to identify features or essential features of the claimed subject matter. The claimed subject matter is not limited to implementations that address any or all shortcomings pointed out in any part of this disclosure. Attached Figure Description

[0012] Figure 1 This is a block diagram of a data processing system for generating geometric components using a machine learning model, according to one embodiment.

[0013] Figure 2 This is a flowchart illustrating an exemplary method for generating geometric components in a computer-aided design (CAD) environment using a trained machine learning model, according to one embodiment.

[0014] Figure 3 This is a block diagram of a data processing system for generating geometric components using a trained machine learning model, according to another embodiment.

[0015] Figure 4 This is a block diagram of a data processing system for generating geometric components using a trained machine learning model, according to yet another embodiment.

[0016] Figure 5A This is a block diagram of a component generation module having a single trained machine learning model according to one embodiment.

[0017] Figure 5B This is a block diagram of a component generation module employing multiple trained machine learning models according to another embodiment.

[0018] Figure 6A This is an illustrative representation of an exemplary trained machine learning model for predicting candidates in a geometric model suitable for performing geometric operations, according to one embodiment.

[0019] Figure 6B This is an illustrative representation of another exemplary trained machine learning model for predicting candidates in a geometric model suitable for performing geometric operations, according to another embodiment.

[0020] Figure 7 It is a graphical representation of a statistical model generated by one or more trained machine learning models employed by the component generation module according to an embodiment.

[0021] Figure 8 It is a schematic representation of a geometric component generated by a component generation module according to one embodiment. Detailed Implementation

[0022] A method and system for generating geometric components using a machine learning model are disclosed. Various embodiments are described with reference to the accompanying drawings, wherein the same reference numerals are used in the drawings. The same reference numerals are always used to refer to the same elements. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It is not necessary to practice the embodiments with these specific details. In other examples, well-known materials or methods have not been described in detail in order to avoid unnecessarily obscuring the embodiments. While this disclosure allows for various modifications and alternatives, specific embodiments thereof are shown by way of example in the drawings and will be described in detail herein. This disclosure is not intended to limit it to the specific forms disclosed. Instead, this disclosure is intended to cover all modifications, equivalents, and alternatives that fall within the spirit and scope of this disclosure.

[0023] Figure 1 This is a block diagram of an exemplary data processing system 100 for generating geometric components using one or more trained machine learning models, according to one embodiment. The data processing system 100 may be a personal computer, workstation, laptop computer, tablet computer, etc. Figure 1 In this system, the data processing system 100 includes a processing unit 102, a memory 104, a storage unit 106, a bus 108, an input unit 110, and a display unit 112. The data processing system 100 is a dedicated computer configured to generate geometric components using one or more trained machine learning models.

[0024] The processing unit 102 used herein can be any type of computing circuit, such as, but not limited to, a microprocessor, microcontroller, complex instruction set computing microprocessor, reduced instruction set computing microprocessor, very long instruction word microprocessor, explicit parallel instruction computing microprocessor, graphics processor, digital signal processor, or any other type of processing circuit. The processing unit 102 may also include an embedded controller, such as a general-purpose or programmable logic device or array, application-specific integrated circuit, single-chip computer, etc.

[0025] Memory 104 can be non-transitory volatile memory and non-volatile memory. Memory 104 can be coupled for communication with processing unit 102, such as as a computer-readable storage medium. Processing unit 102 can execute instructions and / or code stored in memory 104. Various computer-readable instructions can be stored in and accessed from memory 104. Memory 104 can include any suitable element for storing data and machine-readable instructions, such as read-only memory, random access memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, hard disk drive, removable media drive for disposing of compact disks, digital video disk, magnetic disk, tape cassette, memory card, etc.

[0026] In this embodiment, memory 104 includes a component generation module 114 that is stored in the form of machine-readable instructions on any of the aforementioned storage media and can communicate with and be executed by processing unit 102. When the machine-readable instructions are executed by processing unit 102, component generation module 114 causes processing unit 102 to: determine geometric operations to be performed on geometric components in a computer-aided design (CAD) environment based on CAD commands selected by the user via a graphical user interface; determine one or more candidate groups including one or more candidates among the geometric components suitable for performing geometric operations using one or more trained machine learning models; identify at least one candidate group from the one or more candidate groups to which geometric operations are to be performed; and perform geometric operations on the one or more candidates in the identified candidate group. Figure 2 The method actions executed by the processing unit 102 to achieve the above functionality are described in more detail.

[0027] Storage unit 106 may be a non-transitory storage medium storing a geometric component database 116 and a machine learning model database 116. The geometric component database 116 stores geometric feature information associated with geometric components. The machine learning model database 118 stores trained machine learning models for identifying candidates among geometric components for performing geometric operations. Exemplary machine learning models may include deep neural network models, random forest models, XGBoost models, and so on. Input unit 110 may include input devices such as a keyboard, a touch-sensitive display, or a camera (e.g., a camera that receives gesture-based input), capable of receiving input signals such as CAD commands for performing geometric operations on geometric components. Display unit 112 may be a device with a graphical user interface (GUI) displaying a multi-dimensional visual representation of geometric components. The GUI may also enable a user to select CAD commands for performing geometric operations on geometric components. Bus 108 serves as an interconnect between processing unit 102, memory 104, storage unit 106, input unit 110, and display unit 112.

[0028] Those skilled in the art will understand that Figure 1 The hardware depicted may vary depending on the specific implementation. For example, other peripheral devices, such as optical disc drives, local area network (LAN) / wide area network (WAN) / wireless (e.g., Wi-Fi) adapters, graphics adapters, disk controllers, and input / output (I / O) adapters, may be used in addition to or in place of the hardware depicted. The examples depicted are provided for illustrative purposes only and are not intended to imply any architectural limitations with respect to this disclosure.

[0029] A data processing system 100 according to an embodiment of the present disclosure includes an operating system employing a graphical user interface (GUI). The operating system allows multiple display windows to be presented simultaneously in the GUI, each providing an interface to different applications or different instances of the same application. A user can manipulate a cursor in the GUI using a pointing device. The cursor position can be changed, and / or events such as clicking a mouse button can be generated to trigger a desired response.

[0030] With appropriate modifications, one of various commercial operating systems can be used, such as Microsoft Windows, a product of Microsoft Corporation located in Redmond, Washington. TM Version of the operating system as described herein.

[0031] Figure 2 This is a flowchart 200 illustrating an exemplary method for generating geometric components in a computer-aided design (CAD) environment using one or more trained machine learning models, according to one embodiment. At action 202, a geometric operation to be performed on the geometric component in the CAD environment is determined based on a user-selected CAD command. The geometric component can be a single part of a physical object or a two-dimensional or three-dimensional CAD model of a part assembly. The geometric operation can be any operation that the CAD application enables to be performed on the geometric component. CAD commands (e.g., edge blending, extrusion, trimming, chamfering, etc.) can enable the geometric operation to be performed on the geometric command. The user can select the CAD command via a graphical user interface of the data processing system 100. For example, consider a user wanting to perform an edge blending operation on a three-dimensional CAD model of a rectangular block. When the user selects the edge blending command via the graphical user interface of the display unit 112, the data processing system 100 determines that the geometric operation to be performed on the rectangular block is edge blending.

[0032] At action 204, one or more trained machine learning models are identified from a plurality of trained machine learning models based on the geometric operation to be performed on the geometric component. Exemplary trained machine learning models may include deep neural networks, random forests, XGBoost, etc. In one embodiment, a single trained machine learning model is selected from a plurality of trained machine learning models, the single trained machine learning model being able to identify one or more candidate groups including candidates suitable for performing geometric operations. For example, a trained deep neural network model is selected from a plurality of trained machine learning models that is able to identify one or more edges in a rectangular block for performing an edge fusion operation. In another embodiment, a plurality of trained machine learning models are selected from a plurality of trained machine learning models that are able to identify one or more candidate groups, the one or more candidate groups including candidates suitable for performing geometric operations. For example, a trained deep neural network model, a random forest model, and an XGBoost model are selected from a plurality of trained machine learning models that are able to identify one or more edges in a rectangular block for performing an edge fusion operation.

[0033] In one exemplary implementation, the data processing system 100 is pre-configured to use one or more trained machine learning models to identify one or more candidate groups. In another exemplary implementation, the data processing system 100 dynamically determines whether to use one or more trained machine learning models to identify one or more candidate groups based on the geometric operation to be performed and / or the availability of suitable trained machine learning models. For example, if the geometric operation is complex, the data processing system 100 may select multiple trained machine learning models from a plurality of trained machine learning models. Similarly, even if the geometric operation is not complex, the data processing system 100 may select multiple trained machine learning models based on the geometric dataset to be processed. If the geometric operation is simple, the data processing system 100 may select a single trained machine learning model from a plurality of trained machine learning models. Geometric operations may be pre-classified into complex geometric operations and simple geometric operations. The pre-classified geometric operations are stored in a pre-classification index. For example, based on the type of geometric operation, the geometric operation is pre-classified as complex or simple. The data processing system 100 may determine whether a geometric operation is complex or simple based on the pre-classification index.

[0034] According to the foregoing embodiments, a trained machine learning model is generated by training a machine learning model based on a candidate training dataset. The candidate training dataset includes: object feature data, such as geometric relationship data and topological relationship data; and behavioral feature data, such as heuristic data, domain data, best practice data, contextual data, and user profile data. For example, object feature data may include the object's type, outline (e.g., straight line, circle, semicircle for edges), length, area, color, distance from the centroid, curvature, shared objects (e.g., two faces sharing an edge or two edges sharing a face), angle between two objects, volume, material, information about adjacent objects (e.g., attributes of the left and right sides of an edge and attributes of the left and right sides of a face), distance of the centroid from the coordinate system, etc. Behavioral feature data may include the history of geometric component or assembly modifications, the difference between the index of the current operation and the operation that created the geometric object, the type of operation that created the geometric object, information about the reference system used for repeatedly placing objects or assembling components, and associated contextual information, view data and its relationship with the selected geometric component, selection settings, etc.

[0035] At action 206, feature data associated with the geometric component is generated. Feature data corresponds to object features within the geometric component. Object features correspond to objects within the geometric component. For example, objects in a rectangular block can include edges, faces, volumes, coordinate systems, planes, etc. Object features can include object type, outline (e.g., straight lines, circles, semicircles for edges), length, area, color, distance from the centroid, curvature, shared objects (e.g., two faces sharing an edge or two edges sharing a face), angle between two objects, volume, material, information about adjacent objects (e.g., attributes of the left and right sides of an edge and attributes of the left and right sides of a face), distance of the volume's centroid from the coordinate system, etc.

[0036] At action 208, multiple candidates in the geometric component are predicted using one or more identified trained machine learning models. In one embodiment, feature data is fed into the trained machine learning model. The trained machine learning model uses the input feature data associated with the geometric component to compute a statistical model (e.g., a sigmoidal activation function) that indicates the probability that a geometric operation is likely to be performed on each object in the geometric component. The probability value of each object in the statistical model is compared to a predetermined threshold. Objects with probability values ​​greater than the predetermined threshold are identified as candidates suitable for performing the geometric operation. For example, when performing an edge fusion operation, objects such as the edges of a rectangular block might have probability values ​​greater than the predetermined threshold. In such cases, the edges of the rectangular block are selected as candidates. When one or more machine learning models are trained based on user behavior and standard best practices, the predictions of candidates in the geometric component may vary from user to user.

[0037] Based on predefined grouping rules, one or more candidate groups are created from multiple candidates, including one or more candidates. The predefined grouping rules can be based on geometric relationships, topological relationships (e.g., edges, faces, entities, vertices, edge types, face types, etc.), context (e.g., similar objects, user preferences, etc.), probability, and so on. For example, all edges of a rectangle are grouped into a first candidate group, the vertical edges of the rectangle are grouped into a second candidate group, and the horizontal edges of the rectangle are grouped into a third candidate group. Alternatively, candidate groups can be formed based on objects with probability values ​​falling within different probability ranges. For example, edges of a rectangle with a probability value between 0.7 and 0.8 are grouped into a first candidate group, edges of a rectangle with a probability value between 0.8 and 0.9 are grouped into a second candidate group, and edges of a rectangle with a probability value between 0.9 and 1.0 are grouped into a third candidate group.

[0038] At action 210, candidate groups to which geometric operations are to be performed are identified from one or more candidate groups. In some embodiments, a probability value for each candidate group is calculated based on a probability value associated with a candidate in the respective candidate group. In these embodiments, one or more candidate groups are sorted based on the calculated probability values ​​of one or more candidate groups, respectively. Thus, at least one candidate group with the highest probability value is identified from one or more candidate groups. For the edge fusion operation, the first candidate group has a probability value of 0.33, the second candidate group has a probability value of 0.21, and the third candidate group has a probability value of 0.15. In such a case, the first candidate group with a probability value of 0.33 is selected for performing the edge fusion operation. Additionally, the geometric components of one or more candidates in the identified candidate groups are displayed on the graphical user interface (GUI). For example, a rectangular block highlighting all edges in the first candidate group is displayed on the GUI.

[0039] At action 212, geometric operations are performed on the candidates in the identified candidate group. For example, an edge merging operation is automatically performed on all edges of the rectangular block. At action 214, the geometric component is output on the graphical user interface. For example, a rectangular block with rounded edges is output on the graphical user interface. A CAD file including the geometric component (e.g., the rectangular block) is generated. In some embodiments, the CAD file can be imported into an additive manufacturing system to manufacture the geometric component (e.g., the rectangular block).

[0040] Figure 3 This is a schematic representation of a data processing system 300 for generating geometric components using a machine learning model, according to another embodiment. In one embodiment, the data processing system 300 includes a cloud computing system 302 configured to provide cloud services for designing geometric components.

[0041] The cloud computing system 302 includes a cloud communication interface 306, cloud computing hardware and OS 308, a cloud computing platform 310, a component generation module 114, a geometric component database 116, and a machine learning model database 118. The cloud communication interface 306 enables the cloud computing platform 310 to communicate with user devices 312A-N, such as smartphones, tablets, and computers, via a network 304.

[0042] The cloud computing hardware and OS 308 may include one or more servers on which an operating system (OS) is installed, and include one or more processing units, one or more storage devices for storing data, and other peripheral devices required to provide cloud computing functionality. The cloud computing platform 310 is a platform that implements functionalities such as data storage, data analysis, data visualization, and data communication on the cloud hardware and OS 308 via APIs and algorithms; and delivers the aforementioned cloud services using cloud-based applications (e.g., computer-aided design applications). The cloud computing platform 310 employs a component generation module 114 for generating geometric components of physical objects using artificial intelligence (AI) algorithms, such as... Figure 2 As described in [the original text]. The cloud computing platform 310 also includes a geometry component database 116 for storing geometry components and / or computer-aided design files for manufacturing components using an added manufacturing process. The cloud computing platform 310 also includes a machine learning model database 118 for storing trained machine learning models to identify candidates among geometry components for performing geometric operations. Exemplary machine learning models may include deep neural network models, random forest models, XGBoost models, and so on. The cloud computing platform 310 may include a combination of dedicated hardware and software built on top of cloud hardware and OS 308.

[0043] According to the foregoing embodiments, the cloud computing system 302 enables users to design geometric components using machine learning models stored in the machine learning model database 118. For example, the component generation module 114 can identify candidate geometric components (e.g., objects such as edges, faces, planes, etc.) and provide geometric operations on these candidates corresponding to CAD commands selected by the user using one or more trained machine learning models. The component generation module 114 can perform geometric operations on the selected candidates in the geometric components. In one embodiment, the cloud computing system 302 can enable users to remotely design geometric components using machine learning models by automatically identifying the objects on which geometric operations will be performed.

[0044] User equipment 312A-N includes a graphical user interface 314A-N for receiving CAD command selections and displaying geometric components. Each of the user equipments 312A-N may be equipped with a communication interface for interfacing with the cloud computing system 302. Users of user equipment 312A-N can access the cloud computing system 302 via the graphical user interface 314A-N. For example, a user can send a request to the cloud computing system 302 to perform geometric operations on the geometric components using a machine learning model. The graphical user interface 314A-N can be specifically configured to access the component generation module 114 in the cloud computing system 302.

[0045] Figure 4 A block diagram of a data processing system 400 for generating geometric components using a machine learning model, according to yet another embodiment, is illustrated. For example, the data processing system 400 includes a server 402 and a plurality of user devices 406A-N. Each of the user devices 406A-N is connected to the server 402 via a network 404 (e.g., a local area network (LAN), a wide area network (WAN), Wi-Fi, etc.). The data processing system 400 is... Figure 1 Another implementation of the data processing system 100, wherein the component generation module 114 resides in the server 402 and is accessed by the user equipment 406A-N via the network 404.

[0046] Server 402 includes a component generation module 114, a geometric component database 116, and a machine learning model database 118. Server 402 may also include a processor, memory, and storage units. The component generation module 114 may be stored in memory as machine-readable instructions and may be executed by the processor. The geometric component database 116 and the machine learning model database 118 may be stored in the storage units. Server 402 may also include a communication interface for enabling communication with client device 406 AN via network 404.

[0047] When executing machine-readable instructions, the component generation module 114 causes the server 402 to determine the object on which geometric operations will be performed using a machine learning algorithm, and performs geometric operations on the object to generate geometric components. Figure 2 The method actions executed by server 402 to achieve the aforementioned functionality are described in more detail.

[0048] User equipment 406A-N includes a graphical user interface 408A-N for receiving CAD command selections and displaying geometric components. Each of the user equipments 406A-N may be equipped with a communication interface for interfacing with server 402. A user of user equipment 406A-N can access server 402 via the graphical user interface 408A-N. For example, a user can send a request to server 402 to perform geometric operations on geometric components using a machine learning model. The graphical user interface 408A-N may be specifically configured to access component generation module 114 in server 402.

[0049] Figure 5A This is a block diagram of a component generation module 114 having a single trained machine learning model according to one embodiment. Figure 5A As shown, the component generation module 114 employs a single trained machine learning model 502 to identify candidates suitable for performing geometric operations on the geometric components. The trained machine learning model 502 can be a deep neural network model, an XGBoost model, a random forest model, etc. The trained machine learning model 502 receives feature data 504 as input. Feature data 504 can correspond to object features associated with the geometric components. In some embodiments, feature data 504 is in the form of categorical feature data and numerical feature data. Before being input into the trained machine learning model 502, the feature data 504 is labeled, encoded, and normalized. For example, information associated with object features is used to label the feature data. The trained machine learning model 502 analyzes the feature data 504 and calculates a probability value 506 associated with each object in the feature data 504. The probability value 506 indicates the probability that an object is eligible as a candidate for performing a geometric operation. For example, if the object is an edge, then when the geometric operation is an edge fusion operation, the object has a higher probability of being eligible as a candidate compared to a face of the geometric component.

[0050] Figure 5B This is a block diagram of a component generation module 114 employing multiple trained machine learning models 552-556 according to another embodiment. Figure 5B As shown, the component generation module 114 employs trained machine learning models 552-556. The trained machine learning models 552-556 can be different machine learning models, such as deep neural network models, XGBoost models, random forest models, etc. Figure 6A and 6BAn exemplary trained machine learning model is illustrated. The trained machine learning models 552-556 are capable of calculating the probability of performing a geometric operation on each object in the geometric component. The trained machine learning models 552-556 are fed feature data 558. Therefore, each of the trained machine learning models 552-556 analyzes the feature data 558 and calculates probability values ​​560-566. Probability values ​​560-564 indicate the suitability of the object features in the geometric component for performing the geometric operation. The probability values ​​560-564 output by the trained machine learning models 552-556 are fed to the voting module 566.

[0051] Voting module 566 calculates a final probability value 568 based on probability values ​​552-556. In one embodiment, voting module 566 calculates an average probability value 568 for each object feature in the geometric component. For example, voting module 566 calculates a constant (e.g., 0.33 in the case of three machine learning models) and the product of the probability values ​​560-564 associated with each object feature in the geometric component. Voting module 566 then generates an average probability value 568 for each object by summing the normalized probability values ​​of each object feature from the trained machine learning models 552-556. The average probability value 568 for each object feature is compared to a predetermined threshold. If the average probability value 568 for each object feature is greater than the predetermined threshold, the object feature is considered a candidate suitable for performing the geometric operation. Those skilled in the art will recognize that the accuracy of predicting candidates suitable for performing the geometric operation can be improved when multiple trained machine learning models are used.

[0052] Figure 6A This is a schematic representation of an exemplary trained machine learning model 600 for predicting candidates in a geometric component suitable for performing geometric operations, according to one embodiment. The machine learning model 600 may correspond to... Figure 5A Machine learning model 502 or Figure 5B Any one of the machine learning models 552-556. Figure 6A The machine learning model 600 shown is a deep neural network model. The deep neural network model 600 includes an input layer 604, hidden layers 606, and an output layer 608. Each layer from 604 to 608 includes one or more nodes. Each node is associated with a coefficient.

[0053] The deep neural network model 600 is recursively trained using a training dataset to accurately predict candidates in the geometric components suitable for performing specific geometric operations (e.g., edge blending, extrusion, assembly, etc.) on the geometric components. The training dataset may include object feature data and behavioral feature data. During training, the coefficients assigned to each node of layers 604-608 are refined until the output (e.g., probability value) at output layer 608 matches the expected output (e.g., expected probability value). In one embodiment, the deep neural network model 600 is trained before being deployed in the component generation module 114. In another embodiment, the deep neural network model 600 is trained in self-learning mode after deployment in the component generation module 114.

[0054] When the component generation module 114 deploys the deep neural network model 600, the deep neural network model 600 processes the input features 602 associated with the geometric component and outputs probability values ​​610 corresponding to objects in the geometric component, because the output layer 608 has a sigmoidal activation function. The input features 602 correspond to the object features associated with the geometric component.

[0055] Figure 6B This is a schematic representation of another exemplary trained machine learning model 650 for predicting candidates in a geometric component suitable for performing geometric operations, according to another embodiment. Machine learning model 650 may correspond to... Figure 5A Machine learning model 502 or Figure 5B Any one of the machine learning models 552-556. Figure 6B The machine learning model 650 shown is a random forest model. Random forest model 650 is a machine learning algorithm based on ensemble decision trees. Figure 6B As shown, the Random Forest model 650 includes multiple decision trees that use the Gini index to create splits, such that each split reduces the Gini index by a lower level. Each decision tree has nodes that use conditions to determine whether to move to the right or left side of the decision tree. After traversing each decision tree, each data point reaches a leaf node in the decision tree. The leaf node has an output result indicating whether the data point will be in class 0 or class 1. For example, a data point may correspond to an object in a geometric component. Class 0 may indicate that the object is not suitable for performing a geometric operation. Class 1 may indicate that the object is suitable for performing a geometric operation. The results of all decision trees are used to identify objects that will be suitable for performing a geometric operation (e.g., candidates). For example, the probability value associated with the object of the geometric operation is calculated by dividing the number of instances of a positive result (e.g., class 1) by the total number of decision trees in the Random Forest model 650.

[0056] Figure 7This is a graphical representation 700 of a statistical model generated by a trained machine learning model employed by the component generation module 114 according to an embodiment. For example... Figure 7 As shown, graphical representation 700 depicts a statistical model (e.g., a sigmoid function) where the predicted probability values ​​range from 0 to 1 along the Y-axis, and the object eigenvalue decomposition ranges from -6 to +6 along the X-axis. Each probability value corresponds to an object feature in a geometric component. The probability value indicates the likelihood that an object will be selected to perform a geometric operation based on its suitability for the operation.

[0057] The component generation module 114 selects probability values ​​higher than a predetermined threshold (e.g., 0.5) based on a statistical model. Then, the component generation module 114 identifies object features in the geometric components corresponding to the selected probability values ​​as candidates. For example, the component generation module 114 identifies the edges of the rectangular block as candidates because edges appear to be suitable candidates for the edge fusion operation. The component generation module 114 groups the candidates into different candidate groups. For example, the component generation module 114 forms three candidate groups (e.g., a first candidate group including all edges of the rectangular block, a second candidate group including the vertical edges of the rectangular block, and a third candidate group including the horizontal edges of the rectangular block). Subsequently, the component generation module 114 selects the candidate group with the highest probability value from the different candidate groups based on the probability values ​​of the candidates in the candidate groups. For example, the component generation module 114 selects the first candidate group for performing the edge fusion operation because the first candidate group has the highest probability value. Therefore, the component generation module 114 performs geometric operations on the candidates in the selected candidate groups. For example, the component generation module 114 applies the edge fusion operation to all edges on the first selected group to generate a rectangular block with fused edges.

[0058] Figure 8 This is a schematic representation of a geometric component 800 generated by a component generation module 114 according to one embodiment. For example... Figure 8 As shown, the component generation module 114 generates a rectangular block 800 with merged edges 802 based on a user-selected edge merging operation. In some embodiments, the rectangular block 800 is displayed (e.g., Figure 1 The graphical user interface 801 of the display unit 112.

[0059] According to various embodiments, Figures 1 to 8The data processing system described herein enables users to identify candidates suitable for performing geometric operations using trained machine learning models, and to perform geometric operations on one or more candidates. Data processing allows users to generate error-free geometric components, thereby reducing the time spent from design to sale, regardless of whether the user is a beginner or intermediate level in their role. The data processing system also reduces the cost of rework and validation of geometric components. The data processing system enables users to train and deploy custom-trained machine learning models to perform specific geometric operations based on user behavior and best practices of standard organizations. Custom-trained machine learning models can be trained to identify candidates in geometric components in a context-aware manner.

[0060] Those skilled in the art will recognize that, unless the order of operations is specifically indicated or required, certain actions in the above process may be omitted, performed simultaneously or sequentially, or performed in a different order.

[0061] Those skilled in the art will recognize that, for simplicity and clarity, this document does not depict or describe the complete structure and operation of all data processing systems applicable to the use of this disclosure. Instead, only data processing systems unique to or necessary for understanding this disclosure are depicted and described. The remaining construction and operation of the data processing systems may conform to any of the various current implementations and practices known in the art.

[0062] The systems and methods described herein can be implemented in various forms of hardware, software, firmware, dedicated processors, or any combination thereof. One or more of the embodiments described herein may take the form of a computer program product, including program modules accessible from a computer-usable or computer-readable medium storing program code used by or in connection with one or more computers, processors, or instruction execution systems. For the purposes of this description, a computer-usable or computer-readable medium can be any means that can contain, store, communicate, propagate, or transmit a program used by or in connection with an instruction execution system, apparatus, or device. This medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device), or a propagation medium within itself and its own propagation medium, since signal carriers are not included in the definition of a physical computer-readable medium. Physical computer-readable media include semiconductor or solid-state memory, magnetic tape, removable computer disks, random access memory (RAM), read-only memory (ROM), hard disks, and optical disks, such as compact disc read-only memory (CD-ROM), read / write compact discs, and digital versatile discs (DVDs). As known to those skilled in the art, both the processor and the program code used to implement each aspect of this technology can be centralized or distributed (or a combination thereof).

[0063] While this disclosure has been described in detail with reference to certain embodiments, it is not limited to those embodiments. In view of this disclosure, many modifications and variations will be possible for those skilled in the art without departing from the scope of the various embodiments of this disclosure as described herein. Therefore, the scope of this disclosure is indicated by the appended claims rather than the foregoing description. All changes, modifications, and variations within the meaning and scope of equivalents of the claims are to be considered within that scope.

Claims

1. A computer-implemented method for generating geometric components in a computer-aided design (CAD) environment, the computer-implemented method comprising: The data processing system determines the geometric operations to be performed on at least one geometric component in the CAD environment based on the CAD commands selected by the user. One or more trained machine learning models are used to determine one or more candidate groups, including one or more candidates from the geometric components, the one or more candidates being suitable for performing the geometric operation; Identify at least one candidate group from the one or more candidate groups to which the geometric operation is to be performed; as well as Perform the geometric operation on one or more candidates in the identified candidate group. Determining the one or more candidate groups that include the one or more candidates in the geometric components includes: Generate feature data associated with the geometric component, wherein the feature data includes object feature data associated with the geometric component, the object feature data representing one or more objects; Using the one or more trained machine learning models, based on the generated feature data, to predict multiple candidates in the geometric components suitable for performing the geometric operation; and Based on predefined grouping rules, create one or more candidate groups that include one or more candidates from the plurality of candidates. The plurality of candidates among the predicted geometric components suitable for performing the geometric operation include: Using the one or more trained machine learning models, calculate the probability that the geometric operation may need to be performed on each of the one or more objects in the geometric component; and Based on the probability that the geometric operation may need to be performed on each of the one or more objects in the geometric component, a plurality of candidates suitable for performing the geometric operation are identified. The creation of one or more candidate groups comprising the one or more candidates from the plurality of candidates based on the predefined grouping rules includes: Based on the probability values ​​associated with one or more candidates in the corresponding candidate groups, calculate the probability value for each of the one or more candidate groups, and Identifying the at least one candidate group from the one or more candidate groups includes: The candidate groups, including the one or more candidates, are sorted based on one or more calculated probability values ​​of the one or more candidate groups, respectively.

2. The method according to claim 1, further comprising: Display the geometric components that indicate one or more candidates in the identified candidate group on the graphical user interface.

3. The method according to claim 1, further comprising: Based on the geometric operations to be performed on the geometric components, the one or more trained machine learning models are identified from a plurality of trained machine learning models.

4. A data processing system for generating geometric components in a computer-aided design (CAD) environment, the data processing system comprising: Processing unit; as well as A memory unit communicatively coupled to the processing unit, wherein the memory unit includes a component generation module, the component generation module including instructions executable by the processing unit to perform the following operations: The geometric operation to be performed on at least one geometric component in the CAD environment is determined based on the CAD command selected by the user. One or more trained machine learning models are used to determine one or more candidate groups, including one or more candidates from the geometric components, the one or more candidates being suitable for performing the geometric operation; Identify at least one candidate group from the one or more candidate groups to which the geometric operation is to be performed; as well as Perform the geometric operation on one or more candidates in the identified candidate group. Wherein, in determining the one or more candidate groups including the one or more candidates in the geometric components, the component generation module further includes instructions executable by the processing unit to perform the following operations: Generate feature data associated with the geometric component, wherein the feature data includes object feature data associated with the geometric component, the object feature data representing one or more objects; Using the one or more trained machine learning models, based on the generated feature data, to predict multiple candidates associated with the geometric operation to be performed on the geometric component; and Based on predefined grouping rules, create one or more candidate groups that include one or more candidates from the plurality of candidates. Among the plurality of candidates predicted to be associated with the geometric operation to be performed on the geometric component, the component generation module further includes instructions executable by the processing unit to perform the following operations: Using the one or more trained machine learning models, calculate the probability that the geometric operation may need to be performed on each of the one or more objects in the geometric component; and Based on the probability that the geometric operation may need to be performed on each of the one or more objects in the geometric component, a plurality of candidates suitable for performing the geometric operation are identified. The creation of one or more candidate groups comprising the one or more candidates from the plurality of candidates based on the predefined grouping rules includes: Based on the probability values ​​associated with candidates in the corresponding candidate groups, calculate the probability value for each of the one or more candidate groups, and Wherein, in identifying the at least one candidate group from the one or more candidate groups, the component generation module further includes instructions executable by the processing unit to perform the following operations: The candidate groups, including the one or more candidates, are sorted based on one or more calculated probability values ​​of the one or more candidate groups, respectively.

5. The data processing system according to claim 4, further comprising: The display unit is configured to display the geometric components indicating one or more candidates from the identified candidate group on a graphical user interface.

6. The data processing system according to claim 4, wherein, The component generation module further includes instructions executable by the processing unit to perform the following operations: identifying one or more trained machine learning models from a plurality of trained machine learning models based on the geometric operations to be performed on the geometric component.

7. A non-transitory computer-readable storage medium storing machine-readable instructions executable by a data processing system for causing the data processing system to perform the method of any one of claims 1 to 3.

Citation Information

Patent Citations

  • Design-model management using a geometric criterion

    US20180032646A1

  • Dental CAD automation using deep learning

    US20190282344A1