This question already has an answer here:

I am trying to create a polygon from current display extent using Python. I would like to use the polygon to clip features in the current display extent or set a boundary limit for similar procedures.

marked as duplicate by PolyGeo arcpy Sep 6 '17 at 5:59

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    It's really not difficult, get the extent of the data frame, make 4 points from the min/max values and feed into an array as 5 points (first is repeated as last) and then use that array to create a polygon.. see resources.arcgis.com/en/help/main/10.2/index.html#/Polygon/… (waaay down the bottom there's an example). To put this into a feature class suitable for clipping create the feature class and use an insert cursor with SHAPE@ as a field. – Michael Stimson Sep 6 '17 at 5:09
  • 2
    this question has an answer with a toolbox tool already set up to do this: gis.stackexchange.com/questions/13594/… – jbalk Sep 6 '17 at 5:17
  • Thanks! my question seems to be a duplicate of the links above. – Arash Sep 6 '17 at 5:27
  • 2
    I just added an answer to that question explaining how to do it simply with Python since you were asking about python. – jbalk Sep 6 '17 at 5:40