Automatic assembly mate creation for commonly used parts

By applying machine learning technology in 3D CAD systems, predicting the coordinating entities and coordinating types of CAD components, the time-consuming problem of design engineers manually configure the coordinating relationship is solved, and automated component assembly is realized and design efficiency is improved.

CN109783839BActive Publication Date: 2025-04-15DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201811343672.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-11-13
Filing Date
2018-11-13
Publication Date
2025-04-15
Estimated Expiration
2038-11-13

AI Technical Summary

Technical Problem

Design engineers need to manually configure a large number of coordination relationships when using 3D CAD systems, which consumes a lot of time and effort, and the prior art is difficult to effectively utilize the similarity of coordination behavior between commonly used components.

Method used

By applying machine learning technology, commonly used CAD components are identified and the matching entity and corresponding matching types are predicted by using the matching predictor neural network, so as to automatically add the matching relationship of common components to the CAD model.

Benefits of technology

This greatly reduces the time and energy investment of design engineers when configuring the coordination relationship, improves design efficiency, and takes advantage of the matching behavior similarity between commonly used components to achieve automated component assembly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN109783839B_ABST
    Figure CN109783839B_ABST
Patent Text Reader

Abstract

Methods and systems identify commonly used CAD parts and apply machine learning techniques to predict the matable entities and corresponding mating types of these parts to automatically add the parts to the CAD model. An example method includes accessing information about CAD model parts and related mating information stored in a computer database, and dividing the parts into multiple clusters of parts with similar global shape signatures. In response to adding a new part, a contextual signature of an entity of the new part is input into a mating predictor neural network to determine the matable entities of the new part. (i) The contextual signature of the matable entity and (ii) the contextual signature of an entity of another part of the CAD model are input into a mating type predictor neural network to determine the mating type between the entities. A mating between the new part and another part is automatically added based on the determined mating type.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Computer-aided design (CAD) software allows users to construct and manipulate complex three-dimensional (3D) models. Many different modeling techniques can be used to create 3D models. One such technique is solid modeling technology, which provides a topological 3D model, wherein the 3D model is a collection of interconnected topological entities (e.g., vertices, edges, and faces). Topological entities have corresponding supporting geometric entities (e.g., points, trimmed curves, and trimmed surfaces). Trimmed surfaces correspond to topological surfaces defined by edges. CAD systems can be combined with solid modeling and other modeling techniques, such as parametric modeling techniques. Parametric modeling techniques can be used to define various parameters for different features and components of a model, and define the relationship between these features and components based on the relationship between the various parameters.

[0002] Design engineers are typical users of 3D CAD systems. Design engineers design the physical and aesthetic aspects of 3D models and are skilled in 3D modeling techniques. Design engineers create parts and can assemble parts into subassemblies. Subassemblies can also include other subassemblies. Assemblies are designed using parts and subassemblies. Hereinafter, parts and subassemblies are collectively referred to as components.

[0003] The following are definitions of certain terms that may be used when describing 3D CAD systems.

[0004] Assembly: A document in which parts, features, and other components (subassemblies) fit together. Parts and subassemblies can exist in documents separate from the assembly. For example, in an assembly, a piston can be mated with another part (e.g., a connecting rod or a cylinder). This assembly can then be used as a subassembly in an assembly of an engine.

[0005] Body: A body includes topological data and geometric data. Topological data (e.g., faces, edges, and vertices) in a body has corresponding geometric data in the same body. Each vertex corresponds to a point. Each edge corresponds to a curve. Each face corresponds to a surface. An exemplary multi-body part for a wheel may include an axle body, a rim body, and a plurality of spoke bodies for connecting the axle and rim bodies.

[0006] Component: Any part or subassembly within an assembly.

[0007] Edge: A single outer boundary of a feature.

[0008] Entity: Discrete elements such as faces, edges, vertices, etc.

[0009] Face: A selectable area of ​​a model or surface (planar or otherwise) that has boundaries that help define the shape of the model or surface. For example, a rectangular solid has six faces, and a cylindrical solid has three faces.

[0010] Feature: A single shape that combines with other features to form a part or assembly.

