Import floor plans from Revit files

Available with the ArcGIS Indoors Pro or ArcGIS Indoors Maps extension.

Building Information Modeling (BIM) files from Autodesk Revit are commonly used for 2D and 3D architectural modeling and can be used to create features in an Indoors workspace. The Import BIM To Indoor Dataset tool imports features from a Revit file into an indoor dataset.

Once you have created the indoor workspace, you can use the Import BIM To Indoor Dataset tool to load floor plans from a Revit (.rvt) model into your Indoors workspace. You can then manually load additional features, events, and occupant data.

If you created a 3D indoor dataset using the Create Indoor 3D Dataset tool, you can optionally load 3D objects from a Revit model into an Indoor 3D dataset.

Note:

You can use the Import BIM To Indoor Dataset tool to import one level or multiple levels of a building contained in a single Revit file.

The conversion workflow involves the following high level steps:

  1. Georeference and add the floor plans
  2. Run the Import BIM To Indoor Dataset tool to add features to an indoor dataset
  3. Inspect the output features created by the tool

Each step is described in the sections below.

Georeference and add the floor plans

Complete the following steps to import a Revit file into an indoor dataset:

  1. Georeference the Revit model if it is not already.
    Note:

    The Revit model must be georeferenced in 3D and have an associated .prj and .wld3 file before running the tool. It is important to accurately georeference floor plans because errors in scaling or geographic location result in incorrect calculations for the location of Indoors features.

    Learn more about georeferencing Revit files in ArcGIS Pro

  2. On the Map tab, click the Add Data button Add Data to add the Revit layers to the map.
  3. Browse to the folder location where the georeferenced Revit file is stored and choose the Floorplan_Polygon layer from the Floorplan dataset.
    Note:

    The Revit file workspace is organized into feature datasets named after conventional construction disciplines. When this information is added to an ArcGIS Pro map or scene, these datasets are expressed as individual feature layers.

Run the Import BIM To Indoor Dataset tool

Once you’ve added the Floorplan_Polygon layer to the map, run the Import BIM To Indoor Dataset tool to import the building data to the indoor dataset.

Import 2D data

The tool uses the input Floorplan_Polygon layer to construct the levels and units features. Based on the Floorplan_Polygon layer, the tool accesses additional layers in the Floorplan dataset, using the Footprint layer to construct the facilities features and the Floorplan_Polyline layer to construct the details features.

Features are created in Indoors model feature classes from objects in Revit categories according to the following table:

Revit categoryIndoors model feature class

Footprint

Facilities

Doors, Ramps, Stairs, Stair supports, Stair Landings, Columns, Structural Columns, Walls, Curtain Wall Panels, Windows

Details

Rooms

Units

Floors

Levels

Fields in the table below are populated in the indoor dataset by default when you run the Import BIM To Indoor Dataset tool. You can map more properties from the Rooms layer (located in the Architectural dataset in the source Revit file) to existing fields in the Units feature class. If you are mapping properties to a custom field in the Units feature class, you must create the custom field before running the tool.

Facilities

FieldDescription

FACILITY_ID

Populated based on the Facility ID parameter in the Import BIM To Indoor Dataset tool. Each feature in the Facilities feature class must have a unique facility ID. The facility ID cannot contain spaces.

For example, you can use the building name in the Project Information section of the Footprint layer in the Revit file, replacing any spaces in the name with underscores.

NAME

Populated based on the Facility Name parameter in the Import BIM To Indoor Dataset tool. This is the most commonly used field for naming facility features.

Levels

FieldDescription

LEVEL_ID

A smart key that is based on the FACILITY_ID field value and the name of the occupiable level in the source Revit file.

NAME

Populated with the name of the occupiable level in the source Revit file.

LEVEL_NUMBER

Populated with 1 for the ground floor level. This is also calculated for other levels based on their relationship to the selected ground floor.

VERTICAL_ORDER

Populated with 0 for the ground floor level. This is also calculated for other levels based on their relationship to the selected ground floor. Levels with an elevation that is less than the identified ground floor are assigned a negative vertical order.

NAME_SHORT

Populated with 1 for the ground floor level. Levels above the ground floor are assigned sequential positive Level_Number values. Levels below the ground floor are assigned a sequential negative Level_Number value.

AREA_GROSS

Based on the level geometry.

Units

FieldDescription

UNIT_ID

A smart key that is based on the LEVEL_ID field value, the room number in the source Revit file, and the room's unique ID (in the Revit file, this is the ExtId).

USE_TYPE

