The present invention generally relates to the field of computer-aided design. In particular, the present invention is directed to filtering components compatible with a computer modeled structure.
The placement of components within structures or structures represented by computer models is a well-known practice used to increase the design possibilities of a particular structure or computer model. Components are often standardized and produced in large quantities rather than being created custom for every size and application. Presently, 3D computer-aided design (CAD) programs allow designers to import the models of components from supplier catalogs. Designers often create features that do not match standard components, or choose standard components that do not match the features present within the computer model. For example, discrepancies between the dimensions required of components and the dimensions present within a computer model may cause problems. Time is wasted when a designer sends a design to a manufacturer without realizing the discrepancy exists. If noticed, the manufacturer must then communicate to the designer a request that the design be fixed before fabrication can occur. If unnoticed, the fabrication starts and must be halted to correct the discrepancy, resulting in additional costs and lead-time to the manufacturer.
In one implementation, the present disclosure is directed to a method of assisting a designer with selecting a component compatible with a feature of a structure represented in a computer model, said method being carried out by a compatible components system programmed to carry out the steps of the method, the method includes receiving a computer assisted design (CAD) model containing a representation of the structure, the representation of the structure further including the feature, receiving an identification of the feature of the structure with which the component is to be associated, retrieving attribute information of the feature, identifying at least one component compatible with the feature of the structure as a function of the attribute information of the feature and attribute information of a plurality of candidate components, wherein identifying the at least one component compatible includes applying logic that compares non-geometric attribute values of the structure against the non-geometric attribute values defined for each component, wherein logic utilizes predefined threshold values of the non-geometric attributes to identify whether the at least one component is compatible, displaying an indication of the at least one component compatible with the feature of the structure and receiving, from the designer, a selection of a chosen component from the at least one component compatible with the feature of the structure.
In another implementation, the present disclosure is directed a method of assisting a designer with selecting a component compatible with a feature of a structure represented in a computer model, said method being carried out by a compatible components system programmed to carry out the steps of the method, the method including receiving a computer assisted design (CAD) model containing a representation of the structure, the representation of the structure further including the feature, receiving an identification of the feature of the structure with which the component is to be associated, retrieving attribute information of the feature, from among a plurality of candidate components, identifying at least one component compatible with the feature of the structure as a function of the attribute information of the feature and attribute information of the plurality of candidate components, wherein identifying the at least one component compatible includes applying logic that compares non-geometric attribute values of the structure against the non-geometric attribute values defined for each component, wherein logic utilizes predefined threshold values of the non-geometric attributes to identify whether the at least one component is compatible, transmitting an indication of the at least one component compatible with the feature of the structure to computer modeling software and receiving, from the designer, a selection of a chosen component from the at least one component compatible with the feature of the structure.
For the purpose of illustrating the invention, the drawings show aspects of one or more embodiments of the invention. However, it should be understood that the present invention is not limited to the precise arrangements and instrumentalities shown in the drawings, wherein:
Aspects of the present invention include systems, methods, and software for filtering components compatible with computer-modeled structures. In certain embodiments, a compatible components system made in accordance with the present invention provides selection methods that present components compatible with computer-aided design (CAD) models designed in computer modeling software. In certain embodiments, the computer modeling software includes graphical user interfaces for, among other things, selecting component source locations, filtering types of components presented by the system, and adding components to CAD models.
In an illustrative operation of a compatible components system of the present disclosure, a designer may specify features or structures where components may be added to the CAD model. The system may then execute one or more methods designed to filter components made available to the designer using attribute information of the features and attribute information of the components. A feature may be a geometric representation of a part of a structure or an entire structure, which may be created with computer modeling software and may be embodied by surfaces, edges, and/or mounting holes, among others. A designer may interact with the compatibility methods numerous times, narrowing components through a series or number of filtering steps until a desired compatible component is easily selected.
Illustrative hardware components that may be utilized in the present invention may be found in supplier hardware libraries such as the PEM® hardware catalog (available from PennEngineering®, Danboro, PA), the SOUTHCO product library (available from Southco, Inc®, Concordville, PA), or the MCMASTER hardware catalog (available from McMaster-Carr Supply Company®, Elmhurst, IL), for example. Components found in such catalogs may be provided in virtualized forms to designers or other users of computer modeling software as further described herein. Specification data information associated with said components, referred to herein as attribute information, may be provided to achieve benefits of the present invention.
As illustrated in
As alluded to above, computer modeling software 104 may operate on or otherwise utilize one or more CAD models, such as CAD model 112, which may comprise a computerized representation of a structure designed within the computer modeling software and/or another CAD program or application. CAD model 112 may include, for example, a series of lines, arcs, points, etc., and/or other information, such as detailed manufacturing information and/or specification data, associated with a structure to be fabricated. For example, CAD model 112 may comprise a 3D model created in computer modeling software 104 or imported from another program or source. Computer modeling software 104 may be designed and configured to provide a compatible component selection method 116, which may provide one or more designers utilizing computer modeling software 104 with components that are compatible with, and thus may be included in, the design of the structure. In some embodiments, method 116 may include logic that automatedly determines compatibility between components and input structural features. For example, the logic may be implemented in the form of rules that define conditions in which components may be considered compatible with structural features. Illustrative rules that may be implemented as part of method 116 will be further described hereinbelow.
In one embodiment of system 100, compatible component selection method 116 may be implemented as a software component of computer modeling software 104. For example, method 116 may be implemented in the form of a plug-in module that adds application-level functionality to software 104. By way of another example, method 116 may be implemented as part of the executable code of software 104. In other configurations, method 116 may be implemented in a hosted software service model, in which case the method may be available to multiple instantiations of computer modeling software 104 over a network, such as the Internet.
Compatible component selection method 116 may source or retrieve one or more compatible components 120 from one or more candidate component libraries 124. Each library 124 may comprise one or more databases residing on, for example, a server, a hard drive, a compact disc, a flash drive, and/or cloud storage, among other known data storage devices/services. In some embodiments, each library 124 may include one or more categories of candidate components. Categories that may be present in library 124 may include, for example, nuts, studs, pins, screws, cable tie-mounts, fasteners, hooks, motors, buttons, drawer slides, and/or connectors. Each category may include one or more subcategories of components. For example, a category of nuts within library 124 may contain floating, blind, standard profile, flush, miniature, locking thread, and/or right angle nuts. Further, each subcategory may include one or more additional subcategories and/or one or more component parts. It is expressly contemplated that library 124 may contain virtually any number of levels in a categorical hierarchy of components.
Component library 124 may further include attribute information 128 associated with candidate components contained therein. As used herein, attribute information refers to technical specification information that may prevent a fabricator from fabricating a structure due to incompatibility between the component and a structural feature. Attribute information may consist of attribute fields (i.e., properties) and attribute values. For example, nut attribute fields may include thread size, recommended minimum sheet thickness, hole size in sheet, maximum shank length, minimum distance hole to edge, minimum sheet hardness, and/or material type. Generally speaking, while attribute fields may remain consistent across specific categories or subcategories of components, attribute values of component subcategories and/or individual component parts may vary. For example, in a component library of self-clinching studs for stainless steel sheets, each stud may contain a unique hole size in sheet attribute value.
In one embodiment, system 100 may be configured such that computer modeling software 104 and component library 124 are executed and stored on the same computing device, in which case the software and library may be operatively connected via a local bus. In other embodiments, system 100 may be configured such that software 104 and library 124 are executed and stored on separate computing devices (e.g., in a distributed computing model) and operatively connected via a network (e.g., local area network, wide area network, and/or Internet connection).
CAD model 112 may include one or more features 132 that are added, specified, or otherwise associated with the model, for example, as the structure is created. In the context of the present disclosure, features 132 refer to distinctive attribute(s) or aspect(s) of CAD model 112 that may receive one or more components. Examples of features include discrete pieces of structural geometry, such as a face, a hole, a slot, and an edge of a structure.
CAD model 112 may further include attribute information 136 associated with the one or more features contained therein. As described hereinabove, attribute information may include attribute fields and attribute values. For example, the attributes of a given feature may be characterized as non-geometric, such as the material type associated with the feature; geometric, such as the material thickness or diameter associated with the feature; and/or whether features are part of an assembly, among others.
CAD model 112 may further include one or more selected compatible component(s) 140, such as a geometric representation of selected components. Each component contained within or specified by the model may include geometric information (e.g., a series of lines, arcs, points, etc.) and non-geometric information (e.g., attribute information such as material type, thread size, number of pins), for example.
In some embodiments in which CAD model 112 may be represented as one or more computer-aided design (CAD) files, for example, method 116 may write geometric and/or nongeometric information regarding the selected compatible component(s) 140 directly into such files. In other embodiments, method 116 may write pointers or otherwise dynamically link the information and CAD files, which enables dynamically updating the information in the CAD model if and when information in library 124 changes. Those skilled in the art will recognize that these two techniques represent exemplary ways in which components may be associated with hardware and that other suitable association methods may be utilized in accordance with other embodiments of the invention.
Reference is now made to
In other embodiments of step 205, through computer modeling software 104 and GUI 108, the designer may identify CAD model geometry that contains one or more features. Computer modeling software 104 may read the feature(s) from CAD model 112 and present them to the designer in the form of a selectable list via GUI 108. The designer may then select a specific feature with which a component is to be associated.
At step 210, computer modeling software 104 may retrieve attribute information of the feature identified at step 205. In some embodiments, CAD model 112 may contain the attribute information and software 104 may retrieve the attribute fields and values directly from this CAD model information. The information retrieved may comprise all available attribute information associated with the feature or a subset thereof. In some embodiments, the subset of information may be dependent on specific component types of interest identified by the designer through GUI 108. By way of one example, a designer may furnish a request for only nuts, in which case computer modeling software 104 may retrieve only attribute information that may present compatibility issues with nuts. By way of another example, a designer may furnish a request for a specific type of stud (e.g., a concealed head stud), in which case computer modeling software 104 may retrieve only or at least the attribute information (e.g., sheet thickness) that impacts compatibility with this specific type of stud.
In other embodiments of step 210, computer modeling software 104 may prompt the designer to provide attribute information needed for purposes of components compatibility. By way of one example, compatible components systems may require the material type of a part, yet the CAD model may not have this information as the designer may fail to specify during structural design. In such cases, the identification of a feature at step 205 may include or be accomplished by system 100 prompting the designer to obtain such information before proceeding to step 215.
At step 215, compatible component selection method 116 may identify one or more candidate components 120 (i.e., components compatible with the designated feature) from one or more available libraries of components 124. In some embodiments, method 116 may compare feature attribute information extracted at step 210 against candidate component attribute information present in libraries 124. Based on the results of one or more comparisons, method 116 may select component(s) or component group(s) with attribute values that match feature attribute values. A match may refer to components and features that share the same attribute values, have attribute values within a predetermined acceptable tolerance, or other predefined rules regarding compatibility. Logic that automatedly determines compatibility between components and structural features frees designers from needing to manually check the compatibility between every desired component and the computer model under design.
At step 220, software 104 may display an indication of categories or subcategories of components or specific individual component parts that are compatible with the feature of the structure. In certain embodiments, compatible component selection method 116 may transmit candidate components 120 back to computer modeling software 104, whereby the software may provide the information to the designer, e.g., via GUI 108. In other embodiments, alternative output communication methods known to those skilled in the art, such as audio, audiovisual, tactile methods, etc., may be utilized to indicate compatible components to the designer.
In some embodiments, designers may input a selection of a component from among candidate compatible components identified at step 220. System 100 may then associate the designer-selected component with the feature(s) of the computer-modeled structure as described hereinabove. Additionally or alternatively, in some embodiments, designers may further filter the list of candidate compatible components. For example, some or all steps of method 200 may be executed in an iterative process to further refine the list of compatible components until a final component is selected. Such optional processes will be described further hereinbelow with reference to a specific example of the method as applied to sheet metal parts.
Reference is now made to
At step 310, method 116 may proceed to match one or more attribute field(s) of the structural feature against one or more corresponding attribute fields for each the components present in library 124. By way of one example, method 116 may apply logic that compares nongeometric attribute values of the structure against the non-geometric attribute values defined for each component. By way of another example, method 116 may apply logic that compares geometric attribute values of the structure against the geometric attribute values defined for each component. In some embodiments, such logic may utilize a predefined threshold to determine whether the component is compatible on the basis of particular attribute data, such as field pairs. The values of a component attribute field may be used as the threshold (e.g., the length from edge to hole on a face may have to be greater than a component's minimum distance hole to edge attribute value). In other embodiments, such logic may utilize an absolute or equivalent condition. For example, the logic may compare material type values.
At step 315, method 116 may select one or more components or component groups with attribute values that match feature attribute values, as determined at step 310. Method 116 may identify those components or component groups with a unique designation that signifies they are compatible based on matched feature attribute values. In some embodiments, at step 320, compatible component selection method 116 may determine whether there are additional matches between attribute fields of the structural feature and attribute fields of the components required to further narrow the compatible components list. If there are additional matches, method 116 may return to step 310 and the additional comparison is performed. If there are no additional matches to be made, method 116 may proceed to step 325, at which method 116 may add selected components or component groups, as determined at step 315, to a list of compatible components, such as compatible components 120.
For example, as part of step 325, for components determined to be compatible on the basis of one or more comparisons, method 116 may extract the components and/or unique indicators of the components from a library, such as candidate component library 124, and store them in a separate list or other data structure designed to identify compatible components, such as compatible components 120. Such a list may include, but is not necessarily limited to, component attribute data, component images, and/or component category or subcategory data. In some embodiments, method 300 may transmit the one or more lists of compatible components to computer modeling software. As described in method 200, computer modeling software may present such compatible components to designers, e.g., for inclusion in CAD models.
When describing method 400, references will also be made to
At step 405 of method 400, a designer may identify a sheet metal part in a compatible components system. For example, the designer may invoke computer modeling software 104 and design a sheet metal part 504, a visual indication of which may be shown in a GUI, such as GUI 108 and/or GUI 500A, as illustrated in in
At step 410, the designer may select hole 508 in sheet metal part 504 and initiate a request to system 100 for compatible components design assistance. To initiate the request, for example, the designer may select a component selection system initiation button (not shown) in or associated with computer modeling software 104. In response to initiation, a compatible components selection method, such as compatible components selection method 116, may then monitor the designer's continued interaction with software 104 for any number of predetermined component-related selection events. For example, one such event may comprise the selection of any hole in the sheet metal part.
At step 415, system 100 may interrogate sheet metal part 504 to determine attribute information, such as one or more field values, that may impact compatibility with hardware components. For example, system 100 may read attribute field values associated with material type 512 and material thickness 516. As shown in
At step 420, system 100 may display all component types compatible with aluminum sheet metal parts. To identify this information, system 100 may execute compatible component selection method 116 in response to designer request initiation. As illustrated in GUI 500A of
As illustrated in GUI 500B of
At step 425, the designer may initiate a request to system 100 to return (e.g., through GUI 108) all aluminum studs that are compatible with hole 508; other categories of aluminum components may not be returned by the system. To initiate the request, for example, the designer may select a component type indicator 536 provided in panel 532 and select a “Filter” button 540. At step 430, system 100 may respond to the request by interrogating sheet metal part 504 to determine one or more values associated with the part's material thickness 516, which may be 0.05 inches thick, for example, as illustrated in
At step 435, system 100 may output (e.g., display to GUI 108) a number of or all aluminum studs that are compatible with the thickness of part 504. For example, if a part identified by a user at step 405, such as part 504, has a thickness of 0.05 inches, then all studs output by system at step 435 will be compatible with a sheet thickness of 0.05 inches. As shown in GUI 500C of
At step 440, the designer may select an aluminum stud that they desire to add to sheet metal part 504. To provide this selection, for example, the designer may select a component selector 550 associated with the desired aluminum stud and then select an “Add” button 552. As illustrated in
In some embodiments of the invention, system 100 may provide designers with the option to change or modify geometry in the CAD model based on a selected component. For example, as illustrated by the user interface element located near the bottom of
At step 445, system 100 may modify computer model 108 to include and/or be associated with the selected aluminum stud, optionally including geometry representing the stud. For example, stud specific information may be written directly into computer model information. This information may include any of the illustrative attribute fields and values referenced herein, among others. As illustrated in GUI 500D of
It is to be noted that any one or more of the aspects and embodiments described herein may be conveniently implemented using one or more machines (e.g., one or more computing devices that are utilized as a user computing device for an electronic document, one or more server devices, such as a document server) programmed according to the teachings of the present specification, as will be apparent to those of ordinary skill in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those of ordinary skill in the software art. Aspects and implementations discussed above employing software and/or software modules may also include appropriate computing hardware for assisting in the implementation of the machine executable instructions of the software and/or software module.
Such software may be a computer program product that employs a machine-readable storage medium. A machine-readable storage medium may be any medium that is capable of storing and/or encoding a sequence of instructions for execution by a machine (e.g., a computing device) and that causes the machine to perform any one of the methodologies and/or embodiments described herein. Examples of a machine-readable storage medium include, but are not limited to, a magnetic disk (e.g., a conventional floppy disk, a hard drive disk), an optical disk (e.g., a compact disk “CD”, such as a readable, writeable, and/or re-writable CD; a digital video disk “DVD”, such as a readable, writeable, and/or rewritable DVD), a magneto-optical disk, a read-only memory “ROM” device, a random access memory “RAM” device, a magnetic card, an optical card, a solid-state memory device (e.g., a flash memory), an EPROM, an EEPROM, and any combinations thereof. A machine-readable medium, as used herein, is intended to include a single medium as well as a collection of physically separate media, such as, for example, a collection of compact disks or one or more hard disk drives in combination with a computer memory. As used herein, a machine-readable storage medium does not include a signal.
Such software may also include information (e.g., data) carried as a data signal on a data carrier, such as a carrier wave. For example, machine-executable information may be included as a data-carrying signal embodied in a data carrier in which the signal encodes a sequence of instruction, or portion thereof, for execution by a machine (e.g., a computing device) and any related information (e.g., data structures and data) that causes the machine to perform any one of the methodologies and/or embodiments described herein.
Examples of a computing device include, but are not limited to, an electronic book reading device, a computer workstation, a terminal computer, a server computer, a handheld device (e.g., a tablet computer, a personal digital assistant “PDA”, a mobile telephone, a smartphone, etc.), a web appliance, a network router, a network switch, a network bridge, any machine capable of executing a sequence of instructions that specify an action to be taken by that machine, and any combinations thereof. In one example, a computing device may include and/or be included in a kiosk.
Memory 908 may include various components (e.g., machine readable media) including, but not limited to, a random access memory component, a read only component, and any combinations thereof. In one example, a basic input/output system 916 (BIOS), including basic routines that help to transfer information between elements within computer system 900, such as during start-up, may be stored in memory 908. Memory 908 may also include (e.g., stored on one or more machine-readable media) instructions (e.g., software) 920 embodying any one or more of the aspects and/or methodologies of the present disclosure. In another example, memory 908 may further include any number of program modules including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combinations thereof.
Computer system 900 may also include a storage device 924. Examples of a storage device (e.g., storage device 924) include, but are not limited to, a hard disk drive, a magnetic disk drive, an optical disc drive in combination with an optical medium, a solid-state memory device, and any combinations thereof. Storage device 924 may be connected to bus 912 by an appropriate interface (not shown). Example interfaces include, but are not limited to, SCSI, advanced technology attachment (ATA), serial ATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and any combinations thereof. In one example, storage device 924 (or one or more components thereof) may be removably interfaced with computer system 900 (e.g., via an external port connector (not shown)). Particularly, storage device 924 and an associated machine-readable medium 928 may provide nonvolatile and/or volatile storage of machine-readable instructions, data structures, program modules, and/or other data for computer system 900. In one example, software 920 may reside, completely or partially, within machine-readable medium 928. In another example, software 920 may reside, completely or partially, within processor 904.
Computer system 900 may also include an input device 932. In one example, a user of computer system 900 may enter commands and/or other information into computer system 900 via input device 932. Examples of an input device 932 include, but are not limited to, an alpha-numeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), a cursor control device (e.g., a mouse), a touchpad, an optical scanner, a video capture device (e.g., a still camera, a video camera), a touchscreen, and any combinations thereof. Input device 932 may be interfaced to bus 912 via any of a variety of interfaces (not shown) including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FIREWIRE interface, a direct interface to bus 912, and any combinations thereof. Input device 932 may include a touch screen interface that may be a part of or separate from display 936, discussed further below. Input device 932 may be utilized as a user selection device for selecting one or more graphical representations in a graphical interface as described above.
A user may also input commands and/or other information to computer system 900 via storage device 924 (e.g., a removable disk drive, a flash drive, etc.) and/or network interface device 940. A network interface device, such as network interface device 940, may be utilized for connecting computer system 900 to one or more of a variety of networks, such as network 944, and one or more remote devices 948 connected thereto. Examples of a network interface device include, but are not limited to, a network interface card (e.g., a mobile network interface card, a LAN card), a modem, and any combination thereof. Examples of a network include, but are not limited to, a wide area network (e.g., the Internet, an enterprise network), a local area network (e.g., a network associated with an office, a building, a campus or other relatively small geographic space), a telephone network, a data network associated with a telephone/voice provider (e.g., a mobile communications provider data and/or voice network), a direct connection between two computing devices, and any combinations thereof. A network, such as network 944, may employ a wired and/or a wireless mode of communication. In general, any network topology may be used. Information (e.g., data, software 920, etc.) may be communicated to and/or from computer system 900 via network interface device 940.
Computer system 900 may further include a video display adapter 952 for communicating a displayable image to a display device, such as display device 936. Examples of a display device include, but are not limited to, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasma display, a light emitting diode (LED) display, and any combinations thereof. Display adapter 952 and display device 936 may be utilized in combination with processor 904 to provide graphical representations of aspects of the present disclosure. In addition to a display device, computer system 900 may include one or more other peripheral output devices including, but not limited to, an audio speaker, a printer, and any combinations thereof. Such peripheral output devices may be connected to bus 912 via a peripheral interface 956. Examples of a peripheral interface include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, and any combinations thereof.
As would be apparent to one reasonably skilled in the art, the invention described herein may be applied to other manufacturing types, including but not limited to the manufacture of apparel. Both sheet metal and apparel designers use CAD systems to design their products, using sheets of flat material for manufacture. Features and attribute information may be embedded within the digital design. Designers may choose different metals or fabrics (including non-woven materials such as leather) depending on the strength and other inherent properties of the material, which affects what components may be compatible with the material.
The foregoing has been a detailed description of illustrative embodiments of the invention. Various modifications and additions can be made without departing from the spirit and scope of this invention. Features of each of the various embodiments described above may be combined with features of other described embodiments as appropriate in order to provide a multiplicity of feature combinations in associated new embodiments. Furthermore, while the foregoing describes a number of separate embodiments, what has been described herein is merely illustrative of the application of the principles of the present invention. Additionally, although particular methods herein may be illustrated and/or described as being performed in a specific order, the ordering is highly variable within ordinary skill to achieve methods, systems, and software according to the present disclosure. Accordingly, this description is meant to be taken only by way of example, and not to otherwise limit the scope of this invention.
This application is a continuation of Non-provisional application Ser. No. 16/927,176, filed on Jul. 13, 2020, and entitled “FILTERING COMPONENTS COMPATIBLE WITH A COMPUTER-MODELED STRUCTURE,” which is a continuation of Non-provisional application Ser. No. 14/303,372, filed on Jun. 12, 2014 and entitled “FILTERING COMPONENTS COMPATIBLE WITH A COMPUTER-MODELED STRUCTURE,” the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 16927176 | Jul 2020 | US |
Child | 18243465 | US | |
Parent | 14303372 | Jun 2014 | US |
Child | 16927176 | US |