Import BIM floor plans

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

BIM files from Autodesk Revit are commonly used for 2D and 3D architectural modeling and can be used to create an indoor map. The Import BIM To Indoor Dataset tool imports features directly from a Revit file into an indoor dataset.

Once you have created the indoor dataset using the Create Indoor Dataset tool or created the Indoors geodatabase using the Create Indoors Database tool, 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 process involves the following steps:

Georeference and add the floor plans

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

  1. Georeference the Revit files if they are not already.
    Note:

    The Revit model must be georeferenced in 3D and have an associated .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 feature classes 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.

Only room and floor architectural categories from the source Revit file are imported to the indoor dataset. Rooms are imported as units features and floors are imported as levels features.

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 additional 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.

Note:

The Import BIM To Indoor Dataset tool does not populate the HEIGHT_RELATIVE field, but you can populate it manually. This field is used when preparing a 3D scene.

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 0 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.

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 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.

    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 geodatabase, 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

    Note:
    The ASSIGNMENT_TYPE field is not created by the Create Indoor Dataset tool. If you are using an indoor dataset for space planning, you must manually add this field. If you are using an Indoors geodatabase, this field is created by the Create Indoors Database tool.
  4. Save the map.
  5. If you loaded 3D data, inspect the 3D data by completing 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.

Update Revit floor plans

Once data is maintained in the ArcGIS Indoors Information Model, you may need to periodically integrate updated Revit files with the indoor dataset. This can be for a new building, a new floor in an existing building, or remodeling an existing floor. The Import BIM To Indoor Dataset is designed for use in branch version scenarios.

Tip:

Before updating Indoors data, consider making a backup of the geodatabase or, if you maintain the data using a branch versioned feature service, load updated data into a version.

Process updated Revit files

You can run the Import BIM To Indoor Dataset tool to update the existing indoor data from updated Revit files.

To update existing indoor data from updated Revit files using the Import BIM to Indoor Dataset tool, the target unit, detail, level, and facility features must all be from the same workspace. The workspace can be a file geodatabase, an enterprise geodatabase, or a feature service.

When you run the Import BIM to Indoor Dataset tool to update existing indoor data, the following occurs:

  • For facilities features, the tool performs a case sensitive comparison of the specified Facility ID and Facility Name parameter values with the FACILITY_ID and NAME field values of existing facilities in the indoor data. If a facility with a matching ID and name is found, the existing facility is updated. The tool then searches for matching levels in the facility by comparing level names in the existing indoor data with level names in the source Revit file, and one of the following occurs:

    • If matching levels are found in the indoor data, the levels, units, and details features associated with those levels are updated. If you include values for the Target Unit 3D Features and Target Details 3D Features parameters, 3D units and details features associated with those levels are also updated. If you include a value for Target Facility 3D Features, the associated 3D facility feature is updated.
    • If no matching levels features are found, the tool imports and adds selected floors and their associated features from the Revit source file as new levels, units, and details features.
    Note:

    You can choose which levels to update using the Floors To Import parameter. If this parameter is populated, only the chosen floors are updated. If no floors are chosen, all the floors from the Revit file are imported and updated.

  • If the Facility ID and Facility Name parameter values do not match an existing facility feature in the indoor dataset, features from the source Revit file are imported as a part of a new facility with the specified ID and name.

With the exception of attribute fields that are automatically updated (such as AREA_GROSS), existing attribute field values are preserved. You can optionally overwrite attribute fields in the Room Properties Mapping parameter's Output Fields list by mapping them to source fields.

The Allow insert of new overlapping facility parameter helps avoid accidentally importing conflicting floor plan data to the indoor data. When importing Revit data for a new facility, if the new facility's footprint intersects, overlaps, or touches the footprint of an existing facility feature, the tool stops running and informs you of the conflict so you can review it.

In some cases, you may want to import a new facility with a footprint that intersects, overlaps, or touches the footprint of an existing facility feature. To do this, check the Allow insert of new overlapping facility parameter and run the tool.

Note:

If Revit design options are used for updates to existing floor plans (for example, during a remodel), the internal IDs of Revit elements may change. If the IDs change, the Import BIM to Indoor Dataset tool deletes and re-adds the corresponding Units and Details features instead of modifying the existing features. If this happens, you may need to repopulate business data (such as occupancy, reservations, or custom attributes) for the affected features.

Update floor plans

To update floor plans, complete the following steps:

  1. Add the Floorplan_Polygon layer from the updated Revit file to the map or scene.
  2. Optionally, create a backup copy of the Indoors model.

    Note:
    If you are not using branch versioned data, creating a backup copy allows you to inspect the updated data without losing the production version of the data. If you are using branch versioned data, consider loading into a version and inspecting the updated data before merging to the default version.

  3. Run the Import BIM To Indoor Dataset tool.
    Note:

    If you are adding or updating features for an existing facility, the new or updated features must be imported from the same Revit file used to create that facility.

  4. Inspect the output.

Related topics