Int J Interact Des Manuf (2009) 3:103108DOI 10.1007/s12008-009-0063-y
Virtual reality approaches for immersive design
D. Weidlich L. Cser T. Polzin D. Cristiano H. Zickner
Received: 23 February 2009 / Accepted: 6 March 2009 / Published online: 26 March 2009 Springer-Verlag 2009
Abstract The current application of virtual reality (VR)systems in the design process is limited mostly to designreview. The reason for this limitation is the different dataformats used for CAD and VR visualization. To use the ben-efits of VR during the design process, solutions for immer-sive design, the model manipulation inside the VE basedon CAD data, are required. There are different approachesallowing VR systems to work as an active development plat-form. Three examples introduce the realization of the inte-gration of CAD and VR software at different levels by theonline coupling of complete applications or by integration ofCAD core functionalities in VR systems.
Keywords Virtual reality 3D interaction Design Product development
The increasing use of digital product design methods, espe-cially of computer-aided design (CAD) and computer-aidedengineering (CAE), have reduced design times. The userinterface is usually desktop-based and therefore models arenot commonly represented in their real size. A large amountof modeling time is used for navigation and object selection.
D. Weidlich D. Cristiano H. Zickner (B)Institute for Machine Tools and Production Processes,Chemnitz University of Technology, Chemnitz, Germanye-mail: firstname.lastname@example.org
D. Weidlich T. PolzinFraunhofer Institute for Machine Tools and Forming TechnologyIWU, Chemnitz, Germany
L. CserCorvinus University of Budapest, Budapest, Hungary
This particularly applies to todays 3D CAD systems. Whilethese systems have a great number of component and modulemodeling and assembling functions, much time in addition tonavigation and selection is required to draft and parameterizegeometry models.
Virtual reality (VR) applications have been in active use inthe automobile and aerospace industries as well as in produc-tion engineering since the 1990s. Todays VR technologiesoffer enormous potential for improving the comprehensibil-ity of design and simulation data, which implies decliningerror rates . Potential sources of errors, especially dur-ing the outline and detailing phases, can be targeted andexcluded by the immersive experience of geometry and topol-ogy data. Therefore this article focuses on integrating VR asa user interface into the process of geometric modeling anddetailing. It shows three paths towards a solution: VRAx,navigation interface for modeling (NavIMode), and Con-struct|Tools.
2 State of the art
Researchers have implemented three prototypical ways ofimmersive modeling: linking a VR system and a CAD core,linking a VR system and a CAD system, and using voxelmodels for geometry description.
Examples of linking of VR-CAD core are the advancedrealism CAD environment (ARCADE)  and Constructed. Both systems are based on the VR system Studierstube,and both systems use the ACIS core modeler for describinggeometries. ARCADE is a cooperative, directly manipulative3D modeling system that takes a user-centered approach. Animportant interaction feature of ARCADE is the topologicalcontext based limited modification technique for transform-ing objects. The construct3D framework uses augmented
104 D. Weidlich et al.
reality as a user interface and provides functions for creatingvolume primitives and for modification using Boolean oper-ations. The Spacedesign system  presented in 2002 is anexample of a system for immersive curve and surface mod-eling. Spacedesign enables the creation and modification of3D curves and surfaces in VR or AR environments.
Another approach is voxel-based modeling as applied, forexample, in virtual clay modeling (VCM). VCM with hapticfeedback is presented in . An interaction is implementedusing tool-like interactive devices. They allow virtual mod-eling by adding and removing. The virtual assembly designenvironment (VADE)  system was the first that linked acomplete CAD system with a VR environment. The VR envi-ronment used was an head mounted display (HMD). VADEwas developed for assembly simulation and planning andfacilitates the creation of alternative assembly strategies forcomponents. Other relevant works on multimodal input usingadditional 2D input devices are described in [7,8]. Sketchescan be created and functions activated in the VR using apersonal data assistant (PDA).
3 VRAX: VR based development platform
3.1 The VRAx method
VRAx  denotes a platform for designing machine toolsthat are analogous to existing CAx tools based on VR tech-nologies. VR technology is used as an active developmentand design medium in this process, and data created in VRare recirculated into the overall development process. Vari-ants of machine tools with parallel kinematics can readily becreated by combining a modular approach with free model-ing functionality.
The basis is a workflow for technology-optimized machinetool design. Templates are provided for each phase of theworkflow. A special template called the machine templateprovides the basis for the parallel kinematic structure to bedeveloped. It contains all required information in a roughplan structure, e.g., the number and arrangement of joints.Generic algorithms determine the kinematic dimensions suchas the positions of joints, strut lengths, etc. from the stiffnessand working space requirements. These parameters subse-quently initialize the machine template. Further assembly issupported by interaction metaphors such as snap-in for posi-tioning. The machine elements are automatically positionedand aligned according to their function within the kinematicchain.
3.2 VRAx: immersive modeling
The AVALON VR system was linked to the OpenCascadefree CAD core to implement immersive modeling within the
Fig. 1 Using a PDA for sketches
workflow. This allows the implementation of special model-ing functions such as the extrusion of cross sections alongB splines. The course of the extrusion path can be changedinteractively by manipulating specific check points. The ext-rusion target can be defined in advance using area selection.These areas are decisive interfaces between the joints andthe frame as well as the frame and the working platform. Anadditional 2D interactive element in the form of a PDA isused in the VRAxsystem to create the cross section andenter discrete parameters (Fig. 1).
Volume primitives are provided for the rough design of theframe and working platform, which are frequently welded.The geometries generated are transferred to, and used in,conventional CAD systems using the STEP standard. Thisneutral data format guarantees compatibility with most CADsystems.
3.3 System architecture
The system architecture of the VRAxsystem was designedaccording to a three-layer model . A VR system formsthe visualization and interaction layer. The second layer isthe application core which contains the machine tool modeland the processing control unit. The machine tool model isresponsible for synthesizing all geometry (polygonal mod-els, CAD volume models, partial models) and metadata. Theprocessing control unit is the computer-internal representa-tion of the workflow. Based on a digital product data modelfor machine tools with parallel kinematics, the design, sim-ulation and calculation systems required during the develop-ment process (CAD, FEM, MBS, calculation algorithms forstructure optimization, databases, . . .) are integrated in thethird tier via a product data management system (PDM sys-tem). Abstract model descriptions and their parameters arestored in form of a model matrix rather than storing concrete
Virtual reality approaches for immersive design 105
Fig. 2 System architecture of the VRAx system
models. A VR system that is linked with the given designand simulation systems operates as an interface between theusers and the digital data model. The modular design makesit possible to make interactive changes in the VR system andfeed them back into the 3D CAD system (Fig. 2).
4 NavIMode: integrated VR-CAD environment
An integrated VR-CAD environment for designing complexmodules is created by linking a VR system and a CAD sys-tem. The selection, navigation, and transformation tasks arestrictly separated from the modeling functions. The goal is tomake the exploration of complex modules simpler and moreintuitive. The designer keeps all CAD functions.
4.2 NavIMode: new approaches to interaction
NavIMode is an interface between CAD systems and VR sys-tems. A new interactive device is configured using a freelymovable tablet PC. In addition to the usual functions of CADsystems, the user can find his or her way visually in the draftdesign. A special function, the virtual loupe, is provided forthis purpose (Fig. 3).
The display visualizes the virtual model according to itsposition and orientation, and the user can look into the virtualworld as if looking through a physical frame. This function isimplemented by the application server by means of analyzingtracking data (Fig. 4).
The challenge is to assign projection parameters of the VR(camera position, angle of aperture) to the respective CADsystem parameters such as zoom factor, translation, and ori-entation in real time.
Fig. 3 Virtual loupe
Fig. 4 Implementation of the virtual loupe
The ChangeView() method was implemented for this pur-pose. It changes the zoom factor, view orientation, and viewtranslation of the active CAD model in real time. In additionto the active CAD window, parameters transferred includethe position H and orientation H0 (head, pitch and roll) ofthe visor or head, position T and orientation T0 (head, pitchand roll) of the tablet PCs, and offset values for position Mand orientation M0 (head, pitch and roll) of the model in thecave. The starting point for calculating the zoom factor is theaxis of view in the form of the straight line
gH M : H + t HM : t R+ (1)
It is used to calculate the distance of the head from the modelcenter and the distance of the head from the tablet PC. Theparameters for the orientation of the CAD view are derivedfrom the view orientation matrix. It is calculated from the
106 D. Weidlich et al.
Fig. 5 NavIMode systemarchitecture
matrix product O1H M OM , where:
O1HM = Ry(HM (1)o
(2)HM0 describes the angle of orientation of the view axis andis calculated from:
H M (1)H M (2)
H M (1))2
H M (2))2
, T (3)O
The vectorTF is of great significance for the view transla-
tion. It points away from the model center to the view axis towhich it is perpendicular. Point F is the perpendicular pointfrom point T to the straight line gH M .
TF = TH
In addition, the roll angle T(3)O of the tablet PC is decisive forthe pan parameter. This is whyTF := Ry
) TF (5)
is set. The model is now moved in x direction by the valueof vectors
TF (1) and in y direction by
TF (3)(SetPanY). It is
planned to supplement the basis transformations described
with an adjustment of perspective and correct clipping of theCAD model according to the users position.
NavIMode is an interface between a VR system and a CADsystem. The architecture of the system is strictly object-oriented, and its structure is modular. The communication ofeach module is organized via events. The modules currentlycommunicate via a wireless local area network (WLAN)using an Ethernet connection. This allows wireless workingbut it also creates some problems due to the higher latencytimes of WLAN infrastructures (Fig. 5).
The CAD system offers JAVA libraries for controlling thegraphical user interface (GUI) and for accessing the modeldata C++ libraries as application programming interfaces(APIs). A TKL/TK and C++ classes are available on the sideof the VR system for accessing objects of the scene graph andfor implementing interaction metaphors. The two systemsare linked using the following modules: application man-ager: initializes the asynchronous connection between theVR and CAD systems, device manager: collects data on theposition of the visor and input device, model manager: keepsthe CAD model and the VR model consistent and maps CADelements and VR objects and interaction manager: coordi-nates all activities of the system and provides navigation,selection, and modeling functionality.
5 Construct|Tool: immersive modeling environment
A Construct|Tool was developed with the goal to imple-ment an immersive modeling environment which works on
Virtual reality approaches for immersive design 107
Fig. 6 Collision detection based on polygons (le f t) and based on aB-Rep model (right)
the basis of exact geometries. In addition to modeling func-tions such as interactive Boolean subtraction, generation offreeform surfaces, creation of primitives, kinematic analysisfunctions such as real time collision calculation are avail-able. The environment is particularly suitable for designingand verifying forming tools as it includes the option to per-form collision calculations based on exact geometries. Therequired modeling of volume elements, freeform areas, andsimultaneous verification of mechanical functions of sliders,ejectors, and handling devices can be performed as an inte-gral part of the modeling process. In addition, the problemof installing the tool in an existing press can be consideredas early as in the design process.
5.2 Functionality of Construct|Tool
The user interface is the 3D interface of the StudierStubeAR software consisting of pen and PIP (personal interactionpanel) . The pen of Construct|Tool provides two buttonsthat allow fast access to frequently used functions. Exceed-ing the functionality of Construct3D, a data interface withCAD systems provides the options of transforming objectsdirectly and discretely and of real time collision calculations.There is a visual and acoustic feedback for collision warning.In addition, the objects can be prevented from entering othergeometries while being interactively transformed (Fig. 6).
Functions such as real time and Boolean subtraction areavailable for modeling specific geometries (such as engrav-ing). This function enables a user to skim material off a geom-etry to model freeform areas. The intersection volume ofthe virtual modeling tool and the object is removed in realtime. The motion path of the tool is approximated along aB spline to create two continuous area transitions. Like allobjects in Construct|Tool, the modeling tool can be moveddirectly using the control console. Collision visualization
Fig. 7 Construct|Tool system architecture
tools display the position and size of the removed volumeduring the modeling process.
5.3 Architecture of Construct|Tool
Construct|Tool is based on the StudierStube AR/VR sys-tem [1...