oh i know pretty much every part of the api related to animation / rigging. Im just pointing out that in order to use the API in python you have to follow some strict procedure ( automatic binding with swig)
import maya.OpenMaya as OpenMaya def getMObject(nodeName): selList = OpenMaya.MSelectionList() OpenMaya.MGlobal.getSelectionListByName(nodeName, selList) depNode = OpenMaya.MObject() selList.getDependNode(0, depNode) return depNode nodeFn = OpenMaya.MFnDependencyNode(getMObject('joint1')) matrixPlug = nodeFn.findPlug('rotatePivot') for childIndex in range(matrixPlug.numChildren()): print matrixPlug.child(childIndex).asFloat() Hence me getting a plug from dependency Mfn function set and not fiddling with the MSelectionList ( which conceptually is for dag/dependency and components). Most of the time when working with python programmer, or other artist i have to point out that the api is exposed and use some python syntax but you must adopt maya philosophy ( so asking for more pythonic doesnt make sense : at some point you will write it in c++ and your python code will be a waste of time to translate back to pure API) Le jeudi 28 juin 2018 17:05:19 UTC+1, Rémi Deletrain a écrit : > > I want to get a vector attribute like *translate*. > Attribute *translate* and *rotatePivot* is a same type. But get > rotatePivot doesn't work and get translate works fine. > > from maya import OpenMaya > > def get_mplug(s_attr_node): > m_sl = OpenMaya.MSelectionList () > m_sl.add (s_attr_node) > mp = OpenMaya.MPlug () > m_sl.getPlug (0, mp) > return mp > > try: > mp_translate = get_mplug("joint1.translate") > print mp_translate.child(0).name() > print mp_translate.child(1).name() > print mp_translate.child(2).name() > except: > print "Get translate doesn't works" > else: > print "Get translate works" > > try: > mp_rotate_pivot = get_mplug("joint1.rotatePivot") > print mp_rotate_pivot.child(0).name() > print mp_rotate_pivot.child(1).name() > print mp_rotate_pivot.child(2).name() > except: > print "Get rotatePivot doesn't works" > else: > print "Get rotatePivot works" > > > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9510eb6d-579a-4cdd-9992-54bd53158ce3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.