Extract BIM File Floorplan (Conversion)

Summary

Extracts 2.5D floor plan data from a BIM file workspace into a geodatabase dataset.

Usage

  • Unlike Revit files, Industry Foundation Classes (IFC) formatted files do not include a floor plan definition. Because of this, no floor plan feature class is included in the ArcGIS AllSource BIM file workspaces for IFC files. This tool will build floor plan information from other BIM features and filter floor plan data from Revit files.

    Use this tool to combine one or more BIM file workspaces (Revit or IFC files) into a geodatabase dataset. The tool will append and merge the feature classes, their geometry, and their attributes when feature classes have the same name and geometric type.

  • This tool is useful when working with the floor plan data from Revit files because the content of the output floor plan data can be included or excluded, and because the tool can be run outside of a map or scene.

  • The Included Levels or Stories parameter lists the possible levels based on named building levels within the input BIM models and may or may not directly correlate to building floors or stories. Select the level or levels to be used to assemble the floor plans. If no building levels are selected, features from all levels will be included by default. A warning will be generated if one or more of the selected levels are not present in the BIM file workspace. An error will be generated if all of the selected levels are not present in the BIM file workspace.

  • The output points of interest feature class will include features from the following categories:

    • Furniture
    • Furniture System
    • Specialty Equipment
    • Mechanical Equipment
    • Fire Alarm Devices (Revit only)
    • Security Devices (Revitonly)
    • Nurse Call Devices (Revit only)
    • Communication Devices (Revit only)
    • Electrical Equipment (Revit only)

  • The output footprint feature class will include the following categories:

    • Merge Slabs (IFC)
    • Merge Floor (Revit)

  • Use the Additional Polyline Categories parameter to include additional polyline features in the floor plan polyline feature class. Features from the following categories can be included:

    • Furniture
    • Furniture System
    • Windows
    • (All)

  • Use the Additional Polygon Categories parameter to include additional polygon features in the floor plan polygon feature class. Features from the following Revit categories can be included:

    • Areas
    • Rooms
    • Roofs

    Features from the following IFC categories can be included:

    • Spaces
    • Roofs

  • If an existing dataset is provided for the Output Dataset Name parameter value, new feature classes with unique names will be added to that dataset. If a feature class of the same name exists in the output dataset, a number will be appended to the end of that feature class name to make it unique (for example, Walls_1). To ensure that new feature classes are created, use a unique name for the Output Dataset Name parameter value.

  • The output of this tool can be used as the input to the Make Building Layer tool to create a single building layer from the combined data.

Parameters

LabelExplanationData Type
Input BIM File Workspace

The BIM file workspace that contains the building information to be extracted.

BIM File Workspace
Output Geodatabase

The geodatabase where the output feature dataset will be created. This must be an existing geodatabase.

Workspace
Output Dataset Name

The name of the dataset where the output feature classes will be created. If the feature dataset does not exist, it will be created with the spatial reference of the input BIM file workspace.

String
Output Polyline Feature Class Name

The name of the output polyline feature class. Polyline features will be extracted into this feature class.

String
Output Polygon Feature Class Name

The name of the output polygon feature class. Polygon features will be extracted into this feature class.

String
Output Points of Interest Feature Class Name

The name of the output points of interest feature class. Points of interest features will be extracted into this feature class.

String
Output Footprint Feature Class Name

The name of the output footprint feature class. Footprint polygons from the BIM file workspace will be created in this feature class.

The feature class will include the following categories:

  • Merge Slabs (IFC)
  • Merge Floor (Revit)
String
Additional Polyline Categories

The additional polyline features that will be included in the floor plan polyline feature class. Features from the following categories can be included:

  • Furniture
  • Furniture system
  • Windows
  • (All)

String
Additional Polygon Categories

Specifies the additional polygon features that will be included in the floor plan polygon feature class. Features from the following categories can be included from Revit data:

  • Areas
  • Rooms
  • Roofs

Features from the following categories can be included from IFC data:

  • Spaces
  • Roofs

String
Included Levels or Stories

The building level or levels of features that will be included in the output feature classes. If no building levels are provided, features from all levels will be included by default.

String

Derived Output

LabelExplanationData Type
Output Feature Dataset

The output geodatabase feature dataset containing the new feature classes.

Feature Dataset

arcpy.conversion.ExtractBIMFileFloorplan(in_bim_file_workspace, output_workspace, out_feature_dataset_name, out_polyline_featureclass_name, out_polygon_featureclass_name, out_poi_featureclass_name, out_footprint_featureclass_name, additional_polyline_categories, additional_polygon_categories, included_levels)
NameExplanationData Type
in_bim_file_workspace

The BIM file workspace that contains the building information to be extracted.

BIM File Workspace
output_workspace

The geodatabase where the output feature dataset will be created. This must be an existing geodatabase.

Workspace
out_feature_dataset_name

The name of the dataset where the output feature classes will be created. If the feature dataset does not exist, it will be created with the spatial reference of the input BIM file workspace.

String
out_polyline_featureclass_name

The name of the output polyline feature class. Polyline features will be extracted into this feature class.

String
out_polygon_featureclass_name

The name of the output polygon feature class. Polygon features will be extracted into this feature class.

String
out_poi_featureclass_name

The name of the output points of interest feature class. Points of interest features will be extracted into this feature class.

String
out_footprint_featureclass_name

The name of the output footprint feature class. Footprint polygons from the BIM file workspace will be created in this feature class.

The feature class will include the following categories:

  • Merge Slabs (IFC)
  • Merge Floor (Revit)
String
additional_polyline_categories
[additional_polyline_categories,...]

The additional polyline features that will be included in the floor plan polyline feature class. Features from the following categories can be included:

  • Furniture
  • Furniture system
  • Windows
  • (All)

String
additional_polygon_categories
[additional_polygon_categories,...]

Specifies the additional polygon features that will be included in the floor plan polygon feature class. Features from the following categories can be included from Revit data:

  • Areas
  • Rooms
  • Roofs

Features from the following categories can be included from IFC data:

  • Spaces
  • Roofs

String
included_levels
[included_levels,...]

The building level or levels of features that will be included in the output feature classes. If no building levels are provided, features from all levels will be included by default.

String

Derived Output

NameExplanationData Type
out_feature_dataset

The output geodatabase feature dataset containing the new feature classes.

Feature Dataset

Code sample

ExtractBIMFileFloorplan example (stand-alone script)

The following Python script is an example of how to call the ExtractBIMFileFloorplan function in a script.

import arcpy

arcpy.conversion.ExtractBIMFileFloorplan(
    in_bim_file_workspace=r"\\BIM\DATA\Example_DA\HUT\HUT_DA_vr2_2023.rvt",
    output_workspace=r"C:\Projects\MyProject136\MyProject136.gdb",
    out_feature_dataset_name="HUT_DA_vr2_2023",
    out_polyline_featureclass_name="HUT_DA_vr2_2023_planline",
    out_polygon_featureclass_name="HUT_DA_vr2_2023_planPolygon",
    out_poi_featureclass_name="HUT_DA_vr2_2023_planPOI",
    out_footprint_featureclass_name="HUT_DA_vr2_2023_Footprint",
    additional_polyline_categories=["ARCHITECTURAL_COLUMN", "STRUCTURAL_COLUMN", "WINDOWS", "FURNITURE", "FURNITURE_SYSTEM"],
    additional_polygon_categories=["AREAS", "ROOMS", "ROOFS"],
    included_levels=["Level 1" "Roof"])

Related topics