[0011] Large Design Review: An assembly review mode that allows very large assemblies to be opened quickly while still retaining functionality useful when conducting a design review of an assembly. In Large Design Review mode, users can: navigate the assembly's design tree, measure distances, create cross sections, hide and show components, and create, edit, and play back walkthroughs. Large Design Review mode may also be referred to as "Graphics Mode."

[0012] Lightweight: A part in an assembly that only has a subset of its model data loaded into memory. The remaining model data is loaded as needed. Lightweight improves performance for large, complex assemblies.

[0013] Mate: A geometric relationship between entities (e.g., parts or bodies) in an assembly. Example mates include angle, coincident, concentric, distance, parallel, perpendicular, and tangent.

[0014] Part: A single 3D object composed of features. A part can consist of multiple bodies. A part can become a component in an assembly. Examples of parts include bolts, pins, and plates, for example.

[0015] Plane: Planar structural geometry.

[0016] Point: A single location in a 3D model.

[0017] Resolved: The state of an assembly component in which it is fully loaded into memory. After resolution, all of the component's model data is available, so its entities can be selected, referenced, edited, used in mates, etc.

[0018] Subassembly: A component that is part of a larger assembly. For example, the steering mechanism of a car is a subassembly of the car.

[0019] Surface: A zero-thickness planar surface or 3D solid with edge boundaries.

[0020] Vertex: A point where two or more edges meet. Vertices can be selected for sketching, dimensioning, and many other CAD operations.

[0021] A solid modeling system may be a feature-based 3D CAD system in which various features are used to construct components. Examples of features include bosses, fillets, chamfers, cutouts, holes, shells, lofts, and sweeps. A CAD system stores the contents of parts, subassemblies, and assemblies in data files. In addition to features, the contents of a CAD data file may include design profiles, layouts, internal components (e.g., bodies), and graphical entities. A common task when designing a CAD assembly is to fit the entities of the CAD assembly together according to geometric relationships. For example, a hole and a pin may fit in a coincident relationship along their axis. Components containing a large number of fits require design engineers to spend a lot of time configuring the fits. Summary of the invention

[0022] The disclosed method and system identify commonly used CAD components and apply machine learning techniques to predict the mateable entities and corresponding mate types of those components. Based on these determinations, commonly used components can be automatically added to the CAD model.

[0023] An example embodiment is a computer-implemented method for automatically creating fits between geometric entities in a CAD model of a real-world object. The example method includes accessing information about CAD model parts and related fit information stored in a computer database. The method also includes dividing the CAD model parts into a plurality of clusters, wherein each cluster includes CAD model parts having similar global shape signatures. A fit predictor neural network is trained using the fit information of the CAD model parts for the clusters. The fit predictor neural network is configured to provide fit information in response to input of a context signature of an entity of the CAD model part. The fit type predictor neural network is trained to identify one or more fit types between two entities. The method also includes: in response to a new part being added to the CAD model, inputting the context signatures of a plurality of entities of the new part into the fit predictor neural network to determine a fitable entity of the new part, and inputting (i) the context signature of the fitable entity of the new part and (ii) the context signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. Based on the determined at least one fit type, at least one fit between the fitable entity of the new part and an entity of another part of the CAD model is automatically added.

[0024] Another example embodiment is a computer-implemented method for automatically creating fits between geometric entities of a CAD model of a real-world object and a new part. The example method includes accessing a fit predictor neural network trained using fit information for the CAD model part, and inputting context signatures of multiple entities of the new part into the fit predictor neural network to determine the fitable entities of the new part. The fit predictor neural network is configured to provide fit information in response to the input of the context signatures of the entities of the CAD model part. The method also includes accessing a fit type predictor neural network trained to identify one or more fit types between two entities, and inputting (i) the context signatures of the fitable entities of the new part and (ii) the context signatures of the entities of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. Based on the at least one determined fit type, at least one fit is automatically added between the fitable entity of the new part and the entity of the other part of the CAD model.

