CollIDE : A Shared 3D Workspace for CAD
Tek-Jin Nam and David K. Wright
Interaction Design Research,
Department of Design, Brunel University,
Egham, Surrey, TW20 0JZ, UK
+44 1784 431341
{Tek-Jin.Nam, David.Wright}@brunel.ac.uk
Abstract
In this paper, we present our progress on the development of a synchronous shared 3D workspace in which designers dealing with 3D objects in CAD systems can get useful support for real-time collaborative design work. For the underlying concept of a new environment, we propose a shared stage, which is the 3D virtual workspace which can be accessed by multiple users. Based upon this concept, a new research prototype, CollIDE(Collaborative Industrial Design Environment), has been developed. The prototype being used with conventional single user CAD systems supports real-time object data exchange, synchronised 3D camera view, and multi-user interaction. The result of a preliminary trial shows that the concept and the prototype are useful for collaborative 3D CAD modelling and helps users to perform parallel tasks. The discussion based on the result of the trial and future directions of the research are described.
Keyword: shared 3D workspace, CAD, computer supported cooperative work, collaborative design
Introduction
With changing of work pattern in design organizations, there is a growing need for tools to aid designers working in teams, possibly in a distributed situation. Although many computer applications have been developed to aid designers in visualizing 3D objects and solving analysis problems, the use of these applications largely remains in a single user environment. As a part of an investigation into Collaborative Design Environment, we study a shared 3D workspace which allows designers in a team to work together synchronously for 3D CAD work.
There have been some studies to support shared workspaces for distributed groups. One kind of such work has to do with building prototypes of collaborative 2D drawing support tools. For example, TIVOLI [6] is an electronic whiteboard meeting support system. GroupSketch and XgroupSketch are multi-user sketchpads, and GroupDraw is a object-based multi-user drawing package [2]. ClearBoard [3] is a shared drawing medium maintaining direct eye contact and gesturing.
Another kind of shared workspace studies are related to collaborative 3D modelling environments. Shu developed Teledesign [12] and examined groupware interface issues of three-dimensional computer-aided design. Kao [4] presented a collaborative CAD/CAM system, cocadcam, which extends a single-location CAD/CAM technology to a multi-location application. Sakai [9] described a 3D pointing tool designed for remote collaboration.
However, much of the research has originated from a computer science perspective and has focused on text editing or 2D drawing surface. The strategy to develop collaborative 3D design workspace for designers using computer systems is not fully investigated. In this paper, we present a strategy to transform conventional CAD systems into collaboration aware systems proposing the concept of a shared stage. We describe our research prototype using this concept, and an empirical study of the system.
Shared Stage
In CAD systems, virtual 3D workplace are sometimes represented as stages [1] and can be used as layers in 2D drawing applications. In this paper, we propose a shared stage, which is defined as a 3D virtual workspace that is accessed by multiple users. Layer capabilities in many design applications (e.g. 2D or 3D graphics editors) provide a way to organize the contents of a workspace and improve the workflow, by dividing the model into separable parts. The concept of a transparent layer has been suggested in some research [5] on collaborative 2D drawing tools. Various attributes of layers like visibility or restricted pickability help to manage the complexity of the contents in the workspace. For example, in a product design system, a drawing of the external shape of a product and a drawing of the inside components can be made in different layers. By turning off the inside components’ layer, users can examine the external shape without being confused by complicated drawings.
By organising the shared contents in a shared stage, users can access both the private and the shared stage within a work environment. Figure 1 shows the structure of the shared stage. In the shared stage, users are able to interact with each other and share the contents of workspace. Multi-user interface tools, such as telepointer, shared 3D camera view, and other group awareness mechanisms, can be supported in the shared stage. Users may create stages and specify whether they are shared or private. Group attributes, such as ownership and access mode, can be applied in the shared stage. To control coupling status in the shared stage, a session management facility might be necessary. The teleportation of objects across private stages to a shared stage enables the objects to be located in the shared stage, so that other participants may bring them to their private stage. The data structure of those objects needs to be maintained when the data is transferred to other users.
By adding the shared stage capability in a single user design application, it is possible to transform a conventional single user environment to the new collaborative design environment, while the interface of the design workspace remains consistent. Based on the shared stage concept, we developed a research prototype, CollIDE(Collaborative Industrial Design Environment), which works with a single user CAD system.
CollIDE
CollIDE is a research prototype, which enables collaborating CAD users to have a shared stage while they are using a conventional CAD system, and to work in parallel.
Functionality
Figure 2 shows a CollIDE display in use. The main functionality of CollIDE is to provide the shared visualisation and accessibility to common 3D objects in a collaborative session. Collaborative designers can exchange 3D geometry in real time with each other in the CollIDE session. The Alias design system has been selected for the single user 3D modelling application, since it is a standard design system used by many designers, besides offering a good development environment called Alias API (OpenAlias and OpenModel).
Shared access to the 3D modelling workspace
Multiple Alias users can control a shared camera and see the movement of the camera controlled by others. This feature of CollIDE allows collaborating users to have the same visual representation of the shared 3D objects. Three mouse buttons are used to control rotation, track, and zoom of a 3D view. CollIDE uses an optimistic locking mechanism for the control of the shared camera view.
Dyanmic data exchange between private and shared stage
To share object data in real time, CollIDE provides a functionality to move geometry between private stages and a shared stage. By selecting the geometry in the Alias system and executing the CollIDE plug-in in the Alias menu, the geometry is copied to the CollIDE shared workspace window. Users can bring geometry from the shared stage to their private stage by selecting it and executing a CollIDE teleportation command. While users exchange the data, the application maintains the internal data structure, so that user can share original geometry without any modification.
Geometry displayed by its group characteristics
The geometry in the CollIDE window is displayed in a different colour according to its group characteristics, such as ownership and mode of access. Each user can specify his/her own colour in a collaborative session management application.
Awareness support
It provides tools for group awareness mechanisms, such as notification of conferencing events and telepointers. A text window of CollIDE shows the state information. The state information includes who owns the shared camera control and what command is executed by whom.
Implementation
CollIDE consists of two parts: a shared stage window and Alias plug-in applications. The shared stage window is implemented using the GroupKit [8] toolkit and Tcl [7] language. For the representation of the 3D environment, the Visualisation Toolkit [10] was used. Some classes of the Visualisation Toolkit were modified to support groupware features. Alias plug-in applications were implemented for the exchange of data between Alias and the shared stage window. The Alias plug-in applications have been developed using C++ language and Alias API (OpenModel and OpenAlias) classes [1]. For the management of multi-user interaction, a session management application (open.reg) provided in GroupKit was used.
Preliminary trial
We conducted a preliminary trial using CollIDE, in order to examine the feasibility of our shared stage concept which is embedded in the research prototype and its user interface. The trial also aimed at understanding the collaborative modelling process in the shared 3D design workspace and discovering the groupware issues and problems of the research prototype. We were interested in the usage patterns of the private and the shared 3D stages, and the user interface issues involved with the shared 3D workspace.
Methods
A team of two experienced Alias users completed a modelling project collaboratively. The participants were familiar with the interface and the functionality of the Alias system. Using Alias and CollIDE, they were asked to model a television remote controller in a two-hour collaborative session. The collaborative modelling process of the remote controller involves the interdependent modelling tasks of team members. This means that the dimension of one part may depend on the dimensions of other parts, which may be modelled by other people. This kind of modelling is common in many products or engineering design projects.
Two Silicon Graphics workstations located opposite each other were used for the trial. Participants sitting opposite could talk and see each other, but they could neither see each other’s screen, nor have any physical contact. This setting can be easily modified for a situation of remote collaboration, by providing advanced video and audio communication tools. The entire session was video taped with audio for analysis.
Observation
The pattern of using shared 3D workspace in the collaborative modelling process
The frequency of the access to the shared 3D workspace was measured. Figure 5 shows the distribution of the access during the session. It indicates that there was a continuous access to the shared workspace and a constant interaction between the participants. The figure and modelling output indicates that the modelling tasks were performed in parallel and there was a continuous interchange during the session. The shared workspace used more frequently at the early and later parts of the session, when the participants needed more tasks requiring communication such as work allocation and integration. The increased use of the private workspaces was noticed after the participants’ initial coordination of the tasks.
The use of shared workspace
The shared workspace was frequently used to confirm an agreed standard, to inform the state of on-going tasks, and to share the reference objects. The ability to move objects across the private and the shared stage allowed more frequent exchange of data. Dialogue took place prior to the use of the shared 3D stage. This implies that the communication tools needs to be incorporated in the environment.
The Interface of the shared camera and telepointer
The interface of the synchronized shared camera view and its lock mechanism were found to be easily accepted to the participants. However, managing concurrent state of users windows appeared as a significant technical problem to be solved. The delay of the shared view became significant as the complexity of geometry increased. Telepointer used in the synchronized camera view worked well as a pointing tool in a 3D environment, but it was also a cause of delay.
Parallel task
Overall the shared stage in the workspace environment offered the participants a cooperative environment in which to perform parallel tasks enabling an efficient task division. The shared workspace seemed to influence the way of the initial task division. Having the constant interaction with the shared workspace, the participants could be aware of design activities of others. They could consult each other during the collaborative session, when there was any ambiguity in the task. These situations improved the efficiency of the parallel work.
Discussion and Future work
The concept of a shared stage and the functionality of the prototype as a shared stage has been found useful to transform conventional single user CAD environments to collaborative environments. The experience of the implementation of the research prototype and the preliminary trial provide a basis for the iterative development of a shared 3D workspace environment.
However, some problems in the use of the prototype were noticed (e.g. concurrency problems). To provide a richer form of cooperation, the system should support continuous feedback of the actions and availability of others [12]. In CollIDE, this continuous feedback is partly supported by synchronized 3D viewing, telepointer and the session management facility. We continue to explore these continuous feedback mechanisms.
Difficulties were experienced in the implementation of a fully shared environment using existing CAD system. Such systems do not incorporate shared status tools and have limited access to their programming structures. It is therefore necessary for us to develop our own 3D CAD system in which we have full control and examine various multi user interface issues. This system is under development and will incorporate an advanced shared stage facility.
CollIDE is focused on a team environment where designers from the same discipline (e.g. industrial design) perform parallel tasks. We are exploring the possibilities of using the CollIDE in multi disciplinary team environments for concurrent engineering. The shared stage concept and the prototype will be refined and its impact on the synchronous team design involving 3D workspace will be analyzed in the future.
References
1. Alias|Wavefront. (1998). Alias Manual Version 8.5, Alias/Wavefront, a division of Silicon Graphics Limited
2. Greenburg, S., Roseman, M., Webster, D. & Bohnet, R. (1995). "Human and Technical Factors of Distributed Group Drawing Tools", Greenberg, S., Hayne, S., & Rada, R. (eds.) Groupware for Real-time drawing : A Designer' Guide, 37-62
3. Ishii, H., Kobaysshi, M. & Grudin, J. (1995). "Integration of Interpersonal Space and Shared Workspace: Clearboard Design and Experiments", Greenberg, S., Hayne, S., & Rada, R. (eds.) Groupware for Real-time drawing : A Designer' Guide, 96-125
4. Kao, Y.C. & Lin, G.C. (1996), "CAD/CAM collaboration and remote machining", Computer Integrated Manufacturing Systems, Jul 1996, Vol.9, No.3, pp.149-160
5. Lu, I.M. & Mantei, M.M. (1991), "Idea Management In a Shared Drawing Tool", Bannon, L., Robinson, M. & Schmidt, K. (eds.), Proceedings of the Second ECSCW, September 25-27, 1991, Amsterdam, The Netherlands, pp. 97-112
6. Moran, T.P., McCall, K., Melle, B., Pederson, M.E.R. & Halasz, F.G. (1995) "Some Design Principles for Sharing in TIVOLI, a whiteboard meeting-support tool", Greenberg, S., Hayne, S., & Rada, R. (eds.) Groupware for Real-time drawing : A Designer' Guide, 24-36
7. Ousterhout, J.K. (1994). Tcl and the Tk Toolkit. Addison-Wesley Publishing Company
8. Roseman, M. & Greenberg, S.(1996), "Bruilding Real-Time Goupware with Groupkit, A Groupware Toolkit", ACM Transactions on Computer-Human Interaction, March 1996, Vol. 3, No. 1, pp. 66-106
9. Sakai, A. (1996). "Flying Fingers: A tool for three-dimensional shared workspace", Proceedings of CHI96, pp.295-296
10. Schroeder, W., Martin, K., & Lorensen, B. (1996). The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Prentice Hall PTR
11. Shu, L. & Flowers, W. (1992). "Groupware Experiences in Three-Dimensional Computer-Aided Design", Proceedings of CSCW’92. 179-186
12. Trever, J., Koch, T., & Woetzel, G. (1997). "MetaWeb: Bringing synchronous groupware to the World Wide Web". Hughes, J. et al. (eds.), Proceedings of the Fifth ECSCW, 65-80