def __exit__(self, exc_type, exc_value, traceback): try: if self.dagGhosts: self.dagMod.undoIt() if self.dgGhosts: self.dgMod.undoIt() except RuntimeError: stillExist = [] for mayaType in self.ghosts: obj = self.byMayaType[mayaType] if obj is not None and api.isValidMObjectHandle( api.MObjectHandle(obj)): stillExist.append(obj) if stillExist: mfnDag = api.MFnDagNode() mfnDep = api.MFnDependencyNode() names = [] for obj in stillExist: if obj.hasFn(api.MFn.kDagNode): # we need to delete the parent, since it will have # created a parent transform too mfnDag.setObject(obj) mfnDag.setObject(mfnDag.parent(0)) names.append(mfnDag.partialPathName()) else: mfnDep.setObject(obj) names.append(mfnDep.name()) print names #import maya.cmds as cmds # cmds.delete(names) mfnDag = api.MFnDagNode() dagMod = api.MDagModifier() dgMod = api.MDGModifier() delDag = False delDg = False for obj in stillExist: if obj.hasFn(api.MFn.kDagNode): # we need to delete the parent, since it will have # created a parent transform too mfnDag.setObject(obj) dagMod.deleteNode(mfnDag.parent(0)) else: dgMod.deleteNode(obj) if delDag: dagMod.doIt() if delDg: dgMod.doIt()
def __exit__(self, exc_type, exc_value, traceback): try: if self.dagGhosts: self.dagMod.undoIt() if self.dgGhosts: self.dgMod.undoIt() except RuntimeError: stillExist = [] for mayaType in self.ghosts: obj = self.byMayaType[mayaType] if obj is not None and api.isValidMObjectHandle(api.MObjectHandle(obj)): stillExist.append(obj) if stillExist: mfnDag = api.MFnDagNode() mfnDep = api.MFnDependencyNode() names = [] for obj in stillExist: if obj.hasFn( api.MFn.kDagNode ): # we need to delete the parent, since it will have # created a parent transform too mfnDag.setObject(obj) mfnDag.setObject(mfnDag.parent(0)) names.append(mfnDag.partialPathName()) else: mfnDep.setObject(obj) names.append(mfnDep.name()) print names #import maya.cmds as cmds #cmds.delete(names) mfnDag = api.MFnDagNode() dagMod = api.MDagModifier() dgMod = api.MDGModifier() delDag = False delDg = False for obj in stillExist: if obj.hasFn( api.MFn.kDagNode ): # we need to delete the parent, since it will have # created a parent transform too mfnDag.setObject(obj) dagMod.deleteNode(mfnDag.parent(0)) else: dgMod.deleteNode(obj) if delDag: dagMod.doIt() if delDg: dgMod.doIt()