[0025] Another example embodiment is a CAD system, which includes a computer database and a processor operably coupled to the computer database. The computer database is configured to store information about CAD model parts and related fit information. The processor is configured to divide the CAD model parts into a plurality of clusters, wherein each cluster includes CAD model parts having similar global shape signatures. The processor is also configured to train a fit predictor neural network using the fit information of the CAD model parts for clustering. The fit predictor neural network is configured to provide fit information in response to input of a context signature of an entity of the CAD model part. The processor is also configured to train a fit type predictor neural network to identify one or more fit types between two entities. The processor is also configured to: in response to a new part being added to the CAD model, input the context signatures of multiple entities of the new part into the fit predictor neural network to determine the fitable entities of the new part, and input (i) the context signature of the fitable entity of the new part and (ii) the context signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. The processor is also configured to automatically add at least one mate between a mateable entity of the new part and an entity of another part of the CAD model based on the determined at least one mate type.

[0026] Another example embodiment is a CAD system, which includes a computer database and a processor operably coupled to the computer database. The computer database is configured to store information about a CAD model part and related fit information. The processor is configured to access a fit predictor neural network trained with fit information for the CAD model part, and input context signatures of multiple entities of a new part into the fit predictor neural network to determine the fitable entities of the new part. The fit predictor neural network is configured to provide fit information in response to the input of the context signature of the entity of the CAD model part. The processor is also configured to access a fit type predictor neural network, which is trained to identify one or more fit types between two entities, and input (i) the context signature of the fitable entity of the new part and (ii) the context signature of the entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. The processor is also configured to automatically add at least one fit between the fitable entity of the new part and the entity of another part of the CAD model based on the determined at least one fit type.

[0027] In some embodiments, the contextual signature of the entity of the part can be a digital representation of the contextual position of the entity within the part. Such a contextual signature can be calculated by calculating the ratio between the center of mass of the entity and the plane of the bounding box around the part.

[0028] In some embodiments, dividing the CAD model parts into a plurality of clusters may include, for each of a plurality of parts in a computer database, calculating a global shape signature of the part, and clustering the plurality of parts if the global shape signatures of the parts are within a threshold amount.

[0029] In some embodiments, a fit predictor neural network may be trained using fit information for CAD model parts of a cluster having a relatively high density compared to other clusters. A relatively high density of a cluster may indicate that the parts of the cluster are frequently used in the CAD model. A fit predictor neural network may be trained using fit information for all entities of the CAD model parts. Multiple fit predictor neural networks may be trained, each fit predictor neural network corresponding to a different fit type. In some embodiments, a fit type predictor neural network may be trained with (i) fitable entities of a cluster including common parts and (ii) all entities of parts that fit with the common parts.

[0030] In some embodiments, automatically adding at least one mate may include (i) determining multiple instances of a new part that can be mated with another part of the CAD model, (ii) creating instances of the multiple instances of the new part, and (iii) mating entities of all instances of the new part with different entities of the other part of the CAD model. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The foregoing will become apparent from the following more particular description of exemplary embodiments, as illustrated in the accompanying drawings, in which like reference numerals refer to the same parts throughout the different views. The drawings are not necessarily drawn to scale, emphasis instead being placed upon illustrating the embodiments.

[0032] Figure 1A and Figure 1B Example CAD assemblies and parts are shown.

[0033] Figure 2A and Figure 2B The faces of an example CAD part are shown.

[0034] Figure 3 is a flow chart illustrating the automatic creation of coordination between geometric entities in a CAD model of a real-world object according to an example embodiment.

[0035] Figure 4 A representation of an example neural network with associated inputs and outputs for a compatibility predictor is shown in accordance with an example embodiment.

[0036] Figure 5 A representation of an example neural network with associated inputs and outputs for a fit type predictor is shown in accordance with an example embodiment.

[0037] Fig. 6A and Figure 6B An exemplary numerical representation of the contextual position of a face relative to a part is shown.

[0038] Figure 7A-7C A representation of example steps for adding a common part to a CAD assembly is shown in accordance with an example embodiment.

[0039] Figure 8 is a flow chart illustrating a method of automatically creating coordination between geometric entities in a CAD model of a real-world object, according to an example embodiment.

[0040] Fig. 9 is a flow chart illustrating a method of automatically creating fits between geometric entities of a CAD model of a real-world object and a new part according to an example embodiment.

[0041] Fig.10is a schematic diagram of a computer system in which an embodiment may be implemented. DETAILED DESCRIPTION

[0042] The following is a description of example embodiments.

