VIRTUAL DESIGNER
The present invention includes a method of electronically designing an article, including accessing an electronic article design system, selecting an article type to design, and iteratively configuring a group of characteristics by selecting one or more options for each characteristic and/or iteratively modeling the article performance based on a selection of one or more performance parameters for each performance model. In the iterative configuration and modeling step, the electronic article design system automatically presents the characteristics and the performance models based on the article type selected, dynamically updates the article for each step of the iterative configuration and/or modeled performance, and automatically resolves conflicts between iteratively configured characteristics, between iteratively modeled performances, and across iteratively configured characteristics and modeled performances.
Latest Patents:
This application is a continuation of U.S. application Ser. No. 11/567035, filed 5 Dec. 2006, now allowed; which claims priority to U.S. Provisional Application No. 60/748630, filed 7 Dec. 2005, the disclosures of which are incorporated by reference in their entirety herein.
BACKGROUNDThe present invention relates to a method of electronic design or identification.
A variety of methods of electronic design have emerged in recent years. Systems employing these methods range from electronic design of electrical circuits, to mechanical parts or assemblies to computer networks. Such electronic design systems employ a variety of technologies in their implementation, including various software-programming languages, relational databases or other data storage and retrieval mechanisms, and user interfaces. Prior electronic design systems are delivered to users by a variety of means, such as Internet based applications including server-side storage and processing and client-side delivery via a web browser or locally stored and processed client applications. Design and build websites, offered by various commercial vendors, are well known examples of prior art systems employing electronic design methods.
SUMMARYWhile existing electronic design systems and methods provide a number of useful functions, these systems do not yet provide a method of drag-and-drop iterative design, which includes configuration of design characteristics and modeling of performance results to arrive at a particular design. Additionally, existing systems do not include a means of reverse engineering a design by inputting a desired performance result to arrive at a design that produces that result. In short, existing methods and systems do not provide a bi-directional iterative method of electronic design, which includes configuring design characteristics and modeling performance results to arrive at a design for producing such results.
The present invention is a method of electronically designing an article, including accessing an electronic article design system, selecting an article type to design, and iteratively configuring a group of characteristics by selecting one or more options for each characteristic and/or iteratively modeling the article performance based on a selection of one or more performance parameters for each performance model. In the iterative configuration and modeling step, the electronic article design system automatically presents the characteristics and the performance models based on the article type selected, dynamically updates the article for each step of the iterative configuration and/or modeled performance, and automatically resolves conflicts between iteratively configured characteristics, between iteratively modeled performances, and across iteratively configured characteristics and modeled performances.
The method of the present invention is bi-directional, thereby enabling electronic design of articles by first inputting performance results for an unknown design configuration and then designing an article to achieve the one or more performance results. In some embodiments of the present invention, a method of electronically designing an article includes accessing an electronic article design system, selecting an article type to design, inputting multi-variable design data for the article type selected, and designing one or more articles with one or more characteristics based on an algorithmic match between the design data input and design data stored for articles of the selected type.
The present invention may also be adapted to electronic object or concept identification methods. A method of electronically identifying an object includes accessing an electronic object identification system, selecting an object type to identify, inputting object characteristics for the object type selected, and identifying one or more objects based on an algorithmic match between the object characteristics input to object characteristics stored for objects of the selected type.
The above summary of the present invention is not intended to describe each disclosed embodiment or every implementation of the present invention. The Figures and detailed description that follow below more particularly exemplify illustrative embodiments.
The following glossary defines the meanings of certain words or combinations of words as used in this specification.
Characteristics: one or more variables upon which a particular electronic design or identification depends, for example, physical characteristics of a cable assembly, such as cable length, connector types, boardmount connectors, carriers, polarizing keys, or retainers. Another example of characteristics may be physical characteristics of a bird, including wingspan, wing shape, or beak type.
Options: selections made to define a single characteristic, for example, selecting a cable length of 22 inches or selecting wing shape from a group of different shapes.
Performance models: electronically simulated tests of a design, for example, modeling the attenuation of a cable assembly over its length or modeling the eye diagram for a cable assembly.
Performance parameters: variables upon which each performance model depends, for example, an eye diagram model depends on data rate, signal rise time, signal amplitude and cable length.
Performance results: numeric, textual, and/or graphical results of a performance model.
Design data: one or more variables used to define, partially or completely, a finished design, including characteristics and performance results. For example, design data for a cable assembly could include cable length, system impedance, and eye diagram results.
Iteratively configuring characteristics (14a) of the article includes one or more loops of selecting different options for each characteristic. Similarly, designing the article (14) includes iteratively modeling the article performance (14b) by selecting different performance parameters for each performance model. Configuring characteristics (14a) of the article and modeling the article performance (14b) may be performed in any order, and includes one or more iterative loops through each respective characteristic configuration or performance model or between successive characteristic configurations and performance models.
In addition to configuring characteristics (14a) and modeling performance (14b), designing the article (14) includes automatically presenting the characteristics and performance models (14c) available for the type of article selected. Automatically presenting the available characteristics and performance models (14c) is ongoing through multiple loops of characteristic configurations (14a) and performance models (14b), and successively reevaluates the available characteristics and performance models based on previous iterations. Iteratively designing the article (14) also includes dynamically updating the article (14d) by virtually building the article with each iterative characteristic configuration (14a) and modeled performance (14b). Finally, designing the article (14) includes automatically resolving conflicts (14e) created during iterative characteristic configurations (14a) and performance models (14b). Conflicts are automatically resolved between iteratively configured characteristics (14a), between iteratively modeled performances (14b), and across iteratively configured characteristics and modeled performances. The electronic design method (10) concludes by arriving at a finished article design (16). However, a feedback loop (18) enables the selection step (12) and the iterative article design step (14) to be repeated as necessary to arrive at multiple article designs, to refine a single article design, or to arrive at an article design that is a best fit or closest match to the configured characteristics and/or modeled performances.
The electronic design method (10) may also include outputting electronic data related to the finished article design. The electronic data can be written to a file, spooled to a printer or sent as data to another system. The type of output data may be selected and may include, for example, technical data sheets, which are dynamically revised to match the finished article design, solid models of the finished article design, performance results, or a record of configured characteristics and/or parameters from performance models. Another output may be accuracy, for example of a modeled performance, based on a statistical analysis of the known accuracy of the algorithms used to perform a particular model. Still another output could be the solution algorithms themselves when they are not proprietary.
The workspace (26) is a virtual workbench, lab, environment, etc. in which the cable assembly is designed. Items from the component palettes (24a-24c) are brought into the workspace (26) by dragging, mouse clicks, verbal command, etc. The system (20) automatically prevents bringing incompatible elements into the workspace (26). The identification window (28) is located directly below the workspace (26). As the cable assembly is electronically designed, a description of the assembly in the workspace (26) is automatically generated and displayed in the identification window (28). The description of the cable assembly design can be a written description, stock number, UPC code, skew number, etc. The help window (30) is a graphical presentation of directions, instructions, cautions and/or warnings appropriately generated based on user activity and selections. In
In
In
In an alternative example, the attenuation curve is manipulated directly by selecting and moving it with the mouse cursor or other selection tool to a desired range or slope which in turn affects variables upon which the curve depends, such as cable length and even cable type previously selected from the component palette (24a). Directly changing the performance model, in this case attenuation, would also effect a change in other outputs, such as stock number in this example. The attenuation results (54), in
Performance models may be run iteratively for a single cable assembly or for multiple assemblies and the user can save performance results and compare the results of one performance model to the results of a different model. For example, the user saves the attenuation results (54) for a cable length of 22 inches and compares them to results obtained on a cable assembly with the same cable length, but different connectors. The system (20) also allows the user to save performance results in a variety of data formats, thereby facilitating interoperability with other electronic systems. For example, the user saves the performance results (54) in data formats, such as SPICE, IBIS, or CITI, readable by electrical simulation software platforms available from Ansoft Corporation, Pittsburgh, Pa., U.S.A., or Agilent Technologies, Santa Clara, Calif., U.S.A.
Although modeling electrical performance can be complex, requiring considerable computational overhead, simpler schemes can be used to reduce the time between configuring performance models, modeling performance, and communicating performance results. Since cable assembly characteristics and performance parameters are known in advance, several performance results generation shortcuts are contemplated. For example, the impedance profile of each connector and cable is known, allowing a chart of both to be spliced together and graphically presented as performance results. In this example, the performance result is static, meaning, the impedance profile is different for each connector and cable type but is unaffected by other cable assembly characteristics. Splicing charts for any combination of selected connector and cable is a simple set of operations. Using attenuation as an alternative example increases the computational complexity, because cable length is a variable. In this example, cable length could be made selectable in discrete steps so that each selected cable length could be matched to stored graphical attenuation performance results. Eye diagrams are an example of a still more complex performance model requiring algorithmic computations, because they require several user inputs such as data rate, signal rise time, signal amplitude and cable length. In this example, an algorithm generates a data table as shown in
Persons having ordinary skill in the art will understand that methods according to the present invention include variations to the embodiment shown in
Embodiments according to the present invention may also be adapted to electronically identify an object or concept.
Next, the user inputs object characteristics (90), such as importing a recording of bird song. Inputting object characteristics (90) is accomplished by manually entering object characteristics through menu selections, keyboard entries, mouse clicks, voice commands, etc. or by electronically importing the characteristics, such as the imported bird song. In the case where the user manually enters object characteristics, the system presents the user with the types of object characteristics available for identifying the selected object. For example the system presents the user with bird characteristics including: physical attributes, such as wing shape, tail shape, beak shape, feather coloration, egg coloration; habitat, such as geographic area or terrain; audio, such as voice or wing beats; and video, including speed or wing motion. The user selects physical attributes and habitat and enters the wingspan of the bird and river valleys for the habitat. The identification method (84) then identifies one or more objects based on an algorithmic match between the object characteristics input and object characteristics stored for objects of the type selected (92). For example, the system performs an algorithmic match between the recorded bird song imported by the user and bird songs stored in the system. Based on the algorithmic match, the system identifies two birds with bird songs similar to the recorded bird song input by the user. The system can optionally store object characteristics input by the user, thereby adding to and/or improving the system's capability to identify objects. In this case, the system algorithmically analyzes the quality of object characteristics input by the user before storing the input data. Additionally, the system compares the object characteristics input to object characteristics stored and based on the comparison optionally deletes the stored characteristics and replaces them with the characteristics input by the user. Storing the input data in the system includes adding the input data to a relational database, storing graphic files, and even revising solution algorithms used by the system that depend on stored design data. The object identification method (84) can also include requesting permission to retain user data or enabling the user to decide if and how the input data is used to update the system.
The user may refine the identification by inputting, either by manually entering or electronically importing, additional bird characteristics. For example, the system displays wing shapes for the two previously identified birds. The user selects the wing shape. The system then displays wingspan for user selection. The user selects a wingspan of six feet. The system identifies a single bird matching the imported bird song, the selected wing shape, and a wingspan of six feet and the method (84) concludes by arriving at an identified object (94), in this example the bird. A feedback loop (96) enables the selection step (88), the input step (90), and the identification step (92) to be repeated as necessary to identify multiple objects or to refine the identification of a single object.
Persons having ordinary skill in the art will understand that embodiments of the present invention may be practiced on a variety of electronic systems. The system employing methods of the present invention may be stored and processed locally on a single computer, or may be distributed across a communications network with components of the system stored and processed on a server and other components stored and processed on a client. In a client-server environment, the system may be distributed across a public network, such as the Internet, or across a private corporate network, such as a Local Area Network (LAN). Software programs used in systems employing methods of the present invention may include one or more programming languages and technologies and interact with off-the-shelf or proprietary relational databases or other data storage and retrieval mechanisms.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.
Claims
1. A computer implemented method of electronically designing an article, the method comprising:
- accessing an electronic article design system;
- selecting an article type to design; and
- iteratively configuring a group of characteristics by selecting one or more options for each characteristic and/or iteratively modeling the article performance based on a selection of one or more performance parameters for each performance model, wherein the electronic article design system automatically presents the characteristics and the performance models based on the article type selected, dynamically updates the article for each step of the iterative configuration and/or modeled performance, and automatically resolves conflicts between iteratively configured characteristics, between iteratively modeled performances, and across iteratively configured characteristics and modeled performances.
2. The electronic design method of claim 1, wherein iteratively configuring the characteristics further comprises:
- (a) configuring a characteristic for the article by selecting one or more options;
- (b) adjusting remaining characteristics based on the article configured with the characteristic; and
- (c) iteratively repeating steps (a) and (b) until all characteristics have been configured for the article.
3. The electronic design method of claim 1, wherein iteratively modeling the article performance further comprises:
- (a) modeling the article performance by selecting one or more performance parameters for the performance model;
- (b) adjusting remaining performance models based on the article performance modeled; and
- (c) iteratively repeating steps (a) and (b) as necessary to complete the article design.
4. The electronic design method of claim 1 further comprising:
- graphically presenting the article for each iteratively configured characteristic and modeled performance.
5. The electronic design method of claim 1 further comprising:
- presenting a dynamically updated alphanumeric article identifier based on the article configured with the group of characteristics.
6. The electronic design method of claim 1 further comprising:
- outputting electronic information related to the article design.
7. The method of claim 6, wherein outputting electronic information related to the article design further comprises outputting one or more performance results for each iteratively modeled performance.
8. The electronic design method of claim 7 further comprising:
- outputting a first performance results;
- outputting a second performance results; and
- comparing the second performance results to the first performance results.
9. The electronic design method of claim 7 further comprising:
- translating the one or more performance results to an alternative data format chosen from a group of data formats; and
- outputting the one or more translated performance results.
10. A computer implemented method of electronically designing an article, the method comprising:
- accessing an electronic article design system;
- selecting an article type to design;
- inputting design data for the article type selected, wherein the design data is a function of more than one variable;
- inputting additional design data as necessary to design one or more articles of the selected type, wherein the electronic article design system automatically presents the additional design data based on the article type selected and the design data already input; and
- designing one or more articles with one or more characteristics based on an algorithmic match between the design data input and design data stored for articles of the selected type.
11. The electronic design method of claim 10 further comprising:
- algorithmically analyzing the input design data; and
- optionally storing the input design data in the electronic article design system.
12. The electronic design method of claim 11, wherein optionally storing the input design data further comprises requesting permission to temporarily or permanently store the input design data in the electronic article design system.
13. The electronic design method of claim 10 further comprising:
- algorithmically analyzing the input design data; and
- selecting to store the input design data and/or replace the stored design data with the input design data.
14. A computer implemented method of electronically identifying an object, the method comprising:
- accessing an electronic object identification system;
- selecting an object type to identify;
- inputting object characteristics for the object type selected;
- inputting additional object characteristics as necessary to identify one or more objects of the selected type, wherein the electronic object identification system automatically presents the additional object characteristics based on the object type selected and the object characteristics already input; and
- identifying one or more objects based on an algorithmic match between the object characteristics input and object characteristics stored for objects of the selected type.
15. The electronic identification method of claim 14 further comprising:
- algorithmically analyzing the input object characteristics; and
- optionally storing the input object characteristics in the electronic object identification system.
16. The electronic identification method of claim 14, wherein optionally storing the input object characteristics further comprises requesting permission to temporarily or permanently store the input object characteristics in the electronic object identification system.
17. The electronic identification method of claim 14 further comprising:
- comparing the input object characteristics to stored object characteristics; and
- optionally replacing the stored object characteristics with the input object characteristics.
18. The electronic identification method of claim 14 further comprising:
- algorithmically analyzing the input object characteristics; and
- selecting to store the input object characteristics and/or replace the stored object characteristics with the input object characteristics.
Type: Application
Filed: Oct 5, 2011
Publication Date: Feb 2, 2012
Applicant:
Inventors: Steven Feldman (Cedar Park, TX), Jason L. Randall (Cedar Park, TX), Alexander W. Barr (Austin, TX), Abhay R. Joshi (Austin, TX)
Application Number: 13/253,567