Майя Питон: я перечисляю родственников группы, но когда я иду, чтобы выбрать родственников, он говорит, что нет - PullRequest
0 голосов
/ 24 октября 2018

Привет, поэтому я пытаюсь перечислить всех родственников этой группы в Майя.он возвращает список нормально, но когда я иду, чтобы выбрать все в списке, он печатает, что ни один не выбран?

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

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

cmds.rename(mySel + '_grp')

1 Ответ

0 голосов
/ 24 октября 2018

Добро пожаловать в SO!

Прямо сейчас, когда вы используете cmds.ls(selection=True) для захвата выделения, он вернет вам список строк.

Метод переименования ожидает 2 strings в качестве параметровсуществующий объект, который нужно переименовать, и то, во что он переименовывается.

Итак, вы сейчас передаете 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, чтобы убедиться, что оно что-то возвращает.

Надеюсь, что это прояснит ситуацию.

...