System and method for managing replacement of parts in a cad environment

EP4767246A1Pending Publication Date: 2026-07-01SIEMENS INDUSTRY SOFTWARE INC

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
SIEMENS INDUSTRY SOFTWARE INC
Filing Date
2024-09-27
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing CAD systems lack the ability to ensure proper orientation and maintenance of relationships between parts during the replacement of parts in a CAD environment, often resulting in geometric anomalies.

Method used

A system and method that utilize a processing unit to identify user intent for part replacement, determine face pairs between the new and base parts, compute face pair vectors, and use a machine learning model to calculate constraint creation probabilities, thereby generating and validating placement solutions.

Benefits of technology

The solution ensures proper orientation and maintenance of relationships between parts, reducing manual efforts and preventing geometric anomalies during part replacement in CAD environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024048827_03042025_PF_FP_ABST
    Figure US2024048827_03042025_PF_FP_ABST
Patent Text Reader

Abstract

A system and method for managing replacement of parts in a computer-aided design (CAD) environment is disclosed. The method includes identifying, by a processing unit, a user intent for replacing a first part with a second part in the CAD environment. A plurality of face pairs for the second part and the base part is determined. A face pair vector corresponding to each face pair of the plurality of face pairs is computed. A machine learning model is further used to compute a constraint creation probability for each face pair of the plurality of face pairs based on the corresponding face pair vector. A plurality of placement solutions is generated based on the plurality of face pairs, and one or more relationships that existed between the first part and the base part. The computed constraint creation probabilities for the face pairs in the placement solutions are further used for providing one or more recommendations on a display device.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR MANAGING REPLACEMENT OF PARTS IN A CAD ENVIRONMENTTECHNICAL FIELD

[0001] The present disclosure relates to computer-aided designing, and, more particularly, relates to a system and method for managing replacement of parts in a computer-aided design environment.BACKGROUND

[0002] Typically, computer-aided design (CAD) applications include a command or function to replace parts in a CAD environment. For example, a user of the CAD application may first select an existing part that is be replaced from, for example, an assembly, and also provide a choice of a new part that is to replace the existing part. Subsequently, when the user invokes the replace function, the existing part is replaced by the new part in the assembly. When a replace function is invoked, the new part is to be properly oriented with reference to other parts in the assembly. Further, the new part is to fulfil relationships that existed between the old part and the other parts in the assembly. Further, such replacement should also not introduce any geometric anomalies in the assembly.

[0003] In existing art, there is no way to ensure that the new part is properly oriented with reference to other parts in the assembly, or that relationships that existed between the old part and the other parts in the assembly are fulfilled. These may lead to introduction of geometric anomalies in the assembly when the replace function is used. Consequently, additional manual efforts from the user are provided to align the new part properly.

[0004] In light of the above, there is a need for a system and method to manage replacement of parts in a CAD environment.SUMMARY OF THE INVENTION

[0005] The present disclosure relates to a method and system for managing replacement of parts in a computer-aided design (CAD) environment. In an aspect, the method includes identifying, by a processing unit, a user intent for replacing a first part with a second part in the CAD environment, where the first part is constrained with respect to a base part, in the CAD environment.

[0006] The method further includes determining a plurality of face pairs for the second part and the base part, where each face pair includes a face of each of the second part and the basepart.

[0007] The method further includes computing a face pair vector corresponding to each of the face pairs, where the face pair vector is indicative of geometric features associated with faces of each of the second part and the base part in the face pair. In an embodiment, each of the geometric features is a raw feature or a convoluted feature. In an embodiment, the raw features include face type, radius, area, perimeter, face normal value, curve descriptors, moment descriptors, degree, or any combination thereof. In an embodiment, computing the face pair vector corresponding to each of the face pairs includes computing difference values corresponding to respective geometric features of faces in each face pair, and forming the face pair vector using the difference values computed for the face pair.

[0008] The method further includes using a machine learning model to compute a constraint creation probability for each of the face pairs based on the corresponding face pair vector. The constraint creation probability corresponds to a likelihood of creating a constraint between the faces in the face pair.

[0009] The method further includes generating a plurality of placement solutions based on the face pairs, and one or more relationships that existed between the first part and the base part. In an embodiment, generating the plurality of placement solutions based on the face pairs, and the one or more relationships that existed between the first part and the base part, further includes validating each of the placement solutions based on a predefined set of validation rules.

