Import floor plans from CAD files

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

CAD files are commonly used for architectural modeling and can be used to create features in an indoor workspace. The Import CAD To Indoor Dataset tool imports entities from .dwg or .dgn files and uses entities in the drawing to construct floor plan features in the ArcGIS Indoors Information Model.

Learn more about working with CAD data in ArcGIS Pro

Once you have created the Indoors workspace using the Create Indoor Dataset tool or Create Indoors Database tool, you can use the Import CAD To Indoor Dataset tool to load floor plans from CAD (.dwg or .dgn) files into your Indoors workspace. You can then manually load additional features, events, and occupant data.

You can use the Import CAD To Indoor Dataset tool to import CAD data for one level (floor) at a time to the Indoors workspace. The tool supports including multiple CAD files if the data for a single level is spread across multiple CAD drawings.

Note:

You can also use the Import Floorplans To Indoors Geodatabase tool to import CAD files to an Indoors workspace. This tool requires filling out an Excel spreadsheet to map data from CAD files to the Indoors model.

Importing CAD data to an Indoors workspace involves the following high-level steps:

  1. Georeference and add the floor plans.
  2. Run the Import CAD To Indoor Dataset tool to add features to an Indoors workspace.
  3. Map CAD annotation to the Indoors workspace.
  4. Inspect the output features created by the tool.

Each step is described further in the sections below.

Georeference and add the floor plans

To georeference and add CAD floor plan data to a map, complete the following steps:

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

    The CAD file must be georeferenced and have an associated .wld 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.

  2. On the Map tab, click the Add Data button Add Data.

    The Add Data dialog box appears.

  3. Browse to the folder location where the georeferenced CAD data is stored and choose the .dwg or .dgn files that contain the floor plan data.

Run the Import CAD To Indoor Dataset tool

The Import CAD To Indoor Dataset tool supports loading CAD data directly from CAD files or from the map layers created when CAD files are added to a map in ArcGIS Pro. When importing from map layers, selections on the layer are honored, which allows you to import a subset of the CAD data. For example, you can select features in the map layers based on location to import only the south wing of a level, or select only Door entities to import as part of unit boundaries.

Note:

When CAD data is added to a map in ArcGIS Pro, all CAD entities with a certain geometry type, such as polyline, are added as part of a single map layer and symbolized by CAD layer. You can visualize each CAD layer as a separate map layer by selecting the layer and clicking Group By CAD Layer from the CAD Data tab on the ribbon. Remove any definition queries set on the layer before grouping the CAD by layer. This can provide more control when exploring CAD data in a map and using map layers as input to the Import CAD To Indoor Dataset tool.

The fields listed in the tables below are populated by default when you run the Import CAD To Indoor Dataset tool. You can use the field mapping parameters to map more information from the CAD file to the Indoors model.

The z-value of facility features is set to 0 by default. The z-value of level features is populated based on the Elevation Of Level parameter value and should reflect the height of the level in relation to the ground. The z-values for units and details features are populated based on the z-value of the associated level. Ensuring that z-values are accurate and unique for each level is important if you plan to generate a routable indoor network or create 3D scenes based on the Indoors model.

Facilities

FieldDescription

FACILITY_ID

Populated with a GUID. This field is used to uniquely identify the facility and supports floor-aware maps.

NAME

Populated based on the Facility Name parameter value.

Levels

FieldDescription

LEVEL_ID

Populated with a GUID. This field is used to uniquely identify the level and supports floor-aware maps.

NAME

Populated based on the Level Name parameter value.

LEVEL_NUMBER

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 sequential negative LEVEL_NUMBER values.

VERTICAL_ORDER

Populated with 0 for the ground floor level. Levels above the ground floor are assigned sequential positive VERTICAL_ORDER values. Levels with an elevation that is less than the identified ground floor are assigned a negative VERTICAL_ORDER value.

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

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 sequential negative LEVEL_NUMBER values.

AREA_GROSS

Calculated based on the level geometry. The unit of measure is determined based on the unit of measure of the horizontal coordinate system of the layer.

Units

FieldDescription

UNIT_ID

Populated with a GUID. This field is used to uniquely identify the unit in the Indoors model.

USE_TYPE

Populated based on mapped CAD annotation.

NAME

Populated based on mapped CAD annotation.

LEVEL_ID

Populated with the LEVEL_ID field value of the associated level.

AREA_GROSS

Calculated based on the unit geometry. The unit of measure is determined based on the unit of measure of the horizontal coordinate system of the layer.

ASSIGNMENT_TYPE

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

Details

FieldDescription

DETAIL_ID

Populated with a GUID. This field is used to uniquely identify the detail feature in the Indoors model.

USE_TYPE

Populated with the CAD layer name.

LEVEL_ID

Populated with the LEVEL_ID field value of the associated level.

Map CAD annotation to the Indoors workspace

You can use the CAD Annotation Mapping parameter to map CAD annotation to features in the Indoors model. At a minimum, it is recommended that you map information for the NAME and USE_TYPE fields in the Units layer. These field values are used to enable functionality in ArcGIS Pro and the Indoors web and mobile apps. The NAME field is also used in update scenarios when running the tool to update features in the Indoors workspace.

