CAD Feature Class to ArcGIS Conversion Toolbox

CAD feature classes

Converting CAD files to feature classes in ArcGIS, either Shapefiles or Feature Classes in a geodatabase, can be a time consuming process. CAD files store data grouped according to geometry. Within each feature class, individual layers in the CAD drawing are identified using an attribute field. Typically it is desirable to have each layer in a new feature class in ArcGIS. Extracting each layer is a process of selecting and exporting in ArcMap. This can be a redundant and time consuming process... a process especially well suited for a script.

The Layer field in a CAD Feature ClassIn a CAD file, all the points are stored together in one feature class. All the lines are in another. All the polygons in a third. CAD layers within each of these three geometries are distinguished by different names in the Layer field. For instance, if there are lines for parcel boundaries and lines for street centerlines in a CAD file, all of these lines are contained in the same feature class for all the lines. The different CAD layers are differentiated by different names populated in the Layers field in the attribute table.

CAD to ArcGIS ToolboxExtracting the individual layers from the CAD feature class and creating discrete feature classes for each in a geodatabase is a redundant and time consuming process perfectly suited for a script. To address this issue, recently I created a script and wrapped it up in an ArcGIS Python Toolbox now available on GitHub.

CAD to ArcGIS ToolThe toolbox only contains one tool taking two parameters. The input is a single feature class from the CAD file. The output is a workspace. This workspace can be any geodatabase or folder. Eligible geodatabases include any personal, file or enterprise geodatabases. If a folder is specified, shapefiles will be created. In the target workspace, a unique feature class will be created for each discrete layer name in the Layers field.

These new ArcGIS feature classes will be named according to the name in the Layers field. Since feature classes cannot have dashes in their names, dashes will be converted to underscores. Otherwise, names are copied verbatim.

This tool is hosted on GitHub. If you discover issues with it, please feel free to pull a fork, improve the tool and submit a pull request. I welcome improvements and help!

Reference: ArcGIS Python Toolbox on GitHub