[0010] The method further includes providing one or more recommendations on a display device based on the computed constraint creation probabilities for the face pairs in the placement solutions. In an embodiment, providing the one or more recommendations based on the computed constraint creation probabilities for the face pairs in the placement solutions further includes computing a score associated with each of the placement solutions based on the computed constraint creation probability associated with each of the face pairs in the placement solution, and generating an output indicative of the placement solutions, on the display device, based on the computed scores.

[0011] In an embodiment, the method may further include updating the assembly by replacing the first part with the second part based on a user selection from the plurality of placement solutions provided in the one or more recommendations.

[0012] In another aspect, the system includes a processing unit and a memory unit communicatively coupled to the processing unit. The memory unit includes a replacement module configured to identify a user intent for replacing a first part with a second part in aCAD environment, where the first part is constrained with respect to a base part, in the CAD environment.

[0013] The replacement module is further configured to determine a plurality of face pairs for the second part and the base part, where each face pair includes a face of each of the second part and the base part.

[0014] The replacement module is further configured to compute a face pair vector corresponding to each of the face pairs, where the face pair vector is indicative of geometric features associated with faces of each of the second part and the base part in the face pair. In an embodiment, computing the face pair vector corresponding to each of the face pairs includes computing difference values corresponding to respective geometric features of faces in each face pair, and forming the face pair vector using the difference values computed for the face pair.

[0015] The replacement module is further configured to use a machine learning model to compute a constraint creation probability for each of the face pairs based on the corresponding face pair vector.

[0016] The replacement module is further configured to generate a plurality of placement solutions based on the face pairs, and one or more relationships that existed between the first part and the base part. In an embodiment, generating the plurality7of placement solutions based on the face pairs, and the one or more relationships that existed between the first part and the base part, further includes validating each of the placement solutions based on a predefined set of validation rules.

[0017] The replacement module is further configured to provide one or more recommendations, on a display device, based on the computed constraint creation probabilities for the face pairs in the placement solutions. In an embodiment, providing the one or more recommendations based on the computed constraint creation probabilities for the face pairs in the placement solutions, further includes computing a score associated with each of the placement solutions based on the computed constraint creation probability associated with each of the face pairs in the placement solution, and generating an output indicative of the placement solutions, on the display device, based on the computed scores.

[0018] In yet another aspect, a non-transitory computer-readable storage medium having machine-readable instructions stored therein, that when executed by a system, cause the system to manage replacement of parts in a CAD environment, as described above, is provided.

[0019] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the following description. The summary is not intended toidentify features or essential features of the claimed subject matter. Further, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.BRIEF DESCRIPTION OF FIGURES

[0020] Figure 1 is a block diagram of an example system capable of managing replacement of parts in a computer-aided design (CAD) environment, according to one embodiment.

[0021] Figure 2 is a schematic representation of a system capable of managing replacement of parts in a CAD environment, according to another embodiment.

[0022] Figure 3 illustrates a block diagram of a system capable of managing replacement of parts in a CAD environment, according to yet another embodiment.

[0023] Figure 4 is a flowchart depicting an example method capable of managing replacement of parts in a CAD environment, according to one embodiment.

[0024] Figures 5A-5C illustrate an example of identifying faces of parts in a CAD environment, according to one embodiment.

[0025] Figure 6 is a process flowchart depicting an example method of training a machine learning model used for computing a constraint creation probability between two parts, according to one embodiment.DETAILED DESCRIPTION

[0026] The present disclosure relates to a method and a system for managing replacement of parts in a computer-aided design (CAD) environment. The term ‘CAD environment,’ as used herein, refers to a CAD environment that includes, but is not limited to, a part modelling environment, assembly environment, draft / detailing / drawing environment. Hereinafter, the term 'CAD environment’ may also be used to refer to a state or environment within a CAD software that helps in assembling or constraining different parts models using, for example, constrained relationships and the like.

[0027] Various embodiments are described with reference to the drawings, where like reference numerals are used in reference to the drawings. Like reference numerals are used to refer to like elements throughout. In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. These specific details need not be employed to practice embodiments. In other instances, well known materials or methods have not been described in detail in order to avoid unnecessarily obscuring embodiments. While the disclosure is susceptible to various modifications and alternativeforms, specific embodiments thereof are show n by way of example in the drawings and will herein be described in detail. There is no intent to limit the disclosure to the particular forms disclosed. Instead, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.

