BIM tutorial overview

This tutorial extends the MFC Sandbox (discussed in the previous tutorial) to create a basic viewer for BIM files. This BIM viewer will enable the user to load a model file, extract data from the model, filter the data, and display it in the GUI. In particular, this tutorial will use the IFC format, but the techniques used can be applied to any CAD format. The MFC Sandbox uses MFC controls, but the workflows described are applicable to any GUI. If you are new to the HOOPS ecosystem, we recommend starting with the Sandbox walkthrough tutorial, which introduces the general features of the app and explains how fundamental operations such as file importing and user interaction are accomplished.

The BIM Viewer tutorial will cover the following HOOPS Native Platform features:

  • Importing a CAD model via HOOPS Exchange using the Component classes

  • Extracting metadata from an imported model

  • Using the event mechanism to add a custom event handler

  • Extracting metadata from a selected component

  • Connecting HOOPS Visualize to the main application UI thread

  • Searching the component hierarchy for IFC components and properties

  • Filtering the display contents baded on IFC data types

  • Displaying a floor plan view as a subwindow

  • Exporting data to PDF using the HOOPS Publish Component classes

  • Direct connection to the HOOPS Exchange API to access advanced features

  • Merging multiple models into one scene

The tutorial is presented as a walkthrough, so you can read the tutorial and follow along in the code. Each code snippet has a file associated with it so you know where to look.

Acquiring the code

This tutorial uses Visual Studio with C++, but the same HOOPS code runs on all supported platforms, languages, and UI toolkits with minor modifications. The tutorial is available on at

Once you acquire the project, copy the root folder into the samples directory of your Visualize installation. Then, open /samples/visualize/visualize_v140.sln and add the BIM Viewer tutorial project to the solution (the BIM Viewer tutorial is preconfigured to work from this location).

Begin by opening <HNP_INSTALL_DIR>/samples/visualize/visualize_v140.sln.

Note: If using Visual Studio 2017 or 2019 and you are prompted to upgrade the solution, do not upgrade. Please contact us if you need Visual Studio 2017 or 2019 support.

The model used in this tutorial can be found in the installation package at samples/data/ifc/Duplex_A.ifc.