[0043] The disclosed methods and systems apply machine learning techniques to data about previously used CAD model components to identify commonly used components and predict the matable entities and corresponding mating types for these components. Based on these determinations, commonly used components can be automatically added to the CAD model. For example, a manufacturer of chairs may frequently use certain components, such as casters. Frequently used components or their variants may exhibit similarities in form and function, for example, mating behavior in assemblies, loading and boundary conditions in simulations, etc. These similarities are not exploited by current state-of-the-art CAD solutions. The disclosed methods and systems can exploit the similarities in mating behavior between commonly used components and automatically mate these components (e.g., automatically mating a caster with a chair leg in an assembly environment when a user "drags and drops" a caster into a component). Figure 1A Example CAD assemblies of chair variations using various castors are shown. Chairs 105 and 120 include different backrest components 110, 125, but include similar leg and castor components 115, 130. Figure 1B A collection of different castor components is shown.

[0044] Because frequently used parts exhibit similar functional behaviors in CAD assembly, simulation, kinematics, etc., machine learning algorithms can be used to exploit these similarities to automatically create fits for commonly used parts (e.g., casters). This allows the designer to have more time to focus on his goal of designing a better chair, for example, rather than wasting time and energy on repetitive drudgery.

[0045] CAD models are assembled together using mates. For geometrically similar parts, the mates tend to be similar. This fact can be exploited by using machine learning algorithms in conjunction with geometric descriptors of the parts to provide automation of the creation of mates between common components and the rest of the CAD assembly. The following is a specific example involving the automatic mating of casters to a chair. Casters are typically mated to the legs of a chair using two mate constraints: (1) a coincidence constraint between the top surface of the caster's shaft and the corresponding face on the chair leg. Figure 2A The top surface 210 of the caster 205 is highlighted in FIG. (2) Concentricity constraint between the cylindrical surface of the caster shaft and the cylindrical surface of the leg hole. Figure 2B The cylindrical surface 215 of the shaft of the castor 205 is highlighted in FIG.

[0046] Figure 31 is a flow chart illustrating automatic creation of fits between geometric entities in a CAD model of a real-world object according to an example embodiment. The example method 300 includes clustering 305, fitability predictor training 310, fit type predictor training 315, fitable face and fit type prediction 320, and automatic fit creation 325. The following describes Figure 3 Example implementations of elements of the example methods shown in .

[0047] Clustering 305: A database of CAD parts can be searched (crawled) and the parts divided into multiple clusters with similar parts. Each instance of a part used in a component can be added to the whole of parts to be divided into clusters. For example, if five instances of a part are used in a given component, then five instances of the part will be added to the whole of the parts. This can result in an increase in the density of the clusters including these five parts, thereby enabling the determination of clusters with commonly used parts. If a cluster of parts is relatively dense compared to other clusters, it can be inferred that the parts in the cluster are more frequently used in the CAD model. The output of the clustering portion of the example method 300 includes clusters of parts. Clusters of particular interest are clusters that include frequently occurring parts. As a specific example, it can be expected that a database of parts having a chair assembly can be searched to produce clusters of armrests, seats, chair handles, backrests, legs, and casters. Clustering is done based on shape similarity and can be represented based on a global shape signature of the parts according to known methods. Figure 1B An example clustering of casters is shown.

[0048] Matesability predictor training 310: A neural network is trained using data from the mating geometries of the cluster for which the predictor is to be created. The neural network may be input with contextual signatures of the faces of the part, and the output of the neural network is a determination of whether the geometry is mateable. The neural network may be trained using the mateability information for all faces in the cluster. A separate neural network may be trained for each constraint type (e.g., coincident constraints, concentric constraints, etc.). The neural network may be trained only for frequently used parts (e.g., casters in the chair example). Figure 4 An example neural network 400 is shown with associated inputs 405 and outputs 410 for a matability predictor. A face signature 405 may be provided as an input to the neural network 400, and a value of 0 or 1 may be provided as an output 410, for example, where 0 may indicate that the face is not matable and 1 may indicate that the face is matable.

