Perhaps run this calculator expression on field Shape of your target: def getSegment(ID): f = arcpy.AddFieldDelimiters("HULLS","LABEL") q="%s='%s'" %(f,ID) with arcpy.da.SearchCursor("HULLS", 'Shape@',q) as cursor: for row in cursor: pair=row[0] with arcpy.da.SearchCursor("TARGET", 'Shape@',q) as cursor: for row in cursor: shp=row[0] m=shp.difference (pair) return m #--------------- getSegment( !Label! ) BEFORE: [![enter image description here][1]][1] AFTER: [![enter image description here][2]][2] [1]: https://i.sstatic.net/0BHux.png [2]: https://i.sstatic.net/fm4Ri.png