Configuring iModels in OCP

OpenCities Planner now has the ability to render iModel content together with existing project data.

What is an iModel?

An iModel is a distributed relational database holding information about an infrastructure asset. iModels may contain physical and functional models, drawings, specifications, analytical models, etc.

iModels are stored in the iModelHub and can be uploaded using the iTwin Synchronizer tool from your prefered choice of CAD and BIM applications.

For more information about iModel, iModel.js, iModelHub and iTwin Synchronizer visit these links:

iModel – The data format

iModel.js – Open Source software for rendering iModels

iModelHub – Cloud storage platform for iModels

iTwin Synchronizer – Software for synchronizing data to iModels on iModelHub

iModel.js powered rendering

Once a user tries to add iModels or is entering a project that already contains iModels, a confirmation window will appear asking the user to switch to the iTwin.js renderer.

By switching to iTwin.js, the project will now support rendering of iModels. However, some features, eg. Shadow Analysis, Export 3D, and Export Video, are not yet supported in this mode and are therefore disabled. The user can toggle between the two different rendering modes using the Graphics Settings found in the bottom left corner.

Authenticating with Bentley Services

Accessing your iModels on iModelHub requires a login, a second authentication through Bentley Services will be required before the iModel can load. You will be asked to login to Bentley Services once the project has loaded.


Remember that this also means that in a published project, the viewing user will need to have access to the iModelHub and a Bentley login.


Accessing the iModels in the Editor

Find the iModel button in the sidebar. This will open the iModel Manager window. To add an iModel, click the Add configuration button.


This page will list all iTwin Projects that your user has access to. First, select a project that will list all the iModels available and then choose the iModel you want to load.

Next, you need to specify which Version of the iModel you want to work on. We recommend setting this to Latest and using the latest version of the iModel, or you can choose one of the Versions created and listed here. Click Save.

After the configuration has been saved, it will be listed in the iModel Manager. You can now continue to the next section to learn how to add this iModel to the scene.

Adding an iModel to your scene

By clicking Add in the iModel Manager, you will add the iModel to the scene and you will be able to access it in the Object manager. From here you can configure what parts of the iModel you want to include. By default, everything will be included.


After adding the iModel you might not see it on the screen at first since it could be placed at a different location than the camera is currently viewing.
Use the “Navigate to Object” button to move the camera to where your iModel is.


Coordinate Systems and GeoLocation

If you want to combine the iModel with an exisiting Map Dataset you need to make sure that the project has the same Coodinate System as the Map Dataset you are using. If for example your Map Dataset is defined in EPSG:3857, set this as the project Coordinate System like this:

Then save the project, now the iModel should line up with the Map Dataset.

Configuring the iModel

An iModel consists of a collection of smaller parts called Models, these can be different .dgn or .rvt files that you added to one iModel (eg. building.dgn or bridge.rvt). A Model is subdivided into individual Categories, all Categories represent levels or layers in your .dgn/.rvt files (eg. Beam Structure A02). When an iModel is added to the scene, the default behavior is to show all Models and Categories. But this can later be reconfigured if only parts of the iModel are needed.

Custom Configuration

You can manually configure exactly what you want to include in this iModel by checking/unchecking the checkboxes under Models and Categories. The iModel in the scene will automatically update when you toggle these settings.

Configure using an existing Saved View

Usually, the iModel has a collection of pre-defined configurations imported from the original CAD/BIM source file. These are stored in the iModel as Saved Views. To load a Saved View, select one from the dropdown menus and then click Load. Once loaded, the Model and Category checkboxes will be set accordingly. If you also want to move the camera to the location defined in the Saved View, use the Visit button.



You can create multiple layers from the same iModel and add them to the scene with different configurations. This way you can toggle the layers on/off and display different parts of the iModel!


Show Element attributes on click

In iModel On Click setting, you can select an action that will occur when the user clicks an Element of the iModel. A common use case is that we want to list all attributes connected to this Element.

Begin with selecting On Click and then choose Attributes as the action.

Now, when the user clicks on an Element of the iModel, a popup will appear listing all attributes.

You can also access the attributes in plain text by using the syntax ${attributes.User Label}, where “User Label” is the attribute you want to expose.

If you only want to include or exclude some of the attributes, use the Filter setting.


If you want to show other custom content on click, try the “Details Window” or “Embed Code” options.



Limitations in the current release are:

  • Features like Export 3D, Export Video and Shadow Analysis are not available for iModels.

Requires Premium Instance subscription