[0049] Fit type predictor training 315: Train another neural network to identify the type of fit between two geometric shapes. One set of geometric shapes can be a cluster of mateable geometries including common components. Another set of geometric shapes can be all the geometries of parts with which common components mate. Cumulative data from all CAD components including frequently occurring parts can be used as training data for the fit type predictor neural network. The input to the neural network can be a combination of the contextual signature of the mateable faces combined with the contextual signatures of all faces of the mating parts. In the specific example of a chair assembly, all the geometries of the legs of the chair can be paired with the mateable faces of the casters. This information can form the input to the neural network, and the output can be, for example, a concentric fit, a coincident fit, or no fit at all. When the neural network is trained with several such faces, it is able to predict the type of fit between two geometric shapes when input with the mateable face from the caster and any face from the chair leg. Figure 5 An example neural network 500 is shown with associated inputs 505, 510 and outputs 515, 520, 525 for a fit type predictor. Face signatures 505, 510 may be provided as inputs to the neural network 500, and a value, such as 0 or 1, may be provided as an output for each fit type 515, 520, 525. For each fit type, 0 may indicate that the face cannot fit for that type, and 1 may indicate that the face can fit for that type.

[0050] A context signature ("face label") for a face can be a numerical representation of the contextual location of the face relative to its specific part. The context signature can include any of the following numerical representations. A bounding box (e.g., an object-oriented bounding box (OOBB)) can be computed for the part having the corners of the bounding box and the corresponding bounding planes of the bounding box. The centroid of the face in the part can be computed, and the ratios of the distances of the centroid of the face to the six sides of the bounding box can be computed. These ratios can be referred to as d1x / d2x, d1y / d2y, d1z / d2z, such as Fig. 6A As shown. Fig. 6A In , when the face is on the top plane of the bounding box, d1x is 0, so Fig. 6A d1x is not shown in . When calculating ratios, the convention of using the smaller distance as the numerator can be followed. These ratios can represent the position of a face in the context of its part. For example, the top face of the stem of a caster has similar ratios along the X, Y, and Z axes, with reasonable variations for casters of different shapes and sizes.

[0051] Similar to the distance ratio, the angle can be calculated between the vectors between the center of mass of the face and the center of mass of the part. These angles of the principal axes with moments of inertia can be expressed as Alpha, Beta, and Gamma, as Figure 6B shown.

[0052] The ratio of the area of ​​a face to the sum of the areas of all faces can be calculated as a mathematical representation of the relative size of the faces in the context of a part.

[0053] The ratio of the square of the perimeter of a face to the area of ​​the face can be calculated as a mathematical representation of the face shape. For example, a circular face has different proportions than a square face. Any or all of the above calculations can form part of a context signature used to represent a face in the context of its parts and used to form the input to a neural network.

[0054] Mates and fit type prediction 320: When a designer inserts a part (e.g., a caster) in an assembly environment, inputs to a fit predictor (e.g., face signatures) may be created and fed to the fit predictor. The fit predictor provides a determination of faces that may be mateable in the newly inserted part. In the specific example of a chair, faces determined to be mateable are provided as input to a fit type predictor. The faces are paired with faces of the legs of the chair to create input for the fit type predictor. The fit type predictor provides as output the type of fit that may be possible between the components (e.g., a caster and the leg of a chair). The predicted fit type may be, for example, concentric, coincident, other fit type, or no fit possible.

[0055] Automatic mate creation 325: After predicting the mate type, mates can be created between common components in the assembly (e.g., casters) and existing parts (e.g., chair legs). Multiple instances of casters can be determined and the relevant mates between the geometry of the casters and the legs of the chair are created. Figure 7A-7C 7 shows a representation of example steps when a CAD designer adds caster 710a to chair assembly 700. Fig. 7A As shown, as described above, a mating surface for caster 710a is identified using a matability predictor. Figure 7B As shown, the mating geometry and mating type are identified using a mating type predictor, as described above. The mating type predictor can also determine multiple instances of casters to be created. In this example, five casters 710a-e are created, each corresponding to a mating point on the leg 705 of the chair 700. Figure 7C As shown, the identified mating geometry and mating type are used to create a mating between casters 710a-710e and legs 705 of chair 700. Although the above example method has been described in the context of a chair assembly, the method can be used with any frequently occurring component. Mates and mating type predictors can be trained for any frequently occurring component with sufficient training data.

