The attached is my Code and explanation of what I need to do. I need to add more extra function for this and get my final output result. Here is the code and explanation.
Example: GDB has [A,B,C,D] – 4 FCs.
1st round:
input FC: A (Do not use A- It is same as input)
Output R1= should be erase A from B (showing as A-B)and called Product_By_AB (copy it in memory)
R2= should be A-C and called Product_By_AC (copy it in memory)
R3= should be A-D and called Product_By_AD (copy it in memory)
Then intersect R1,R2,R3 —-> result will be R4
Then Replace R4 with A (which is an input FC for erase tool) and Keep the Same Name as A in the same folder/GDB to be used as new input FC for another round.
2nd round:
input FC:B (Do not use B – It is same as input)
Output R1= should be B-A and called Product_By_BA (copy it in memory)
R2= should be B-C and called Product_By_BC (copy it in memory)
R3= should be B-D and called Product_By_BD (copy it in memory)
Then intersect R1,R2,R3 —-> result will be R4
Then Replace new R4 (from Intersect part) with B (which is an input FC for erase tool) and Keep the Same Name as B in the same folder/GDB to be used as new input FC for another round.
and so on.
For script refer to arcpy.Erase_analysis function and output.
here is my code:
import arcpy
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r'C:input.gdb'
Match_FC = arcpy.ListFeatureClasses()
for fclass in Match_FC:
  for fc in Match_FC:
    if fc != fclass:
        fclass_lyr = arcpy.MakeFeatureLayer_management(fclass, "fclass_lyr")
        fc_lyr = arcpy.MakeFeatureLayer_management(fc, "fc_lyr")
        arcpy.SelectLayerByLocation_management(fclass_lyr, 'INTERSECT', fc_lyr)
        desc = arcpy.Describe("fclass_lyr")
        fcIntersect=[]
        if desc.FIDSet:
            output = 'in_memory'
            output2='{}'.format(fclass)
            arcpy.Erase_analysis(fclass, fc,output, '')
            fcIntersect.append[output2]
            arcpy.DeleteFeatures_management(fclass)
            arcpy.Intersect_analysis(fcIntersect,output2)
        else:
           arcpy.Delete_management(fclass_lyr)
        arcpy.Delete_management(fc_lyr)
    else:
        "Skipping FC-{}".format(fc)


