How to duplicate matching parts within an assembly
The CAD system uses a 'mate helper' to analyze and replicate part constraints in modeled assemblies, addressing human error and inefficiencies in current CAD systems by automating the identification of similar geometries for constraint replication.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- DASSAULT SYSTEMES SOLIDWORKS CORP
- Filing Date
- 2021-12-21
- Publication Date
- 2026-05-25
AI Technical Summary
Current CAD systems require manual iteration and are prone to human error when inserting, orienting, and constraining parts in a modeled assembly, particularly for fasteners, which is cumbersome and time-consuming.
A CAD system that analyzes the geometry of selected parts and their adjacent regions to automatically replicate the placement and constraints of a part, using a 'mate helper' to identify and suggest similar geometries for constraint replication with minimal user input.
Reduces human error and streamlines the process of replicating part constraints by automatically identifying and suggesting similar geometries, thereby improving efficiency and reducing manual effort.
Smart Images

Figure 0007864477000005 
Figure 0007864477000006 
Figure 0007864477000007
Abstract
Description
Technical Field
[0001] Field of the Invention The present invention relates to modeling of physical systems, and more particularly to simplifying iterative processes in a modeled system.
Background Art
[0002] Background of the Invention When generating a computer-aided drafting (CAD) model of a physical assembly, the process of inserting, moving, orienting, and constraining parts can be extremely iterative and thus vulnerable to human error at every step of the process. Typically, the method of repeatedly placing and constraining parts (e.g., fasteners) requires the user to make significant choices for each command such as "Copy with Mates" in a modeling application such as SOLIDWORKS. Similarly, the commands can be restricted to geometries that exist on shared surfaces (faces) and / or have the same geometric properties such as SOLIDWORKS Smart Fasteners. Variations from the same face or geometry require the user to manually duplicate the placement and constraints of another instance of the part before the mating can be replicated through the aforementioned process.
[0003] Figure 1A shows a schematic diagram of a modeled assembly 100 including several plates 110, 140, 150, 160, and 170. The bill of materials for assembly 100 (not shown) includes each of the plates 110, 140, 150, 160, and 170. The first plate 115 includes relief holes 120, 125, and one or more fastener parts 130 (nuts, bolts, washers, etc.) can be used to attach the first plate 110 to the plates 140, 150, and 160. For example, the user inserts the fastener part 130 through the relief hole 120 on the top surface 115 of the first plate, and the threads of the fastener part 130 are accommodated by the screw holes in the second plate 160, thereby creating a fastener part 130 (in this case, a bolt) for fastening the first plate 110 to the second plate 160. The user adds fastener part 130 to the bill of materials. As shown in Figure 1B, the user defines mating 135 which includes fastener part 130 and relief hole 120. These parts and their dimensions are stored in a descriptor table that describes both the individual parts 120, 130 of mating 135 and their relationships to each other.
[0004] Once the first mating 135 is manually defined by the user, to replicate this mating 135 to other locations in the assembly (e.g., within other relief holes 120, 125 within surface 115 of the first plate 110), the user must manually define all locations and mating constraints, or require that each desired location have the same geometry. Selecting each face may involve rotating and / or zooming the model's view so that the user can see and select the part, and such operations may be required for any face selection, making such manual mating cumbersome. Identifying similarly dimensioned geometry on a given face can be very difficult for the human eye, often requiring the user to employ other means (such as measuring tools or trial and error) to determine whether the selected geometry is appropriate. Thus, there is a need in industry to address one or more of the aforementioned drawbacks. [Overview of the project]
[0005] Summary of the Invention Embodiments of the present invention enable a CAD system user to replicate the placement and constraints of a part of interest in a modeled assembly with minimal user input. This process takes one instance of a part partially or completely constrained by a certain geometry as input. The user invokes a process that automatically replicates the placement and constraints of the part in question. This process analyzes the part in question, the constraints between the part and other parts, and the geometry within and adjacent to the area of the part in question. The system performs this analysis, analyzing the faces on which the part is constrained to determine whether other geometries on and / or adjacent to the area of the face and / or within that area are similar to the geometry of the part in question and its adjacent areas. If the system finds similar geometries, it presents the user with a visual indicator of where the similar geometries exist. The user can then choose to have the process automatically replicate the part in question and its constraints at that location, or to exclude this indication and not replicate the part at that location. The process allows the user to select additional geometry on the same or other model faces to replicate the part placement and constraints on those faces using the same analysis described above. In addition, users can use this process to discover geometry that is more or less similar to the geometry within and adjacent to the area of the target part.
[0006] Other systems, methods, and features of the present invention will become apparent to those skilled in the art upon examination of the following drawings and detailed description. All such additional systems, methods, and features are intended to be incorporated herein, within the scope of the present invention, and protected by the appended claims.
[0007] Brief explanation of the drawing This patent or application file includes at least one figure drawn in color. A copy of this patent or patent application publication, including the color drawing, will be provided by the Patent and Trademark Office upon request and payment of the required fees.
[0008] The accompanying drawings are included to provide a further understanding of the invention and are incorporated into this specification and constitute part thereof. The parts in the accompanying drawings are not necessarily dimensionally standardized, and the emphasis is rather on clearly illustrating the principles of the invention. The accompanying drawings illustrate several embodiments of the invention and, together with this specification, are helpful in explaining the principles of the invention. [Brief explanation of the drawing]
[0009] [Figure 1A] This is a schematic diagram of an exemplary first modeled assembly. [Figure 1B] Figure 1A is a schematic diagram of the modeled assembly showing a first user-defined match within the first surface. [Figure 2A] Figure 1B is a schematic diagram of a modeled assembly under an exemplary first embodiment, showing multiple suggested matches based on user-selected matches. [Figure 2B] Figure 2A is a schematic diagram of the modeled assembly showing the deselection of the suggested match. [Figure 2C] Figure 2A is a schematic diagram of the modeled assembly showing the selection of a second additional surface match. [Figure 2D] Figure 2C is a schematic diagram of the modeled assembly showing multiple suggested matches within the second surface based on additional matches. [Figure 3] This is a flowchart of an exemplary embodiment of a method for suggesting a match based on a user-defined first match. [Figure 4] This is a schematic diagram of the second exemplary modeling assembly. [Figure 5A] Figure 4 shows the assembly details of the first group of holes. [Figure 5B] This is a cutaway view showing the characteristics of the first group of holes in Figure 5A. [Figure 6A] Figure 4 shows a second detail of the assembly, illustrating the outline of the holes in the second group of holes. [Figure 6B] This is a cutaway view showing the characteristics of the second group of holes in Figure 6A. [Figure 7A] Figure 4 shows a third detail of the assembly, illustrating the outline of the holes in the third group of holes. [Figure 7B] This is a cutaway view showing the characteristics of the third group of holes in Figure 7A. [Figure 8A] Figure 4 shows the fourth detail of the assembly, illustrating the outline of the holes in the fourth group of holes. [Figure 8B] This is a cutaway view showing the characteristics of the fourth hole group in Figure 8A. [Figure 9] This is a schematic diagram showing an example of a system for performing the functionality of the present invention. [Modes for carrying out the invention]
[0010] Detailed explanation The following definitions are intended to help interpret the terms applied to the features of the embodiments disclosed herein and are intended to define only the elements present in this disclosure.
[0011] As used in this disclosure, “revolute mate” refers to a coincident mate and a concentric mate that are applied simultaneously. A coincident mate compels two flat surfaces to be coplanar. A concentric mate compels two cylindrical or conical surfaces to be coaxial.
[0012] As used in this disclosure, “descriptor” refers to a data structure that describes the characteristics of a local area of geometry within a modeled assembly. Descriptors may include not only text and numeric fields but also fields that indicate relationships with other parts and / or structural features. This use of the term “descriptor” is common in information retrieval systems. For example, in an image retrieval system, a descriptor may include visual features of an image, such as shape, color, or texture, to help classify the image. In a music retrieval system, a descriptor may include characteristics such as rhythm, scale, genre, or artist. In a document retrieval system, a descriptor may include counts such as individual words, author, or language.
[0013] As used in this disclosure, a "parts list" refers to a list of the individual parts of a two-dimensional (2D) or three-dimensional (3D) modeled assembly. In a CAD environment, the parts list can be visually presented as a sidebar to a graphic window that presents a 2D or 3D drawing of the modeled assembly. The parts list and the graphic window can interact with each other. For example, selecting a part in the parts list can highlight the corresponding part in the graphic window, and similarly, selecting a part in the graphic window (e.g., via a mouse click) can highlight the corresponding part in the parts list.
[0014] As used within this disclosure, "model resolution" refers to a parameter of the CAD system that indicates the minimum dimension, and anything smaller than the model resolution is considered by the CAD system to have a length of zero.
[0015] As used within this disclosure, "seed match" refers to a combination of concentric and coincident relationships that are generated between a first part and a second part within a replicated 2D or 3D assembly (e.g., rotational coincidence between a fastening part and a receiving part having an axial hole).
[0016] As used within this disclosure, "unconstrained motion" and "unconstrained mode" refer to a state where parts within a finite element model are free to move in a certain direction without constraints.
[0017] As used within this disclosure, a "face" refers to the surface of a portion of a 2D or 3D modeled assembly.
[0018] Next, reference will be made in detail to embodiments of the invention, examples of which are shown in the accompanying drawings. Whenever possible, the same reference numerals are used in the accompanying drawings and the following specification to refer to the same or similar parts.
[0019] As described in the background technology chapter, current CAD solutions require manual iteration to mate similar parts (which can result in wasted time and unnecessary errors). Exemplary embodiments of the present invention (referred to herein as “mate helper”) analyze the geometry of selected parts and their adjacent regions of identified mates, so that the user no longer needs to visually identify the appropriate geometry elsewhere in the model, and the user can remove unnecessary suggestions or customize the results to suit their needs. Embodiments eliminate the obstacle of human error by replicating constraints from the parts of interest at each suggested location.
[0020] Referring back to Figure 1B, once the first mating 135 is manually defined by the user, the user indicates their desire to replicate the use of this fastener 130 in multiple accommodation locations on the first mating surface 115, and the first embodiment of the present invention identifies and suggests other potential matings 135 within the first surface 115 (as shown in Figure 2A).
[0021] The user can selectively retain or remove these matings 135. For example, as shown in Figure 2B, the user can choose to deselect the hole 136 from the first surface 115 (as further described below). As shown in Figure 2C, the user can then select a second mating 185 on the second surface 175, and the mating helper searches for and identifies mating scenarios that match the mating search criteria on the first mating surface, as shown by Figure 2D. When selecting the second mating surface 175, the user can extend the mating search, for example, by changing the size of the part (e.g., fastener diameter, fastener depth). The mating helper not only searches for similar structures to accommodate fasteners (e.g., bolt holes), but also generates related matings (fasteners (e.g., bolts)) by duplicating seed matings 135, 185, and adds the generated mating parts to the parts list.
[0022] Figure 3 is a flowchart illustrating an exemplary method for replicating a match in a model. Any process description, or block, in the flowchart should be understood to represent a module, segment, part of code, or step containing one or more instructions for performing a particular logical function in that process, and it should be noted that, as will be understood by those skilled in the art, alternative embodiments in which the functions may be performed in a different order (including nearly simultaneously or in reverse order) than those shown or discussed are within the scope of the invention, depending on the functionality involved.
[0023] The first mate 135 (Figure 1B) is generated by the user of the CAD system. The first mate includes a selected part 130 (Figure 1B) that is already constrained by one or more mates, at least one of which involves an axis from the surrounding geometry. For example, in the case where the selected part is a bolt that fits into a hole on a plate, the bolt is constrained by the axis of the hole. The mate is a rotational mate that includes part 130 (Figure 1A) which is duplicated in the housing 120 (hole) in the face 115 (Figure 1B) of assembly 100 (Figure 1B). As shown by block 310, the constraints and geometry of the housing (surrounding region) 120 (Figure 1A) of the selected part 130 (Figure 1A) are examined. As shown by block 320, the features of the surrounding geometry are captured in the form of numerical descriptors. As shown by block 330, the numerical descriptors are set as seed descriptors.
[0024] The mate helper scans the descriptors of all parts having a seed mate to find and display to the user regions that have descriptors consistent with the seed descriptor. As shown by block 340, the mate helper examines the geometries 120 of other potential ("suggested") targets within the region of face 115 and calculates their numerical descriptors. As shown by block 350, the seed descriptor is compared with each of the potential target descriptors. User settings may be considered during the comparison; for example, the mate helper may identify targets that have a variable range of one or more dimensions within the target descriptor. As shown by block 360, suggested targets are visually indicated (as shown in yellow in Figure 2A). For example, the visual indicator may be in the form of colored concentric circles. Under the first embodiment, the user may deselect a suggested target by clicking the innermost concentric circle. The mate helper hides the innermost circle from the visual indicator of the deselected suggestion 136 (Figure 2C).
[0025] As shown in block 380, instances of the suggested part are generated and constrained according to the target geometry. For example, if the target geometry has the same axial hole diameter as the seed descriptor but a shallower depth, instances of the suggested part may be constrained to a shorter length than the seed part corresponding to the shallower depth of the target geometry. As another example, if the target geometry has the same axial depth as the seed descriptor but a wider diameter, instances of the suggested part may be constrained to a wider diameter than the seed part corresponding to the wider diameter of the target geometry.
[0026] In a single seed match scenario, the suggested seed can match the seeds of all properties within the model resolution. For example, if the radius of the seed hole is r, the suggested acceptable radius range may be [r-res, r+res], where res is the model resolution. When the user makes one or more additional selections, the match helper adjusts the acceptable range for each property based on its value in the original and additional seeds. For example, if the radius of the hole in the first seed is r1 and the radius of the additional seed is r2 (where r2 is greater than r1), the suggested match may then include holes with a radius range of [r1-res, r2+res]. Generally, for all descriptor properties, the embodiment may allow a range of [smallestOf(t1, t2, ...)-res, largestOf(t1, t2, ...)+res], where t1, t2, ... are user-specified values for the seed properties. This automatically improves the range of values that match that parameter.
[0027] In an alternative embodiment, the matching helper can infer from additional user selections which parameters are less important to the user, so that greater variation is tolerated with respect to those parameters when searching for matching suggestions. For example, if the second selection is a hole of a different depth than the first selection, the system can expand the search criteria based on the assumption that the hole depth is not critical to the match, and the depth range can be relaxed or even ignored.
[0028] The generated instance is added to the bill of materials. The user may select an additional target 185 (Figure 2C) somewhere else within assembly 100 (Figure 2C) (for example, a through hole 180 (Figure 2C) on the second surface 175 (Figure 2C) of assembly 100 (Figure 2C)). As shown by block 370, the geometric features surrounding the additional target 185 are captured in the form of a numerical descriptor. As shown by Figure 2D, additional suggestions based on the additional target 185 may be generated.
[0029] For parts having axial components such as bolt extension shafts, examining the constraints and geometry of the housing surrounding the selected part involves identifying all faces surrounding the selected part 130 (Figure 1B). For all faces in the periphery of the selected part 130, descriptors are generated to capture the geometric face type, face orientation, and face characteristics with respect to the axis of the selected part. Geometric face types may be, for example, flat, cylindrical, etc. The descriptor includes a field indicating whether a given face is convex, concave, or flat. For faces having axial geometry (cylindrical, conical, etc.), the descriptor also captures the variation in radius along the axis. For example, if the face is conical, the descriptor records a first radius at the first end and a second radius at the second end. Along with the first and second radii, the descriptor also records the axial parameters of the first end of the cone (described below) and the axial parameters of the second end. In contrast, a cylindrical face has a constant radius. If the face has a more complex axial geometry (e.g., annular or rotated face), the radius variation can be taken at several points between the starting radius and the ending radius. If the face of the housing part has non-axial geometry (flat, spline, etc.), the descriptor can include only the minimum distance between the axis and the face.
[0030] If one or more additional axes are involved in the matching, for each axis, a descriptor is generated to capture the minimum distance of that axis from the principal axis and the parameter of the point on the principal axis that is at the minimum distance from the additional axis.
[0031] After generating descriptors, the matching helper sorts the descriptors in ascending order of axis parameter values. The axis parameter values are normalized, for example, by subtracting the first axis parameter value from all other axis parameter values so that the first axis parameter is set to zero and the other parameter values remain in the same relative position from the first axis parameter value.
[0032] As will be explained in more detail below, a descriptor contains the properties of a face within a region around a given axis. If a more precise similarity between the seed region and the target region is desired, more properties such as face perimeter, face area, and the number of edges within the face may be optionally included. The complete contents of a descriptor are illustrated with the help of examples shown in Figures 4-8.
[0033] Figure 4 is a schematic diagram of an exemplary assembly 400, including a first part 410 having a first face 415. A first group of holes 411 (shown enclosed by a dotted box), a second group of holes 412 (enclosed by a dashed box), and a third group of holes 413 (enclosed by a dashed-dotted box) pass through the first part 410 in the first face 415. A second part 450 has a second face 455. A third part 470 has a third face 475. A fourth group of holes 474 (enclosed by a dashed box) pass through the third part 470 in the first face 475.
[0034] In this example, the descriptor for each hole group 411-414 indicates the difference between the four groups of holes 411-414 based on the geometry surrounding the hole axis of each hole group 411-414. Holes with the same descriptor are included in a single group. The contents of the descriptors in this example are shown in Tables 1-4.
[0035] Figure 5A is a first detail of the assembly in Figure 4, showing the contour of the holes in the first hole group 411. The fastener part 430 is shown within the chamfered cylindrical housing hole of the first hole group 411. The fastener part 430 and the first hole may be considered a seed mating 535. Figure 5B is a cutaway view showing the features of the region surrounding the fastener part 430 in the seed mating 535. Table 1 shows the descriptors for the seed mating 535. Measurements are taken with respect to axis 550.
[0036] [Table 1]
[0037] Figure 6A is a second detail of the assembly in Figure 4, showing the contour of the holes in the second hole group 412. Figure 6B is a cutaway showing the features of the region of the second seed mating 635. Table 2 shows the descriptor of the second seed mating 635. Measurements are taken with respect to axis 650.
[0038] [Table 2]
[0039] Figure 7A is a third detail of the assembly in Figure 4, showing the outline of the holes in the third hole group 413. Figure 7B is a cutaway showing the features of the region of the third seed match 735. Table 3 shows the descriptor of the third seed match 735. Measurements are taken with respect to axis 750.
[0040] [Table 3]
[0041] Figure 8A is a fourth detail of the assembly in Figure 4, showing the contour of the holes in the fourth hole group 414. Figure 8B is a cutaway showing the regional features of the fourth seed match 835. Table 4 shows the descriptors for the fourth seed match 835. Measurements are taken with respect to axis 850.
[0042] [Table 4]
[0043] Given a fastener part 430 constrained by one hole, in an exemplary embodiment, the mating helper examines the descriptors to find and indicate all other holes with matching descriptors as potential targets. The contents of the descriptors may be sorted in ascending order of axis parameters. The axis parameter of a given point on an axis is the signed distance from the axis origin to that point. Multiple ways of fixing the axis origin and sign conventions can exist. In one example notation convention, the axis origin is fixed at the starting point of the axial geometry, where the axis parameter is 0.0. The sign of the distance is positive when moving inward from the origin into the axial geometry and negative when moving outward.
[0044] The terms "upward" and "downward" mentioned under the "surface orientation" column in the descriptor table are considered in the context of axis parameters. In the given example, the direction along a decreasing axis parameter is considered "upward," and the direction along an increasing axis parameter is considered "downward."
[0045] "Distance from axis" represents the minimum distance from the axis to the flat surface. "Axis parameter" identifies the unique point on the axis closest to the target flat surface.
[0046] "Radius 1" and "Radius 2" are the starting radius and ending radius of the axial geometry, respectively. If the axial geometry is a cylindrical surface, the starting radius and ending radius will be equal. If the axial geometry is non-cylindrical (e.g., a conical surface), the starting radius and ending radius will be different. For more complex axial geometries (e.g., annular surfaces or rotated surface profiles made by more complex curves), two data points (starting radius and ending radius) may not be sufficient. For those cases, more data points of radius variation may be taken between the starting radius and ending radius and included in the descriptor.
[0047] In an alternative embodiment, the fastener component may include two or more axes. In this case, the descriptor includes a set of individual descriptors calculated for each axis. Here, each individual descriptor for each given axis includes an additional column to address the properties of the other axis in the context of the given axis. The properties of the other axis may include the distance of the other axis from the given axis and the axis parameter at which the minimum distance is achieved.
[0048] As described above, a seed mate is defined by a set of descriptors describing each of the objects directly involved in the mate. For example, a fastener (bolt) is inserted into a hole in the plane of the first plate and attached to a housing anchor point on the second plate. In an alternative embodiment, a third plate (having a through hole for the fastener) may exist between the first and second plates. Here, the mate includes descriptors for the surfaces of the first, second, and third plates involved, as well as the surface of the fastener itself. The dimensions of the fastener define the range to which they are included in the seed mate descriptor.
[0049] In the second embodiment, after the CAD system provides a set of suggested matches on the surface of a seed match, the user may select holes that were not part of the original suggested matches. This generates a second seed match that is added to the search and expands the search to include holes suitable for the first seed match and the second match (with matching descriptors) as suggested matches. For example, the first seed match may be chamfered while the second seed match is not. Once all matches on the first surface are selected, the scope of the search is expanded to find matches on the second surface if the user selects a second surface.
[0050] In this embodiment, the user can select holes, and the mating helper indicates all holes in the same plane that have a similar surrounding geometry to the potential mating. The user can select additional holes that are of different diameters or are not coplanar.
[0051] If the user selects a fastener / container combination as a seed mate, the user effectively selects the fastener part and their associated mates that form inputs for the hole and rotational mate. For example, it is assumed that the concentric portion of the mate is generated between the bolt shank and the inner wall of the hole, and the matching portion is generated between a flat entity on the bolt (such as the underside of the bolt head) and a flat entity on the part, and the hole is located in the plane of the plate in which the hole is generated.
[0052] The system for performing the functionality described in detail above may be a computer-aided drafting application hosted by a computer, an example of which is shown in the schematic diagram of Figure 9. System 900 includes a processor 902, a storage device 904, a memory 906 having software 908 stored therein that defines the functionality described above, an input / output (I / O) device 910 (or peripheral), and a local bus or local interface 912 that enables communication within System 900. The local interface 912 may be one or more buses or other wired or wireless connections, such as those known in the art, but not limited to those known. The local interface 912 may have additional elements (omitted for simplicity) such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communication. Furthermore, the local interface 912 may include, among the aforementioned components, address, control, and / or data connections to enable appropriate communication.
[0053] The processor 902 is a hardware device for executing software (especially that stored in memory 906). The processor 902 may be any custom-made or commercially available single-core or multi-core processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the current system 900, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, or generally any device for executing software instructions.
[0054] Memory 906 may include any one or a combination of volatile memory elements (e.g., random access memory (RAM such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drive, tape, CD-ROM, etc.). Furthermore, memory 906 may incorporate electronic, magnetic, optical, and / or other types of storage media. Note that memory 906 may have a distributed architecture in which various components are geographically separated from one another, but can be accessed by processor 902.
[0055] Software 908 defines the functionality performed by the system 900 according to the present invention. Software 908 in memory 906 may include one or more other programs, each containing an ordered list of executable instructions for performing the logical functions of system 900, as described below. Memory 906 may include an operating system (O / S) 920. The operating system substantially controls the execution of programs in system 900 and provides scheduling, input / output control, file and data management, memory management, and communication control and related services.
[0056] The I / O device 910 may include, but is not limited to, input devices such as a keyboard, mouse, scanner, or microphone. Furthermore, the I / O device 910 may also include, but is not limited to, output devices such as a printer or display. Finally, the I / O device 910 may further include devices that communicate via both input and output (but is not limited to, devices such as modulators / demodulators (modems; for accessing another device, system, or network), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, or other devices).
[0057] While the system 900 is operating, the processor 902 is configured to execute the software 908 stored in memory 906, as described above, to transfer data to and from memory 906, and to generally control the operation of the system 900 in accordance with the software 908.
[0058] While the functionality of system 900 is operating, processor 902 is configured to execute software 908 stored in memory 906, to transfer data to and from memory 906, and to generally control the operation of system 900 in accordance with software 908. The operating system 920 is read by processor 902, possibly buffered within processor 902, and then executed.
[0059] If System 900 is implemented in software 908, it should be noted that instructions for performing System 900 may be stored on any computer-readable medium for use by or in connection with any computer-related device, system, or method. Such computer-readable medium may, in some embodiments, correspond to either or both of memory 906 or storage device 904. In the context of this specification, computer-readable medium is a means that includes or can store computer programs for use by or in connection with electronic, magnetic, optical, other physical devices, or computer-related devices, systems, or methods. Instructions for performing System may be embodied in any computer-readable medium for use by or in connection with a processor or other such instruction execution system, apparatus, or device. Although processor 902 is mentioned as an example, such instruction execution system, apparatus, or device may, in some embodiments, be any computer-based system, processor-containing system, or other system capable of fetching and executing instructions from an instruction execution system, apparatus, or device. In the context of this specification, “computer-readable medium” can be any means by which a program can be stored, transmitted, propagated, or transported for use by or related to a processor or other such instruction execution system, apparatus, or device.
[0060] Such computer-readable media may be, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, devices, or propagation media. More specific examples (a non-exclusive list) of computer-readable media would include: electrical (electronic) connections with one or more wires, portable computer diskettes (magnetic), random access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fibers (optical), and portable compact disk read-only memory (CDROM) (optical). Note that computer-readable media may also be paper or another suitable medium on which a program is printed, and the program may be electronically captured, for example, via optical scanning of paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner as needed, and then stored in computer memory.
[0061] In alternative embodiments in which System 900 is implemented in hardware, System 900 may be implemented by any or a combination thereof of the following technologies, each well known in the art: discrete logic circuits having logic gates for performing logic functions on data signals; application-specific integrated circuits (ASICs) having appropriate combinational logic gates; programmable gate arrays (PGAs); field-programmable gate arrays (FPGAs), etc.
[0062] While the embodiments described above are directed toward matings adjacent to flat, cylindrical, and conical surfaces, in alternative embodiments, the matings may include other curved surfaces. Furthermore, while the mating surface is disclosed as a hole for accommodating the inserted fastener, in alternative embodiments, the mating surface may have a protruding cylindrical portion and / or conical portion having at least one central axis aligned with the accommodating portion.
[0063] While the above embodiments are directed towards product design using CAD software (specifically, in the areas of mechanical, electrical, pneumatic, and fluid-pressure assemblies and multi-part design), those skilled in the art will understand that alternative embodiments may be directed towards other relevant applications. For example, a video game design embodiment may replicate environmental characteristics in locations having similar adjacent environmental characteristics. Similarly, an HVAC application may utilize the present invention to replicate heating, cooling, or air motion mechanisms in locations where thermal analysis has determined that the temperature gradient or airflow pattern is of similar nature, and to determine the placement of mechanical supports (e.g., structural members in bridges or buildings) of size and orientation to satisfy load scenarios.
[0064] It will be apparent to those skilled in the art that various modifications and alterations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In consideration of the foregoing, the present invention is intended to cover modified and altered forms of the invention, provided that they fall within the scope of the appended claims and their equivalents.
Claims
1. A computer-based method in a computer-aided drafting application for replicating part mates between a first part and a second part in a modeled assembly, To examine the constraints and geometry surrounding the selected part of the part that matches within the first surface of the modeled assembly, To capture a first descriptor that includes the aforementioned constraints and multiple numerical features of the geometry, Setting the first descriptor as the descriptor of the first seed, To investigate the potential first target geometry within the region of the first surface, Computing a first target descriptor according to the first target geometry, Comparing the first seed descriptor with the first target descriptor, Determining whether the first target descriptor is consistent with the first seed descriptor, To generate an instance of the first target component according to the first target descriptor and Includes, The method for mating the parts includes a combination of a coincident mating that forces two flat surfaces to be coplanar and a concentric mating that forces two cylindrical or conical surfaces to be coaxial.
2. The method according to claim 1, further comprising highlighting the selected part having a selected part visual indicator and highlighting the first target geometry having a first target visual indicator.
3. Receiving the user deselection of the first target visual indicator and Modify the first target visual indicator in order to instruct the user to deselect the selection. The method according to claim 2, further comprising:
4. The method according to claim 3, further comprising removing the instance of the first target component.
5. The method according to claim 1, further comprising comparing the first seed descriptor with the first target descriptor to take into account at least one user setting.
6. The method according to claim 5, wherein the user setting further includes a variation in the dimensions of at least one of the first target descriptors.
7. Receiving the selection of a second seed part on the second surface of the modeled assembly, To examine the second seed constraint and geometry surrounding the second seed component, Compute a second seed descriptor that includes the second seed constraint and multiple numerical features of the geometry, Comparing the descriptor of the second seed with the descriptor of the first seed, The process involves examining the potential second target geometry within the region of the second seed component and calculating a second target descriptor according to the second target geometry, Comparing the second seed descriptor with the second target descriptor, Determining whether the second target descriptor is consistent with the second seed descriptor, To generate an instance of the second target component according to the second target descriptor. The method according to claim 1, further comprising:
8. The method according to claim 7, further comprising highlighting the second seed part having a selected part visual indicator and highlighting the second target geometry having a second target visual indicator.
9. The method according to claim 1, wherein the geometry surrounding the selected part includes an axis.
10. The method according to claim 7, wherein the second seed component is located within the second surface of the modeled assembly.
11. The method according to claim 10, wherein the second target component is located within the second surface.
12. The method according to claim 7, wherein the second target component has at least one dimension that differs from that of the first target component.