[0056] Figure 8is a flow chart illustrating a method 800 for automatically creating fits between geometric entities in a CAD model of a real-world object according to an example embodiment. The example method includes accessing 805 information about CAD model parts stored in a computer database and related fit information. The method also includes partitioning 810 the CAD model parts into a plurality of clusters, wherein each cluster includes CAD model parts having similar global shape signatures. A fit predictor neural network is trained 815 using fit information for the CAD model parts of the clusters. The fit predictor neural network is configured to provide fit information in response to input of context signatures of entities of the CAD model parts. A fit type predictor neural network is trained 820 to identify one or more fit types between two entities. The method also includes: in response to a new part being added to the CAD model, inputting 825 context signatures of a plurality of entities of the new part into the fit predictor neural network to determine the fitable entities of the new part, and inputting (i) the context signatures of the fitable entities of the new part and (ii) the context signatures of entities of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. Based on the determined at least one mate type, at least one mate is automatically added 830 between a mateable entity of the new part and an entity of another part of the CAD model.

[0057] Fig. 9 900 is a flow chart illustrating a method of automatically creating fits between geometric entities of a CAD model and a new part in a real-world object according to an example embodiment. The example method includes accessing 905 a fit predictor neural network trained with fit information for a CAD model part, and inputting 910 context signatures of a plurality of entities of the new part into the fit predictor neural network to determine fitable entities of the new part. The fit predictor neural network is configured to provide fit information in response to input of context signatures of entities of the CAD model part. The method also includes accessing 915 a fit type predictor neural network trained to identify one or more fit types between two entities, and inputting 920 (i) context signatures of fitable entities of the new part and (ii) context signatures of entities of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities. Automatically adding 925 at least one fit between the fitable entity of the new part and an entity of another part of the CAD model based on the determined at least one fit type.

[0058] Fig.10A computerized modeling system 1000 is shown, which includes a CPU 1002, a computer monitor 1004, a keyboard input device 1006, a mouse input device 1008, and a storage device 1010. The CPU 1002, the computer monitor 1004, the keyboard 1006, the mouse 1008, and the storage device 1010 may include commonly available computer hardware devices. For example, the CPU 1002 may include an Intel-based processor. The mouse 1008 may have conventional left and right buttons that a design engineer may press to issue commands to a software program executed by the CPU 1002. As an alternative or supplement to the mouse 1008, the computerized modeling system 1000 may include an indicating device such as a trackball, a touch-sensitive pad, or an indicating device and buttons built into the keyboard 1006. One of ordinary skill in the art will appreciate that another available indicating device may be used to achieve the same results described herein with reference to the mouse device. Other suitable computer hardware platforms are suitable, as will become apparent from the following discussion. Such a computer hardware platform is preferably capable of operating Microsoft Windows NT, Windows 2000, Windows XP, Windows ME, Windows 7, etc., UNIX, Linux or MAC OS operating systems.

[0059] Additional computer processing units and hardware devices (e.g., rapid prototyping, video, and printer devices) may be included in the computerized modeling system 1000. In addition, the computerized modeling system 1000 may include networking hardware and software to enable communication with the hardware platform 1012 and to facilitate communication between a number of computer systems including CPUs and storage systems, as well as other computer components.

[0060] Computer-aided modeling software (e.g., processes 300, 800, and 900) may be stored on storage device 1010 and loaded into and executed by CPU 1002. Modeling software allows design engineers to create and modify 3D models and implement aspects of the embodiments described herein. As described, CPU 1002 uses computer monitor 1004 to display 3D models and other aspects. Using keyboard 1006 and mouse 1008, design engineers may input and modify data associated with the 3D model. CPU 1002 receives and processes input from keyboard 1006 and mouse 1008. CPU 1002 processes input and data associated with the 3D model and makes corresponding and appropriate changes to the data displayed on computer monitor 1004 as commanded by the modeling software. In one embodiment, the modeling software is based on a solid modeling system that can be used to build a 3D model consisting of one or more solid and surface bodies.

[0061] Embodiments may be implemented in digital electronic circuits, or in computer hardware, firmware, software, or a combination thereof. Apparatus may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps may be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and producing output. Embodiments may advantageously be implemented in one or more computer programs executable on a programmable system, the programmable system comprising at least one programmable processor coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly language or machine language if desired; in any case, the language may be a compiled or interpreted language. Suitable processors include general-purpose and special-purpose microprocessors, as non-limiting examples. Typically, the processor receives instructions and data from a read-only memory and / or a random access memory, and in some embodiments, instructions and data may be downloaded over a global network. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing may be supplemented by or incorporated in custom designed ASICs (application specific integrated circuits).

