class IntersectionComputedUseCase: def call(parts): import FreeCAD as App App.activeDocument().addObject("Part::MultiCommon", "Common") App.activeDocument().Common.Shapes = [parts[0], parts[1]] App.activeDocument().getObject("Common").ViewObject.ShapeColor = getattr( parts[0].getLinkedObject(True).ViewObject, "ShapeColor", App.activeDocument().getObject("Common").ViewObject.ShapeColor, ) App.activeDocument().getObject("Common").ViewObject.DisplayMode = getattr( parts[0].getLinkedObject(True).ViewObject, "DisplayMode", App.activeDocument().getObject("Common").ViewObject.DisplayMode, ) App.ActiveDocument.recompute() area = App.activeDocument().getObject("Common").Shape.Area App.ActiveDocument.removeObject("Common") return area