System and method for automatically identifying and restraining fastener components
By using convolutional neural networks in a CAD environment to automatically identify and constrain fasteners, the problem of time-consuming manual fastener constraint is solved, achieving more efficient automated fastener constraint.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DASSAULT SYSTEMES SOLIDWORKS CORP
- Filing Date
- 2025-12-10
- Publication Date
- 2026-06-12
Smart Images

Figure CN122197205A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to model manipulation and implementation for manufacturing assemblies, and more specifically, to automating the classification and constraint of fasteners in assemblies. Background Technology
[0002] Manufactured assemblies typically include multiple fasteners for attaching the assembly components. For example, a large number of fasteners, such as nuts, washers, and bolts, may be used to assemble a machine. These fasteners must be specified as part of the design process and implemented as part of the manufacturing process. The design and manufacture of such assemblies are often performed and / or realized using computer-aided drafting (CAD) systems.
[0003] Each fastener typically mates with (is constrained by) a receiving portion (hole) of an assembly component. In CAD systems, constraining fasteners is usually accomplished by the user dragging the graphic representation of the fastener onto the graphic representation of the receiving hole of the assembly, where the user must manually configure the geometric constraints. For example, a bolt typically has a cylindrical shaft terminating at one end in a plane. Constraining the bolt may include ensuring that a first thread on the cylindrical shaft mates with a second thread on the receiving portion, and ensuring that the proximal end face of the fastener properly mates with the face surrounding the receiving portion of the assembly. Manual constraint can be cumbersome and time-consuming, especially when there are many fasteners in the assembly. Therefore, there is a need in industry to address these drawbacks. Summary of the Invention
[0004] Embodiments of the present invention provide a system and method for automatically identifying and constraining fastener components. In short, the present invention relates to a method for automatically identifying and constraining fastener components of a modeled assembly displayed in a CAD environment. The method detects dragging of components near the assembly, receives a preview image of the dragged component, and provides the preview image to a trained fastener classification neural network. Fastener classification inferences for classifying the dragged component as a fastener are received from the neural network. Fastener receiving portions near the dragging location are identified. The mating surfaces of the fasteners and the mating surfaces of the fastener receiving portions are determined, and the fasteners are constrained using the fastener receiving portions. The CAD system graphically displays the fasteners constrained by the fastener receiving portions.
[0005] Other systems, methods, and features of the present invention will be apparent or become apparent to those skilled in the art upon review of the following figures and detailed description. All such additional systems, methods, and features are intended to be included in this specification, within the scope of the invention, and protected by the appended claims. Attached Figure Description
[0006] The accompanying drawings are included to provide a further understanding of the invention, and these drawings are incorporated in and constitute a part of this specification. The components in the drawings are not necessarily drawn to scale, but rather the emphasis is on clearly illustrating the principles of the invention. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0007] Figure 1A This is a schematic diagram illustrating an exemplary first embodiment of dragging a fastener component toward an assembly in a CAD environment.
[0008] Figure 1B It is shown that... Figure 1A A schematic diagram of the fastener components that mate with the assembly.
[0009] Figure 2 This is a schematic diagram of an exemplary embodiment of a CAD-hosted system for identifying and constraining fastener components.
[0010] Figure 3 This is a flowchart of an exemplary method for training a neural network to classify and identify dragged parts as fasteners.
[0011] Figure 4 This is a flowchart of an exemplary method for automatically identifying dragged fasteners and constraining them to an assembly in a CAD environment.
[0012] Figure 5 It provides information based on Figure 4 A flowchart detailing the automatic constraint of identified fastener components.
[0013] Figure 6 This is a schematic diagram illustrating an example of a system used to perform the functions of the present invention.
[0014] Figure 7A This is a screenshot of the component window in the CAD environment that displays the selected bolt component.
[0015] Figure 7B This is a screenshot of the component window in the CAD environment that displays the selected nut component.
[0016] Figure 8 This is a flowchart of an exemplary method embodiment for determining concentric and coincident mating portions of identified (classified) fasteners.
[0017] Figure 9 This is a detailed description for use Figure 8 The flowchart for determining the concentric mating part of the bolts.
[0018] Figure 10 This is a detailed description for use Figure 8The flowchart for determining the method of bolt overlap mating.
[0019] Figure 11 This is a detailed description for use Figure 8 The flowchart for determining the concentric mating part of the nut or washer.
[0020] Figure 12 This is a detailed description for use Figure 8 The flowchart for determining the overlapping mating parts of the nut or washer.
[0021] Figure 13 This is a flowchart of an exemplary method for automatically fitting a dragged fastener into an assembly receiving portion. Detailed Implementation
[0022] The following definitions are used to interpret the terms applied to the features of the embodiments disclosed herein, and are intended only to define elements within this disclosure.
[0023] As used in this disclosure, "assembly" refers to a workpiece modeled in a CAD environment, such as a machine or structure. An assembly typically comprises multiple parts.
[0024] As used in this disclosure, "component" means an element of an assembly displayed in a CAD environment, or an element added to an assembly, for example, by dragging it from a parts list to a display window depicting the assembly.
[0025] As used in this disclosure, "fastener" means a component used to attach (tighten) two or more other components together. Examples of concentric fasteners include, but are not limited to, nuts, bolts, pins, cotter pins, and washers. Other fasteners, such as cam fasteners, are also possible.
[0026] As used in this disclosure, "pin" refers to a (headless) cylindrical fastener. A pin can be unthreaded, fully threaded, or partially threaded.
[0027] As used in this disclosure, "bolt" refers to a fastener having a cylindrical shaft. Figure 7A The cylindrical shaft has a head located at one end of the shaft. The shaft can be unthreaded, fully threaded, or partially threaded. The head can be, for example, cylindrical, hemispherical, or conical, with a maximum radius greater than the shaft radius. The profile of the head can be, for example, circular or polygonal, and the distal end face of the head can be smooth, may have a recess (e.g., for receiving a drill bit, such as a flathead or Phillips head screwdriver or an Allen wrench), or may have a protrusion.
[0028] As used in this disclosure, "nut" refers to a fastener ( Figure 7BIt has, for example, two parallel planar surfaces and a concentric threaded hole disposed between the two planar surfaces.
[0029] As used in this disclosure, "constraint" refers to a rule or restriction that defines one or more geometric relationships between different parts of a modeled assembly, thereby controlling multiple aspects such as size, position, and orientation. Constraints limit how parts can be moved or manipulated within the modeled assembly.
[0030] As used in this disclosure, "drag" means using a user interface device such as a mouse, trackpad, touchscreen, or virtual reality system to select and move a component from a part source list or menu in a graphical area of the display screen that depicts the modeled assembly.
[0031] As used in this disclosure, "transfer learning" refers to a machine learning technique that uses knowledge gained from one task to improve the performance of a model on a related task. Transfer learning can be analogous to how humans learn new skills by applying previously acquired knowledge. Transfer learning can also be referred to as learning how to learn, knowledge consolidation, and inductive transfer.
[0032] As used in this disclosure, "morphological traversal" refers to the process of systematically examining each of a plurality of geometric surfaces of an assembly component to determine the suitability of those geometric surfaces for a particular purpose (e.g., to mate with another system component).
[0033] As used in this disclosure, "concentric surface" refers to the cylindrical surface of a fastener or accommodating part.
[0034] As used in this disclosure, "coincident surface" refers to a plane or conical surface that coincides with a concentric surface.
[0035] As used in this disclosure, "fitting part" refers to each of the two surfaces in which the first surface and the second surface are mutually constrained.
[0036] As used in this disclosure, a "descriptor" refers to a data structure of parameters for a component in a CAD model, including data describing the geometric features of the component. For example, the geometric data of a fastener may include dimensions such as the length, width, relative angles, radius, threads, etc. of component features.
[0037] Reference will now be made in detail to embodiments of the invention, examples of which are shown in the accompanying drawings. Where possible, the same reference numerals are used in the drawings and description to refer to the same or similar parts.
[0038] As described in the background section, manually constraining fasteners with assembly components in a CAD environment can be cumbersome and time-consuming, especially when a typical assembly may include dozens or even hundreds of fasteners.
[0039] Some CAD systems offer shortcuts for constraining fasteners. These shortcuts involve preparing the fasteners with prerequisite steps to give them specific properties, so that when the fastener is dragged into the assembly, the CAD system finds a receiving portion with the appropriate properties to create the appropriate constraint. Similarly, other existing shortcuts involve selecting a specific geometry of the fastener (e.g., the edge between the face of a bold shaft and the bolt head) and holding down the modifier key while dragging the selected face to trigger the automatic creation of the constraint.
[0040] In contrast, an exemplary embodiment of the present invention provides a system and method for automatically identifying a user-dragted component as a fastener and automatically constraining the identified fastener with an assembly receiving portion near the dragged fastener.
[0041] like Figure 1A As shown, the exemplary fastener bolt 120 has a cylindrical head 121 and a concentric cylindrical shaft 125. The head 121 has a proximal face 122 (adjacent to the shaft 125), a distal face 123 (opposite to the proximal face 122), and a cylindrical face 124. The shaft 125 has a threaded portion 127, a non-threaded cylindrical face 128, and a distal axial face 126.
[0042] Assembly 110 has a top surface 112 with a plurality of receiving holes 116, 117 extending through the top surface 112 into the interior of assembly 110. Each receiving hole 116, 117 has an internal cylindrical surface (not shown) located within assembly 110. Each receiving hole 116, 117 has a bottom surface (not shown) or an outlet hole (not shown) extending from the bottom surface 114 of assembly 110, wherein the receiving holes 116, 117 terminate within the interior of the assembly. In a first exemplary embodiment, a user of a CAD system drags a preview image of part 120 from parts list 150 toward the receiving hole 117 in assembly 110 based on the proximity of the dragged part 120 to the receiving hole 117. For example, the proximity can be a modifiable system parameter. Figure 1B As shown, this embodiment identifies whether component 120 is a fastener, determines whether the mating surface is compatible between fastener 120 and indicated receiving hole 117, automatically determines the corresponding constraint, and mates fastener 120 to receiving hole 117 of assembly 110.
[0043] Each relationship between the fastener 120 and the surface of the assembly 110 is referred to as a constraint that secures the fastener to the assembly. For Figure 1AFor example, the constraints include a shaft surface 128 that mates with the receiving hole 117, a shaft thread portion 127 that mates with the receiving thread (not shown) of the receiving hole 117, and a head proximal end face 122 that mates with the top surface 112 of the assembly. Although Figure 1A-Figure 1B A simplified example is shown, but in some scenarios, additional constraints may exist between bolt 120 and other assembly components (e.g., intermediate components (not shown) that fasten bolt 120 to assembly 110). In this embodiment, once fastener 120 is identified, mating surfaces (constraints) are automatically determined, and fastener 120 automatically mates with receiving hole 117, as further described below.
[0044] like Figure 2 As shown, the exemplary system embodiment is hosted by a CAD environment 200 (e.g., SolidWorks). The system performs three main functional tasks performed by corresponding modules: a training module 300, which trains a convolutional neural network-based classification model to identify and classify fastener components; an identification module 400, which detects dragging of components within the CAD environment 200 and determines whether the dragged component is a fastener; and a constraint module 500, which automatically determines mating surfaces on the fastener and determines constraints between the fastener and corresponding assembly receiving holes adjacent to the dragged fastener. The training module 300 is typically independent of the CAD environment 200, allowing the classification model trained by the training module to be accessed by the identification module 400 and the constraint module 500 within the CAD environment 200.
[0045] In a first exemplary embodiment, a machine learning (ML) classification model is trained to generate and infer fastener types. Figure 3 This is a flowchart 300 of an exemplary method for training a neural network to classify and identify dragged parts as fasteners. It should be noted that any process description or block in the flowchart should be understood as representing a module, segment, code section, or step including one or more instructions for implementing a specific logical function in the process, and those skilled in the art will understand that alternative implementations are included within the scope of the invention, wherein, depending on the function involved, the function may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order.
[0046] As shown in box 310, an image of preview image size is generated for each of the multiple fastener components used to train the model. For example, the preview image can be a PNG file with any image resolution (e.g., 640(W) × 480(H) resolution) and the format used is PNG.
[0047] The training image data is augmented by generating multiple images for each of several single part files for a fastener component, as shown in box 320. For example, the multiple images could be views of the component rotated around different axes. Transfer learning is applied to a base image classification model (e.g., VGG16) to create a fastener classification model, as shown in box 330, as shown in box 340. For example, to train a fastener classifier based on images, a large dataset containing images of all fastener types to be classified can be generated. Typically, the dataset can include thousands of images for each fastener type. CAD model transformations can be used to generate more images from a limited dataset. Any image size can be used, provided there are no size constraints applied by the machine learning model used for classification. The machine learning model is trained using this image dataset according to its documentation. Here, once the model is trained and meets the chosen accuracy criteria, it can be used as a fastener classifier model.
[0048] Figure 4 This shows the use of CAD environment 200 ( Figure 2 Automatically identifies and constrains fastener components 120 in ) Figure 1A A flowchart of a computer-based method. As shown in box 410, it is detected that the user has placed component 120 ( Figure 1A Drag it to assembly 110 displayed in the CAD environment. Figure 1A ) hole (fastener receiving part) 117 ( Figure 1A The component is dragged near the fastener receiving portion 117. The component drag does not need to pause near the fastener receiving portion 117. Here, component 120 ( Figure 1A These can be fasteners, such as bolts, nuts, pins, or washers. Users can source them from any of multiple source locations (e.g., the file system hosted by the CAD environment), the platform, or other files within the user's software session (such as part list 150). Figure 1A ), or drag part 120 from a pre-existing fastener in the assembly file ( )). Figure 1A Alternatively, the dragged component can be created by creating a copy of the fastener component that has already been inserted into the target assembly.
[0049] CAD environment 200 ( Figure 2 Access the dragged component 120 ( Figure 1A The system generates a preview image of the component and feeds it to a trained fastener classification neural network, as shown in box 420. While the preview image can be a standard isometric projection image of the part routinely generated by the host CAD system (e.g., SolidWorks), it can also be an image associated with the dragged component originating outside the CAD system. For example, the preview image could come from the website of a parts supplier for the component, as such isometric images are industry standard.
[0050] The neural network receives the preview image and infers the value of the dragged part 120. Figure 1A Whether it is a fastener is shown in box 430. Here, the neural network infers whether the dragged part 120 is a fastener based on a fastener classification model. Figure 1A Is it a fastener? The size of the fastener preview image is irrelevant to the embodiment of identifying whether the dragged part is a fastener; its only purpose is to determine whether the preview image shows a type of fastener that can be recognized by the trained neural network.
[0051] If the inference indicates that the dragged part 120 is not a fastener, the process exits according to box 435 (“No” branch), as shown in box 480. Here, the neural network returns to the classification of the dragged part 120 as unknown. Conversely, if the neural network infers that the dragged part 120 is a fastener, the method attempts to constrain the fastener 120 to the assembly receiving portion according to box 435 (“Yes” branch), as shown in box 500. Figure 5 The details are described further in the text.
[0052] It should be noted that the classification inference step (box 430) does not test whether the dragged part 120 is a mating part for receiving part 117 near the dragged position. In fact, the classification inference is performed without taking into account the size (scaling) of the dragged part. Advantageously, identification 400 does not require a complete CAD descriptor indicating the detailed geometry of each surface of each fastener for the fastener.
[0053] Constraint 500 Figure 5 This shows the use of CAD environment 200 ( Figure 2 The fastener component 120 identified by automatic constraint in ) Figure 1A A flowchart of a computer-based method.
[0054] As shown in box 440, identify assembly 110 ( Figure 1A Fastener receiving portion 117 (on the fastener near the drag position of the classified fastener 120) Figure 1A For example, the SolidWorks Smart Mates feature provides this functionality. As shown in box 450, it identifies the categorized fasteners 120 (…). Figure 1A The mating surfaces of the fastener are identified. Here, for example, the fastener's topology is accessed via the modeling kernel's API. For example, if fastener 120 is a bolt, the cylindrical shaft 125 face and / or the head proximal face 122 can be identified as mating surfaces. Potential compatible mating surfaces for the receiving portion 117 are also identified.
[0055] As shown in box 452, for example, through a topological traversal of fastener 120 and receiving portion 117, the corresponding geometries of the mating surfaces of the classified fasteners and the mating surfaces of potential receiving portions are compared, as referenced below. Figures 8 to 12 As stated above. If the topology is compatible (according to box 455), then component 120 will be dragged ( Figure 1A Constrained to the accommodating part 117 ( Figure 1A As shown in box 460. The constraints of box 460 can be similar to the constraint process when the mating surfaces have been identified by the user, rather than being automatically identified according to boxes 450, 452, and 455. CAD environment 200 shows as shown in boxes 470 and... Figure 1B The dragged component 120 shown is constrained by the receiving part. Figure 1A ).
[0056] Figure 8 This is a flowchart 800 of an exemplary method embodiment for determining concentric and coincident mating portions of identified (classified) fasteners. As shown in box 810, the classification of the dragged fastener is received. In a first embodiment, the fastener may be classified as a bolt, nut, or washer. As shown in box 820, the cylindrical surfaces of the fastener are identified. Here, the preview image is used only for classification, and the faces are identified using CAD model geometry / topology. As shown in box 830, the identified cylindrical surfaces are grouped by their shared axis. As shown in box 840, this typically results in a single group. The main axis of the fastener is identified as the axis from the group with the most cylindrical surfaces. As shown in box 845, subsequent processing is performed differently depending on the type of fastener. For bolts, the determination of concentric mating portions (box 900) and coincident mating portions (box 1000) is... Figure 9 and Figure 10 The details are as follows: For washers and nuts, the determination of the concentric mating portion (frame 1100) and the overlapping mating portion (frame 1200) is... Figure 11 and Figure 12 It unfolds in the middle.
[0057] Figure 9 This is a detailed description for use Figure 8 The flowchart 900 describes the method for determining the concentric mating portion of a bolt. As shown in box 910, the head end of the bolt is established, which includes obtaining the bolt's boundary frame and centroid (box 920), and calculating the centroid (box 930). The end of the bolt closest to the centroid is determined as the head end of the bolt (box 940). The end of the bolt opposite the head end is determined as the shaft end, as shown in box 950. The cylindrical surface closest to the shaft end is the concentric mating portion, as shown in box 960.
[0058] Figure 10 This is a detailed description for use Figure 8The method for determining the concentric mating part of the bolts is shown in flowchart 1000. As shown in box 1010, after finding the concentric mating part ( Figure 9 (See box 960) Count the remaining non-cylindrical surfaces. If exactly one surface remains (box 1015), that surface is used as the overlapping mating part, as shown in box 1060. If more than one surface remains (box 1015), find the smallest surface smaller than the bolt axis, as shown in box 1020, and use it as the overlapping mating part, as shown in box 1060.
[0059] If no face remains after counting in box 1010, check if the target hole is a countersunk hole, as shown in box 1025. If the hole is not a countersunk hole, no coincident fit is found, as shown in box 1040. If the hole is a countersunk hole, the method obtains a tapered surface on the fastener with the same angle as the hole, as shown in box 1030. Here, the tapered surface must also have the same normal direction as the hole. If exactly one tapered surface exists (box 1035), that surface is used as the coincident fit, as shown in box 1060. If no tapered surface exists, no coincident fit is found, as shown in box 1040. If more than one tapered surface exists (box 1035), the tapered surface closest to the head (box 1050) is used as the coincident fit, as shown in box 1060.
[0060] The method for determining the mating parts is the same as that for nuts and washers. Figure 11 This is a detailed description for use Figure 8 The flowchart 1100 describes the method for determining the concentric mating portion of a nut or washer. As shown in box 1110, the mounting end of the nut / washer is established, which includes obtaining the boundary frame of the nut / washer (box 920) and evaluating the centroid (box 1130). The end of the nut / washer closest to the centroid is determined as the mounting end of the nut / washer (box 1140). Starting from the mounting end, the first cylindrical surface coaxial with the main axis is the concentric mating portion, as shown in box 1150.
[0061] Figure 12 This is a detailed description for use Figure 8 The flowchart 1200 describes the method for determining the overlapping mating portion of a nut or washer. This method obtains a plane on the nut / washer orthogonal to the principal axis, as shown in box 1210, and then obtains the surface closest to the mounting end, as shown in box 1220. As shown in box 1230, this surface is used as the overlapping mating portion.
[0062] Figure 13 Flowchart 1300 provides an overview of an exemplary method embodiment for automatically engaging a dragged fastener into an assembly receiving portion. As shown in box 410, a component is dragged to a drag position near the assembly. The dragged component is identified as a fastener as previously described (see boxes 420, 430). Figure 4See box 800 (see box 800) Figure 8 As shown in box 1305, the method identifies the mating reference for the fastener. If the dragged part is positioned above the rounded edge (box 1305), the method searches for the mating reference geometry of the receiving portion with the rounded edge, as shown in box 1310. If a mating portion is found (box 1315), a preview image of the mating fastener is displayed, as shown in box 1330. If the user drops the dragged fastener (e.g., releases the dragged fastener to complete the drag-and-drop operation), as shown in box 1335, the method inserts the fastener part with the identified mating portion, as shown in box 1350. If the user drags the fastener away from the receiving portion, as shown in box 1345, the process flow returns to box 1305 and continues.
[0063] The system used to perform the functions described in detail above can be a computer, an example of which is... Figure 6 As shown in the schematic diagram. System 600 includes a processor 502, a storage device 504, a memory 506 storing software 508 defining the functions described above, input and output (I / O) devices 510 (or peripheral devices), and a local bus or local interface 512 that allows communication within system 600. The local interface 512 may be, for example, but not limited to, one or more buses, or other wired or wireless connections as known in the art. The local interface 512 may have additional elements omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communication. Furthermore, the local interface 512 may include address, control, and / or data connections to enable proper communication between the aforementioned assemblies.
[0064] Processor 502 is a hardware device used to execute software (particularly software stored in memory 506). Processor 502 can be any custom or commercially available single-core or multi-core processor, central processing unit (CPU), auxiliary processor among multiple processors associated with this system 600, semiconductor-based microprocessor (in the form of a microchip or chipset), microprocessor, or any device typically used to execute software instructions. Although Figure 6 The processor is shown as a single unit, but alternatively, the processor may also include two or more processing units distributed in two or more locations, for example, these processing units may communicate via a communication network in addition to communicating via local interface 512, or instead of local interface 512.
[0065] Memory 506 may include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)), volatile memory elements (e.g., hard disk drives, solid-state drives (SSDs), flash drives, optical drives, magnetic tape), and non-volatile memory elements (e.g., ROM, CDROM, etc.). Furthermore, memory 506 may incorporate electronic, magnetic, optical, holographic, and / or other types of storage media. Note that memory 506 may have a distributed architecture, where various components are geographically separated but accessible by processor 502.
[0066] According to the present invention, software 508 defines the functions performed by system 600. Software 508 in memory 506 may include one or more individual programs, each containing an ordered list of executable instructions for implementing the logical functions of system 600, as described below. Memory 506 may contain an operating system (O / S) 520. The operating system essentially controls the execution of programs within system 600 and provides scheduling, input / output control, file and data management, memory management, communication control, and related services.
[0067] I / O device 510 may include input devices, such as, but not limited to, keyboards, mice / touchpads, haptic sensors, touchscreens, scanners, microphones, barcode readers, QR code readers, etc. Furthermore, I / O device 510 may also include output devices, such as, but not limited to, printers, displays (2D, 3D, virtual reality headsets), transducers, etc. Finally, I / O device 510 may also include devices that enable bidirectional communication via either or a combination of input and output devices, such as full-duplex serial buses (e.g., Universal Serial Bus (USB), such as, but not limited to, interfaces for accessing another device, system, or network), wireless transceivers, copper cables, optical or wireless telephone interfaces, bridges, routers, or other devices. Outputs may include interfaces for controlling manufacturing equipment, such as 3D printers, computerized numerical control (CNC) machines, and / or milling machines.
[0068] When the system 600 is in operation, the processor 502 is configured to execute software 508 stored in memory 506, transfer data to and from memory 506, and generally control the operation of the system 600 according to the software 508, as described above.
[0069] While the fasteners in the exemplary embodiments include concentric fasteners such as nuts, bolts, pins, and washers, alternative embodiments may apply the techniques disclosed above to other types of fasteners.
[0070] It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the invention without departing from the scope or spirit of the invention. In view of the foregoing, the invention is intended to cover modifications and variations thereof, provided they fall within the scope of the appended claims and their equivalents.
Claims
1. A computer-based method for automatically identifying and constraining fastener components in a CAD environment displaying an illustration of an assembly, the method comprising the steps of: Detecting the dragging of the component to a position close to the assembly; Receive a preview image of the dragged component; The preview image is fed into a trained fastener classification neural network; The trained fastener classification neural network receives a fastener classification inference for the dragged component, which classifies the dragged component as a fastener. Identify the fastener receiving portion of the assembly near the drag position; Determine the mating surfaces of the classified fasteners; Determine the mating surfaces of the fastener receiving portion; The fastener is constrained by the fastener receiving portion; and The fasteners constrained by the fastener housing are shown graphically.
2. The method according to claim 1, wherein, The fasteners are selected from a group consisting of bolts, washers, pins and nuts.
3. The method according to claim 1, wherein, The preview image includes an isometric projection.
4. The method according to claim 2, further comprising the step of training the fastener classification neural network, wherein, The training also includes: Generate a preview image set, which includes preview-sized images for each of the multiple fasteners; and The preview image set is expanded using multiple views of one or more of the plurality of fasteners.
5. The method of claim 4, further comprising the step of applying transfer learning to a base image classification model to create a fastener classification model.
6. The method according to claim 1, wherein, Determining the mating surfaces of the classified fasteners further includes: accessing a descriptor that includes geometric data for the features of the fasteners, and performing a topographic traversal of the geometric features of the fasteners.
7. The method according to claim 6, wherein, Determining the mating surfaces of the fastener receiving portion includes performing a topographic traversal of the geometric features of the fastener receiving portion.
8. The method of claim 7 further includes the step of comparing the geometric characteristics of the mating surfaces of the classified fasteners and the mating surfaces of the fastener receiving portion.
9. The method of claim 7, further comprising the step of identifying concentric mating portions and / or overlapping mating portions of the fastener.
10. A computer-based system for automatically identifying and constraining fastener components in a CAD environment displaying illustrations of an assembly, comprising: A training module configured to train a fastener classification neural network; The identification module is configured as follows: Detecting the dragging of the component to a position close to the assembly; Receive a preview image of the dragged component; The preview image is fed into a trained fastener classification neural network; and The trained fastener classification neural network receives a fastener classification inference for the dragged component, which classifies the dragged component as a fastener. as well as The constraint module is configured as follows: Identify the fastener receiving portion of the assembly near the towing location; Determine the mating surfaces of the classified fasteners; Determine the mating surfaces of the fastener receiving portion; The fastener is constrained by the fastener receiving portion; and The fasteners constrained by the fastener housing are shown graphically.
11. The system according to claim 10, wherein, The fasteners are selected from a group consisting of bolts, washers, pins and nuts.
12. The system according to claim 10, wherein, The preview image includes an isometric projection.
13. The system of claim 10, further comprising the step of training the fastener classification neural network, wherein, The training module is configured as follows: Generate a preview image set, which includes preview-sized images for each of the multiple fasteners; and The preview image set is expanded using multiple views of one or more of the plurality of fasteners.
14. The system according to claim 10, wherein, Determining the mating surfaces of the classified fasteners further includes: accessing a descriptor that includes geometric data for the features of the fasteners, and performing a topographic traversal of the geometric features of the fasteners.
15. The system according to claim 14, wherein, Determining the mating surfaces of the fastener receiving portion includes performing a topographic traversal of the geometric features of the fastener receiving portion.