[0062] An advantage of the embodiments disclosed herein is that problems that occur when tolerances applied to parts are incorrectly calculated in existing methods and systems are mitigated. These problems may result in downstream parts being manufactured to size requirements, but cannot be assembled due to interference, which results in expensive rework or scrapped parts. Not only is the calculation of each tolerance completed automatically, but the necessary dimensions, tolerances, and display items are also automatically generated. Another advantage of the disclosed embodiments is that the necessary datum features of the target part are systematically derived given the datums defined on the source component. This is advantageous because correctly applying datums is one of the biggest challenges when applying geometric dimensions and tolerances. The disclosed embodiments address this challenge.

[0063] Although example embodiments have been specifically shown and described, it will be understood by those skilled in the art that various changes may be made in form and detail without departing from the scope of the embodiments covered by the appended claims. For example, an implementation may change the order in which operations are performed. In addition, depending on the needs of the implementation, the specific operations described herein may be implemented as combined operations, eliminated, added, or otherwise rearranged. In addition, specific user interface operations (e.g., click, drag, drag and drop) relative to a mouse are provided as illustrations rather than limitations. Other user interface operations for selecting, moving, placing, etc., models or design data are suitable. The disclosed methods and systems may be implemented, for example, with a three-layer neural network, and the Keras library may be used to train the neural network. The specific topology of the neural network and the specific library used for the implementation may result in different implementations, although the essence of the solution is similar.

Claims

1. A computer-implemented method for automatically creating fits between geometric entities in a computer-aided design (CAD) model of a real-world object, the method comprising: Access information about CAD model parts and related fit information stored in a computer database; dividing the CAD model parts into a plurality of clusters, each cluster including CAD model parts having similar global shape signatures; training a fit predictor neural network using fit information of the CAD model parts for clustering, the fit predictor neural network being configured to provide fit information in response to input of a context signature of entities of the CAD model parts; training a match type predictor neural network to identify one or more match types between two entities; In response to a new part being added to the CAD model: inputting contextual signatures of a plurality of entities of the new part into the compatibility predictor neural network to determine compatible entities of the new part; as well as inputting (i) a contextual signature of a mateable entity of the new part and (ii) a contextual signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities; as well as automatically adding at least one mate between a mateable entity of the new part and an entity of another part of the CAD model based on the determined at least one mate type, Therein, a given contextual signature for a given entity of a given part is a digital representation of one or more contextual locations of the given entity within the given part.

2. The computer-implemented method of claim 1, wherein: The given context signature is calculated by calculating the ratio between the center of mass of the given entity and the plane of a bounding box around the given part.

3. The computer-implemented method of claim 1, wherein: Dividing CAD model parts into multiple clusters includes: For each part of a plurality of parts in the computer database, calculating a global shape signature for the part; and Parts are clustered if their global shape signatures are within a threshold amount.

4. The computer-implemented method of claim 1, wherein: Training the fit predictor neural network includes training the fit predictor neural network using fit information for CAD model parts of a cluster having a relatively higher density compared to other clusters, the relatively higher density of the cluster indicating that parts of the cluster are frequently used in the CAD model.

5. The computer-implemented method of claim 1, wherein: Training the fit predictor neural network includes training the fit predictor neural network using fit information for all entities of the CAD model part.

6. The computer-implemented method of claim 1, wherein: Training the compatibility predictor neural network includes training a plurality of compatibility predictor neural networks, each compatibility predictor neural network corresponding to a different compatibility type.

7. The computer-implemented method of claim 1, wherein: Training the fit predictor neural network includes training the fit predictor neural network using: (i) a cluster of mateable entities including a common part and (ii) all entities of a part that mates with the common part.

8. The computer-implemented method of claim 1, wherein: Automatically add at least one mate including: determining a plurality of instances of the new part that are matable with another part of the CAD model; creating the plurality of instances of the new part; and Entities of all instances of the new part are mated to different entities of another part of the CAD model.

