2016-03-02 2 views
0

Я пытаюсь передать элементы управления с одной установки на другую.
Я думаю, что большинство из них выяснено, но я немного застрял.
У меня есть функция, которую я кормлю, дублированный элемент управления, который я хочу добавить, а также список элементов управления из оригинальной установки, которые мне нужно найти для перемещения элемента управления.Выбрать контроль на второй установке

Моя проблема заключается в том, что я получаю эту ошибку:

Error: ValueError: file line 132: More than one object matches name: Index_2_L_ctrl

Я искал через все, и я уверен, что есть только одна вещь, которую назвали каждый, но я не могу понять, как список любые дополнительные элементы называются одинаково. Или еще лучше избавиться от них.
Вот моя функция; дайте мне знать, если что-то неясно, я попытаюсь уточнить:

def spltString(wtlf, arr): 
    ndp = wtlf 
    print ndp 
    dlb = difflib.get_close_matches(ndp, arr) 
    fil = dlb[0] 
    cmds.pointConstraint(ndp, dlb[0]) 

ответ

0

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

Вы можете найти все копии контроля, как это:

controls = cmds.ls('Index_2_L_ctrl', long = True) 

результатов будут именами объектов с полной иерархией предваряется, как

|skeleton|pelvis|spine1|spine2|chest|r_arm|r_forearm 

или что угодно. cmds.ls() с флагом long=True преобразует короткие имена в длинные для вас.

Это хорошая привычка использовать длинные имена большую часть времени именно из-за проблем, которые у вас возникают.

Смежные вопросы