PyMel 复制和重父保留层次结构

问题描述

在使用 pymel 复制和重新父级时,有没有办法保留父级层次结构?

我有一个嵌套的节点层次结构,我想在新的组节点下复制和父节点。我对层次结构顶部节点的选择设置了 hi=True 以确保我选择了整个层次结构。但是当我复制后重新父母时,层次结构总是丢失。例如:

复制这个节点树 |根 |->分支 |->叶子

然后在新的组节点(“GRP”)下将其作为父级产生: 玻璃钢 根 分支 叶子

import pymel.core as pm
root = pm.spaceLocator( n="root" )
branch = pm.spaceLocator( n="branch" )
leaf = pm.spaceLocator( n="leaf" )
pm.parent(leaf,branch)
pm.parent(branch,root)
grp  = pm.group( em=True,name='GRP' )
pm.select( clear=True )
pm.select( 'root',hi=True )
root = pm.duplicate()
pm.parent( root,grp )

TIA!

解决方法

解决了! 我发现的最简单的解决方案:在父级之前仅重新选择层次结构的顶部节点;例如:

pm.select( 'root',hi=False )
pm.parent( 'root','grp' )