9. A computer-implemented method for automatically creating fits between geometric entities of a computer-aided design (CAD) model of a real-world object and a new part, the method comprising: accessing a fit predictor neural network trained with fit information for a CAD model part, the fit predictor neural network configured to provide fit information in response to an input of a context signature of an entity of the CAD model part; inputting contextual signatures of a plurality of entities of the new part into the compatibility predictor neural network to determine compatible entities of the new part; accessing a fit type predictor neural network trained to identify one or more fit types between two entities; inputting (i) a contextual signature of a mateable entity of the new part and (ii) a contextual signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities; as well as automatically adding at least one mate between a mateable entity of the new part and an entity of another part of the CAD model based on the determined at least one mate type, Therein, a given contextual signature for a given entity of a given part is a digital representation of one or more contextual locations of the given entity within the given part.

10. A computer-aided design (CAD) system comprising: a computer database configured to store information about CAD model parts and related fit information; as well as a processor operably coupled to the computer database and configured to: dividing the CAD model parts into a plurality of clusters, each cluster including CAD model parts having similar global shape signatures; training a fit predictor neural network using fit information of the CAD model parts for clustering, the fit predictor neural network being configured to provide fit information in response to input of a context signature of entities of the CAD model parts; training a match type predictor neural network to identify one or more match types between two entities; In response to a new part being added to the CAD model: inputting contextual signatures of a plurality of entities of the new part into the compatibility predictor neural network to determine compatible entities of the new part; as well as inputting (i) a contextual signature of a mateable entity of the new part and (ii) a contextual signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities; as well as automatically adding at least one mate between a mateable entity of the new part and an entity of another part of the CAD model based on the determined at least one mate type, Therein, a given contextual signature for a given entity of a given part is a digital representation of one or more contextual locations of the given entity within the given part.

11. The CAD system of claim 10, wherein: The processor is configured to calculate the given context signature by calculating a ratio between a center of mass of the given entity and a plane of a bounding box around the given part.

12. The CAD system of claim 10, wherein: The processor is configured to divide the CAD model parts into a plurality of clusters by: For each of a plurality of parts in the computer database, calculating a global shape signature for the part; as well as Parts are clustered if their global shape signatures are within a threshold amount.

13. The CAD system of claim 10, wherein: The processor is configured to train the fit predictor neural network using fit information for CAD model parts of a cluster having a relatively higher density compared to other clusters, the relatively higher density of the cluster indicating that parts of the cluster are frequently used in the CAD model.

14. The CAD system of claim 10, wherein: The processor is configured to train the fit predictor neural network using fit information for all entities of the CAD model part.

15. The CAD system of claim 10, wherein: The processor is configured to train a plurality of compatibility predictor neural networks, each compatibility predictor neural network corresponding to a different fit type.

16. The CAD system of claim 10, wherein: The processor is configured to train the fit predictor neural network using (i) a cluster of mateable entities comprising a common part, and (ii) all entities of a part that mates with the common part.

17. The CAD system of claim 10, wherein: The processor is configured to: determining a plurality of instances of the new part that can mate with another part of the CAD model; creating the plurality of instances of the new part; and Entities of all instances of the new part are mated to different entities of another part of the CAD model.

18. A computer-aided design (CAD) system, comprising: a computer database configured to store information about CAD model parts and related fit information; as well as a processor operably coupled to the computer database and configured to: accessing a fit predictor neural network trained with fit information for a CAD model part, the fit predictor neural network configured to provide fit information in response to an input of a context signature of an entity of the CAD model part; inputting contextual signatures of a plurality of entities of a new part into the compatibility predictor neural network to determine compatible entities of the new part; accessing a fit type predictor neural network trained to identify one or more fit types between two entities; inputting (i) a contextual signature of a mateable entity of the new part and (ii) a contextual signature of an entity of another part of the CAD model into the fit type predictor neural network to determine at least one fit type between the entities; as well as automatically adding at least one mate between a mateable entity of the new part and an entity of another part of the CAD model based on the determined at least one mate type, Therein, a given contextual signature for a given entity of a given part is a digital representation of one or more contextual locations of the given entity within the given part.

19. A computer program product having stored thereon a computer program, which, when executed by a processor, enables the processor to perform the method according to any one of claims 1 to 9.