[0028] Figure 1 is a block diagram of an example system 100 capable of managing replacement of parts in a CAD environment, according to one embodiment. The system 100 may be a personal computer, workstation, laptop computer, tablet computer, and the like. In Figure 1, the system 100 includes a processing unit 102, a memory unit 104, a storage unit 106, a bus 108, an input unit 110, and a display unit 112.

[0029] The processing unit 102, as used herein, may be any type of computational 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, explicitly parallel instruction computing microprocessor, graphics processor, digital signal processor, or any other ty pe of processing circuit. The processing unit 102 may also include embedded controllers, such as generic or programmable logic devices or arrays, application specific integrated circuits, single-chip computers, and the like.

[0030] The memory7unit 104 may be non-transitory volatile memory7and non-volatile memory. The memory7unit 104 may be coupled for communication with the processing unit 102, such as being a computer-readable storage medium. The processing unit 102 may execute instructions and / or code stored in the memory unit 104. A variety of computer-readable instructions may be stored in and accessed from the memory7unit 104. The memory7unit 104 may include any suitable elements for storing data and machine-readable instructions, such as read only memory, random access memory7, erasable programmable read only memory, electrically erasable programmable read only memory, a hard drive, a removable media drive for handling compact disks, digital video disks, diskettes, magnetic tape cartridges, memory' cards, and the like.

[0031] In the present embodiment, the memory unit 104 includes a replacement module 114 stored in the form of machine-readable instructions on any of the above-mentioned storage media and may be in communication to and executed by the processing unit 102. The replacement module 114 causes the processing unit 102 to manage replacement of parts in a CAD environment. For example, the replacement module 114 manages the replacement of parts by identifying a user intent for replacing a first part with a second part in a CAD environment, where the first part is in contact with a base part having a plurality' of base partfaces, in the CAD environment. A plurality of face pair vectors are determined for the second part and the base part, where each of the face pair vectors includes geometric features associated with a face of each of the second part and the base part. An ML model is used to determine a constraint creation probability between the base part and the second part based on the face pair vectors. A plurality' of placement solutions are generated based on the face pair vectors and one or more relationships that existed between the first part and the base part. One or more recommendations are provided on a display device based on the plurality of placement solutions. The term ‘placement solution,’ as used herein, refers to a constraint-based formation including face pairs formed by the faces of the base part and the second part. These face pairs, along with the one or more relationships between the faces, enable the second part to be aligned in a specific way’ with respect to the base part. The term ‘constraint,’ as used in the present disclosure, refers to a limitation or restriction imposed upon geometric properties of a component of a design model for maintaining integrity' of at least a portion of the design model, when other portions of the design model are manipulated by a CAD user. For example, constraints may be imposed upon parts of an assembly within the CAD environment, for maintaining positions of parts relative to one another. For example, the constraints establish relative orientation of the parts in the assembly and simulate mechanical relationships between the parts.

[0032] The storage unit 106 may be a non-transitory storage medium that stores a database 116. The database 116 stores assembly files, part files, CAD projects, rules of validation of placement solutions, training dataset used for training of the ML model, etc. The input unit 110 may include input devices such as a keypad, touch-sensitive display, camera (e.g., a camera receiving gesture-based inputs), etc. capable of receiving input from a user for initiating replacement of the first part with the second part in the CAD environment. For example, the input is indicative of the user intent. The input may include indications of the first part in the CAD environment and the second part that is to replace the first part. The display unit 112 may be a device with a graphical user interface displaying the one or more recommendations for the placement solutions. The bus 108 acts as interconnect between the processing unit 102, the memory unit 104, the storage unit 106, the input unit 110, and the display unit 112.

[0033] Those of ordinary' skilled in the art will appreciate that the hardware components depicted in Figure 1 may vary' for particular implementations. For example, other peripheral devices such as an optical disk drive and the like, Local Area Network (LAN) / Wide Area Network (WAN) / Wireless (e.g.. Wi-Fi) adapter, graphics adapter, disk controller, input / output (I / O) adapter also may be used in addition to or in place of the hardware depicted. The depictedexample is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

[0034] The system 100 in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed, and / or an event such as clicking a mouse button may be generated to actuate a response.

