Maya

【Maya:Python】選択ノード名を入れ替える

ノード名を手作業で入れ替える時、名前重複を避けるために一旦違う名前をつけてから戻すという工程が面倒だったためpythonでスクリプトを作成しました。
一見するとノードの順番が変わっているだけのように見えるかもしれませんがちゃんと名前が入れ替わっています。

コード

選択方法が間違っていた場合はすべて警告が出る処理も入れてみました。

# -*- coding: utf-8 -*-
import maya.cmds as cmds

sl_nodes = cmds.ls(sl=True)

#2つ選択以外は警告を出す
if not cmds.ls(sl=True):
    cmds.warning(u'なにも選択されていません')
elif len(sl_nodes) == 1:
    cmds.warning(u'1つしか選択されていません')   
elif len(sl_nodes) > 2:
    cmds.warning(u'2つまでしか選択できません')
else:
    sl_first = sl_nodes[0]
    sl_second = sl_nodes[1]

    #名前重複を避けるため一旦別の名前にリネーム
    sl_first2 = sl_first + "_exchange"
    sl_second2 = sl_second + "_exchange"
    cmds.rename(sl_first, sl_first2)
    cmds.rename(sl_second, sl_second2)

    cmds.rename(sl_first2, sl_second)
    cmds.rename(sl_second2, sl_first)