Director's Pool
Exploring the use of Gestures for Constructing Parametric Mechanical CAD Models

R. Fish, R. Zeleznik, A. Forsberg


We want to expose the power of the Alpha_1 modeling system [1] through a gestural interface. Ideally, this interface will allow engineers to more rapidly explore and evaluate prototype designs with much less overhead than is currently required with conventional or parametric CAD interfaces.


The Sketch system [3][4] demonstrates an effective gestural interface for rapidly modeling simple 3D scenes. It provides controls for geometry construction, viewpoint manipulation, object transformation, and editing objects. While the system enables the rapid generation of unstructured scenes, we wish to test a Sketch-like interface in a mechanical design application that has more objective specification requirements. To do this, we will have to adapt Sketch's explicit modeling style to support parametric and potentially even variational modeling techniques.

In addition, this project will be used to extend the Design Web system [2] under development at the University of Utah. In particular, this project will enable models in the Design Web to be interactively constructed and modified.

The Design Web is an ambitious new approach to supporting the engineering design process in an integrated fashion, from early conceptual design, through detailing and analysis, to manufacturing process planning. Engineering team collaborations distributed across time and space will be facilitated by the evolving object-based Design Web representation of the product being designed, and its engineering process. More than simply a design record, the Design Web representation will be a working environment, incorporating full two-way interaction between web clients and servers, multi-way communication between participants in design sessions, and distributed semantic modules which serve as design and analysis power tools.

The prototype implementation of the design web combines several web technologies. Object migration channels between an Alpha_1 Model Server and an Alpha_1 plug-in to the Netscape Navigator browser combine interactive viewing and manipulation of descriptive text, abstraction diagrams, and three-dimensional geometric representations at various levels of detail into a unified environment. Interactive modifications of the product Design Web, including the construction of new portions of the design, are passed back through the model server for persistent storage, and to other real-time participants in the design session.


We believe the gestural Sketch interface will make an important contribution to the Design Web environment by easing interactive construction and modification of three-dimensional concept models, which are the essential bridge between abstract hierarchical concept diagrams and detailed, feature-object based engineering models. For interactive collaboration in particular, it is important to be able to sketch ideas quickly and naturally so the other participants can understand the idea and contribute to the design. The ability to sketch in three dimensions, creating design feature objects, will also provide a basis for bringing design power tools to bear in real time as the proportions of the design are adjusted, such as those for estimating tensile strength from cross-sectional areas and the inertias of mechanism parts from their volumes.

Based on inquiries from a variety of sources, including major players in commercial CAD design and high-end animation, we feel that there is a lot of interest in adapting gestural interfaces to more traditional applications. However, these same sources also indicate that the approach taken by the Sketch application is radically different than any other ongoing research. Therefore, we feel that the coupling of Sketch with Alpha 1 gives us a competitive advantage over others who are still digesting the interface technology demonstrated by the Sketch interface. In addition, the novel Design Web that University of Utah is developing represents a new direction in collaborative design. The combination of a novel application area and a novel interface gives us an element of uniqueness over other research projects.

Research Issues

This project will involve solving several research problems. The first is to extend the feature set of the Sketch system to support Alpha 1 constructs. Since there is no simple formula for developing gesture sets (such as the "file, edit, ..." standard found in menu bars), we will need to iteratively develop a "good" gesture set using the current Sketch interface as a starting point. However, we will need to design gestures for the Alpha 1 feature set (e.g., pockets, fillets, and extrusions) which is only loosely related to the Sketch feature set. In addition, the gestures we define for Alpha 1 features may have to be compromised in order to "fit them all together" in a cohesive seamless interface. Each version of the gesture set will be tested on experienced designers in order to produce a next iteration. We will also try to derive our gestures from the existing idioms that mechanical designers use when they sketch on paper.

A second complicating factor to the design of an effective gestural interface is the choice of inferencing mechanisms to help constrain the model. The current Sketch system uses very general inferencing techniques. However, we will be able to exploit the more restricted domain of mechanical modeling by developing more customized inferencing mechanisms. These will include feature-based snapping, drawing of feature based constraint lines, and more extensive support for automatic parameter identification.

A third challenge will be to combine Sketch's predominantly explicit modeling style and Alpha 1's predominantly parametric modeling style. In general, parametric approaches tend to lock a designer into specific details from the onset. However, conceptual design is better supported by a model in which the designer can fluidly make changes to any aspect of the design. The traditional approach to supporting conceptual design requires a hybrid modeling style that combines certain features of explicit modeling with other features of either parametric or variational modeling. We expect that in order to fully support conceptual modeling the Alpha 1 framework may need to be extended to flexibly allow changes to the model's parameterization. In addition, the Sketch interface will have to be extended to make it easier to specify, manipulate, and display parametric information, which is represented as a dependency graph of model objects. Modifying the dependency graph will allow any desired shift of parametric relationships, which has routinely been done in the command-language representation of the parametric model in the past. The problem is to find wellstructured, understandable ways to do this in the interactive sketching environment.

Lastly, we want to support progressive conceptual design by providing the ability to hierarchically decompose Sketch models. We will need to address the question of how changes to an abstract or detailed representation (i.e., to a high-level or low-level version) of a parametric model propagate in such a hierarchical representation. This is manifest in two ways. First, when a high-level parameter is modified, low-level details may be affected even though they can not be seen. Secondly, it may be difficult to cleanly segment a model into distinct hierarchies; very low-level "design starting points" constrain the highest-level description of certain models. For example, the highest-level description of a milling machine is in fact constrained because the exact dimensions of the cutting tool holder attachment are known and fixed.


We have short term (four months), one year, and long term goals. In the short term, we will develop a gesture engine plug-in for Alpha 1 viewers. This engine will be the first iteration of a gestural interface tuned for the Alpha 1 feature set. In the interest of expediency, the initial implementation will maintain a parallel "shadow" representation of the Alpha_1 geometry in terms of the geometric objects now used in the Sketch implementation.

Our goal for next year is to develop a prototype that supports a hybrid of both parametric and explicit modeling, and emphasizes a feature set tailored towards high-level mechanical design descriptions. To evaluate this prototype, it will be integrated into Utah's Design Web as a plug-in.

Work will also be done to insert another carefully-designed interface between Sketch and its geometry representation, so that Sketch can be independent of the geometric calculations it uses. The current geometry library used by Sketch is very fast for some geometric operations. The geometry interface would allow Sketch to naturally use the full power of the Alpha_1 or other geometry libraries. Hybrids would also be possible, for example to take advantage of the speed of the current library during an interactive "drag" operation and then construct a more accurate and permanent representation when the object is "dropped."

Our long term goals are to extend the prototype by supporting a wider feature set and by supporting more detailed mechanical designs. This will require addressing the problems associated with hierarchical modeling described in the research section above.

An ongoing objective is to coordinate and integrate this project with the telecollaboration project for distributed design. We will need to adapt our interface to support the various hardware configurations used in the telecollaboration project.


Home Research Outreach Televideo Admin Education