import FreeCAD as App import Part class SimpleCopyPartModel: id = None copyLink = None label = None part = None def getPart(self): return self.part def __init__(self, part) -> None: try: from random import randrange self.id = str(randrange(1000000)) childObj = part __shape = Part.getShape( childObj, '', needSubElement=False, refine=False) obj = App.ActiveDocument.addObject('Part::Feature', self.id) obj.Shape = __shape self.part = obj self.label = obj.Label App.ActiveDocument.recompute() except Exception as e: print(e) def remove(self): App.ActiveDocument.removeObject(self.label)