[0035] Figure 2 is a schematic representation of a system 200 capable of managing replacement of parts in a CAD environment, according to another embodiment. The system 200 includes a cloud computing system 202 configured for providing cloud services for managing replacement of parts in the CAD environment.

[0036] The cloud computing system 202 includes a cloud communication interface 206, cloud computing hardware and OS 208. a cloud computing platform 210, the replacement module 114, and the database 116. The cloud communication interface 206 enables communication between the cloud computing platform 210, and user devices 212A-N such as smart phone, tablet, computer, etc. via a network 204.

[0037] The cloud computing hardware and OS 208 may include one or more servers on which an operating system (OS) is installed and includes one or more processing units, one or more storage devices for storing data, and other peripherals required for providing cloud computing functionality. The cloud computing platform 210 is a platform that implements functionalities such as data storage, data analysis, data visualization, data communication on the cloud hardware and OS 208 via APIs and algorithm, and delivers the aforementioned cloud services using cloud-based applications (e.g., CAD applications). The cloud computing platform 210 employs the replacement module 114 for providing recommendations for placement solutions, for replacement of a first part with a second part in a CAD environment, as described in Figure 1. The cloud computing platform 210 also includes the database 116 for storing assembly files, part files, CAD projects, validation rules, training dataset used for training of the ML model, etc.

[0038] The user devices 212A-N include graphical user interfaces 214A-N for managing replacement of parts in a CAD environment. Each of the user devices 212A-N may be provided with a communication interface for interfacing with the cloud computing system 202. Users (e.g., CAD engineers) of the user devices 212A-N may access the cloud computing system 202via the graphical user interfaces 214A-N. The graphical user interfaces 214A-N may be specifically designed for accessing the replacement module 114 in the cloud computing system 202. Figure 3 illustrates a block diagram of a system 300 capable of managing replacement of parts in a CAD environment, according to yet another embodiment. For example, the product management system 300 includes a server 302 and a plurality' of user devices 306A-N. Each of the user devices 306A-N is connected to the server 302 via a network 304 (e.g., Local Area Network (LAN), Wide Area Network (WAN), Wi-Fi, etc.). The system 300 is another implementation of the system 100 of Figure 1, where the replacement module 114 resides in the server 302 and is accessed by user devices 306A-N via the network 304.

[0039] The server 302 includes the replacement module 114 and the database 116. The server 302 may also include a processing unit, a memory unit, and a storage unit. The replacement module 114 may be stored on the memory unit in the form of machine-readable instructions and executable by the processing unit. The database 116 may be stored in the storage unit. The server 302 may also include a communication interface for enabling communication with user devices 306A-N via the network 304.

[0040] Figure 4 is a process flowchart 400 depicting an example method of managing replacement of parts in a CAD environment, in accordance with an embodiment. It is to be understood that the system and methods described herein may be implemented in various forms of hardware, software, firmware, special purpose processing units, or a combination thereof. One or more of the present embodiments may take a form of a computer program product including program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processing units, or instruction execution system.

[0041] For the purpose of this description, a computer-usable or computer-readable medium may be any apparatus that may contain, store, communicate, propagate, or transport the program for use by or in connection with the instruct on execution system, apparatus, or device. The medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device); propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium including a semiconductor or solid state memory-, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memorv (ROM), a rigid magnetic disk, optical disk such as compact disk read-only memory (CD-ROM), compact disk read / write, and digital versatile disc (DVD), or any combination thereof. Both processing units and program code for implementing each aspect of the technology may be centralized or distributed (or acombination thereof) as known to those skilled in the art.

[0042] At act 402, a user intent for replacing a first part with a second part in a CAD environment is identified by a processing unit. The first part is constrained with respect to a base part in the CAD environment. Hereinafter, the term ‘constrained’ in the context of two parts refers to a relationship between the two parts where degrees of freedom associated with either of the parts is limited due to the nature of mating with the other part. On the contrary, the term ’unconstrained’ refers to a relationship between two parts where degrees of freedom associated with neither of the parts are affected due to the nature of mating. The term ‘base part,’ as used herein, refers to a part in the CAD environment with which the first part has a relationship. In other words, the first part is constrained with respect to the base part. For example, the first part may be part 502 of Figure 5A. and the base part may be part 504. Further, the second part may be part 506 of Figure 5B. The first part 502 is mated with the base part and is axially aligned with the base part 504. In order to initiate replacement of the first part 502 with the second part 506, the user may select the first part 502 on the user interface, via an input device. The user further selects a ‘Replace’ option to initiate replacement of the first part 502. The user further selects a ’Replace with’ option to choose the second part 506 from a plurality of part files. Upon selecting the second part 506, the processing unit captures the design intent as replacement of the first part 502 with the second part 506 in the CAD environment.

