Actually, if you know that your MObject is of type kDagNode (you can check that with the MObject::hasFn() method), then you can use MDagPath::getAPathTo() to retrieves the MDagPath object directly from your MObject.
Cheers, Christopher. On 18 December 2010 07:08, Chad Vernon <[email protected]> wrote: > Dag paths have knowledge of their MObject but not the other way around. > For example, a skin cluster MObject has no dag path so it doesn't make sense > that you should be able to get a MDagPath back from the MObject. To get the > path, you'll need to use MFnDagNode.getPath() > > Chad > > > On Fri, Dec 17, 2010 at 11:30 AM, John Patrick <[email protected]>wrote: > >> Hey guys, >> >> I'm getting some errors trying to go back and forth between MObject and >> MDagPath objects - I feel like there's something I'm not understanding about >> the way the Python API works. >> >> I've pulled this out of context, but here's the idea: >> >> import maya.cmds as MC >> import maya.OpenMaya as OM >> MC.sphere(name='mySphere') >> >> sl = OM.MSelectionList() >> sl.add('mySphere') >> dagPath = OM.MDagPath() >> sl.getDagPath(0, dagPath) >> >> >> sl = OM.MSelectionList() >> node = dagPath.node() >> node.hasFn(OM.MFn.kDagNode) >> print "Is the node null? %s" % node.isNull() >> print "The type is %s" % node.apiTypeStr() >> sl.add(node) >> newDagPath = OM.MDagPath() >> sl.getDagPath(0, newDagPath) >> >> From this I get: >> # Error: (kFailure): NULL object returned >> >> I'm confused :( Any ideas? Thanks!! >> >> -- >> John Patrick >> 404-242-2675 >> [email protected] >> http://www.canyourigit.com >> >> -- >> http://groups.google.com/group/python_inside_maya >> > > -- > http://groups.google.com/group/python_inside_maya > -- http://groups.google.com/group/python_inside_maya
