Import CAD floor plans with the Import CAD to Indoor Dataset tool

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 an AutoCAD .dwg or .dgn file and uses them 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 a CAD (.dwg or .dgn) file 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 one CAD file at a time to the Indoors workspace.

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

Complete the following steps to georeference and add CAD floor plan data to a map:

  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 file is stored and choose the .dwg or .dgn file that contains your floor plan data.

Run the Import CAD To Indoor Dataset tool

The Import CAD To Indoor Dataset tool supports loading CAD data directly from the CAD file or from the map layers created when a CAD file is 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 layers. 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 layers are added to a map in ArcGIS Pro, all CAD layers with a certain entity type, such as polyline, are added as part of a single map layer and symbolized by CAD layer. You can optionally 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. 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 optionally 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 annotation.

NAME

Populated based on mapped 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.

Details

FieldDescription

DETAIL_ID

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

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 optionally 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 from CAD to 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.

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 to which 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, Target Facility Features parameters. Mapping annotation to the Details layer is not supported.
  • Target Field—Choose the field in the target indoor layer to which you want to map CAD annotation.
  • Entity Type—Choose the entity type (Text or Block) 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.
  • Source CAD Layer—Choose the CAD layer that contains the CAD annotation you want to map.
  • Block Attribute—If you set the Entity Type parameter to Block, choose the name of the block attribute in which the CAD annotation you want to map to the target field is stored. If you set the Entity Type parameter to Text, 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 ..

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

Inspect the output

Inspect the output features that were created by the Import CAD To Indoor Dataset tool:

  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 you may find are detailed below:

    IssueSolution

    Missing unit features

    Verify that there are not gaps between polylines in the CAD drawing that are larger than the x,y tolerance of the dataset. This can result in unexpected gaps in units or a merged single unit when you expect multiple units.

    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.