Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maya Python:Im列出了一个组的亲属,但当我选择亲属时,它会显示“无”_Python_Select_Maya_Mel - Fatal编程技术网

Maya Python:Im列出了一个组的亲属,但当我选择亲属时,它会显示“无”

Maya Python:Im列出了一个组的亲属,但当我选择亲属时,它会显示“无”,python,select,maya,mel,Python,Select,Maya,Mel,嗨,所以我试着列出这个群体在玛雅的所有亲戚。它返回的列表很好,但当我选择列表中的所有内容时,它会打印出未选择任何内容 mySel = cmds.ls(selection=True) print(mySel) rel = cmds.listRelatives(ad=True , pa=True) print(mySel) cmds.rename(mySel + '_grp') 欢迎来到SO 现在,当您使用cmds.ls(selection=True)捕获选择时,它将返回字符串列表 renam

嗨,所以我试着列出这个群体在玛雅的所有亲戚。它返回的列表很好,但当我选择列表中的所有内容时,它会打印出未选择任何内容

mySel = cmds.ls(selection=True)
print(mySel)

rel = cmds.listRelatives(ad=True , pa=True)
print(mySel)

cmds.rename(mySel + '_grp')
欢迎来到SO

现在,当您使用
cmds.ls(selection=True)
捕获选择时,它将返回字符串列表

rename方法需要2个
字符串
作为参数、要重命名的现有对象以及要将其重命名为什么

因此,您现在要做的是传递整个字符串列表
mySel
,而它只接受一个字符串。如果要同时重命名多个对象,则需要使用
for
循环逐个对其进行操作:

import maya.cmds as cmds

mySel = cmds.ls(selection=True) # Get a list of the current selection.

for i, obj in enumerate(mySel): # Loop over selection, one by one.
    newName = "{}_{}_grp".format(obj, i) # Build the new name.
    cmds.rename(obj, newName) # Finally rename the object.
同样,如果对象没有形状/子对象,或者您没有选择任何对象,则使用
cmds.listRelatives
也可能返回
None
。因此,您可能需要一个
if
条件来确保它返回一些内容

希望这能让事情变得更清楚。

欢迎来到SO

现在,当您使用
cmds.ls(selection=True)
捕获选择时,它将返回字符串列表

rename方法需要2个
字符串
作为参数、要重命名的现有对象以及要将其重命名为什么

因此,您现在要做的是传递整个字符串列表
mySel
,而它只接受一个字符串。如果要同时重命名多个对象,则需要使用
for
循环逐个对其进行操作:

import maya.cmds as cmds

mySel = cmds.ls(selection=True) # Get a list of the current selection.

for i, obj in enumerate(mySel): # Loop over selection, one by one.
    newName = "{}_{}_grp".format(obj, i) # Build the new name.
    cmds.rename(obj, newName) # Finally rename the object.
同样,如果对象没有形状/子对象,或者您没有选择任何对象,则使用
cmds.listRelatives
也可能返回
None
。因此,您可能需要一个
if
条件来确保它返回一些内容


希望这能让事情变得更清楚。

欢迎来到StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。@sophie ridley,您的代码适合我,但您需要更改
cmds.rename(mySel+“\u grp”)
cmds.rename()
接受两个字符串参数,旧名称和新名称,您可能想要
cmds.rename(mySel,'mySel_grp')
?请参见文档底部的示例shows
cmds.rename('nsA:sphere3','sphere4')
,尝试使用该语法,它应该可以工作。欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。@sophie ridley,您的代码适合我,但您需要更改
cmds.rename(mySel+“\u grp”)
cmds.rename()
接受两个字符串参数,旧名称和新名称,您可能想要
cmds.rename(mySel,'mySel_grp')
?请参见文档底部的示例shows
cmds.rename('nsA:sphere3','sphere4')
,尝试使用该语法,它应该可以工作。