I am trying to make a code which gives a result of ‘ls -selection -flatten’
It’s supposed to work but I dont know why it is not working.
It gives an error on ‘set.getMembers’ line.
(kFailure): Object does not exist
MSelectionList selList;
MGlobal::getActiveSelectionList(selList);
MObject obj;
selList.getDependNode(0, obj);
MFnSet set(obj);
MSelectionList member;
set.getMembers(member, true);
MStringArray myarray;
member.getSelectionStrings(myarray);
MGlobal::displayInfo(myarray[0]);
Also the python code for same workflow is not working.
It gives an error on ‘om.MFnSet(setObject)’ line.
(kInvalidParameter): Object is incompatible with this method
import maya.OpenMaya as om
mSel = om.MSelectionList()
om.MGlobal.getActiveSelectionList(mSel)
setObject = om.MObject()
mSel.getDependNode(0, setObject)
fnSet = om.MFnSet(setObject)
members = om.MSelectionList()
fnSet.getMembers(members, True)
dagPath = om.MDagPath()
components = om.MObject()
members.getDagPath(0, dagPath, components)
iter = om.MItMeshEdge(dagPath, components)
while not iter.isDone():
p0 = iter.point(0, om.MSpace.kWorld)
p1 = iter.point(1, om.MSpace.kWorld)
print 'edge index:', iter.index(), 'p0:', p0.x, p0.y, p0.z, 'p1:', p1.x, p1.y, p1.z
iter.next()