Populated with the field selected in the Floorplan Polygon Use Type Field parameter of the Import BIM To Indoor Dataset tool. If no value is provided, this field is populated with the room name from the source Revit file.

Note:

The USE_TYPE field has a maximum length of 50. Values longer than 50 characters will be truncated.

NAME

Populated with the room number from the source Revit file.

LEVEL_ID

Populated with the LEVEL_ID field value of the associated level.

AREA_GROSS

Based on the unit geometry.

Details

FieldDescription

DETAIL_ID

A smart key based on the LEVEL_ID field value of the associated level, the architectural design category of the feature from the source Revit file, and the room's unique ID (in the Revit file, this is the ExtId).

USE_TYPE

Populated with the architectural design category of the feature from the Floorplan_Polyline layer in the source Revit file.

LEVEL_ID

Populated with the LEVEL_ID field value of the associated level.

Import 3D data

You can optionally use the parameters in the 3D Features section to import features into the Units 3D, Details 3D, or Facilities 3D multipatch layers, created using the Create Indoor 3D Dataset tool.

Caution:

Ensure that the Revit model is accurately georeferenced and the coordinate system of the Indoor dataset and Indoor 3D dataset matches the coordinate system in the associated .wld3 file. Both the horizontal and vertical coordinate system units must match. Inaccurate georeferencing or mismatched coordinate systems can result in scaling issues for 3D features.

Objects are imported to the target layers as follows:

  • Target Unit 3D Features—Multipatch features are created in the Units 3D layer representing the footprint of objects in the Revit model's Rooms category.
  • Target Details 3D Features—Multipatch features are created in the Details 3D layer from objects in the following Revit categories: Doors, Ramps, Stairs, Stair supports, Stair Landings, Columns, Structural Columns, Walls, Curtain Wall Panels, Windows.

    The symbology for Details features is generated based on the symbology of the Revit model.

  • Target Facilities 3D Features—Multipatch features are created in the Facilities 3D layer representing the facility shell of the building from the ExteriorShell feature class of the Revit model.

If you run the tool and do not include values for the Target Facility 3D Features, Target Unit 3D Features, and Target Details 3D Features parameters, you can later rerun the tool to add 3D data to the Indoors model.

Inspect the output

Inspect the output features that were created by the Import BIM To Indoor Dataset tool in the indoor dataset.

  1. Click the Add Data button Add Data and add the Facilities, Levels, Units, and Details feature classes from an indoor dataset to the same map where you loaded the Revit floor plans.
    Note:

    To switch between floors in facilities, you can enable the floor filter by configuring the map as floor-aware.

  2. Verify that all the levels you chose in the Floors To Import parameter appear in the indoor dataset.

    You can use the solutions in the table below to troubleshoot if you see either of the following issues:

    IssueSolution

    Errors or gaps in the facility and levels features

    Gaps in the facility and levels features can occur when floor features are modeled in a CAD drawing that is linked to the source Revit model. Ensure that the floor features are modeled in the Revit model and rerun the tool.

    Gaps in the facilities and levels features can also occur when floors do not extend across the entirety of a level. This happens commonly in places where there are transitions, such as stairways or elevators. This can cause issues when generating an indoor routable network. Modify floor features in the source RVT or use editing tools in ArcGIS Pro to ensure that levels and facilities features appropriately bound the units features.

    Errors or gaps in the details or units features

    Gaps in the details and units features can occur when the features aren’t associated with a floor. Ensure that details and units are associated with a floor in the source Revit model and rerun the tool.

  3. If you imported the floor plan data into an Indoors workspace created with the Create Indoors Database tool, review the USE_TYPE value of the space features in the Units feature class to identify the spaces that should not be directly assignable to occupants through the Indoor Space Planner app. Set the ASSIGNMENT_TYPE value of those spaces to Not Assignable.

    The following are examples of space types that are typically not assignable to occupants or used to define hot desk or office hotel use areas:

    • Lobbies
    • Circulation areas
    • Common areas
    • Restrooms
    • Break rooms

  4. Save the map.
  5. If you loaded 3D data, inspect the 3D data by doing the following:
    1. On the Insert tab, click the New Map drop-down arrow and click New Local Scene.
    2. Click the Add Data button Add Data and add the Units 3D and Details 3D feature classes from the indoor 3D dataset and the Facilities and Levels feature classes from the indoor dataset.
    3. Configure the scene as floor aware and use the floor filter to inspect the data layer by layer to ensure that all the expected features are present.

Once you load the floor plans to the indoor dataset or Indoors geodatabase, you can load additional features, events, and occupant data.

Related topics