Embodiments of the invention relate to the fields of computer-aided design (CAD), building-information modeling, facility management, architectural and engineering design, and visualization.
A paradox of modern computer-aided design, especially when applied to large and very complex object-models such as modern buildings, is that the rendering methods that make navigation through and around the models visually comprehensible (which may include solid rendering, hidden line rendering, or ray-trace rendering) also hide many important parts of the model. For example, the CAD user wishes to see and edit some objects (e.g. pipes or conduits within walls, anchor bolts) only in certain contexts, the rest of they time they clutter up the user's visual experience and ability to discern, select elements within, and edit the model.
Certain techniques that are well-known to those skilled in the techniques of computer-aided design, for example “clipping view planes” or “clipping cubes”, exist to eliminate portions of the model from view and to allow the user to see and manipulate his objects of interest. Other techniques involve specially invoked on-screen controls such as “transparency lenses” or special object picking modes to cause objects to become transparent or provisionally invisible, to identify some objects (or parts of objects) as “important” or “non-important”, or to provide on-screen lists of candidate selectable objects. These techniques all suffer from the drawback of forcing the user to interrupt his workflow to invoke a new set of on-screen controls or a new picking mode, or otherwise create a new context for editing.
A need exists to complement the “intuitive and natural” ability to view, navigate, select and manipulate only elements in the user's immediate range of vision with the ability to instantaneously (and without interrupting his current operational mode or work-flow) “drill down” in detail to see and edit everything that is within a certain limited visual point-of-interest, so that he may explore the model in depth, construct new model elements based on the locations of existing obscured model geometry, or select and edit obscured elements of the model.
Disclosed embodiments include a hybrid method for displaying, detecting (for snapping and geometric construction purposes) and selecting objects in a CAD system. The method may include:
Loading a graphic model with a plurality of model elements (which are comprised of hierarchical object-groupings of 3D geometric edges and faces) in a hardware-based CAD system; rendering the model elements in a realistic visual manner using “hidden line”, “solid rendering”, or “ray-traced rendering”; and making only visible objects detectable (for snapping and construction) and selectable (for editing operations) using face-based selection. This “standard view” is produced with standard techniques, familiar to those skilled in the art of three dimensional computer-aided design
Providing to the user an alternate “hybrid view” that is fully rendered, except in a region surrounding and tracking the current location of the system cursor, which is unrendered (shown in “wireframe” view). In this mode, all objects in the complete depth of the model are detectable (for snapping and construction) and selectable (for editing operations) using edge-based selection;
Allowing instantaneous user switching between the two views in a manner that does not interrupt the user's context, action or workflow in any way.
The previously described method thus allows both realistic model viewing and manipulation and instantly accessible detailed and in-depth model viewing and manipulation, with no interruption of the user's working mode.
Embodiments of the present invention facilitate the viewing, geometric detection (as for “snapping” to dimensionally control the creation of new geometry), and selection of 3D model objects that are obscured by other 3D model objects in a visually realistic rendering, such as solid rendering, hidden line rendering, or ray-trace rendering. A 3D CAD system employing embodiments of the present invention enables an engineer or designer to instantaneously, and without interrupting his current operation or requiring the use of a new tool, explore, snap to, and/or select objects that are otherwise obscured in the rendered (realistically presented) model.
For example, in one such mode, a click on an on-screen object may select it. In another mode, a click might delete the object. In a third, a click may duplicate the object or edit it in a certain way. It is relevant to note that to change the state or mode of the CAD system, the user must interrupt what he is doing to click on an on-screen tool 110. For the engineer or designer's productivity, it is desirable to minimize these interruptions.
On-screen objects 112 may be displayed in “rendered” mode, herein used to mean “a natural visual presentation using solid, hidden-line, ray-trace, or other form of 3D rendering.” In such a rendered mode, their visible faces 107 are wholly or partially displayed as the scene and the user's point-of-view warrant, and their hidden edges 108 and hidden points or vertices 109 are concealed. This creates a natural and easily comprehensible viewing environment, but can require many view manipulations to observe hidden points 109 or edges 108 when they need to be shown or otherwise accessed (as for, say, dimensional control or “snapping”). This concept of hiding may be obviously extended to entire hidden objects, and not just parts of objects, such as edges or points.
Certain keys 105 on the keyboard 104 may be assigned by the CAD program for certain controlling functions in addition to their standard text-entry function. For example, when a certain key is depressed, the CAD program's snapping mode may instantly be altered or suspended. Releasing the key immediately restores the earlier state. This may be referred to as “snap-back key” functionality.
Although the example computer system described and illustrated incorporates a “mouse” type pointing device 102, and describes keys 105 as the actuators of modal change, other pointing devices (e.g. trackballs, light pen styluses, or touch-screens) and actuators (e.g. additional mouse buttons, track pad gestures) may be incorporated as reasonable alternatives to achieve the same results. Their specific embodiment as described herein is not central to the functionality of embodiments of invention, and simple alternatives may easily be envisioned.
The use of a snap-back key 105 (rather than some other non-screen method) and the user of a mouse like pointing device 102 (as opposed to a trackball or other pointing method) are not essential to the functionality of this invention. Accordingly, other specific embodiments are within the scope of the following claims.