The present invention relates to computerized tools that assist with the design of engineering projects, and more particularly to graphical displays of individual components of engineering projects, wherein the graphical or numerical properties of the components are shown to a user in the context of the overall design.
Many interactive, graphical computer software applications process vast amounts of complex three-dimensional model data for presentation on one or more video displays. Such applications include, for example, computer-assisted design (CAD) tools for designing three-dimensional articles, buildings, and vehicles for manufacture, and geographic information system (GIS) tools, which are used to track public transit systems or communications networks.
These applications are often at the heart of design systems that must manipulate a complex array of information. A typical application may have to process a design containing thousands or even millions of components. And every component may be associated with information pertaining to its purpose in the design, its specifications and required tolerances, its cost and lead time, a vendor to manufacture it, a construction schedule, on-site delivery data, testing and check-out data, and many other data. These data are not typically stored in one location; rather, they exist in a collection of databases associated with several different applications that have different users. For example, the 3D specification of a component may be useful to a design engineer, while the cost and lead time information may be useful to a project manager. Because of the diverse nature of the data, assembling them in one place to obtain a global perspective of all information pertaining to a particular component is difficult.
Various embodiments of the invention simultaneously present two views of a component, a local view and a global view, in an integrated display, thereby improving ease of use of the design system. These embodiments improve prior art systems because, among other reasons, they collect the data displayed in the integrated display from multiple database sources that were created by mutually non-interoperable software applications. Further, by showing both local and global information together, such embodiments eliminate the distraction of switching between these software applications, or between views in a single application, in order to understand both of these design perspectives.
A first embodiment includes a method of displaying information that relates to a plurality of items in an engineering design. Each item is associated with a visual representation (as defined below) that shows both the item and at least one other item in the design. The basic method has three steps: first receiving a selection of properties that relate to the engineering design; next retrieving records from a set of databases having data records; then causing display, on a graphical display device, of selectable indicia that correspond to at least one of the retrieved records. Each record in each database has information associated with an item in the plurality of items. The retrieved records relate to one or more items that have at least one property in the received selection of properties, as is known from the art of database programming. Selection of an indicium causes simultaneous display of two images. The first image is the visual representation associated with the item of the record that corresponds to the selected indicia. The second image is a cropped image that shows a cropped portion of the visual representation.
There are various enhancements that may be applied to this embodiment. For example, the indicia may be arranged on the display device in a scrollable list, and the selection is performed in response to receiving an input from a user input device (such as a mouse) having a physical input that has a scrolling function (such as a scroll wheel). In some related embodiments, at least two of the databases have different storage formats. The visual representation associated with at least one item in the plurality of items may be an image file or a graphical user interface of a software application. The cropped image may be a portion of the visual representation that is enlarged and centered on the item, and may include a crop area that may be resized by a user to display more or less of the enlarged portion. In some embodiments, a portion of the visual representation that does not include the item has an opacity that is user-adjustable.
A further embodiment includes a tangible, computer-usable storage medium on which is stored program code for performing the steps of the above method or its enhancements. Another further embodiment includes a system for carrying out the steps of the method or its enhancements. Such a system may be a computer configured to execute the program code just described.
The foregoing features of embodiments will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which:
As used in this description and the accompanying claims, the following terms shall have the meanings indicated, unless the context otherwise requires:
A visual representation of an item is an image of the item in a specified design context. An item, such as a component in an engineering design, may have several different contexts in relation to the design. For example, in a chemical process plant, a furnace used to heat a reaction vessel may be viewed in the context of a system of fuel and waste pipes, a system of electrical wiring, a system of heat sources, and so on. Each context may have its own visual representation; for example, the furnace may appear in the structural blueprints, the electrical wiring diagram, in a 3D view of a cross-section of the plant, and so on. In this way, the furnace is associated with several visual representations. Conversely, any given visual representation typically will show many different items, each of which is associated with it. For example, the electrical wiring diagram will show many electrical components. Thus, there is a many-to-many relationship between design elements and visual representations.
The design system 110 includes a design application 111, which includes a combination of hardware and software for permitting a user to design an engineering project. Exemplary application 111 contains program code for manipulating various information and data relating to the project, program code for a graphical user interface (GUI) that allows the user to visualize the project or its associated data in 2D or 3D, and program code for a series of control elements in the GUI that permit the user to modify the underlying project data. Other embodiments of application 111 may accomplish these features in hardware or firmware for additional speed.
The design system 110 includes a number of adapters for communicating with other devices and systems. Thus, the design system 110 includes two display adapters 112a, 112b for transmitting images from application 111 to display devices 120a, 120b, although more or fewer display devices may be used. Exemplary display adapters 112a, 112b are graphics cards, but networking cards, or other hardware or software devices as known in the art may be used. Exemplary display devices 120a, 120b are computer monitors, but televisions, smartphones, PDAs, or any other adequate display devices may be used. The types of images transmitted include, for example, 3D schematics of a project, 2D blueprints of the project, other schematics of various mechanical, electrical, safety, or other systems of the project, project schedules, personnel rosters, and images of any other aspect of the design and implementation of the project. The images may represent text documents, spreadsheets, databases, or any other organization of information, including the graphical display of a software application.
The design system 110 also includes an imaging adapter 114 for generating and reading image files 130. The imaging adapter 114 is typically embodied as file formatting software that formats and parses image data, including JPEG, GIF, PNG, and other image formats as known in the art. Images of schematics, blueprints, and so on are processed by the imaging adapter 114 to create image files 130. Conversely, the image files 130 may be read and parsed by imaging adapter 114 for transmission to the display devices 120.
In accordance with various embodiments of the invention, the design system 110 interfaces with several other systems and applications associated with the project. For example, a design requirements software application 140 may be used in the initial phases of design to collect and organize all of the design requirements pertaining to one or more projects. The requirements application 140 stores all of its data in a database 142. When all of the requirements have been determined, parts may need to be ordered, for which a manufacturing work order application 150 is used. Manufacturing application 150 uses a database 152 to store its data. A logistics application 160 may be used to coordinate project implementation according to a work breakdown structure, for example as shown in a Gantt chart. Its data is stored in database 162.
As is known in the art, each database includes a collection of records, and in accordance with various embodiments of the invention, each record in the database has information that is associated with a component in the design. As will be appreciated, the databases 142, 152, 162 may contain data in different formats, such as flat text, CSV, XLS, XML, ISAM, and so on. To facilitate interoperability of the design application 111 with these other systems, the design system 110 includes database adapters 116a-c that permit the design system 110 to read (and optionally write) data to the databases 142, 152, 162 respectively. Additionally, to the extent required, the design system 110 includes its own database 118 of information in which it stores project design data.
It is useful in various embodiments for the design application 111 to provide a user with the ability to select various items from the design. For example, an engineer may wish to focus her attention on a particular subset of the motors, or on the heat sources. To that end,
It should be understood that the exemplary graphical interface shown in
In this example embodiment, the scrollable list 610 includes a collection of selectable indicia that correspond to the database records retrieved by the search process described above. Thus, Motor1, Motor8, and Motor9 appear in the search results, along with their relevant graphical properties. It will be understood that, in addition to their graphical properties, the functional properties of the relevant components may be displayed, along with any other associated information.
In
The secondary viewing panel 620 includes, for the selected component, a visual representation of the component identified by an indicium 612 in its larger context. In
The primary viewing panel 630 includes a viewing area 632 that has an enlarged view of the visual representation. The view is centered on the selected component 622 using the coordinates of the component. In particular, the view corresponds to crop boundaries, shown by a box 640, within the visual representation shown in the panel 620. The view of the selected component is scaled and rotated to a standard size and orientation for this type of component (in this case, a motor). In some embodiments this is done automatically, while in others, the visual representation shown in the panel 620 is scaled by a fixed magnification. In some embodiments, the user can change magnification using a GUI widget such as a slider bar (not shown). The viewing area 632 is itself centered in the panel 630, and its initial size may be determined using graphical properties of the component. For example, Motor1 has length 1, so the viewing area 632 has a length and width of approximately 2.
By simultaneously presenting a magnified view of the component in the primary viewing panel 630 and a contextual view of the component in the secondary viewing panel 620, the GUI advantageously allows a user to simultaneously see both local and global views of the component in its subsystem context, thereby improving ease of use of the design system. This system improves prior art systems in part because it eliminates the distraction of switching between software applications, or between views in a single application, in order to visualize both local and global properties of a component. It also advantageously collects the data displayed in list 610 and the visual representations of the panels 620, 630 from multiple databases 118, 142, 152, 162, some of which may have been created by mutually non-interoperable software applications.
To further improve ease of use, an embodiment of the invention may include other features in a GUI. For example, the embodiment may give a user the ability to enlarge the crop area, to display more or fewer nearby components. Such an embodiment is shown in
In another embodiment, the user may adjust the opacity of the portions of the visual representation not within the cropped area. Such an embodiment is pictured in
In addition to viewing the visual representation associated with the first selected indicium, the user may select another indicium, as shown in
Selection of the second indicium may be performed using any number of techniques, including the use of a user input device that has a physical input with a scrolling function. For example, a scroll wheel on a mouse may be used. In another embodiment, an input device with a trackball may be used. In yet another embodiment, a touch pad having specified area (typically a strip along the right-hand edge) is used to scroll between items in the list 610. While scrolling between images is known in the art, various embodiments of the present invention permit scrolling between images of components, filtered using specific search criteria, that are dynamically centered and enlarged based on graphical properties retrieved from one or more databases. The scrollable feature of these embodiments is thus an improvement over the prior art, as all of the visual information and graphical data from multiple sources is collected together, resizing and centering is automated, and several views of each component are displayed in an integrated display that permits simple scrolling.
The embodiments of the invention described above are intended to be merely exemplary; numerous variations and modifications will be apparent to those skilled in the art. The present invention may be embodied in many different forms, including, but in no way limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof.
Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL).
All such variations and modifications are intended to be within the scope of the present invention as defined in the appended claims