BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to systems and methods for providing information to users of computer programs, and in particular to a method and apparatus for visualizing a quantity of material used in a physical object modeled on a computer.
2. Description of the Related Art
Computer programs have long been used to assist users in the completion of a wide variety of projects. Examples of such computer programs include computer-aided design (CAD) and computer aided manufacture (CAM) programs. Typically, the use of such programs involves a complex series of user commands to define or select system parameters that are used in the design. Often times, the goal of the design process is to define a system that maximizes (or minimizes) certain criteria based on the selection of design parameters. Such parameters may be defined by the user or imposed upon the user by regulatory agencies or customers. One example of a design process subject to maximizing criteria based upon the selection of design parameters is the use of CAD/CAM software to design a building that will comply with Leadership in Energy and Environmental Design (LEED) requirements. Buildings can be LEED certified, providing an independent, third party verification that a building project is environmentally responsible, profitable and healthy place to live and work. LEED certification requirements are publicly available from the U.S. Green Building Council at http://www.usgbc.org/, which is incorporated by reference herein.
By their very nature, design projects associated with buildings can be enormously complex. Large and complex physical objects such as buildings can easily comprise hundreds of thousands of elements. While it is often the case that different materials are used for different objects, it is also the case that many of these elements may be fashioned from the same material as other elements. For example, concrete is a common construction material that is put to a wide variety of different element types.
To achieve LEED certification, it is often required that particular elements of a building design be constructed with material of a particular composition or legacy. For example, the material may be either made from a material that is recyclable, or from a material that already has been recycled.
Currently, to determine which portions of a building are manufactured of a particular material, the user must select or multiple select portions of the model (typically by clicking on portions of the model) and request the desired information. The problem is that this can be a lengthy and arduous task when a particular material is used to construct a large number of elements. Concrete, for example, is a common building material, and selecting each and every element made of concrete would be a difficult task. What is needed is a system and method that provides a convenient view of how much of a given building model is composed of a particular building material. The present invention satisfies that need.
SUMMARY OF THE INVENTIONTo address the requirements described above, the present invention discloses a method, apparatus, and article of manufacture for visualizing a quantity of a material used in a physical object having a plurality of physical elements. In one embodiment, the method is evidenced by the steps of displaying a visual representation of a model of the physical object and a display feature associated with at least one of the physical elements of the object on a display coupled to a computer, wherein the display feature is displayed concurrently with the visual representation, accepting a selection of the display feature in the computer from the user, filtering the model according to the selected display feature to highlight the physical element of the object associated with the selected display feature and displaying a visual representation of the filtered model. In another embodiment, the present invention is evidence by apparatus is evidenced by a means for performing the above steps. In yet another embodiment, the invention is evidenced by a computer system having a processor and a memory coupled to the processor, the memory storing one or more instructions for performing a computer program modeling the physical object and for presenting the visualized quantity of material used in the physical object, wherein the instructions comprise instructions for performing the above steps.
BRIEF DESCRIPTION OF THE DRAWINGSReferring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a diagram illustrating an exemplary computer system that could be used to implement the present invention;
FIG. 2 is a diagram of illustrative method steps that can be used to practice one embodiment of the invention;
FIG. 3 is a diagram presenting an exemplary user interface to a computer program that may be used to model the physical object and to visualize the quantity of a material used in the physical object;
FIG. 4 is a diagram illustrating an embodiment of the user interface after the entry of preliminary information;
FIG. 5 is a diagram presenting an illustrative embodiment of a data category user interface;
FIG. 6 is a diagram of an illustrative example of the data category user interface following selection of a feature;
FIG. 7 is a diagram showing an exemplary embodiment of the user interface after model is filtered according to the selected feature;
FIG. 8 is a diagram illustrating an exemplary embodiment of the user interface after an element is selected to specify a material;
FIG. 9 is a diagram illustrating one embodiment of the result of applying a selected element composition to the visual representation of the physical model;
FIG. 10 is a diagram presenting another exemplary embodiment of how the user may filter the model to highlight a selected physical element of the object;
FIG. 11 is a flow chart presenting exemplary steps that can be used to select the element of interest; and
FIG. 12 is a diagram illustrating a user interface that might be presented after selection of the structure element or set of elements by selecting control region ofFIG. 10.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTSIn the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Hardware EnvironmentFIG. 1 illustrates anexemplary computer system100 that could be used to implement the present invention. Thecomputer102 comprises aprocessor104 and a memory, such as random access memory (RAM)106. Thecomputer102 is operatively coupled to adisplay122, which presents images such as windows to the user on agraphical user interface118B. Thecomputer102 may be coupled to other devices, such as akeyboard114, amouse device116, a printer, etc. Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with thecomputer102.
Generally, thecomputer102 operates under control of anoperating system108 stored in thememory106, and interfaces with the user to accept inputs and commands and to present results through a graphical user interface (GUI)module118A. Although theGUI module118A is depicted as a separate module, the instructions performing the GUI functions can be resident or distributed in theoperating system108, thecomputer program110, or implemented with special purpose memory and processors. Thecomputer102 also implements acompiler112 which allows anapplication program110 written in a programming language such as COBOL, C++, FORTRAN, or other language to be translated intoprocessor104 readable code. After completion, theapplication110 accesses and manipulates data stored in thememory106 of thecomputer102 using the relationships and logic that was generated using thecompiler112. Thecomputer102 also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for communicating with other computers.
In one embodiment, instructions implementing theoperating system108, thecomputer program110, and thecompiler112 are tangibly embodied in a computer-readable medium, e.g.,data storage device120, which could include one or more fixed or removable data storage devices, such as a zip drive,floppy disc drive124, hard drive, CD-ROM drive, tape drive, etc. Further, theoperating system108 and thecomputer program110 are comprised of instructions which, when read and executed by thecomputer102, causes thecomputer102 to perform the steps necessary to implement and/or use the present invention.Computer program110 and/or operating instructions may also be tangibly embodied inmemory106 and/ordata communications devices130, thereby making a computer program product or article of manufacture according to the invention. As such, the terms “article of manufacture,” “program storage device” and “computer program product” as used herein are intended to encompass a computer program accessible from any computer readable device or media.
Those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention. For example, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the present invention.
FIG. 2 is a diagram of illustrative method steps that can be used to practice one embodiment of the invention. A computer program is provided which models one or more physical objects, each having a plurality of physical elements. For example, the computer program may model a building having physical elements such as floors, beams, wall, roofs, windows, doors, fixtures, support structure, and other physical elements. Each of the physical elements may be a member of one or more hierarchically related sets or subsets of physical elements. For example, the “fixtures” element could include subset elements such as plumbing, and subsets of the subset elements such as toilets or sinks.
Inblock202, a visual representation of a model of the physical object is displayed, along with a feature associated with at least one of the physical elements of the physical object. The model typically comprises a description of the elements of the physical object (e.g. the size, composition, shape, strength, color) and a functional relationship between that element and the other elements that together form the object (e.g. how the element is connected to other elements and how the elements relate to one another). For example, a model may describe an I-beam of a particular size, constructed of steel, in a particular location, and connected to a crossbeam via rivets and welding.
FIG. 3 is a diagram presenting anexemplary user interface302 to a computer program that may be used to model the physical object and to visualize the quantity of a material used in the physical object. In the illustrated embodiment, the computer program is used to model building construction and to determine the LEED compliance of the model. The user defines the model by providing manual user input to the computer program (e.g. via pointer304) or by providing information available from external sources such as databases. Such input could include, for example, input regarding the size, number of floors, material composition, and a host of other parameters. InFIG. 3, the user has input the facility name, zip code, and the type of space (general office space).
FIG. 4 is a diagram illustrating theuser interface302 after the building facility name, zip code, and the type of space (general office space) has been entered. Once the building has been at least preliminarily defined, theuser interface302 presents a plurality ofwidgets400A-400H (hereinafter alternatively referred to as widget(s)400) that provide a means to navigate to data categories such as different building construction characteristics, and also provide an indication of how well the modeled building design achieves the LEED design goals in each of the listed categories. The data presented in the widgets400 is determined via execution of algorithms within the computer program.
In the illustrated embodiment, eight data categories corresponding to eightwidgets400A-400H are provided. The widgets include anenergy widget400B, amaterials widget400C, anindoor widget400D, awater widget400E, asite widget400F, acarbon widget400G and aninnovation widget400H. The widgets also include asummary widget400A, which presents a compendium of information from all of theother widgets400B-400H. Selection of thematerials widget400C opens a data category user interface that provides additional information regarding the materials data category.
FIG. 5 is a diagram presenting an illustrative embodiment of a datacategory user interface500. The illustrateduser interface500 also presents a number of different features, including the widgets400, and may, as illustrated, enlarge or otherwise delineate the widget400 associated with the data category currently displayed. For example, in the illustrated embodiment, thematerials widget400C is enlarged to show that the currently displayed data category is the materials category.
Theuser interface500 may be divided into a plurality of portions, including agraphical portion502A, arendering portion502B, and adata point portion502C. Thedata point portion502C provides features that allow the user to input or edit information about the data points that are members of the data category. In the illustrated embodiment, the data points are represented by display features that include “Materials Reuse” percentages of 5% and 10%, “Recycled Content” percentages of 10% and 20%, “Recycled Content” of 20%, “Regional Materials” of 10% and 20%, and “Rapidly Renewable Materials.”
Selection (e.g. via pointer304) of the feature representing the “Recycled Content” data point causes one or more features such as the recycled materials graphic features504 to be opened in thegraphical portion502A. Thegraphical portion502A presents graphical information about the data category and/or data point (in the illustrated example, building materials).
The materials graphics504 may include a firstgraphic feature504A describing the selected data point or the data category. In the illustrated embodiment, the firstgraphic feature504A indicates the total amount of recycled materials used in the modeled building. A thirdgraphic feature506 may be presented to allow the user to view subcategories of the data point, in the case illustrated, the building materials used. The user may also drill down to examine the percentage of recycled material used in the an element of the object (e.g. floors of the building), or in subsets of elements of the object (e.g. concrete floors of the building), or in building materials that are used in different elements of the building (e.g. the percentage of recycled concrete of all concrete used in the building) by selection of one or more display features. This can be accomplished for example, by use of thearrow558, which opens a pulldown menu with inputs that can be set to different values, or by analogous means.
Therendering portion502B presents a rendering of the modeledobject508. In the illustrated embodiment, the rendering is a 3D rendering, but a 2D rendering may be provided instead. Further, the user may, by selection of appropriate controls, alter the view of the rendering to change the perspective, or select particular elements for a more detailed view.
Returning toFIG. 2A, a selection of a feature is accepted from the user, as shown in block204.
FIG. 6 is a diagram of an illustrative example of the datacategory user interface500 following selection of a feature. In the illustrated embodiment, the feature is selected by dragging the secondgraphic feature504B representing the percentage of recycled material content for the concrete floors from thegraphical portion502A to therendering portion502B. Therendering portion502B of theuser interface500 has also has been updated to remove outer structures to that the selected element510 (e.g. the concrete floors) the concrete floors can be more easily seen.
Returning again toFIG. 2A, the model is filtered according to the selected feature to highlight the physical element of the object associate with the selected feature, and a visual representation of the filtered model is displayed, as shown in blocks206-208.
FIG. 7 is a diagram showing an exemplary embodiment of theuser interface500 after model is filtered according to the selected feature. Note that therendering portion502B is updated to highlight the physical elements of the object associated with the selected feature. In this example, the selected element was concrete, so theobject508 is updated to highlight the building elements comprised of concrete having 20% or more recycled content.
The user may then specify another material for a particular element of the object (e.g. the floors). This can be accomplished by moving thepointer304 over the associated element (in the illustrated example, a floor) in thegraphical portion502A, therendering portion502B, or thedata point portion502C, and selecting the element but other methods may be used as well.
FIG. 8 is a diagram illustrating an exemplary embodiment of theuser interface500 after an element is selected to specify a material. As illustrated, amaterials specification window802 is opened in theuser interface500. The user can search different products by specifying the recycled content of the product, the carbon content, and the cost, by manipulating controls804-808. Thematerials specification window802 then provides the results of the search. In the illustrated embodiment, the results include concrete compositions, available from different sources.
The user can then manipulate thepointer304 and select the desired concrete composition. The filtered model is then updated using the selected concrete composition, and the results presented in theuser interface500.
FIG. 9 is a diagram illustrating one embodiment of the result of applying a selected element composition to the visual representation of the physical model. In the illustrated example, a different concrete composition was selected for the floors of the building, and the model was updated accordingly. The visual representation in the rendering portion502 is also updated to highlight the concrete floors. Since the newly selected concrete composition has a different recycled material percentage than the previously selected concrete composition, the secondgraphic feature504B is updated to reflect the higher percentage of recycled content (now approximately 70%). The firstgraphic feature504A, which illustrates the percentage of recycled materials for the entire object (e.g. the building) is also updated to reflect the different composition.
The operations shown in blocks204-210 can be repeatedly performed to optimize the physical object design. For example, different concrete compositions (each possibly associated with different costs) can be used to arrive at different candidate designs, along with different compositions for other elements, the design using achieving the highest recycled content and the lowest cost can be selected for the proposed design.
In the foregoing example, model was filtered by selecting the secondgraphical display feature504B associated with the element of interest (in this case, the floors) and pulling that feature within therendering portion502B of the user interface500B.
FIG. 10 is a diagram presenting another exemplary embodiment of how the user may filter the model to highlight a selected physical element of the object. In this embodiment, the selected display feature comprises a radar diagram1000. The radar diagram1000 can be presented in a separate window or anywhere in theuser interface500.
The radar diagram1000 may comprise agraph1008 having aradial line1006 extending from acenter1010 of the radial diagram1000 for one or more of the physical elements of the physical object. A control region1002 is disposed proximate the end of each of the lines. The control regions1002 are associated with a physical element of the physical object associated with theradial line1006. For example, the radar diagram1000 comprises afloors control region1002A, adoors control region1002E, awindows control region1002F, aroofs control region1002G and awalls control region1002H. Control regions1002 may also represent categories or groups of elements. For example,control region1002B represents components and “all”control region1002C represents all materials.
The radar diagram also includes adata point1012 on each of the radial lines1006. Each data point quantifies a parameter associated with the physical element of the physical object associated with theradial line1006. For example, the data point associated with the floors displayfeature1002A and floors element shows that about 20% of the floors are composed of recycled content. In this embodiment, if the user wishes to filter the model to highlight the floors, that can be accomplished by selecting the floors controlregion1002A with thepointer304.
The user may also select the element of interest by other means. For example, the elements of the object may be a member of one or more hierarchically related sets of physical elements. In such case, the user may hierarchically isolate the desired physical element from the plurality of elements, then select a feature associated with that hierarchically isolated element to update the model.
FIG. 11 is a flow chart presenting exemplary steps that can be used to select the element of interest. First, a first set of elements of the object is displayed, as shown inblock1102. One example of such a display is the radar diagram1000 shown inFIG. 10 (with each control region1002 associated with an element or set of elements). Next, at least one of the elements is selected, as shown inblock1104, and a plurality of subsets of the first set of elements is displayed, as shown inblock1106.
FIG. 12 is a diagram illustrating auser interface1200 that might be presented after selection of the structure element or set ofelements1202 by selectingcontrol region1002D ofFIG. 10. Theuser interface1200 presents a plurality of subsets of the set of physical elements relating to thestructure element set1202. These include a skeletal subset1204 (which includes beams), a peripheral subset1206 (which includes outside walls, and a roof) and an internal subset1208 (which includes internal walls, ceilings, floors, and stairways).
Next, a selection of at least one of the subsets of the plurality of subsets of the first set of elements is accepted, as shown inblock1108. This can be accomplished, in the illustrated example ofFIG. 12, by selecting either “skeletal” or beams. A second plurality of physical elements that are members of the subset of physical elements is then displayed, as shown inblock1110, and a selection of a feature associated with at least one of the physical elements of the object is accepted, as shown inblock1112.
In the illustrated example ofFIG. 12, vertical, horizontal, and cross beam physical elements/element sets1210 are displayed. A selection of one of these elements can be made, thus hierarchically isolating the elements from the other elements of the object. For example, if the user were to select vertical beams, the vertical beam elements of the building would be selected as the element of interest. Following this step, theuser interface500 is updated to provide a feature that the user can use to highlight the physical object of interest. For example, if the user had selected vertical beams as the element of interest, information regarding the recycled composition of the vertical beams may be presented ingraphical portion502A, and the user may then move the graphic representing this information to therendering portion502B to command the computer program to filter the model to show vertical beams. Alternatively, the radar diagram may be updated such that the “structure”control region1002D becomes a “vertical beam” control region, and selecting the vertical beam control region commands the desired filtering and display.
CONCLUSIONThis concludes the description of the preferred embodiments of the present invention. The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.