I'm running the command below on a data set with many stacked polygons. This is a county standard so I can't change the way they manage their data. Each type of polygon can be uniquely identified with one of the fields (TaxLot, Block, ROW, etc.)
arcpy.Clip_analysis('parcels', 'clip_sect', parcel_clip3_shp)
It works, but it only returns the top most polygon. However, running it as a geoprocess within ArcMap returns all the polygons. I built the same geoprocessing tool in ModelBuilder and it returned all polygons. I exported the code to *.py and it only returned the top polygon.
I was thinking I could create feature layers for each type with a selection query and then run a function to clip/add but that seems a bit brute force and not very clean.
I am using ArcGIS 10.2.1, Python 2.7.3 and Idle 2.7.3.