選択したノードからさかのぼり、親ノードを取得していく。
MayaCmds版
import maya.cmds as cmds
def get_parent(node):
parent = cmds.listRelatives(node, parent=True, path=True)
if parent:
yield parent
for p in get_parent(parent):
yield p
for node in get_parent(cmds.ls(selection=True)):
print node
PyMel版
import pymel.core as pm
def get_parent(node):
parent = pm.listRelatives(node, parent=True)
if parent:
yield parent
for p in get_parent(parent):
yield p
for node in get_parent(pm.selected()):
print node
null1を選択してスクリプトを実行すると、次の結果が得られる。
[nt.Transform(u'group1')]
[nt.Transform(u'group2')]
[nt.Transform(u'group3')]