CR Descriptors: I.3.1 [Computer Graphics]: Hardware Architecture - Input devices; Three-dimensional displays; I.3.2 [Computer Graphics]: Graphics Systems - Distributed/networked graphics; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling - Modeling packages; I.3.6 [Computer Graphics]: Methodology and Techniques - Ergonomics; Interaction techniques; J.6 [Computer Applications]: Computer-Aided Engineering - Computer-aided design (CAD)
Intuitive and direct manipulative 3D interfaces are required, especially in the early design phase where users need to have quick and high quality visual feedback for a realistic impression of the object's shape. To realize this, 3D input devices should be introduced to render the interaction more natural and to avoid the 2D to 3D mapping of input. Also 3D output devices should be brought into 3D CAD to enhance the visual impression of depth. Moreover, these devices should be combined with appropriate interaction and visualization techniques to completely realize their capabilities.
In this paper we present ARCADE (Advanced Realism Computer Aided Design Environment) a 3D modelling system that provides a high degree of realism in the presentation of design objects and natural interaction during construction by
We also describe how ARCADE relates to its surrounding distributed visualization environment, allowing concurrent cooperative designing [SK93],[JKS*94], [JKQ*95]. Different applications communicate the 3D objects in their scenes, joining all of the objects into one shared virtual world. Multiple views can be opened into the same virtual world, so that several users can simultaneously work on one industrial design.
In the last years there has been increasing activity in this field, driven by the experience made in Virtual Reality [SRS91], [BDH*92], [LG94], which could show that introducing 3D devices can considerably speed up the design process, esp. in the sketching phase. Further developed technology, decreasing hardware costs, and powerful workstations and graphics systems are working their way into the 3D CAD field. It is also worth mentioning that the 3D CAD field is not that old and well established.
In comparison to JDCAD [LG94], ARCADE shows the following major differences: the virtual scene is surrounded by a traditional 2D user interface, supporting multi-modal dialogues; a space mouse is used as input device, ensuring precise and comfortable work; the models can be presented in stereo using shutter glasses; a complete range of modelling capabilities are provided by employing ACIS [Spa94] as the modelling kernel; an object-oriented database is linked to access STEP-conformant [ISO94] data via SDAI [ISO95] for standardized data access and exchange.
[SRS91] mainly address the creation of free-form surfaces. They apply 3D input devices for "drawing" directly in 3D. In contrast, ARCADE focuses on solid modelling, how shapes can be easily created and manipulated and how the semantics of the shapes can be maintained by the interaction technique and how the interaction technique can be parameterized by the semantics.
Both, [SRS91] and [LG94] do not address any cooperative work and distribution aspects combining several users with possibly different input devices in one shared 3D environment. There are many other approaches, some considering only object movement [WJ88], others developing new devices for object deformation [Mur95] and again others evaluating different 3D interaction metaphors for navigation performance [SS95].
Stereoscopic perception of computer generated scenes can be realized by using stereo output devices, such as stereo glasses, head mounted displays (HMDs), and BOOMSs [ABF*94]. There are also stereo-capable monitors in development to avoid 'wearing' devices [Kr#95] which might help overcome existing acceptance problems in the field of CAD workplaces.
In real scenes the visual system also uses the accomodation of an eye to estimate the distance of the object. Since the eye always accomodates to the screen of the CRT display, this effect cannot be used here. Additionally, the relative velocity of different objects in a moving scene contains important depth information. By rotating the camera around the scene, this can also be used in a modelling system.
The objects in the scene are shaded and rendered using a perspective projection, so occlusions and perspective distortions are apparent. Additionally, objects farther away from the camera are darker than the nearer ones (depth cueing). Kjelldahl [KP95] has compared wireframe and shaded rendering concerning the contained depth information. These experiments found that shading alone is less advantageous than expected. Therefore, we use shadows of the objects projected onto virtual walls surrounding the scene. By making the shadows transparent one can also derive shape information, because concavities of the objects yield darker portions in a shadow.
We intend to evaluate atmospheric effects, textures and shadows between objects and examine what is the most appropriate technique with and without stereo output. Of course, the introduction of all these rendering facilities will entail high performance requirements. Thus, techniques to reduce the complexity of the scene and the shadows, such as different levels of detail, are needed.
Most 3D devices stem from virtual reality (VR) research systems. In contrast to VR, the purpose of a CAD system is object creation and modification. The construction of objects is usually not carried out in virtual reality. Nonetheless, the developed technology and interaction techniques from VR can be considered as a basis for CAD. The CAD field places specific requirements on the devices as well as the interaction and visualization techniques. What is adequate for a short term presentation in VR, can become unacceptable in the day-to-day routine of a designer.
In contrast to that, gloves do not meet the specific requirements, they are not precise enough, they often need to be calibrated, they require different interaction techniques, including gesture recognition [BHV92], and force feedback is still an unsolved problem. Flying devices tend to fatique the user, because the bats have to be carried and moved around through space.
Stereo glasses were chosen for the output of stereoscopic images. They are comfortable to use due to their light weight. They offer high image quality and are transparent if the user turns his head away from the monitor, for instance to take a look at a drawing. And they are also relatively inexpensive.
Although HMDs can render high quality images, they were rejected because they are heavy and expensive. Furthermore, they do not allow for seeing the surroundings, thus they are judged inadequate for the daily use of a CAD user.
Figure 1: System Configuration including the chosen 3D devices
Figure 2: System Architecture
The system architecture of ARCADE conforms with the one of the CAD Reference Model [Abe94] and its development is partly done within that project.
OpenInventor has some built-in manipulators but we found that they are not sufficient for our modelling application context. In our modelling application we distinguish between several solid primitives (cubes, rectangular prisms, circular versus elliptical cylinder/cones, truncated pyramids, etc.). These primitives require specialized manipulators to modify the entire shape (transform) or specific parameters (height, radius, etc.).
Similarly, transformation manipulators can be constrained depending on the semantics of the objects, especially in a feature-based modelling application [SBV95]. Depending on the interrelationships of the features, certain manipulation possibilities are restricted and only the valid ones are visualized (see Figure 8). Constraints on the transformation possibilities can be visualized as done for the parameter draggers. For instance, if a hole is placed in a face of a block, it is not only restricted to a certain size, but also its translation is limited to the boundary of the face considering the radius of the hole. So, showing the valid positions with a bound transparent face and limiting the translation to this face is one possibility to give the user a visual feedback of the allowed manipulation (see Figure 9).
The built-in manipulators (draggers) in OpenInventor do not recognize any 3D events. One solution is to let the application register for 3D events, interpret them and set the fields of a manipulator explicitly. Another possibility is to extend the facilities of the draggers to respond to 3D events. We are currently researching these alternatives.
Through the use of 3D manipulators for interaction, the objects in the scene encapsulate not only appearance, but also behavior. The shape of the design and the methods for transforming it are both represented by three-dimensional objects. This property eases the distribution of modelling tasks, because when the scene is shared, then both the geometry and interaction techniques are shared.
When an ARCADE program starts, it creates a virtual world of design objects and manipulators. Other applications can connect to this world, and add other objects to this virtual environment or manipulate the already existing objects. When an additional user participates in this shared 3D environment, the shape of the design objects and their manipulators are communicated to this user through the network. Events from this new user are sent to the program that controls the object with which the user is interacting. The 3D manipulators turn these events into transformations on the 3D objects. In this way, two users, on different platforms, can cooperate on the design of a single 3D model.
The applications that participate in a shared 3D environment can be grouped into three categories: the base program, augmenting programs, and browsing programs.
Figure 3: Organization of application groups participating in a shared 3D virtual world
The base program could be an industrial design modeller, a visualization program, or a VRML viewer; it decides the context for this shared 3D environment. The augmenting programs add objects to the 3D scene to enhance the environment but do not open views into the scene. Augmenting programs may, for instance, control networked 3D pointers or annotations. The browsing programs represent additional users; they maintain different camera views of the scene and broadcast events to the other applications.
This modularized architecture allows flexible plug-and-play functionality between applications. For instance, by adding an augmenting program to the shared 3D environment, the user can make and display annotations within an ARCADE modelling session without any code for annotations having to be added to the ARCADE program. In addition, the annotation program could be used with a different base program, for instance a physical simulation, simply by running it in a different shared 3D environment.
Figure 4: Joining two scene graphs with the networked node
This networked node handles the communication and joins the scene graphs from various applications. When receiving messages from other applications, this networked node creates local copies of the remote scene graphs. Since the viewer is placed above the networked node, the user sees the objects from the local and remote scene graphs joined together into one scene. When events from the user are sent from the viewer to the scene graph, the networked node decides in which portion of the scene graph the event is occurring. If the event is occurring on an object in one of the remote scene graphs, the event is sent to the application responsible for this section of the scene graph. Because the networked functionality of the shared 3D environment can be encapsulated into this networked node, the program code can be placed into a library, making it easier to add it to existing OpenInventor applications.
There are three message types that communicate changes in a scene graph: a whole scene graph change, a change in a subgraph, and changes in the fields of a single node. When an application first connects to the shared environment, it receives whole graph messages from the already participating applications. When a change occurs in a local scene graph, either a subgraph or a single node message is sent, depending on the number of nodes affected.
Events can be sent as keyboard, 2D mouse or 3D events. Along with the cursor position and the button states, the current camera position and window size are sent. The event can then be reconstructed in an application as if the remote user was actually sending events to this application's viewer. In this way, different users can have different camera positions and still interact with the same scene.
At connection time, applications communicate which types of messages they want to receive. Changes in a scene graph will not be sent to an application unless this application says that it is interested in the shared scene graph. Likewise, an application can register interest in 2D and/or 3D events, shared camera positions and light source positions. Network traffic is reduced by sending messages only to the applications that are interested.
Figure 5: ARCADE showing a model (color image see color tables)
The next image compares two simple models, one is rendered with depth cueing the other without. Assuming the same material for both objects, it is obvious which is the nearer one.
Figure 6: Models rendered with (left) and without (right) depth cueing
The following figure shows the constrained parameter dragger with the upper and lower bounds visualized as flat cylinders. The current parameter value is displayed directly in the scene. The text can be edited by selecting it and typing in a new value. Hitting return causes the dragger to take the value.
Figure 7: Constrained parameter dragger
The next example is taken from feature based modelling, the object transformation of a slot in a cube is restricted by the semantics of the feature. Thus, it only can be rotated around the local z-axis, otherwise it would contradict the definition of a slot. If the interrelationship was not considered, the slot would be a rectangular prism that could be rotated arbitrarily in space.
Figure 8: Constrained rotation manipulator
The last example is also taken from feature based modelling, it shows a constrained translation manipulator which only allows translation within a certain bound face. This face is determined considering the shape of the hole and of the object on which it is placed. The valid positions are visualized as a transparent face.
Figure 9: Constrained translation manipulator
We introduced our system, ARCADE, which uses state-of-the-art visualization techniques to enhance the visual realism of the presented design objects for improving depth and shape information in the presentation easing orientation, navigation and positioning. ARCADE also provides specialized manipulators as interaction technique that maintain the objects' semantics and can be parameterized based on information derived from a Feature-based modelling approach.
The use of 3D interaction objects within a distributed visualization environment permits the use of specialized programs that are smaller and therefore easier to update and debug. These applications can be flexibly combined in a shared 3D environment according to the needs of a particular modelling session to support concurrent engineering within open architectures.
We would like to expand the types of augmenting programs used in shared 3D environments. Currently being developed is a program that would add geometry to a shared scene, representing shadows cast from one object to another. We are also exploring ways to move the functionality from the 2D interface into the 3D scene. These include 3D icons that activate callbacks when clicked and 3D menus. Access rights to the shared environment and to the objects within also need to be considered.
We also want to thank our students: M. Maidhof, T. Richter and I. Siedermann for helping with the implementation of the ideas.
[ABF*94] ASTHEIMER, P., B#HM, K., FELGER, W., G#BEL, M., M#LLER, S.: Die Virtuelle Umgebung - Eine neue Epoche in der Mensch-Maschine-Kommunikation. Teil I: Einordnung, Begriffe und Ger#te, Informatik-Spektrum, pp. 281 - 290, Springer Verlag, 1994.
[BB82] BALLARD, D., BROWN, C.: Computer Vision, Prentice Hall, 1982.
[BDH*92] BUTTERWORTH, J., DAVIDSON, A., HENCH, S., OLANO, T. M.: 3DM: A Three Dimensional Modeler Using a Head-Mounted Display, Proc. 1992 Symposium on Interactive 3D Graphics, Cambridge, Massachusetts, pp. 135 - 138, March 29 - April 1 1992.
[BHV92] B#HM, K., H#BNER, W., V##N#NEN, K.: GIVEN: Gesture Driven Interactions in Virtual Environments. A Toolkit Approach to 3D Interactions, Proc Informatique 92: Interface to Real and Virtual Worlds, pp. 243 - 254, 1992.
[Bre93] BRENNAN, D.: UIL: File format, data types, functions. In P. M. Ferguson, editor, Motif Reference Manual, pp. 755-824. O'Reilly Associates, Inc., 1993.
[Cla76] CLARK, J. H.: Designing Surfaces in 3-D, Communications of the ACM, 19, 8, pp. 454 - 460, 1976.
[ES95] ENCARNA##O, M., STORK, A.: Adaptionsm#glichkeiten in modernen CAD-Systemen: Bewertung, Konzeption und Realisierung, to appear in Proc. CAD96.
[HF94] HELLER, D., FERGUSON, P. M.: OSF/Motif Programming Manual, 2nd edition, OSF, 1994.
[ISO94] ISO 10303-1: Industrial automation systems and integration - Product data representation and exchange - Part 1: Overview and fundamental principles., International Organization for Standardization, Geneva, Switzerland, 1994.
[ISO95] ISO DIS 10303-22: Industrial automation systems and integration - Product data representation and exchange - Part 22: Implementation methods: Standard data access interface specification, ISO TC184/SC4. National Institute of Standards and Technology, Gaithersburg, MD, USA, 1995.
[JFG*73] JULESZ, B., FRISCH, H. L., GILBERT, E. L., SHEPP, L. A.: Inability of Humans to Discriminate between Visual Textures that Agree in Second-Order Statistics - Revisited, Perception, Vol. 2, pp. 391 - 405, 1973.
[JKS*94] JASNOCH, U., KRESS, H., SCHROEDER, K., UNGERER, M.: CoConut: Computer Support for Concurrent Design using STEP, Proc. 3rd IEEE Workshop on Enabling Technologies: Infrastructure for Collaborative Interprises (WET-ICE) April 17-19, IEEE Compuer Society Press, 1994.
[JKQ*95] JASNOCH, U., KRESS, H., QUESTER, R., STORK, A.: Eine plattform#bergreifende Umgebung zur kooperativen Produktentwicklung, to appear in Proc. CAD96.
[KP95] KJELLDAHL, L., PRIME, M.: A study on how depth perception is affected by different presentation methods of 3D objects on a 2D display, Comput. & Graphics, Vol. 19, No. 2, pp. 199-202, Elsevier, 1995.
[Kr#95] KR#TZSCHMAR, J.: 3D ins Auge, c't, Nr. 4, Heise Verlag, pp. 56, 1995.
[LG94] LIANG, J., GREEN, M.: JDCAD: A Highly Interactive 3D Modelling System, Computers and Graphics, Vol. 18, No. 4, pp. 499 - 506, 1994.
[Mur95] MURAKAMI, T.: Direct and intuitive input device for 3D shape design, DE-Vol. 83, 1995 Design Engineering Technical Conferences, Vol. 2, pp. 695-701, ASME, 1995.
[Nal93] NALWA, V.: A guided tour of computer vision, Addison Wesley, 1993.
[SBV95] STORK, A., BRUNETTI, G., VIEIRA, S.: Intuitive Semantically Constrained Interaction in Feature Based Parametric Modelling, to appear in Proc. CAD96.
[SK93] SCHROEDER, K., KRESS, H.: Distributed Conferencing Tools for Product Design, Proc. IFIP Workshop on Interfaces in Industrial Systems for Production and Engineering, Elsevier, March 15-17, 1993.
[Spa94] SPATIAL TECHNOLOGY INC.: ACIS Geometric Modeler Programmer's Reference, Boulder, Colorado, 1994.
[SRS91] SACHS, E., ROBERTS, A., STOOPS, D.: 3Draw: A Tool for Designing 3D Shapes, IEEE Computer Graphics and Applications, 11, pp. 18-24., 1991.
[SS95] STEED, A., SLATER, M.: 3D Interactions with the Desktop Bat, Computer Graphics Forum, Vol. 14, No. 2, pp 97-104, Blackwell, 1995.
[Sut65] SUTHERLAND, I. E.: SKETCHPAD: a man-machine graphical communication system, MIT Lincoln Laboratory, Lexington, MA. Technical Report TR-296, 1965.
[Vie95] VIEIRA, A. S.: Consistency management in feature-based parametric design, Computer-Integrated Concurrent Design, Symposium of the Design Technical Conferences of the American Society of Mechanical Engineers ASME, Boston, MA, September 17-21, 1995.
[Wer94] J. WERNECKE and Open Inventor Architecture Group: The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor, Release 2. Addison-Wesley, 1994.
[WJ88] WARE, C., JESSOME, D. R.: Using the Bat: A Six-Dimensional Mouse for Object Placement, CG&A, No. 11, pp. 65-70, IEEE, 1988.