BIM goes virtual


Since BIM software is normally run on single workstations, the potential for direct collaboration is somehow limited. The focus of our on going research is to overcome these restrictions and to provide a platform for development and optimization by combining BIM and Virtual Reality (VR), linking BIM (Revit) with VR (COVISE).

Projects as well as data can be visualized in VR and reviewed 1:1 scale even in team meetings. Compared to various existing approaches, our new approach is to have bidirectional data exchange between the systems.

Changes in Revit are directly reflected in VR and vice versa, continuously updating the model and its underlying database.


BIM Interactive - About Combining BIM and Virtual Reality

A Bidirectional Interaction Method for BIM Models in Different Environments

The basic concept of BIM is a consistent 3D model of buildings containing all main data as base for collaboration for all disciplines. Since BIM-software isnormally run on single workstations, the potential for direct collaboration is somehow limited.



One of the main advantages of BIM is its collabora-tive aspect and its approach of a consistent 3D model. Specialists from different disciplines can share their knowledge in one joint and rich data model. To visualize the 3D model, numerous software viewers are available allowing all project participants specialists and laymen to discuss the design.

Some of the viewers even provide stereoscopic visualization to be e.g. used for Virtual Reality (VR) environments like the Oculus Rift. However these methods are somehow limiting,especially since usually the data is transferred "oneway" from the BIM model to the visualization environment. Thus interactive changes in the virtual environment are not possible or they have to be re-done again within the BIM software environment. Especially in a meeting situation, a quick and intuitive interaction method where even unexperienced users can easily interact with the model should beachieved. This allows much more productive review meetings and proposed changes are documented and do not get "lost in translation".

So the approach in our ongoing research is to provide a direct, bidirectional link, between BIM and VR so that all changes are automatically transferred between the two different environmentsز

For this work, we used Revit as the BIM software and CO-Virtual Reality and OpenCOVER - COVISE Virtual Environment Renderer - as visualization system and virtual environment. A C# add-in to Revit as well as aC++ plugin for COVISE have been developed to facilitate the data exchange between Revit and OpenCOVER.

Revit is currently only available on Windows workstations while projection based virtual environments are often running on Linux clusters in order to provide enough performance for high resolution multi-screen projections such as CAVEs, powerwalls or domes. Therefore we implemented the communication between the two plugins based on a binary protocol over TCP Sockets.

The decision to set up a distributed system with socket communication between the systems has multiple advantages over a monolithic approach:

  • One is not tied to a specific computer architecture for any of the components.
  • Interaction rates and frame rates of the two systems are independent of each other.
  • The system can be composed as needed; A desktop can be combined with a CAVE,a power wall, a touch table, a tablet or even a mobile phone as display and interaction device.
  • Drawback is the slightly higher implementation effort.
  • The main idea is, that there are multiple databases with the main Revit model as the central repository, a derived COVISE/VR database which is optimized for rendering and interaction only and in the future other databases such as a financial database like iTWO or SAP; all databases are constantly synchronized and thus provide a consistent view to the user.

Throughout the development it became apparent, that there are major differences in the concepts between these two environments and that a lot of develpment as well as thoughts about useful interaction methods are still required.

Some of the research topics we worked on and have been able to already solve to a certain stage are

  1. Interaction
  2. Parameters
  3. Animation
  4. Information display
  5. Simulation
  6. options

1. Intercation

  • To support meeting environments from within the1:1 VR environment like a CAVE (Cave Automatic Virtual Environment), users must be able to change/-move certain elements like doors, windows or walls.The transformation of objects in VR must be instantaneous, otherwise the effect of immersion is heavily impaired. Updates in the Revit model can take from milliseconds to multiple seconds depending on database and geometry complexity. Thus two update modes have been implemented:
  • A deferred mode postpones the update of the Revit model until the interaction is finished, e.g. the mouse button is released. Only then,a message is sent to Revit, the model is up-dated and all depending elements are syn-chronized with the VR environment. If any constraint can't be satisfied, the changes to the Revit model are not committed and the changes in the VR environment are also reverted back to the initial state.

In a Revit project data base,family instances are represented as a hierarchy of shapes and meshes. A standard door for example consists of six meshes repre-senting the different components of the door such as the frame, door leaf and handles. For the selection of elements like windows or doors, any such sub element can be selected with the pointer in the CAVE. OpenCOVER then walks up the tree to identify the top family instance in the hierarchy, which is then high-lighted and can be directly moved in 3D space. In order to move objects more precisely, movement and rotation degrees of freedoms can be constraint. This keeps door from lifting from the floor for example.

2. Parameters

All properties of Revit families and their instances are represented as parameters so that the families can easily be adapted to the project requirements. To provide direct access to selected parameters, all parameters which start with a name coVR.... are filtered out and automatically displayed on the tablet userinter face (TUI). So users can change these parame-ters like e.g. width of a door from their Tablet or mobile phone while working in the VR environment. Changes are directly reflected both in VR as well as inthe Revit model. That way users don't have to leave,but can stay in their current working environment.