[0043] In an embodiment, the one or more relationships between the first part and the base part are extracted. In an example, the relationship may be extracted as relationship data from an assembly file if the CAD environment corresponds to an assembly. It must be understood that the base part and the first part may have a plurality' of relationships based on orientation of each face of the base part and the first part. For example, a base part face and a first part face may have an axial relationship, while another base part face and another first part face may have a radial relationship. In addition to axial and mate relationships, it is possible for the two faces to have other types of relationships such as, but not limited to, planar, angular, tangential.

[0044] At act 404, a plurality of face pairs for the second part and the base part is determined. Each face pair of the plurality of face pairs includes a face of each of the second part 506 and the base part 502. For example, in case of the base part 504, there are two faces, BFacel (e.g., cylindrical face) and BFace2 (e.g., planar face), as shown in Figure 5C. Similarly, the second part may have faces (e.g., PFacel, PFace2, PFace3. PFace4). Each of the faces may have different geometric features. For example, face pairs are formed only if both faces belong to the same face type. For example, a planar face of the base part may be paired only with a planarface of the second part, a cylindrical face of the base part may be paired only with a cylindrical face of the second part, and so on. In the present example, BFacel is a cylindrical face that may be paired only with the cylindrical faces such as PFace2 or PFace4 of the second part. BFace2 is a planar face that may be paired only with planar faces, such as PFacel or PFace 3, of the second part. Therefore, the face pairs in this example may include <BFacel, PFace2>, <BFacel, PFace4>, <BFace2, PFacel>, and < BFace2, PFace3>.

[0045] At act 406, a face pair vector corresponding to each of the face pairs is computed. Each of the face pair vectors is indicative of geometric features associated with a face of each of the second part and the base part. The face pair vector is a vector formed based on values of geometric features associated with a base part face and a second part face. In the present embodiment, only the base part faces that were part of a constrained relationship with the first part are considered along with all the second part faces for determining the plurality of face pair vectors. In order to determine the face pair vectors, the geometric features corresponding to the faces in the face pair are first identified. The geometric features may be a raw feature or a convoluted feature. The term 'raw feature / as used herein, refers to a geometric feature, the value of which is directly identified from the part file. The term ‘convoluted feature,’ as used herein, refers to a geometric feature of a face, the value of which is computed by averaging values of the geometric feature corresponding to all the faces adjacent to the face. For example, if PFacel is adjacent to PFace2 and PFace3. then a convoluted feature is computed by averaging corresponding raw feature values of PFace2 and PFace3. The raw features may include one or more of face type, radius of the face, area of the face, perimeter of the face, face normal value, curve descriptors, moment descriptors, and degree. Herein, the feature ‘face type’ may be, for example, planar, cylindrical, axial, etc. for a given face. The radius may be equal to the radius value of the axial face, and zero if the face is planar. Curve descriptors and moment descriptors are shape descriptors that codify the shape of the face in numerical format. The ‘degree’ indicates number of faces connected to the specific face.

[0046] The geometric features of a face of each of the base part and the second part is further used to compute feature vectors that form the face pair vectors. In an embodiment, a face pair vector is formed for a face pair (e.g., <BFacel, PFace2>) based on differences between values of respective geometric features. For example, if the radius of BFacel is 10, and the radius of PFace2 is 8, the difference value is 10-8 = 2. Similarly, difference values corresponding to geometric features of the faces are computed. Further, the set of difference values corresponding to the pair of faces is used to form the face pair vector.

[0047] At act 408, a machine learning model is used to compute a constraint creationprobability for each of the face pairs based on the corresponding face pair vector. Herein, the constraint creation probability corresponds to a likelihood of creating a constraint between the faces in the face pair. In other words, the constraint creation probability for a face pair indicates the probability that the faces in the face pair may have a constrained relationship. The machine learning model may be based on known machine learning techniques such as, but not limited to, decision trees, random forests, support vector machines, Navies Bayer classifiers, XGBoost. The machine learning model is pretrained based on different face pair vectors, as explained later with reference to Figure 6. For each face pair vector, the machine learning model generates a value corresponding to a constraint creation probability' for the corresponding face pair. For example, for the face pair vector for BFacel and PFace2, the machine learning model may compute the probability as 0.9. Similarly, probability values corresponding to all possible face pair vectors are computed.

