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 an 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. You can also use the same tool to import linked Revit models of the same building.

The import workflow consists of the following high level steps:

  1. Georeference and add the floor plans.
  2. Run the Import BIM To Indoor Dataset tool.
  3. Inspect the output.

Each step is described in the sections below.

Georeference and add the floor plans

It is important to accurately georeference floor plans, as any errors in scaling or geographic location may result in incorrect calculations for locations of indoor features.

  1. Georeference the BIM file if necessary.
    Note:

    The BIM file must be georeferenced in 3D and have associated .prj and .wld3 files before running the tool. If you are importing linked Revit models along with the host Revit model, ensure that all linked Revit models are accurately georeferenced and have the same coordinate system as the host Revit model.

    Learn more about georeferencing BIM files in ArcGIS Pro

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

    To import linked Revit models, add the Floorplan_Polygon layer from the host Revit model to enable the import tool to detect linked files.

    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.

The tool creates features in the Indoors model feature classes from objects in Revit categories according to the following table:

Revit categoryIndoors model feature class

Footprint

Facilities

Floors and, optionally, Roofs

Levels

Rooms

Units

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

Details

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

This field is populated with 1 for the ground floor level. Levels above the ground floor are assigned sequential positive level number field values. Levels below the ground floor are assigned a sequential negative level number.

VERTICAL_ORDER

This field is 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.

Levels with a vertical order of 0 are displayed by default in a floor-aware map.

NAME_SHORT

Defines a short name for a feature. This field is populated with 1 for the ground floor level. Levels above the ground floor are assigned sequential positive short names. Levels below the ground floor are assigned a sequential negative short name.

AREA_GROSS

Calculated based on the level geometry and the value of the Area Unit of Measure parameter.

Units

FieldDescription

UNIT_ID

A smart key based on the LEVEL_ID field value in the indoors model and the room number and ExtId in the source Revit file.

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

This field is populated with the LEVEL_ID field value of the associated level.

AREA_GROSS

Calculated based on the level geometry and the value of the Area Unit of Measure parameter.

ASSIGNMENT_TYPE

Set to None by default. You can update this for units that are not assignable after import.

Details

FieldDescription

DETAIL_ID

A smart key based on the LEVEL_ID field value in the indoors model and the room number and ExtId in the source Revit file. A smart key based on the LEVEL_ID field value in the indoors model and the architectural design category of the feature and ExtId in the source Revit file.

USE_TYPE

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

LEVEL_ID

This field is populated with the LEVEL_ID field value of the associated level.

Import 3D data

You can use the parameters in the 3D Features section to import features into the Units3D, Details3D, or Facilities3D multipatch layers created using the Create Indoor 3D Dataset tool.

Caution:

Ensure that the BIM data is accurately georeferenced (including any linked Revit models) and the coordinate system of the indoor dataset and indoor 3D dataset match the coordinate system in the associated .wld3 file. Both the horizontal and vertical coordinate system units must match, and any linked Revit models must have the same horizontal and vertical coordinate systems as the host Revit model. Inaccurate georeferencing or mismatched coordinate systems can result in scaling issues for 3D features.

The tool creates multipatch features in the Indoors 3D dataset as shown in the following table:

Revit dataIndoors 3D feature class

ExteriorShell—A single feature representing the building exterior. The ExteriorShell feature class is created in the BIM file workspace in ArcGIS Pro based on elements in the BIM file that are defined as exterior features.

Facilities3D

Rooms—The footprint of Rooms objects in the Revit file is used for generating 3D unit features.

Units3D

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

Details3D

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 run the tool again to add 3D data to the Indoors model.

Fields in the tables below are populated in the Indoors 3D dataset if you use the Target Unit 3D Features and Target Detail 3D Features parameters when you run the tool. You can map additional properties from the Spaces layer to fields in the Units3D feature class using the Unit Properties Mapping parameter if the same field exists in both the Units and Units3D feature classes.

Facilities3D

FieldDescription

FACILITY_ID

Populated with the value entered for the Facility ID parameter.

NAME

Populated with the value entered for the Facility Name parameter in the Import BIM to Indoor Dataset tool.

Units3D

FieldDescription

UNIT_ID

A smart key based on the LEVEL_ID field value in the indoors model and the room number and ExtId in the source Revit file.

USE_TYPE

Populated by the field selected for the Floorplan Polygon Use Type Field parameter, or the RoomName field in the Floorplan_Polygon layer from the input Revit data.

NAME

Populated with the room number from the source Revit file.

LEVEL_ID

This field is populated with the LEVEL_ID field value of the associated level.

AREA_GROSS

Calculated based on the level geometry and the value of the Area Unit of Measure parameter.

SOURCE_ID

Populated with the ExtId value from the Revit file.

Details3D

FieldDescription

DETAIL_ID

A smart key based on the LEVEL_ID field value in the indoors model and the room number and ExtId in the source Revit file.

USE_TYPE

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

LEVEL_ID

This field is populated with the LEVEL_ID field value of the associated level.

SOURCE_ID

Populated with the ExtId value from the Revit file.

Inspect the output

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

  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 imported 3D data, inspect the data on each floor by doing the following:
    1. On the Insert tab, click the New Map drop-down arrow, and choose New Local Scene.
    2. Click the Add Data button Add Data and add the Units3D, Details3D, and Facilities3D layers from the indoor 3D dataset, and the Levels layer from the indoor dataset.
    3. Configure the scene as floor-aware and use the floor filter to inspect the data on each floor.

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

Related topics