hi all,

i'm doing a basic mesh info script following loosely the David Gould c++ 
script(which i have no idea about). I want to write out a basic text 
file with python for use later. i just want the numbers of polys and 
verts and then the poly-vert associations.

this is pritty much my first api script and really just for kicks and to 
try learn some python Api. of cource i have hit the wall with trying to 
iterate over the polycount of an object. as i know you cant do it in a 
python method. i was trying to assign a variable to a 
OpenMaya.MIntArray() and then iterate over that but i'm either doing it 
wrong or its just not possible. could anyone let me know what i'm doing 
wrong or what direction i should take

my script so far is.

i just select the shape node of the mesh object
***********************
#import sys
import maya.OpenMaya as OpenMaya
#import maya.OpenMayaMPx as OpenMayaMPx

def meshInfo(shapeNode):
   #print "hello"
   mObj = OpenMaya.MObject()
   selectionList = OpenMaya.MSelectionList()#get list of objects        
#print selectionList
   dagPath = OpenMaya.MDagPath()
   OpenMaya.MGlobal.getActiveSelectionList(selectionList)#get the list 
of selected info
       #selectionList.add( shapeNode )
   selectionList.getDependNode( 0, mObj )#get the depandants shape
   print mObj.apiType()
   if( mObj.apiType() == OpenMaya.MFn.kMesh ):
       print 'its a mesh'
       newDagPath = OpenMaya.MDagPath()
       dagPath.getAPathTo( mObj, newDagPath )
       try:
           meshFn = OpenMaya.MFnMesh( mObj )
           print 'yep'
       except:
           sys.stderr.write("!!! ERROR :: can not create meshFn")
       try:
           polyIter = OpenMaya.MItMeshPolygon( newDagPath )
           print 'yep2'
       except:
           sys.stderr.write("!!! ERROR :: can not create polyIter")
       try:
           polyVertIter = OpenMaya.MItMeshFaceVertex( newDagPath ) 
#iterate over the face verts
           print 'yep3'
       except:
           sys.stderr.write("!!! ERROR :: can not create polyVertIter")
       numPolys = OpenMaya.MIntArray()
       print 'numpolys'
       meshFn.numPolygons(numPolys)
       print polyIter.count()
       for i in numPolys: ##just trying to iterate over some value and 
trying not to revert to mel or mayapy
           print i,
           #get poly number and vertex points
           #eventually print to file
           #v1:(1.0, 0 ,1)
           #v2:(etc)
           #p1:(v1,v4,v19) etc
   else:
       print 'not kMesh'



any help would be great

john

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/python_inside_maya
-~----------~----~----~----~------~----~------~--~---

Reply via email to