[0048] At act 410, a plurality of placement solutions is generated based on the face pairs, and the one or more relationships that existed between the first part and the base part. The term ‘placement solution / as used herein, refers to a potential solution for mating the second part with the base part. For example, the placement solution specifies specific relationships between faces of the base part and the second part. For example, if there existed an axial relationship between a face of the first part and BPartl, and a planar relationship existed betw een a first part face and BPart2, then a first placement solution may be:<BFacel, PFace2, axial> and <BFace2, PFacel, planar> (1) where in <BFacel, PFace2, axial>, ‘axial' indicates an axial relationship between BFacel and PFace2, and in <BFace2, PFacel, planar> ‘planar' indicates a planar relationship between BFace2 and PFacel.

[0049] Similarly, in the present example, a second placement solution may be:<BFacel, PFace4. axial > and <BFace2, PFacel, planar > (2)

[0050] A third solution in the present example may be:<BFacel, PFace2, axial > and <BFace2, PFace3, planar > (3)

[0051] Similarly, a plurality of placement solutions is generated. In an embodiment, each ofthe placement solutions is validated based on a predefined set of validation rules. The validation rules determine whether the placement solutions generated are based on valid relationships between faces of the base part and the second part. For example, the validations may correspond to checking for over-defined constraints, interferences, clearances, etc., between the faces.

[0052] At act 412, one or more recommendations are provided based on the plurality of placement solutions, on a display device, based on the computed constrain creation probabilities for the face pairs in the placement solutions. The one or more recommendations may include, for example, all the placement solutions generated for the second part. In an embodiment, each such placement solution is assigned a score. The score is computed based on the probability of creating constraints associated with each of the face pairs in the placement solution. For example, for the placement solution (1 ) above, if the probability for the face pairs < BFacel, PFace2> and <BFace2, PFacel> is 0.9 each, the score is 0.9 + 0.9 = 1.8. Similar, for the placement solution (2) above, if the probability for the face pair < BFacel, PFace4> is 0.3 and for <BFace2, PFacel> is 0.9, the score is 1.2. and so on. Further, an output indicative of the placement solution is generated on the displayed device. In an embodiment, each of the placement solutions may be displayed along with the corresponding score.

[0053] In an embodiment, the placement solutions are first ranked based on the corresponding scores. Further, a subset of the placement solutions may be selected based on the ranks. For example, the placement solutions with the top five highest scores may be selected. Further, the selected placement solutions may be displayed in order of ranking, on the display device. The placement solution with the highest score serves as the best placement solution for mating the second part with the base part.

[0054] In a further embodiment, the CAD environment is updated by replacing the first part with the second part based on a user selection from the plurality of placement solutions provided in the one or more recommendations. In other words, the user may choose to apply the placement solution of his choice from the displayed recommendations. For example, the user may click on the placement solution of his choice and select an ‘apply’ option, to update the CAD environment with the second part. In an alternate embodiment, the placement solution with the highest score may be directly applied onto the CAD environment, upon calculation of the scores. Further, the updated CAD environment, where the first part is replaced by the second part, is rendered on the display device.

[0055] Figure 6 is a flowchart depicting an example method 600 for training the machine learning model used for computing a constraint creation probability between the base part andthe second part, in accordance with an embodiment. In the present embodiment, the machine learning model is trained based on training datasets generated by parsing assembly files, using XGBoost algorithm.

[0056] At act 602, historical data associated with a plurality of different CAD files is processed to generate a training dataset. Non-limiting examples of "CAD files' include part files, assembly files, draft files, and CAD project files corresponding to one or more geometric designs. In an embodiment, the historical data is extracted by parsing a plurality of CAD files stored in a predefined location. For example, the user may select the predefined location in order to enable training of the machine learning model over a selected set of CAD files. The historical data thus extracted may include geometric features corresponding to two or more mated parts of each design model (e.g., CAD model, assembly, or part). The geometric features may include raw features and convoluted features, corresponding to faces of the mated parts, as described earlier in act 404 of method 400. The geometric features are further converted into face pair vectors, for each pair of faces corresponding to the mated parts. In an implementation, the face pair vectors are generated in a Comma-Separated Value (.CSV) format file.

