When preparing building information modeling (BIM) data to import to the ArcGIS Indoors Information Model, you must adhere to certain requirements and best practices for BIM data preparation. Indoors tools support importing BIM data from Revit files (.rvt) or IFC files (.ifc).
Georeference BIM models
BIM models must be georeferenced to ensure that the building and floor plan features are positioned and scaled correctly. The following steps describe a high-level workflow to georeference BIM models:
- Define the projection for the model.
It should include both a horizontal coordinate system and a vertical coordinate system.
Note:
If the horizontal and vertical coordinate systems do not use metric units and you import 3D data to create a scene, you must project your data into a metric-based coordinate system before sharing the scene to your ArcGIS organization.
- Reposition the model, if necessary.
- Save the georeference.
Projection files (.prj) and world files (.wld3) are created during the georeferencing process and saved in the same folder as the corresponding BIM file (.rvt or .ifc) with the same file name. Alternatively, if you have multiple models with the same coordinate system or coordinate transformation, you can create universal projection files and world files that apply to all CAD and BIM files in the folder that don't have associated coordinate files. To do so, rename the .prj file esri_cad.prj and the .wld3 file esri_cad.wld3.
Prepare BIM data to import to the Indoors model
You can use different tools to import BIM data to the Indoors model depending on the type of file the BIM is stored in. Revit files can be imported using the Import BIM To Indoor Dataset tool and .ifc files can be imported using the Import IFC To Indoor Dataset tool. Refer to the sections below for guidance on preparing each file type for import.
Prepare Revit models
When you import BIM data from Revit models with the Import BIM To Indoor Dataset tool, the Indoors model is populated using the following elements and attributes from the BIM file workspace:
- Facilities—Facilities are created from the Footprint polygon in the Floorplan dataset. The Footprint polygon is created by aggregating the Floors features from the Revit model.
- Levels—Levels are created based on Floor elements associated with the same BldgLevel property. You can inspect the features that will be included in the Floorplan_Polygon feature class in the Floorplan dataset when you open the Revit model in ArcGIS Pro. You can optionally include Roof elements along with Floor elements when creating Levels features in the Indoors workspace.
Units—Units are created based on Room elements in the Revit model. Before import, ensure that all indoor spaces are modeled as Room elements in Revit to import them as Unit features in the Indoors model. You can open the Revit model in ArcGIS Pro to inspect the features that will be included in the Floorplan_Polygon feature class in the Floorplan dataset.
Attributes are populated in the Units layer using the following information from Rooms elements in the Revit model:
- The Name attribute for Rooms elements in Revit is used to populate the USE_TYPE field in the Units layer.
- The Room Number attribute for Rooms elements in Revit is used to populate the NAME field in the Units layer.
- The LEVEL_ID value of the associated level feature is used to populate the LEVEL_ID field.
- You can map additional attributes from Rooms features to fields in the Units layer, including custom fields, if the fields already exist.
- Details—Details are created based on elements from the following Revit categories: Doors, Ramps, Stairs, Stair supports, Stair Landings, Columns, Structural Columns, Walls, Windows, and Curtain Wall Panels. Elements from these categories that will be imported can be inspected in the Floorplan_Polyline feature class in the Floorplan dataset.
- Facilities 3D—Multipatch features are created in the Facilities 3D layer representing the exterior of the building from the ExteriorShell feature class in the BIM file workspace. ExteriorShell features are derived based on elements in the BIM file that have the Function property set to Exterior.
- Units 3D—Multipatch features are created in the Units 3D layer and represent the footprint of objects in the Revit model's Rooms category.
- The Name field for Rooms elements in Revit is used to populate the USE_TYPE field in the Units layer.
- The Room Number field for Rooms elements in Revit is used to populate the NAME field in the Units layer.
- The LEVEL_ID value of the associated level feature is used to populate the LEVEL_ID field.
- Details 3D—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, Windows, and Curtain Wall Panels.
- 3D elements must be associated to a level before running the Import BIM To Indoor Dataset tool.
- 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 the feature spans.
Tip:
ArcGIS Pro temporarily converts the contents of the Revit file to conform to the newest file format in memory before it reads the contents. For improved performance, you can optionally upgrade your Revit model to the most recent Revit file version that ArcGIS Pro supports.
Do the following to prepare Revit models for import:
- Ensure that all data for the building is stored in a single Revit model.
You can include linked .rvt files. Linked .rvt files must be located in the same folder or nested folders within the same folder as the host Revit model.
When using the Import BIM to Indoor Dataset tool, linked Revit files are automatically detected after selecting the input floor plan polygon layer of the host Revit model for the Input BIM Floorplan Polygon Layer parameter. If importing linked Revit models with design options, the linked model design options are available for selection in the Design Options parameter of the tool.
Note:
Any linked Revit models must be correctly georeferenced and have the same horizontal and vertical coordinate system as the host Revit model.
- Configure room attributes in the Revit file based on the fields described above.
Prepare IFC models
When you import BIM data from IFC models using the Import IFC To Indoor Dataset tool, the Indoors model is populated using the following elements and attributes from the BIM file workspace:
- Facilities—Facilities are created by aggregating the Slabs features from the IFC model.
- Levels—Levels are created based on Slab elements associated with the same BldgLevel property. You can optionally include Roof elements along with Slab elements when creating Levels features in the Indoors workspace.
Units—Units are created based on Space elements in the IFC model. Before import, ensure that all indoor spaces are modeled as Spaces to import them as units in the Indoors model.
Attributes are populated in the Units layer using the following information from Spaces elements in the IFC model:
- The LongName attribute for Spaces elements in the .ifc file is used to populate the USE_TYPE field in the Units layer.
- The Name attribute for Spaces elements in the .ifc file is used to populate the NAME field in the Units layer.
- The LEVEL_ID value of the associated level feature is used to populate the LEVEL_ID field.
- You can map additional attributes from Spaces features to fields in the Units layer, including custom fields, if the fields already exist.
- Details—Details are created based on elements from the following IFC categories: Doors, Ramps, Stairs, Stair supports, Stair Landings, Columns, Structural Columns, Walls, Windows, and Curtain Wall Panels.
- Facilities 3D—Multipatch features are created in the Facilities 3D layer and represent the exterior of the building from the ExteriorShell feature class in the IFC file workspace. ExteriorShell features are derived based on elements in the IFC file that have the Function property set to Exterior.
- Units 3D—Multipatch features are created in the Units 3D layer and represent the footprint of objects in the IFC model's Spaces category.
- The LongName attribute for Spaces elements in the .ifc file is used to populate the USE_TYPE field in the Units layer.
- The Name attribute for Spaces elements in the .ifc file is used to populate the NAME field in the Units layer.
- The LEVEL_ID value of the associated level feature is used to populate the LEVEL_ID field.
- Any additional attributes mapped to the 2D units layer will automatically be mapped to the Units 3D layer if the same fields exist in the Units layer. Field mapping configured in the tool is applied to both the Units and Units 3D layers.
- Details 3D—Multipatch features are created in the Details 3D layer from objects in the following IFC categories: Doors, Ramps, Stairs, Stair supports, Stair landings, Columns, Structural Columns, Walls, Windows, and Curtain Wall Panels.
During import, 3D features that span across 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.
You must configure element attributes in the .ifc file based on the fields above to ensure that features are accurately converted during import.