In addition to mapping annotation, you can also map CAD handles to Units, Levels, and Facilities features. This can be helpful when the CAD handle is used as a key to associate floor plan features with asset information in an external system. Mapping CAD handles to an existing text field requires single, closed polyline entities in the input CAD file to represent single polygons in the Indoors workspace. Mapping CAD handles is not supported when a polygon in the Indoors workspace is composed of multiple objects (for example, if a unit is created by combining multiple CAD entities representing walls, windows, and doors).

Tip:

You can determine whether units, levels, and facilities polygons are represented by closed polylines by adding the CAD file to a map in ArcGIS Pro and checking if they are represented by both the linework in the polyline feature layer, and the polygons in the polygon layer.

Learn more about working with CAD data in ArcGIS Pro

When mapping CAD annotation, set the following parameters in the CAD Annotation Mapping section of the Import CAD to Indoor Dataset tool:

  • Target Indoor Layer—Choose the layer in the Indoors workspace where you want to map annotation. You can set Units, Levels, or Facilities as inputs to this parameter, which correspond to the values provided for the Target Unit Features, Target Level Features, and Target Facility Features parameters. Mapping annotation to the Details layer is not supported.
  • Target Field—Choose the field in the target indoor layer where you want to map CAD annotation.
  • Type—Choose the type (Text, Block, or Handle) of the CAD annotation you are mapping. If the CAD annotation is Text or MText in the source CAD file, choose Text. If the CAD annotation is stored as block annotation, choose Block. To map entity handles to the Indoors workspace, choose Handle.
  • Source CAD Layer—Choose the CAD layer that contains the CAD annotation you want to map.
  • Block Attribute—If you set the Type parameter to Block, choose the name of the block attribute where the CAD annotation you want to map is stored. If you set the Type parameter to Text or Handle, do not provide a value for this parameter.
  • Delimeter—If the value you want to map to the target field is stored as delimited text, set the delimeter for this parameter.

    Example 1— If you have period-delimited CAD annotation such as CAMPUS.A.A-210 and you want to map the third part of the string (A-210) as the UNIT_NAME field value, set the Delimeter parameter value to a period (.).

    Example 2—If you have multiline text and want to map the second line, set the Delimeter parameter value to \P to indicate that a new line is the delimeter.

  • Position—If the value you want to map to the target field is stored as delimited text, set the position of the value you want to map for this parameter in which the beginning of the string is position 1.

    Example 1—If you have period-delimited CAD annotation such as CAMPUS.A.A-210 and you want to map the third part of the string (A-210) as the UNIT_NAME field value, set the Position parameter value to 3.

    Example 2—If you have multiline text and want to map the second line, set the Position parameter value to 2.

Use a configuration file

If the Select Layer From Source CAD parameter is checked when the tool is run, the tool creates a configuration file that captures the source CAD layers, CAD annotation mappings, and advanced options. The location of the output configuration file is displayed in the geoprocessing messages when the tool is run, with the default location being the folder for the ArcGIS Pro project, or the scratch folder when the tool is run outside of a project.

You can use a configuration file to automatically populate parameters in the tool to quickly configure additional tool runs for other CAD files with the same or similar CAD layers and mappings. This helps to ensure consistency and efficiency between imports. After using the Input Configuration File parameter to apply a configuration file, you can make changes to the populated values for source CAD layers, CAD annotation mappings, and advanced options as needed before running the tool. If changes are made to the prepopulated values before the tool is run, the tool will create a new configuration file with the changes.

Inspect the output

To inspect the output features that were created by the Import CAD To Indoor Dataset tool, complete the following steps:

  1. Add the Facilities, Levels, Units, and Details feature classes to a map in ArcGIS Pro.
  2. Configure the map as floor aware.
  3. Inspect the output features.

    Common issues and their solutions are described below:

    IssueSolution

    Missing unit features

    Verify that there are no gaps between polylines in the CAD drawing that are larger than the XY Tolerance environment of the indoor dataset. This can result in unexpected gaps in units or a merged single unit when you expect multiple units.

    There may be gaps in the CAD floor plan drawing linework that are larger than the XY Tolerance environment of the indoor dataset. Small gaps can result in missing units or a single unit where multiple units are expected. The Gap Tolerance parameter in the Import CAD To Indoor Dataset tool can be used to account for small gaps by temporarily increasing the snapping proximity when the tool creates units and other polygon features in the indoor dataset.

    Doors not closing to create units

    Ensure that the Door features in the CAD drawing are within the tolerance set using the Door To Wall Distance parameter. If necessary, you can adjust the parameter value and rerun the tool.

    Inaccurate level features

    If no input is provided for the Source CAD Layers For Levels or Source Layers For Levels parameters, a feature is created based on the input unit layers. Depending on the data, this may not create an accurate level geometry. You can either reshape the level geometry in ArcGIS Pro or provide a value for the Source CAD Layers For Levels or Source Layers For Levels parameters.

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

  5. Optionally, run validation attribute rules to identify errors in the data if you created attribute rules in your Indoors workspace.

Once you load the floor plans to the Indoors workspace, you can load additional features, events, and occupant data.