ArcGIS Indoors

Loading IFC files into the ArcGIS Indoors Model

BIM (Building Information Modeling) provides the tools for planning, design, and construction of buildings. The digital models created with BIM can also be operationalized after project completion to inform facility maintenance and operation. A benefit of BIM is its ability to visualize buildings in a true-to-life 3D space. The ArcGIS system has powerful GIS and BIM integration tools that enable AEC and facilities management professionals to understand how their built environment fits into the physical environment and how separate construction projects interact with each other. Increasingly, our users have been using their digital models to enhance their Indoor GIS based on the Indoors Information Model, bringing the power and utility of a 3D digital model into the hands of GIS Analysts who can now produce 3D scenes to serve executive management, facilities management, IST, building occupants, visitors, and more.

The ArcGIS Indoors information model includes a series of 3D multipatch feature classes for storing 3D building floor plans. With the release of ArcGIS Pro 3.1, users can now import 3D multipatch features, from Autodesk® Revit®, directly into the Facilities3D, Units3D, and Details3D feature classes with the Import BIM To Indoor Dataset geoprocessing tool.

Loading the IFC format

The Import BIM to Indoor Dataset tool supports Revit, but it does not yet support the IFC format. IFC is an open and standardized BIM format meant to enable interoperability between BIM software packages. While ArcGIS Pro itself is capable of reading both IFC and Revit files, there are differences in the type of features it can read at the 3.1 release. ArcGIS Pro does not yet support the Floorplan dataset for IFC files, which contains room and building footprint information needed for ArcGIS Indoors.

Crucially, organizations with IFC files can still reap the benefits of an ArcGIS Indoors deployment. It is, however, necessary in the current ArcGIS Pro 3.1 and older to import IFC files to Revit prior to importing them into ArcGIS Pro.

Note: A Revit license is required to perform a conversion from IFC to Revit. The IFC to Revit import process is imperfect, and often results in data loss and misclassifications that will need to be rectified prior to importing to ArcGIS Indoors. Be sure to make a backup copy of your data before making any modifications.

Loading Revit into the Indoors Model

ArcGIS Pro reads IFC and Revit files into a series of 3D multipatch and, in the case of Revit, z-enabled point, line, and polygon feature classes. These feature classes are organized by discipline into feature datasets, with each multipatch feature class representing a specific family category (Walls, Roofs, Doors, etc).


Revit file in ArcGIS Pro with the Floorplan dataset expanded

The attributes of each feature show the properties of the Revit element. During import using the Import BIM to Indoors Dataset geoprocessing tool, the Indoor model is populated using the following elements and attributes from the Revit workspace.

Facilities and Facilities3D

The 2D Facilities features are created from the footprint polygon in the floorplan dataset. A multipatch feature is created in the Facilities3D feature class (part of the Indoors Model) representing the facility shell of the building from the ExteriorShell feature class in the BIM file workspace. This feature is created from exterior family categories in the Revit model (ex. Roofs) and other elements that have the Function property set to Exterior.


2D Level polygons in the Indoors Model are created from the footprint of the Floors element associated with the same Level in Revit, shown as the BldgLevel attribute in ArcGIS Pro. Levels and floors in Revit are two separate things. While floors represent the physical characteristics of the building floor\slab, levels are simply planes that separate vertical sections of a building. You can inspect the features that will be included by opening the Floorplan_Polygon feature class in the Floorplan dataset when you open the Revit model in ArcGIS Pro.

Units and Units3D

Units polygons and Units3D multipatch features in the Indoors Model are created based on Room Elements in the Revit Model. Before import, ensure that all indoor spaces are modeled as rooms in Revit. Units can also be inspected in ArcGIS Pro in the Floorplan_Polygon feature class.

Verifying that Room properties are correctly populated in Revit before running the Import BIM To Indoor Dataset Tool will help ensure accurate floorplan data. The following Room properties in Revit are mapped to Units and Units3D attributes in the indoors model:

Details and Details3D

