From DreamsteepWiki
"""
iterate through each mesh in a scene and extract some info about it
"""
import sys, os
import maya.OpenMaya as OpenMaya
import maya.OpenMayaMPx as OpenMayaMPx
kPluginCmdName = "getmeshinfo"
# command
class scriptedCommand(OpenMayaMPx.MPxCommand):
def __init__(self):
OpenMayaMPx.MPxCommand.__init__(self)
def doIt(self,argList):
meshIt = OpenMaya.MItDag( OpenMaya.MItDag.kBreadthFirst, OpenMaya.MFn.kMesh )
while not meshIt.isDone():
mesh = OpenMaya.MFnMesh( meshIt.currentItem() )
print 'MESH NAME '+mesh.name()
print 'NUM VERTS '+str(mesh.numVertices() )
print 'NUM NORMALS '+str(mesh.numNormals() )
print 'NUM UVS '+str(mesh.numUVs() )
print 'NUM POLYS '+str(mesh.numPolygons() )
meshIt.next()
# Creator
def cmdCreator():
return OpenMayaMPx.asMPxPtr( scriptedCommand() )
# Initialize the script plug-in
def initializePlugin(mobject):
mplugin = OpenMayaMPx.MFnPlugin(mobject)
try:
mplugin.registerCommand( kPluginCmdName, cmdCreator )
except:
sys.stderr.write( "Failed to register command: %s\n" % kPluginCmdName )
raise
# Uninitialize the script plug-in
def uninitializePlugin(mobject):
mplugin = OpenMayaMPx.MFnPlugin(mobject)
try:
mplugin.deregisterCommand( kPluginCmdName )
except:
sys.stderr.write( "Failed to unregister command: %s\n" % kPluginCmdName )
raise