[0057] At act 604, each of the face pair vectors are labeled based on whether the corresponding face pair has a constrained relationship or an unconstrained relationship, to generate a labeled dataset. In an example, face pair vectors that correspond to constrained relationships may be labeled as ‘ 1,' and those that correspond to unconstrained relationships may be labeled as ‘0?.

[0058] At act 606, the labeled dataset is preprocessed to generate the training dataset for the Machine Learning model. In an example, preprocessing the labeled dataset may include removal of duplicate rows. In another example, preprocessing may involve using exploratory data analysis to analyze the labeled dataset to identify correlations between extracted geometric features and to remove of redundant geometric features for improving accuracy. In yet another example, preprocessing may involve down-sampling or Synthetic Minority Oversampling Technique (SMOTE) to reduce biases or imbalances in the labeled dataset. The training dataset thus used is further used to train the machine learning model.

[0059] Most probable placement solutions for a new part replacing an old part in a CAD environment based on geometric features associated with the base part and the new part, and based on relationships that existed between the old part and the base part are provided. Consequently, it is provided that the new part is properly oriented with reference to the base part, and that constrained relationships that existed between the old part and the new part is fulfdled. Further, as the user is provided with the most probable placement solutions asrecommendations, manual efforts with respect to identifying different ways of mating a new part with the base part is reduced compared to existing art.

[0060] While the present disclosure has been described in detail with reference to certain embodiments, the present disclosure is not limited to those embodiments. In view of the present disclosure, many modifications and variations would present themselves to those skilled in the art without departing from the scope of the various embodiments of the present disclosure, as described herein.

Claims

WE CLAIM1. A method for managing replacement of parts in a computer-aided design (CAD) environment, the method being computer-implemented and comprising: identifying, by a processing unit, a user intent for replacing a first part with a second part in the CAD environment, wherein the first part is constrained with respect to a base part in the CAD environment; determining a plurality of face pairs for the second part and the base part, wherein each face pair of the plurality of face pairs comprises a face of each of the second part and the base part; computing a face pair vector corresponding to each face pair of the plurality of face pairs, wherein the face pair vector is indicative of geometric features associated with faces of each of the second part and the base part in the respective face pair; computing a constraint creation probability for each face pair of the plurality of face pairs using a machine learning model, based on the corresponding face pair vector, wherein the constraint creation probability corresponds to a likelihood of creating a constraint between the faces in the respective face pair; generating a plurality' of placement solutions based on the plurality' of face pairs, and one or more relationships that existed between the first part and the base part; and providing, on a display device, one or more recommendations based on the computed constraint creation probabilities for the plurality of face pairs in the plurality of placement solutions.

2. The method of claim 1, wherein each of the geometric features is a raw feature or a convoluted feature.

3. The method of claim 2, wherein each of the geometric features is a raw feature, and wherein the raw features comprise face type, radius, area, perimeter, face normal value, curve descriptors, moment descriptors, degree, or any combination thereof.

4. The method of claim 1, wherein computing the face pair vector corresponding to each face pair comprises: computing difference values corresponding to respective geometric features of faces in each face pair of the plurality of face pairs; andforming the face pair vector using the difference values computed for the respective face pair.

5. The method of claim 1, wherein generating the plurality of placement solutions comprises: validating each placement solution of the plurality of placement solutions based on a predefined set of validation rules.

6. The method of claim 1, wherein providing the one or more recommendations comprises: computing a score associated with each placement solution of the plurality of placement solutions based on the computed constraint creation probability associated with each face pair of the plurality7of face pairs in the respective placement solution; and generating an output indicative of the plurality of placement solutions, on the display device, based on the computed scores.

7. The method of claim 1, further comprising: updating the CAD environment, the updating of the CAD environment comprising replacing the first part with the second part based on a user selection from the plurality of placement solutions provided in the one or more recommendations.