Details line and Details 3D multipatch features are created based on elements from the following Revit family categories:

These elements must be associated with a building level. This is indicated in ArcGIS Pro by the BldgLevel attribute and in Revit by the Base Constraint property. Elements from these families that will be imported into Details can be inspected in the Floorplan_Polyline feature class in the Floorplan dataset.

Elements that will be imported into Details 3D can be inspected in their respective multipatch feature class found in the Architecture and Structural datasets. During import, 3D features that span multiple floors (such as walls or curtain panels) are sliced so that there is a 3D detail feature for each level across which the feature spans.

IFC to Revit

Data-loss and other issues when opening an IFC file with Revit occurs frequently. Often what gets lost in translation will prevent a successful transition from Revit to Indoors. The rest of this post will discuss some of the issues to look out for. Many of these issues need to be manually rectified prior to importing the file into the Indoors Model.

Revit Schema ≠ IFC Schema

A useful feature of Revit and other BIM software packages is the ability to create, manipulate, and repeat elements easily. A window, for example, is “hosted” by a wall, which is constrained to a level and attached to a roof. These elements know about each other and, as a result, when a change is made to one element the others are also changed accordingly.

All that is possible because the software understands what materials the element is made from and what should happen to it if things change. When converting IFC, Revit will create such elements wherever possible. However, there are many cases – often when converting more complicated elements – where these “system” elements cannot be created. The effective result in the Revit project is a standalone element that is not connected to anything else in the project and cannot be easily changed.

This is important to the ArcGIS Indoors conversion process since the Import BIM to Indoors Dataset tool relies on the idea that elements are either hosted by other elements or are assigned to a level. In the below example, the selected curtain window was converted without any of the properties we would expect from a curtain wall. We cannot change its width or height and it is not assigned to a level. As a result, it will be ignored by the Import BIM to Indoor Dataset tool.

A curtain wall selected in a Revit 3d view with the properties pane open showing the missing properties.

This is in contrast to the replacement window, which does have floor constraints. We can also change the geometry. This window will be imported by the Import BIM to Indoor Dataset geoprocessing tool.

A curtain wall selected in a Revit 3d view with the properties pane open showing the added properties


Rooms are created in Revit by using the room creation tool to select a point in a space that should become a room. If all the elements surrounding that space are “Room Bounding”, then an enclosed room is created and properties such as Name and Number can be populated. If a room cannot be created because it is not a properly enclosed region or if it overlaps with another room, it will be ignored by ArcGIS Pro.

In IFC, rooms are represented by the IfcSpace Category. Revit will try to recreate these spaces using bounding elements, but sometimes this will not produce the desired result.

In this example, some rooms overlap each other (darker blue fill) while others are not enclosed rooms at all (no fill).

Incorrectly configured Revit rooms, visualized in blue in a 2d floorplan view

The issue here is the columns are not considered to be room bounding, but often penetrate through the walls. In Revit logic, these rooms are not separated and therefore cannot be created or are created overlapping. This can be rectified by ensuring the room bounding property is enabled for a given element, assuming the property exists of course. Separation between rooms is also achieved by creating new room bounding elements or by using the room separator tool. The below image shows what the rooms should look like with each area fully enclosed and no rooms overlapping.

correctly configured Revit rooms, visualized in blue in a 2d floorplan view


This blog post is meant to highlight some of the conditions you might encounter when working through your IFC to ArcGIS Indoors model workflow. There are, of course, other considerations to make when inspecting your Revit files for ArcGIS Indoors.

IFC is an open-source format and has benefited the AEC industry by enabling workflows between different BIM software packages. Consequently, Esri recognizes the need to import IFC files to the Indoors Model without conversion to the REVIT format. Esri is extending support in ArcGIS Pro for IFC files to expose elements needed for floor plan loading and loading native IFC files is on the roadmap for ArcGIS Indoors.

Inline Feedbacks
View all comments

Next Article

Join Hacktoberfest 2023: Celebrate Open Source with Us!

Read this article