I am using ArcGIS 10.1 and I am trying to add a feature class that I create to an MXD, so that I can join to it.

This all needs to be done using Python.

Is this possible?

  • 1
    When i run this script i see the layer pop up in the layers by drawing orger content but once the script completes it disapears... ??
    – Moon47
    Sep 30, 2013 at 22:25
  • This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post.
    – BradHards
    Sep 30, 2013 at 23:00

1 Answer 1


Yes, it is possible. Before you can add a feature class you need to turn it into a feature layer.

This arcpy code should help:

import arcpy

FC = r"C:\...\featureclass"
arcpy.MakeFeatureLayer_management(FC, "nameoffeatureclass")

MXD = arcpy.mapping.MapDocument(r"C:\...\your.mxd")
DF = arcpy.mapping.ListDataFrames(MXD)[0]

layer = arcpy.mapping.Layer("nameoffeatureclass")
arcpy.mapping.AddLayer(DF, layer, "AUTO_ARRANGE")


del MXD

Edit: the above code adds the layer to the first dataframe (index 0) - keep this in mind if you have multiple.

  • 2
    It's actually not necessary to create a feature layer first. Skip arcpy.MakeFeatureLayer_management(FC, "nameoffeatureclass"). If you leave it in you actually have two layers at the end of your code instead of one. Apr 26, 2018 at 22:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.