清除某物体的制作历史
import maya.cmds as cmds
cmds.delete("pCube1", constructionHistory = True) #可以是物体的transform名也可以是shape名
清除场景所有mesh的历史
import maya.cmds as cmds
meshs = cmds.ls(l=1,type='')
cmds.delete(meshs, constructionHistory = True)
过滤物体的某类历史
这里使用pymel
import pymel.core as pm
node = pm.selected()[0]
nonDeformerHistoryNodes = [n for n in node.history(il=1) if not isinstance(n, pm.nodetypes.GeometryFilter)]
关于nodetypes类型有很多,可以参考官方文档
http://help.autodesk.com/cloudhelp/2018/ENU/Maya-Tech-Docs/PyMel/generated/pymel.core.nodetypes.html?highlight=nodetypes#module-pymel.core.nodetypes
网友评论