8. A system comprising: a processing unit; and a memory unit communicatively coupled to the processing unit, wherein the memory unit comprises: a replacement module configured to: identify a user intent for replacing a first part with a second part in a CAD environment, wherein the first part is constrained with respect to a base part, in the CAD environment; determine a plurality of face pairs for the second part and the base part, wherein each face pair of the plurality of face pairs comprises a face of each of the second part and the base part;compute a face pair vector corresponding to each face pair of the plurality of face pairs, wherein the face pair vector is indicative of geometric features associated with faces of each of the second part and the base part in the respective face pair; use a machine learning model to compute a constraint creation probability for each face pair of the plurality of face pairs based on the corresponding face pair vector, wherein the constraint creation probability corresponds to a likelihood of creating a constraint between the faces in the respective face pair; generate a plurality of placement solutions based on the plurality of face pairs, and one or more relationships that existed between the first part and the base part; and provide one or more recommendations, on a display device, based on the computed constraint creation probabilities for the plurality of face pairs in the plurality of placement solutions.

9. The system of claim 8, wherein the replacement module being configured to compute a face pair vector corresponding to each face pair of the plurality of face pairs comprises the replacement module being configured to: compute difference values corresponding to respective geometric features of faces in each face pair of the plurality of face pairs; and form the face pair vector using the difference values computed for the respective face pair.

10. The system of claim 8, wherein the replacement module being configured to generate the plurality of placement solutions based on the plurality of face pairs and one or more relationships that existed between the first part and the base part comprises the replacement module being configured to: validate each placement solution of the plurality of placement solutions based on a predefined set of validation rules.

11. The system of claim 8, wherein the replacement module being configured to provide the one or more recommendations based on the computed constraint creation probabilities for the plurality of face pairs in the plurality of placement solutions comprises the replacement module being configured to:compute a score associated with each placement solution of the plurality of placement solutions based on the constraint creation probability associated with each face pair of the plurality of face pairs in the respective placement solution; and generate an output indicative of the plurality of placement solutions, on the display device, based on the computed scores.

12. The system of claim 8, wherein the replacement module is further configured to: replace the first part with the second part based on a user selection from the plurality of placement solutions provided in the one or more recommendations, such that the CAD environment is updated.

13. A non-transitory computer-readable storage medium that stores machine-readable instructions executable by a system to manage replacement of parts in a computer-aided design (CAD) environment, the machine-readable instructions comprising: identifying, by a processing unit, a user intent for replacing a first part with a second part in the CAD environment, wherein the first part is constrained with respect to a base part, in the CAD environment; determining a plurality of face pairs for the second part and the base part, wherein each face pair of the plurality of face pairs comprises a face of each of the second part and the base part; computing a face pair vector corresponding to each face pair of the plurality of face pairs, wherein the face pair vector is indicative of geometric features associated with faces of each of the second part and the base part in the respective face pair; using a machine learning model to compute a constraint creation probability for each face pair of the plurality of face pairs based on the corresponding face pair vector, wherein the constraint creation probability corresponds to a likelihood of creating a constraint between the faces in the respective face pair; generating a plurality of placement solutions based on the plurality of face pairs, and one or more relationships that existed between the first part and the base part; and providing one or more recommendations, on a display device, based on the computed constraint creating probabilities for the plurality7of face pairs in the plurality of placement solutions.

14. The non-transitory computer-readable storage medium of claim 13, wherein computing the face pair vector corresponding to each face pair of the plurality of face pairs comprises: computing difference values corresponding to respective geometric features of faces in each face pair of the plurality of face pairs; and forming the face pair vector using the difference values computed for the respective face pair.

15. The non-transitory computer-readable storage medium of claim 13, wherein generating the plurality of placement solutions based on the plurality of face pairs, and the one or more relationships that existed between the first part and the base part comprises: validating each placement solution of the plurality of placement solutions based on a predefined set of validation rules.

16. The non-transitory computer-readable storage medium of claim 13. wherein providing the one or more recommendations based on the computed constraint creating probabilities for the plurality of face pairs in the plurality of placement solutions comprises: computing a score associated with each placement solution of the plurality of placement solutions based on the constraint creation probability associated with each face pair of the plurality of face pairs in the respective placement solution.

17. The non-transitory computer-readable storage medium of claim 13, wherein providing the one or more recommendations based on the computed constraint creation probabilities for the plurality of face pairs in the plurality of placement solutions comprises: generating an output indicative of the plurality of placement solutions, on the display device, based on the computed scores.

18. The non-transitory computer-readable storage medium of claim 13, wherein the machine-readable instructions further comprise: updating the CAD environment, the updating of the CAD environment comprising replacing the first part with the second part based on a user selection from the plurality' of placement solutions provided in the one or more recommendations.