Parameters of Revit families can be "type" or "instance" parameters. Whereas "type" parameters are shared values for all family instances, "instance" parameters are separate for each individual family instance. In the tabblet user interface of OpenCOVER both are displayed and grouped together by families. Before a parameter change is committed to the BIM database, it is checked for validity and in case it fails,the modifications are reverted.

Of view parameters are irrelevant in immersive VR environments as the actual field of view is defined bythe physical position of the user in the projection environment and not by software. These values are ignored. Often, you would like to document a certainviewpoint for future meetings or later off-line review.To support this, it is possible to update and store thecurrent viewer position in the Revit database.

3. Animation

BIM / Revit hardly provides any animation capabilities beyond simple camera path animation. Even a simple "door open / close" is not provided. However for a CAVE model it's essential for the user experience to e.g. open doors. So the standard doors within Revit are adapted and supplied with additional parameters to reflect e.g. the position of the hinges.

Still all animations are very limited and it's hard to transfer them from Revit to VR. Viewpoints and camera walkthroughs are accessible from both environments. The process of animating doors in Revit is rather tedious and thus working on a way to automate this is needed and also provide animation capabilities for unmodified standard doors and windows.

Revit viewpoints and viewpoint animations are accessible in the 3D VR Menu system as well as on the TabletUI. If the user selects one of these viewpoints,he is immediately "teleported" to that location.

4. Information Display

When walking through large buildings, it is often unclear in which room or on which floor you currently are. these information can be added to a room information panel which one can access any time from the Revit plugin menu in the 3D VR menu system. In the information panel,one can see the current room number and name as well as the square footage. The floor number, its name and the height above project zero is also displayed in this informationpanel. Further information based on the model is expected to be displayed as well .

5. Simulation

Due to the rich data within a BIM model, it is well suited for running numerical simulations to provide the user with more information on building physics. A lot of the tedious work of assigning material values, defining boundary- and initial conditions can be automated when a CFD software is directly linked toRevit like Autodesk's Simulation CFD.

it allows storing both, the computational mesh and the simulation results in a documented file format, the Fieldview format. implemention of a read module for CO-VISE which reads unstructured meshes and any number of scalar or vector solutions. Predefined COVISE networks can be used to visualize standard simulations by simply selecting the appropriate results file without any further manual setup. Advanced users can use the full CO-VISE functionality and load any number of variants and/or combine CFD results with structural simulations, EMF, thermal, or radiation simulations.

Within the virtual environment, both the simulation results and the Revit model are combined and interaction with both is possible without limitations. Particle traces can be placed interactively all through out the data set, cutting surfaces and clipping planes can also be easily placed in six degrees of freedom with the 3D mouse in the model at scale 1:1 or in model scale for a better overview.

As described above, model changes in the virtual environment are immediately transferred back to Revit and change the underlying BIM model. Those geometry modifications in general have an impact on the physics that has been simulated and require a new mesh generation and new solver runs.

With Simulation CFD,this process can be automated and the triggering of a new simulation run is just two mouse clicks. On a single workstation though, the example urban simulation takes 30 to 40 minutes to reach a sufficient convergence and thus requires an extended coffee break until the impact of the geometry changes can be evaluated and compared to the original version inthe virtual environment. In [Kieferle,Woessner,2007], a presentation of a system which cuts that waiting timedown to a few seconds by using parallel HPC systemsto carry out the simulation was presented. In future projects, a combintion of  those technologies will occure thus provide inter-active simulations for complex Revit projects.

5. Design options

Working with design options is a well proven method for project team meetings. By presenting different design options, each participant can contribute and discuss from their point of view. Jointly the best solution can be found and decided.

Another usage model for design options is the documentation of review meetings. During a review meeting one or more design options are created. Parameters are changed, objects, walls, windows and doors are moved to new locations and parameters are adjusted, either from within the virtual environment or in Revit directly. Not all of these changes will get implemented in the final version of the model, thus new design options can be created any time during the session. New modifications can be introduced while all the other options discussed before are still available and you can go back to these versions any time by switching the current active design option.


Due to the different approaches of BIM and VR, itis technically quite complex to combine these two worlds. The still limited accessibility to the Revit data and methods through the current API (Application Programming Interface) requires workarounds and alot of on going work. Presumably simple tasks like visualizing material texture up to now are only partly implemented, as the API does not give direct accessto the texture assets thus not enabling the VR system to be supplied with all necessary data.


With the underlying database in BIM and the relatively easy accessibility to that data there is a lot of development potential and field for future research.

Further interaction methods are tangible interfaces, small physical models which are a repesentations of the virtual model, which are very easy to interact with. The physical models are moved manually over multi touch tables like the "Microsoft Surface Table".

Plans to integrate our previously developed system and link these physical 3D prints of buildings or building elements to the BIM model to enable easy interaction for urban planning, interiordesign or factory layout , is the ultimate goal.