"""begin jf_optimizeWeight.py Jean-Francois Fortin -=WHAT IT DOES=- find animation curve on a object. -=RETURN=- anim curve -=EXAMPLES=- attrAr = [] connections = cmds.listConnections('pSphere1',d=False,scn=True) for c in connections: findCurve( c,attrAr ) print attrAr -=REQUIRES=- -=NONE=- -=UPDATES=- end""" import maya.cmds as cmds import maya.OpenMaya as OpenMaya import maya.OpenMayaAnim as OpenMayaAnim import re def jf_findCurve( node,attrAr ): foundConnection = False #curveTypeAr = ('animCurveTA','animCurveTL','animCurveTT','animCurveTT','animCurveTU','animCurveUA','animCurveUL','animCurveUT','animCurveUU' ) if not len(node): OpenMaya.MGlobal.displayError("the object was not found!") nodeId = cmds.nodeType( node ) if re.match('^animCurve',nodeId ): attrAr.append( node ) else: connections = cmds.listConnections(node,d=False,scn=True) return findCurve( connections[0],attrAr) return attrAr