专利摘要:
The present invention relates to a computer-based systems and methods for reducing and prioritizing a selection set of items for use in a model of a structure. The systems and methods of embodiments of the present invention may be used to eliminate multiple selection structures and reduce user workload by eliminating improbable menu selection choices. A domain comprising a plurality of items is organized or filtered and sorted based on parameters of a computer environment. Computer environment parameters may comprise the proximity of a placement location to identified areas and entities within a model. Further filtering and sorting based on input data shape, size, aspect ratio and other parameters provides for a drastically reduced selection set which may be presented to a user for simplified selection or immediate use.
公开号:CA2351977A1
申请号:C2351977
申请日:2001-06-28
公开日:2001-12-29
发明作者:Robert Meyers;Alvin Black
申请人:Xactware Inc;
IPC主号:G06F3-04
专利说明:
[1" class="description-paragraph] AUTOMATED ITEM SELECTION FUR COMPUTER PROGRAMS BACKGROUND OF THE INVENTION Embodiments of the present invention relate to methods and apparatus for automated selection of optional items used in computer programs. More particularly, embodiments of the present invention may automatically select an item or a subset of items from a set or domain of available items based on input from the user or the computer. Operation and use of many computer programs requires the selection of various optional items to achieve a specific goal through program use. Computer Aided Design (CAD) programs present users with options for inserting shaped objects, lines, and points, 1 o and offer further options for establishing colors, layers and other attributes. Word processors present font style, font size, line spacing, page formatting, printing and many other options for the user. These and other types of applications utilize various types of interfaces that attempt to simplify the process of selecting an item. These interfaces include menus, lists, toolbars, palettes, and tree-views, among others. A problem facing the user is in sorting through large lists to select the item desired. Selection is typically performed with the use of an input device, such as a mouse, digitizer, touch pad or keyboard. Once a menu, list, toolbar, or the like has been activated, subsequent input via one or more input devices is used to select a specific item. When simple selections are required, the user may be presented with a single 2o menu, toolbar, list or the like, each further comprising optional items listed sequentially for selection. Program functions, however, often require the selection of multiple variables to complete the function. These multiple selections may be performed through Page ~ Docket No.: 7927.116 the use of an item selection hierarchy wherein successive lists or menus are presented as each selection is made. A first item selection may lead to another list or menu, which may lead to another until all variables are selected for the completion of a given function.While lists, tree views, or pull-down menu hierarchies with multiple selection sets can provide adequate input to achieve program functions, as a whole, their efficiency and usefulness break down when attempting to provide a selection interface for extremely large item sets. This is largely a result of the limited ability of current input devices to convey user intent. Pointing devices or keyboards are simply incapable of capturing, efficiently, the volume of information needed from the user to select a single item from 1 o such a large domain. For example, mufti-level or hierarchical menus are often used to select from among various program options. As the number of available options increases, however, so does the size of each menu and/or the depth of the hierarchy. This has several drawbacks. First, the menu becomes increasingly obtrusive as it requires more and more 15 screen real estate to present the additional options; second, the user's efficiency decreases as the number of options on each menu increases, since the user is required to locate and select the right option from a much larger set; third, as the depth of the menu hierarchy increases, selection is slowed because of the increased number of intermediate selections required to bring up the menu containing the actual option desired; and last, extensive 2o hierarchies require significant experience, training, and/or domain knowledge to navigate, since the user cannot know initially how the set of available options has been organized. Page 3 Docket No.: 7927.116 Selection interfaces and processes that are visually obtrusive and/or require significant interruption of the user's workflow can negatively affect the user's ability both to express creative ideas and to concentrate on the task at hand. Program users, for example users of CAD, word processing, publishing, and other programs involving creative processes, often develop complex, creative thought patterns that are best expressed without extended interruption. When expression of these thoughts through a computer program involves cumbersome, disruptive, and repetitive selection processes, thought patterns may be interrupted and creativity inhibited. Selection from large item domains can also be error-prone. Many item domains l0 are large in part because they contain many subtle variations of each option or item. The small degree of variation between them increases the risk that users will inadvertently make an incorrect selection, either because they did not notice the difference between the item chosen and the item desired, or because they lacked sufficient domain knowledge to make the decision. Incorrect selections may not be immediately apparent resulting in a 15 lasting error in a finished product. When incorrect selections are detected, they may be difficult to correct and can require renewed searching for the desired item, which causes the screen to be cluttered, lists to be accessed, and manuals consulted, should the desired item be forgotten as to location or access steps. In any case, incorrect item or menu selection causes undue interruption and delay that inhibits a user's progress.2o A streamlined item selection process can make a program user more efficient and productive. Elimination of disruptive and repetitive selections can also allow for more creative and uninhibited thought processes. Page 4 Docket No.: 7927. t l6 The requirement of extensive user input for item selection from a large domain is a common weakness of most selection interfaces. Communication of complex selection criteria via current input devices is difficult and cumbersome, which in turn interrupts program usage and user thought patterns. A system that obviates the need for repetitive and complex communication through these devices can greatly enhance user productivity and accuracy, and alleviate stress and fatigue. Page S Docket No.: 7927.116 SUMMARY OF THE INVENTIONEmbodiments of the present invention provide increased convenience, accuracy, and speed in operating a computer program which incorporates a model of a structure. These embodiments utilize a wide range of existing information derived from the model and various other sources to make automated selection decisions, thereby eliminating the need for repetitive and complex selection input by a user. These automated decisions involve various methods of eliminating or filtering unlikely selection candidates, and prioritizing or sorting the remaining candidates. The resulting prioritized set may be presented to the user in such a way as to facilitate selection of the most likely candidate or candidates, or used to 1o make a completely automated selection without any additional user input. Embodiments of the present invention may employ one or more of the following methods, among others, in filtering and/or sorting the selection domain: usage patterns of the current user; usage patterns of a group of users; association of the desired item with one or more defined areas in the model; geometric information about the desired item, such as its shape, size, or aspect ratio; proximity or non-proximity of the desired item to one or more entities in the model; existence, quantity, or concentration of other entities in the model; prior selection of an overall category or sub-domain of items; geographical or regional information about the structure or various items; and pricing, availability, or other information related to the purchase of various items. Embodiments of the present invention may employ the 2o context of a computer environment and usage patterns to filter and sort large data sets so as to reduce and organize a domain or selection set to a more manageable sub-set.Some embodiments may sort and filter a selection domain, which eliminate items that are not likely to be selected in a specific area or proximity to other entities in a model or Page 6 Docket No.: 7927.116 image. Sorting and filtering may result in a reduction in the selection set to a single item or may reduce the selection set to a smaller subset from which a user may make a more efficient selection.Some embodiments of the present invention provide automated item selection based s on the proximity of a specific location to other entities in a model.Some embodiments of the present invention allow a user to reduce a selection domain manually by indicating a category of functions or other items that is a subset of the overall domain. This category subset may then be further filtered and reduced through the automated processes of embodiments of the present invention.1o A model or image may be divided into areas with designated area types that identify the purpose, use or function of an area. After these areas are designated, embodiments of the present invention may eliminate selection items that are not likely to exist or be placed within the area designated by the user . As a non-limiting example, a CAD program user who is drafting a plumbing plan may draft a two- or three-dimensional model of the structure and 15 place symbols on the model that designate the location of various plumbing fixtures and components. The model is divided into areas that may designate the purpose of each room.Area type designations may include kitchens, bathrooms, bedrooms and other room types.As the program user selects an area designated as a kitchen, or a specified location is designated within a kitchen area, the selection set of items that may be executed by input 2o device activation is filtered to a subset that is commonly used in a kitchen. If the domain has been previously set to plumbing fixtures, the domain may be further filtered to kitchen plumbing fixtures such as kitchen sinks and faucets. Page 7 Docket No.: 7927.1 16 Some embodiments of the present invention may filter, sort or reduce a domain based on a likelihood of an item being selected in a proximity to another entity. Having specified the location of the item or its proximity to one or more other entities, , the domain may be sorted and reduced to contain only those items which are likely to exist or be placed in close proximity to those entities. As a non-limiting example, a user of a CAD program may be creating an electrical plan on a virtual model of a building structure. It has been determined that electrical light switches are most likely to be placed on a wall adjacent to a door. As the user moves a cursor to a location adjacent to a door, or otherwise designates such a location, the function to be executed upon a click of a mouse button will be the insertion of a symbol to representing a light switch. It has been determined that the most likely location of an electrical receptacle is on a wall away from doors or corners of the room. As the user moves the cursor to such a location in the model, or otherwise designates such a location, the function which will be executed upon a click of a mouse button will be the insertion of a symbol representing an electrical receptacle. Accordingly, the function executed upon any given input may be automatically changed as a designated location is analyzed in relation to other entities in the model.Automated item or function selection may also be determined based on geometric characteristics of the item as specified by the user, such as the item's shape, size, aspect ratio, or other characteristics. These characteristics may be used to filter or prioritize the domain of items. For example, a user creating a plumbing plan on a model of a structure may input coordinates for a group of points indicating a rectangular shape about 60" long and about 3 0" Page B Docket No.: 7927.1 l6 wide. Embodiments of the present invention may determine that the most probable item to be inserted into the model is a bathtub.Embodiments of the present invention facilitate efficient selection from a large item domain by eliminating user workload and interruption through automated function or item selection processes. Page 9 Docket No.: 7927. I 16 BRIEF DESCRIPTION OF THE DRAWINGS In order that the manner in which the above-recited and other advantages and objects of the invention are obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:1 o Figure 1 is a hardware diagram showing typical hardware used in embodiments of the present invention;Figure 2 is a diagram showing domain, or set filtering, and prioritization processes of an embodiment of the present invention; and Figure 3 is an extension of the diagram shown in Figure 2. Page 10 Docket No.: 7927.116 DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTIONThe figures listed above are expressly incorporated as part of this detailed description.It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the system and apparatus of the present invention, as represented in Figures 1 through 3, is not intended to limit the scope of the invention, as claimed, but it is merely 1o representative of the specific embodiments of the invention. The specific embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The terms "virtual model," "model," "virtual image," and "image" shall be synonymous and comprise any representation of a physical element or combination of physical elements that can be displayed on a computer display, are more complex than could be easily displayed on a computer display, or stored in memory, or a combination of any of the three. Exemplary models comprise a CAD drawing, which represents a building, machine, vehicle or other physical structure or object. The structure represented by these models may be anything tangible such as a building, a piece of furniture, a vehicle, or almost 2o any other physical component or combination thereof.The term "item" may refer to any element of a model which represents an object or set of information that is a component of, is contained by, operates on, or is otherwise associated with the structure. Items may also comprise executable program functions such as programs, subroutines, objects, applets, servlets and others. Items may be organized into Page 1 1 Docket No.: 7927.1 l6 domains or sets. Generally, all items used in a specific application will be included in an overall domain comprising all items. The overall domain may be divided into categories that are differentiated by one or more item attributes. These categories may be referred to as domains or sets and may be further divided into sub-domains or subsets through manual or automated filtering. The set of items currently available to a user may be known as an available selection set. Items may also be sorted or otherwise organized to reflect various forms of prioritization.A typical computer system used for implementation of embodiments of the present invention, as shown in Figure 1, comprises a computing unit 2 connected to a display 4 and to various input/output devices such as mouse 6, keyboard 8, speakers 10, printer 12 and many other devices as are common in the industry. Computing unit 2 typically comprises a processor 14, memory 16, storage devices 18 such as floppy disk drives, hard disk drives, optical storage devices and others, and various interfaces for communication between computing unit 2 components and peripherals. Many computer programs, applications and operating systems utilize a form of Graphical User Interface (GUI), which provides for the use of a pointing device such as a mouse, digitizer, touch pad, roller ball or similar input device to manipulate a pointer or cursor image on a display for selection of alternative items shown on the display. Selection of these display items typically initiates execution of a program or function.An exemplary embodiment of the present invention is described with reference to its implementation in a Computer Aided Drafting (CAD) application program. This first Page 12 Docket No.: 7927. l 16 exemplary embodiment is only one of many embodiments of the present invention and should not be construed as limiting the scope of the present invention.With a CAD application, users create a virtual model that represents a real-world structure or abject such as a building, machine, tool, landscape or vehicle. While creating this virtual model a user executes commands that add elements or components to the model.Points, lines, shapes textures, colors, shading and other geometric or visual attributes may be specified for each element.One type of model is a building plan. Building plan models contain entities that represent each component of a building. Plumbing fixtures and piping, electrical fixtures and 1o receptacles, structural components, heating and ventilation components, wiring and myriad other components are shown on the model. Many of these components are represented in the model by standardized graphical symbols to avoid clutter in the display of the model. As a user creates the model, symbols are shown to represent each component added. For example, a user will insert a symbol representing a light switch at each location requiring such a switch. A similar procedure is followed for electrical receptacles, light fixtures and plumbing fixtures. Generally, CAD programs contain a library of objects that may be selected for insertion into a model. The objects may include symbols or pictures and also have more complex information and functionality associated with them than just displaying an image.Objects may be selected from an overall domain comprising all available symbols for model creation. Object selection is generally performed through the use of pull-down menus or pop-up menus, palettes, lists, hierarchies, tree views, and other methods of displaying objects Page 13 Docket No.: 7927.1 I s known to those skilled in the art, that offer a choice of options. These selection interfaces may employ a textual list of options, a graphical representation of the symbols such as thumbnail graphics or another format. In many programs, literally hundreds or thousands of options are available in the overall domain. Manual selection of categories within the overall domain can limit the options. However, even within defined categories, dozens or even hundreds of options may still be available. Categories of objects may be further divided into sub-categories and a hierarchy may be established to organize the symbols according to these divisions. This process, however, generates a complicated, mufti-tiered structure that can become cumbersome to navigate.to Complex and extensive selection structures often obscure the computer display, making visual reference to the model image during item selection impossible. When an item selection requires multiple choices to move through hierarchical levels, a user often has a need to reference the visual image of the model on the display. When this need arises, a user must exit the selection structure to view the model and re-enter the selection structure to make the selection. This process can be tedious, time-consuming, frustrating, and disrupting to workflow. Alternatively, rather than use a single monitor to view the program, advanced users, for example, those who practice in CAD or image editing programs, will use two monitors. The first monitor is used to display their design on and the second monitor is used to display various items, functions, objects, or menu selections so that they may see the items 2o they can select from without obstructing the view of the image they are working on as displayed on the first monitor. The present invention overcomes the problem of overcrowding a display monitor with clutter that obscures the model being displayed or leads Page 14 Docket No.: 79z7. ~ is the user to add a second display just to view the objects, trees, menus, etc. with a first monitor being used to display the working model.Manual selection structures, particularly multi-tiered menus with multiple selection requirements, also interrupt a user's actions during the creation of a model. This interruption can hamper a user's creativity or cause a user to forget some aspects of a model.(P) Manual object selection may also be an error-prone process, particularly when multiple selections must be made through selection of small screen areas with an inaccurate input device, or when the selection domain contains many similar items.In order for a user to select an item from a large hierarchical domain, a user must be to familiar with the structure of the hierarchy in order to navigate that structure. The need for such familiarity may prohibit new users from being able to select items efficiently, and may even discourage them from using the program.The methods and systems of embodiments of the present invention as demonstrated through this first exemplary embodiment eliminate the need for complex object selection presentations and tedious manual selection through automated object or item selection processes.In some embodiments of the present invention, manual category selection is available for reducing the overall domain to a general category. After this selection, one or more automated filtering processes are used to eliminate unlikely selection sets and eliminate the 2o need for mufti-tiered selection. These filtering processes reduce the size of the overall domain or category to one item or a select few items from which a user may make a quick manual selection. Page 15 Docket No.: 7927.1 t6 Embodiments of the present invention including this first exemplary embodiment of a CAD application and a building model may employ specified areas within the model to filter the domain or category thereof. In a building model example, rooms may be identified as specific areas with defined purposes. For example, kitchens, bathrooms, bedrooms and other rooms may be identified as such and associated with the symbols or other items commonly used in those areas. Areas may be designated by specifying a perimeter thereof, such as by input of multiple points, selection of geometric elements around the perimeter or other methods, and by designating the type of area to be associated with the specified perimeter. Once an area is identified and associated with an area type, the domain of to available items will be automatically filtered by eliminating items that are not likely to be used in that area.As well as organizing or filtering items based on whether they are or are not likely to be used in a specific area type, the methods of the present invention may further sort and organize the remaining items in the area-limited selection set so as to prioritize or arrange these items in an order according to likelihood of use. The item that is most likely to be used may be given a priority status such as immediate activation or placement via an input device signal. In one specific embodiment, priority status results in activation through a pointing device selection, such as a mouse button click, and a user may step through a group of items of highest probability of use by clicking another mouse button. Further, an item having the 2o greatest priority is selected and shown to the user for selection, along with other pertinent items from which the user can also select. This provides the user not only with the most pertinent item selected automatically by the computer based on the type of area, but also with Page 16 Docket No.: 7927.116 a list of options to select from in case the user decides that the first item would be inappropriate or undesirable for any reason.As a non-limiting example, a screen cursor manipulated by an input device may be used to indicate a location for insertion of a graphical symbol. As the cursor is moved into an area designated as a kitchen, the methods of embodiments of the present invention filter the domain by eliminating items that are not generally placed in a kitchen. Bathroom fixtures, exterior items and other items may be eliminated from the domain or category thereby creating an area-limited selection set. Items most likely to be used in a kitchen will be placed at the top of a listing and be given priority status as explained above.to As another non-limiting example, a CAD building model may be divided into multiple plan sheets or views for representing different model elements. Structural plans, floor plans, electrical plans, plumbing plans and others may be used. Each plan, sheet or view is defined as an area with a specific area type. As the cursor is moved over the structural plan, or the structural plan is otherwise selected, for example, non-structural items t5 are automatically filtered from the domain or category. Items most likely to be used in a structural plan will be placed at the top of a listing and will be given priority status. As a plumbing plan area is selected, unrelated items will be filtered from the list and plumbing fixtures and pipe symbols will be prioritized.While cursor movement is used to trigger the organizing or filtering and sorting 2o processes in the above examples, other methods of identifying specific display and model locations may be used. When processing capacity is limited, real-time filtering and sorting in conjunction with cursor movement may not be desirable. In these and other instances, Page 17 Docket No.: 7927.116 filtering and sorting may be triggered by input device signal, at a specified timing interval or by some other method.Another method of organizing or filtering and sorting used in embodiments of the present invention manipulates the domain or category according to a proximity to another model entity. Models may comprise points, lines, shapes, objects, and various other entities.These entities may be associated with entity types that identify the entity and a defined environment. In a building model example, doors, windows, electrical receptacles, plumbing fixtures, cabinets, wails, floors and ceilings and other building components may be defined as entity types. As a cursor is moved or a location selection is made, embodiments 1 o of the present invention determine the proximity of the location to other entity types and determine a likelihood that items in the available domain or set will be used. Items with a low likelihood of use will be filtered from the available set and, in preferred embodiments, remaining items may be sorted and prioritized. The location of entities and their types may be found by determining which entities fall within circles of successively larger radius up to a specified radius limit from a given location or by many other means known in the art.As a non-limiting example, a CAD user creating an electrical plan may manually or automatically, through methods of embodiments of the present invention, limit the domain to electrical fixtures. Further filtering of the category or set is achieved as a location adj acent to a door on the plan is selected. The door is identified as an entity type and the electrical 2o fixture most likely to be used adjacent to a door is a light switch. As the designated location comes in close proximity to the door the selection set is sorted and the light switch is given Page 1 g Docket No.: 7927.116 priority status. A user may then insert the light switch symbol by a simple mouse click without any manual selection of items.The methods of the present invention may include multiple entities in the calculus of a likelihood of use of an item. When multiple entity types are present in close proximity, the combination of entity types may alter the sorting process of the selection set. As a non-limiting example, a location designated in close proximity to a door entity which already has a light switch symbol (another entity) placed near it may alter the likelihood that another light switch will be used and an electrical receptacle may receive priority status instead.Items may also be filtered and sorted according to the geometric characteristics of the io desired item as specified by the user. An input device may be used to identify a point, a group of points, a line or another geometric shape. Based on this information, methods of embodiments of the present invention may filter and sort the available selection set thereby eliminating items that are not likely to have those geometric characteristics.Again, in a CAD example, various input operations may be used to place a graphical t 5 item in a model. Placement generally consists in specifying the location and geometry of the item. Geometric characteristics may include shape, size, aspect ratio, and orientation, among other things. Different input operations may be used to specify different geometric characteristics. Each item in a domain may have one or more types of geometric information associated with it, such as a point, a given number of points, a number of points with a 2o specific geometric relationship, a series of points denoting a shape, a series of points denoting an aspect ratio, an intersection of two lines or entities or some other configuration.When a specific input operation is used and various geometric characteristics specified Page 19 Docket No.: 7927.116 thereby, all items that do not have said characteristics may be filtered from the domain or category.As a non-limiting example, in a CAD application, a user may place plumbing fixtures on a plumbing plan model. Plumbing fixtures are represented by graphical images in a shape similar to the plan view of the actual fixture, but scaled to the drawing scale. The shape of the fixture images varies with the fixture they represent. A bathtub is an elongated rectangle, a shower is roughly a square, a sink may be an oval, a toilet may be a combination of an oval and an adjacent rectangle. Some of these shapes may be input by a series of points, others may be input by dragging a cursor to form a shape such as a rectangle and other may be input to by some other input operation. As the input approximates an elongated rectangle, an image may be inserted into the model that represents a bathtub. If the input approximates the shape of a square, the object of a shower may be inserted, which may include an image of the shower as well as information relating to its style and dimensions, among other things, such as styles previously selected and dimensions allowed for the location.The input operation may also denote the size of an item. Consecutive input coordinates may indicate a length or width of an item. As another non-limiting example, in a CAD application, two consecutive points may be input which are approximately 60" apart according to the model scale. The only item of this size in the available selection set is a bathtub so the object representing a bathtub is inserted, which includes an image as well as other vital information about the bathtub such as size, price, color, features, etc.An input operation may also specify an aspect ratio. Two points may represent a rectangle or other shape with a given length-to-width ratio or aspect ratio. As a non-limiting Page 20 Docket No.: 7927.1 is example, when these points are input, all items in the available selection set that do not have a similar aspect ratio are filtered out and the closest match is given priority status.A domain or category may also be filtered or sorted according to the existence, quantity, or concentration of one or more entities in the model. The methods and systems of embodiments of the present invention may keep track of the quantity of a specific item or class of items that are present in a model. In some models, the probability that an item will be used is inversely proportional to the quantity of that item present in the model. In other models, some items may typically exist in certain quantities or in certain quantities in specified areas. Embodiments of the present invention may keep track of the quantity of 1o each item present in a model or portion thereof and may adjust the likelihood that an item will be used with reference to a typical optimal quantity, maximum quantity or some other number.As a non-limiting example, in a CAD application, a user may be creating an electrical plan and may place a light fixture near the center of a room or area. While the light fixture was the most likely item to be used near the center of the room, it will no longer be the most likely after a light has already been placed there. Similarly, if a bedroom typically has six electrical receptacles, electrical receptacles may no longer receive priority status once this quantity has been met or exceeded.A likelihood or probability that an item may be placed or used may be adjusted 2o according to the historical usage of a user or group of users. The frequency at which a user or group uses a typical item in a certain situation can be tracked and recorded to adjust to the users= environment. Users in a specific geographic region, code jurisdiction, high or low Page 21 Docket No.: 7927.116 income area or similar area may use items at a different frequency. These regions or areas may be recorded and user-related item frequency tracked for specific areas or regions. Item usage frequency of other users, overall or for a specific region, may also be used as a factor in determining a likelihood of use for a specific model.Additionally, the quality or style of a structure, regional or geographical information such building codes, zoning information, climate, and other environmental factors, the intended use of a structure, as well as item pricing and availability may enter into a determination of the likelihood of use of a specific item. All these factors may be used to filter and sort a domain, category or set to arrive at a prioritized list or set typically having to an item with a priority status along with other items organized in descending order of likelihood of use.An embodiment of the present invention may be described in reference to Figures 2 & 3, which depict a flow chart that describes some of the processes of this particular embodiment.This embodiment comprises a universe or overall domain 30 comprising all items available to a specific application. As a non-limiting example, overall domain 30 may comprise a library of objects, shapes, or graphical images for use in a CAD program being used to model a structure.A process is initiated by placement of an item 32. In this particular exemplary 2o embodiment, one or more signals from an input device may be used to commence item selection. This input may designate a location on a model and may comprise single and multiple coordinates as well as selection of entities in a model. Placement may comprise Page 22 Docket No.: 7927.116 dragging an input cursor to define a size, shape, aspect ratio or other geometric configuration.These attributes may also be defined without the use of a conventional cursor.The overall domain or universe 30 of items may be divided into categories of items 34. Each category may be divided according to item attributes, purposes or any other characteristics.In an example of a CAD program for creating building plan models, items may be graphical shapes divided into categories comprising plumbing fixtures, electrical fixtures, structural components and others. A category may be manually selected 38 by direct input device selection or may be automatically selected 38 using the methods of embodiments of 1o the present invention. A category may be associated with a specific file format, an application program or some other criteria on which automated selection may be based. In one embodiment, a category is automatically selected based on specific character sequences in the file name. Regardless of the category selection method, once a category has been selected, the available selection will be limited 36 to that specific category.After category selection, the processes of this embodiment further limit the available selection set according to an area type. Areas within a model may be delineated and associated with specific area types 40. When placement 32 indicates association with an area having a defined area type 44 the selection set is limited 42 to only those items which are likely to be associated with that area type. In a CAD building model example, rooms may 2o be defined as areas and each room may be assigned a type according to the room usage. Area types may be defined for kitchens, bedrooms, bathrooms and other room types. The available selection set may be further filtered according to an item shape 46. When Page 23 Docket No.: 7927. l l6 placement 32 comprises shape data 50, items in the available selection set which do not conform to the shape limitation will be eliminated 48. Shape data may be derived from multiple coordinate input, a dragging procedure, selection of entities that contain shape data or other methods. Some items in the available selection set may be associated with a point input, others by multiple points in the shape of a rectangle, others by multiple points in the shape of an oval and other shapes. Selection of a pair of parallel lines may also designate a rectangular shape. In some cases, single point input may eliminate all items that require multiple point input.A selection set may be fizrther limited by size or aspect ratio criteria. Items used by to an application may be associated with specific aspect ratios or sizes 52. Items effectively filtered in this manner may comprise graphical elements having at least two significant dimensions. Aspect ratio or size criteria may be derived from placement data 32 wherein coordinates are input, entities are selected or some other geometric information is input to denote size or aspect ratio 56. When a size or aspect ratio is derived 56 from placement data 32, items that do not conform to the size or aspect ratio criteria are filtered 54 from the available selection set.Further domain or selection set filtering may be accomplished according to the proximity of a placement location 32 to other entities in a model 58. Similar to other geometric input, a placement location may be gathered from coordinate input, entity selection 2o or other methods. Once a location in a model is known, the methods of embodiments of the present invention determine the proximity of other entities in the model to that location. The distance to each of these entities and the identity of each entity may be used in a Page 24 Docket No.: 7927.1 l6 determination of which items are most likely to be used by a user at the specified location.Items with a low likelihood of use may be filtered from the available selection set 60 to improve subsequent filtering and sorting operations; however, complete filtering from the set is not necessary if prioritization is used.Prioritization of items remaining in the available selection set typically comprises sorting in order of likelihood of use 60. Generally, the most likely item to be used will be given a priority status. Priority status, in accordance with the teachings of the present invention, enables a user to use an item by simple input command, typically a single mouse click or similar input. Priority status may also comprise placing an item as a primary choice 1o in a small selection set from which a user may make a convenient selection or some other presentation that allows quick access and use of an item or small group of items.Items in the available selection set may also be filtered, sorted and otherwise prioritized according to the existence, quantity, or concentration of items in a model or the quantity of items within a given proximity to a placement location 62. When a quantity of a particular item or class of items is known to either increase or decrease the likelihood that some item will be added to the model, the priority of that item in the selection set will be affected.Further prioritization may involve data derived from the historical usage of an item 64. Historical usage may comprise the frequency at which an item is used generally or with 2o respect to a model type. As a non-limiting example, in a CAD model of a building, models may be classified by style, size, building type, building usage, building purpose, building location, building age, building cost, building quality, building code constraints, site zoning Page 25 Docket No.: 7927.1 l6 requirements, environmental factors and other considerations. The historical usage of an item for models classified by these criteria may be related to a current model to determine a likelihood of use of a specific item. The historical usage of an item by a group of users may also be used 66.In addition to the prioritization criteria given above, the priority status may also be based upon pricing, availability, and other purchase-related information. For example, for a pricing data base 67 for an inventory/availability database 69 may be utilized to assist in the prioritization.Once a domain or selection set has been filtered and reduced 66 by the methods of 1o embodiments of the present invention to a reduced item set 68. Prioritization 70 of the reduced item set 68, as described above, takes place and a prioritized item set is created 72 If only one item remains in the domain or available item set 78, the item is given priority status and is identified 80 to a user for immediate use. If multiple items remain in the available item set, these items are identified and presented 76 in prioritized form 80. When multiple items are identified and presented, a user may select from a drastically reduced set when compared to the overall domain, thereby eliminating the need for mufti-level item hierarchies and other interfaces that tend to be inefficient, disruptive, and error-prone when used to select items from a large domain.When a final item is selected for use, the initial placement information may need 2o adj ustment. If rough coordinates were input using an input device, they may need correction to align properly with other entities, or to match other known characteristics of the selected item. These adjustments and corrections may be made once the item has been identified and Page 26 Docket No.: 7927.116 selected 82. Generally, for graphical items, an image will be presented on the display and orientation and alignment option will be available to a user. When final adjustment is complete, the item will become a part of the model and the user may proceed to other matters 84.The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrated and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalence of the claims are to be embraced within 1o their scope. Page 27 Docket No.: 7927.1 l6
权利要求:
Claims (20)
[1] 1. A method for automatically selecting and prioritizing items for use in a software model of a structure, said method comprising:generating a domain comprising a plurality of items; and identifying a criteria that will reduce the selection set.
[2] 2. A method as set forth in Claim 1, wherein the criteria is proximity to other entities within the structure model.
[3] 3. A method as set forth in Claim 1, wherein the criteria is pricing information.
[4] 4. A method as set forth in Claim 1, wherein the criteria is purchase related information.
[5] 5. A method for automatically selecting and prioritizing items for use in a software model of a structure, said method comprising:generating a domain comprising a plurality of items;identifying at least one location within said software model;determining the proximity of said at least one location to other entities within said software model;selecting within said domain any items that are likely to be used in said proximity to said entities thereby creating an available selection set;organizing items in said available selection set according to their likelihood of use in said proximity thereby eliminating unnecessary items from selection;selecting an item from the available selection set having greatest priority for said proximity over others likely to be used within said proximity;and displaying a portion of the available selection set with the item having greatest priority being listed first for selection by a user.
[6] 6. The method of Claim 5 further comprising the acts of:identifying areas within said software model;determining a likelihood of use of said items in each area;determining whether said at least one location is associated with an identified area;when said location is associated with a specific area, organizing items in said available selection set according to their likelihood of use in association with said specific area thereby eliminating unnecessary items from selection; and prioritizing the items remaining in said available selection set according to a likelihood of use in association with said specific area.
[7] 7. The method of claim 5 further comprising the acts of:identifying an item shape criteria;organizing items within said available selection set according to their likelihood of use within said shape criteria, thereby eliminating unnecessary items from selection; and prioritizing items remaining in said available selection set according to a conformance with said shape criteria.
[8] 8. The method of claim 5 further comprising the acts of:identifying an item size criteria;organizing items within said available selection set according to their likelihood of use within said size criteria, thereby eliminating unnecessary items from selection; and prioritizing items remaining in said available selection set according to a conformance with said size criteria.
[9] 9. The method of claim 5 further comprising the acts of:identifying an item aspect ratio criteria;organizing items within said available selection set according to their likelihood of use within said aspect ratio criteria, thereby eliminating unnecessary items from selection; and prioritizing items remaining in said available selection set according to a conformance with said aspect ratio criteria.
[10] 10. The method of claim 5 further comprising the act of prioritizing items in said available selection set according to a conformance with an optimal item quantity within said model.
[11] 11. The method of claim 5 further comprising the act of prioritizing items in said available selection set in conformance with historical or predicted item usage patterns.
[12] 12. A computer-based system for managing the selection of items within a plurality of items, said items to be used within a model, said system comprising:a domain comprising a plurality of items for use within a model;a structural model;means for identifying areas within said model;means for determining a likelihood of use of said items in each area;means for identifying at least one location within a model;means for determining whether said location resides in an identified area;and when said location falls within a specific identified area, means for organizing items within said available selection set according to their likelihood of use within said at least one location, thereby eliminating unnecessary items from selection.
[13] 13. A method set forth in Claim 12, further comprising:means for determining the proximity of said location to other entities within said model; and means for prioritizing remaining items according to their likelihood of use within said proximity.
[14] 14. The method of Claim 12, further comprising means for prioritizing remaining items according to a conformance with an optimal item quantity within said model.
[15] 15. The method of Claim 12, further comprising the means for prioritizing remaining items according to a conformance with historical item usage patterns.
[16] 16. A method for automatically selecting and prioritizing items for use in a computer-generated software model, said method comprising:creating a model;maintaining a domain comprising a plurality of items for use within said software model;identifying a location within said software model;identifying areas within said model;determining a likelihood of use of said items in each area;determining whether said location resides in an identified area;when said location falls within a specific area, organizing items within said available selection set according to their likelihood of use within said proximity, thereby eliminating unnecessary items from selection;identifying an item shape criteria;filtering from said domain items which do not conform to said shape criteria;identifying an item size criteria;filtering from said domain items which do not conform to said size criteria;determining the proximity of said location to other entities within said model;filtering from said domain any items which are not likely to be used within said proximity to said entities; and prioritizing remaining items according to their likelihood of use within said proximity.
[17] 17. The method of Claim 16, further comprising the act of prioritizing remaining items according to a conformance with an optimal item quantity within said model.
[18] 18. The method of Claim 16, further comprising the act of prioritizing remaining items according to a conformance with historical item usage patterns.
[19] 19. A computer-readable medium containing instructions for automatically selecting and prioritizing items for use in a model, by:maintaining an overall domain comprising a plurality of items;identifying a location within a model;determining the proximity of said location to other entities within said model;organizing items within said available selection set according to their likelihood of use within said proximity, thereby eliminating unnecessary items from selection; and prioritizing items in said available selection set according to their likelihood of use within said proximity.
[20] 20. A computer data signal embodied in an electronic transmission for automatically selecting and prioritizing items for use in a model, said method comprising:maintaining an overall domain comprising a plurality of items;identifying a location within a model;determining the proximity of said location to other entities within said model;organizing items within said available selection set according to their likelihood of use within said proximity, thereby eliminating unnecessary items from selection; and prioritizing items in said available selection set according to their likelihood of use within said proximity.
类似技术:
公开号 | 公开日 | 专利标题
US7770125B1|2010-08-03|Methods and apparatus for automatically grouping graphical constructs
US6065021A|2000-05-16|Apparatus and method for alignment of graphical elements in electronic document
US7246329B1|2007-07-17|Multiple menus for use with a graphical user interface
US6886138B2|2005-04-26|Directing users′ attention to specific icons being approached by an on-screen pointer on user interactive display interfaces
US6844887B2|2005-01-18|Alternate reduced size on-screen pointers for accessing selectable icons in high icon density regions of user interactive display interfaces
US5737507A|1998-04-07|Representation of inter-relationships between graphical objects in a computer display device
US6111575A|2000-08-29|Graphical undo/redo manager and method
US6904393B2|2005-06-07|Apparatus and method for manually selecting, displaying, and repositioning dimensions of a part model
US8230358B1|2012-07-24|Defining motion in a computer system with a graphical user interface
US6480813B1|2002-11-12|Method and apparatus for defining a precision drawing in a drawing program
US7603630B2|2009-10-13|Method, system, and program product for controlling a display on a data editing screen
US8930851B2|2015-01-06|Visually representing a menu structure
EP0646863A2|1995-04-05|Positioning for multiple icons
EP1162575B1|2012-01-18|Tool for three-dimensional analysis of a drawing
EP2743825A1|2014-06-18|Dynamical and smart positioning of help overlay graphics in a formation of user interface elements
JP2001516910A|2001-10-02|Method and system for interactively developing graphic control flow and related software for machine vision systems
US7554544B2|2009-06-30|Just-in-time user interface layout
US20030167155A1|2003-09-04|Voice activated commands in a building construction drawing system
US5513310A|1996-04-30|Method for selecting a constructed element of a drawing to generate similar elements
US7098933B1|2006-08-29|Acquiring and unacquiring alignment and extension points
EP0654728A2|1995-05-24|Graphical setting of parameter ranges for operation execution control
JP2000298685A|2000-10-24|Selection navigator
US6911981B2|2005-06-28|Method, apparatus, and article of manufacture for displaying a line at an angle relative to an existing entity
US20160179986A1|2016-06-23|Method for manipulating a computer aided design | model, computer program product and server therefore
CA2351977A1|2001-12-29|Automated item selection for computer programs
同族专利:
公开号 | 公开日
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2001-10-01| EEER| Examination request|
2006-11-30| FZDE| Dead|
优先权:
申请号 | 申请日 | 专利标题
US60664600A| true| 2000-06-29|2000-06-29||
US09/606,646||2000-06-29||
[返回顶部]