Hey! Sorry to revive this age-old thread, but I imported a scene from sketchup and it comes with a ton of groups with one object under them. How could this script be modified to do this too?
Run this in the python tab in your script editor. import maya.cmds as cmdstransforms = cmds.ls(type='transform')deleteList = []for tran in transforms: if cmds.nodeType(tran) == 'transform': children = cmds.listRelatives(tran, c=True) if children == None: print '%s, has no childred' %(tran) deleteList.append(tran)…
lol it starts to be confuse to me... Do you have a scene example, or screen of your complete outliner ? Then you could explain what are the node you would like to delete or not? I also remember some bugs with the Optimize Scene Size in Maya but before the 2008 version. What version are you using right now?
I usually found Optimise Scene Size works pretty well, provided you've deleted history. If you don't delete history on all your objects, the transforms which appear "empty" in the outliner may still have connections to valid objects in your scene (eg. after a Combine operation, the previous transforms are now empty but…
THNKR, that rarely works. Not sure what maya considers empty transforms but it's pretty picky, I think even a group within a group doesn't qualify for delete.
try import maya.cmds as cmdstransforms = cmds.ls(type='transform')deleteList = []for tran in transforms: if cmds.nodeType(tran) == 'transform': children = cmds.listRelatives(tran, c=True) if children == None: print '%s, has no childred' %(tran) deleteList.append(tran)if len(deleteList) > 0: cmds.delete(deleteList)