Maya绑定小插件

13 篇文章 0 订阅

先就这样吧!第二栏功能已经写好了。期待第三栏的后续更新吧!

在这里插入图片描述

Setup_Color

#-*- coding:utf-8 -*-
# Author:RDS
# QQ:872876319
from PySide2 import QtCore, QtGui, QtWidgets
import maya.cmds as cmds
import maya.mel as mel

# by wangdonghao

from PySide2.QtCore import *
from PySide2.QtWidgets import *
from shiboken2 import wrapInstance
import maya.OpenMayaUI as mui
import maya.cmds as cmds
import maya.mel as mel


def getMayaWindow():
    main_window_ptr = mui.MQtUtil.mainWindow()
    return wrapInstance(long(main_window_ptr), QWidget)

# wangdonghao done

class Ui_RDS_rigging(object):
    def setupUi(self, RDS_rigging):
        RDS_rigging.setObjectName("RDS_rigging")
        RDS_rigging.setWindowModality(QtCore.Qt.NonModal)
        RDS_rigging.setEnabled(True)
        RDS_rigging.resize(302, 550)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(RDS_rigging.sizePolicy().hasHeightForWidth())
        RDS_rigging.setSizePolicy(sizePolicy)
        RDS_rigging.setMinimumSize(QtCore.QSize(0, 0))
        RDS_rigging.setMaximumSize(QtCore.QSize(302, 550))
        RDS_rigging.setStyleSheet("color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(202, 118, 59, 255), stop:1 rgba(182, 189, 205, 255));frame{border:1px solid rgb(0,255,0)};\n"
"")
        self.verticalLayout = QtWidgets.QVBoxLayout(RDS_rigging)
        self.verticalLayout.setContentsMargins(1, 1, 1, 1)
        self.verticalLayout.setObjectName("verticalLayout")
        self.Color_Card = QtWidgets.QFrame(RDS_rigging)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Color_Card.sizePolicy().hasHeightForWidth())
        self.Color_Card.setSizePolicy(sizePolicy)
        self.Color_Card.setMinimumSize(QtCore.QSize(0, 0))
        self.Color_Card.setMaximumSize(QtCore.QSize(300, 200))
        self.Color_Card.setStyleSheet("QFrame#Color_Card{\n"
"    background-color: rgb(180, 180, 180);\n"
"    border-radius:5px;\n"
"}\n"
"\n"
"Line#line,Line#line_1,QLabel#label{\n"
"    background-color: rgb(180, 180, 180);\n"
"}\n"
"\n"
"\n"
"QPushButton#color01{background-color: rgb(0, 0, 0);}\n"
"QPushButton#color02{background-color: rgb(64, 64, 64);}\n"
"QPushButton#color03{background-color: rgb(128, 128, 128);}\n"
"QPushButton#color04{background-color: rgb(151, 0, 40);}\n"
"QPushButton#color05{background-color: rgb(0, 4, 96);}\n"
"QPushButton#color06{background-color: rgb(0, 0, 255);}\n"
"QPushButton#color07{background-color: rgb(0, 70, 25);}\n"
"QPushButton#color08{background-color: rgb(38, 0, 67);}\n"
"QPushButton#color09{background-color: rgb(200, 0, 200);}\n"
"QPushButton#color10{background-color: rgb(138, 72, 51);}\n"
"QPushButton#color11{background-color: rgb(63, 35, 31);}\n"
"QPushButton#color12{background-color: rgb(153, 38, 0);}\n"
"QPushButton#color13{background-color: rgb(255, 0, 0);}\n"
"QPushButton#color14{background-color: rgb(0, 255, 0);}\n"
"QPushButton#color15{background-color: rgb(0, 65, 153);}\n"
"QPushButton#color16{background-color: rgb(255, 255, 255);}\n"
"QPushButton#color17{background-color: rgb(255, 255, 0);}\n"
"QPushButton#color18{background-color: rgb(100, 220, 255);}\n"
"QPushButton#color19{background-color: rgb(67, 255, 163);}\n"
"QPushButton#color20{background-color: rgb(255, 176, 176);}\n"
"QPushButton#color21{background-color: rgb(228, 172, 121);}\n"
"QPushButton#color22{background-color: rgb(255, 255, 99);}\n"
"QPushButton#color23{background-color: rgb(0, 153, 84);}\n"
"QPushButton#color24{background-color: rgb(161, 105, 48);}\n"
"QPushButton#color25{background-color: rgb(159, 161, 48);}\n"
"QPushButton#color26{background-color: rgb(104, 161, 48);}\n"
"QPushButton#color27{background-color: rgb(48, 161, 93);}\n"
"QPushButton#color28{background-color: rgb(48, 161, 161);}\n"
"QPushButton#color29{background-color: rgb(48, 103, 161);}\n"
"QPushButton#color30{background-color: rgb(111, 48, 161);}\n"
"QPushButton#color31{background-color: rgb(161, 48, 105);}\n"
"\n"
"QPushButton#color01,QPushButton#color02,QPushButton#color03,QPushButton#color04,QPushButton#color05,QPushButton#color06,QPushButton#color07,QPushButton#color08,QPushButton#color09,QPushButton#color10,\n"
"QPushButton#color11,QPushButton#color12,QPushButton#color13,QPushButton#color14,QPushButton#color15,QPushButton#color16,QPushButton#color17,QPushButton#color18,QPushButton#color19,QPushButton#color20,\n"
"QPushButton#color21,QPushButton#color22,QPushButton#color23,QPushButton#color24,QPushButton#color25,QPushButton#color26,QPushButton#color27,QPushButton#color28,QPushButton#color29,QPushButton#color30,\n"
"QPushButton#color31,QPushButton#color_off{\n"
"    border-radius:5px;\n"
"    border-style: outset;\n"
"    border-width: 1px;\n"
"    border-radius: 5px;\n"
"    border-color: beige;\n"
"    min-width: 4em;\n"
"    padding: 3px;\n"
"}\n"
"QPushButton#color01:pressed,QPushButton#color02:pressed,QPushButton#color03:pressed,QPushButton#color04:pressed,QPushButton#color05:pressed,QPushButton#color06:pressed,QPushButton#color07:pressed,QPushButton#color08:pressed,QPushButton#color09:pressed,QPushButton#color10:pressed,\n"
"QPushButton#color11:pressed,QPushButton#color12:pressed,QPushButton#color13:pressed,QPushButton#color14:pressed,QPushButton#color15:pressed,QPushButton#color16:pressed,QPushButton#color17:pressed,QPushButton#color18:pressed,QPushButton#color19:pressed,QPushButton#color20:pressed,\n"
"QPushButton#color21:pressed,QPushButton#color22:pressed,QPushButton#color23:pressed,QPushButton#color24:pressed,QPushButton#color25:pressed,QPushButton#color26:pressed,QPushButton#color27:pressed,QPushButton#color28:pressed,QPushButton#color29:pressed,QPushButton#color30:pressed,\n"
"QPushButton#color31:pressed,QPushButton#color_off:pressed{\n"
"    \n"
"    background-color: rgb(115, 115, 115);\n"
"    \n"
"    border-style: inset;\n"
"}")
        self.Color_Card.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.Color_Card.setFrameShadow(QtWidgets.QFrame.Raised)
        self.Color_Card.setLineWidth(1)
        self.Color_Card.setObjectName("Color_Card")
        self.gridLayout = QtWidgets.QGridLayout(self.Color_Card)
        self.gridLayout.setSpacing(3)
        self.gridLayout.setContentsMargins(9, 9, 9, 9)
        self.gridLayout.setObjectName("gridLayout")
        self.color31 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color31.sizePolicy().hasHeightForWidth())
        self.color31.setSizePolicy(sizePolicy)
        self.color31.setText("")
        self.color31.setObjectName("color31")
        self.gridLayout.addWidget(self.color31, 11, 3, 1, 1)
        self.color15 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color15.sizePolicy().hasHeightForWidth())
        self.color15.setSizePolicy(sizePolicy)
        self.color15.setStyleSheet("")
        self.color15.setText("")
        self.color15.setObjectName("color15")
        self.gridLayout.addWidget(self.color15, 7, 3, 1, 1)
        self.color08 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color08.sizePolicy().hasHeightForWidth())
        self.color08.setSizePolicy(sizePolicy)
        self.color08.setAutoFillBackground(False)
        self.color08.setStyleSheet("")
        self.color08.setText("")
        self.color08.setObjectName("color08")
        self.gridLayout.addWidget(self.color08, 5, 4, 1, 1)
        self.color25 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color25.sizePolicy().hasHeightForWidth())
        self.color25.setSizePolicy(sizePolicy)
        self.color25.setStyleSheet("")
        self.color25.setText("")
        self.color25.setObjectName("color25")
        self.gridLayout.addWidget(self.color25, 10, 1, 1, 1)
        self.color24 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color24.sizePolicy().hasHeightForWidth())
        self.color24.setSizePolicy(sizePolicy)
        self.color24.setStyleSheet("")
        self.color24.setText("")
        self.color24.setObjectName("color24")
        self.gridLayout.addWidget(self.color24, 9, 4, 1, 1)
        self.color21 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color21.sizePolicy().hasHeightForWidth())
        self.color21.setSizePolicy(sizePolicy)
        self.color21.setStyleSheet("")
        self.color21.setText("")
        self.color21.setObjectName("color21")
        self.gridLayout.addWidget(self.color21, 9, 1, 1, 1)
        self.color05 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color05.sizePolicy().hasHeightForWidth())
        self.color05.setSizePolicy(sizePolicy)
        self.color05.setStyleSheet("")
        self.color05.setText("")
        self.color05.setObjectName("color05")
        self.gridLayout.addWidget(self.color05, 5, 1, 1, 1)
        self.color06 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color06.sizePolicy().hasHeightForWidth())
        self.color06.setSizePolicy(sizePolicy)
        self.color06.setStyleSheet("")
        self.color06.setText("")
        self.color06.setObjectName("color06")
        self.gridLayout.addWidget(self.color06, 5, 2, 1, 1)
        self.color20 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color20.sizePolicy().hasHeightForWidth())
        self.color20.setSizePolicy(sizePolicy)
        self.color20.setStyleSheet("")
        self.color20.setText("")
        self.color20.setObjectName("color20")
        self.gridLayout.addWidget(self.color20, 8, 4, 1, 1)
        self.line_1 = QtWidgets.QFrame(self.Color_Card)
        self.line_1.setStyleSheet("")
        self.line_1.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_1.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_1.setObjectName("line_1")
        self.gridLayout.addWidget(self.line_1, 0, 0, 1, 5)
        self.color09 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color09.sizePolicy().hasHeightForWidth())
        self.color09.setSizePolicy(sizePolicy)
        self.color09.setStyleSheet("")
        self.color09.setText("")
        self.color09.setObjectName("color09")
        self.gridLayout.addWidget(self.color09, 6, 1, 1, 1)
        self.color17 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color17.sizePolicy().hasHeightForWidth())
        self.color17.setSizePolicy(sizePolicy)
        self.color17.setStyleSheet("")
        self.color17.setText("")
        self.color17.setObjectName("color17")
        self.gridLayout.addWidget(self.color17, 8, 1, 1, 1)
        self.color03 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color03.sizePolicy().hasHeightForWidth())
        self.color03.setSizePolicy(sizePolicy)
        self.color03.setStyleSheet("")
        self.color03.setText("")
        self.color03.setObjectName("color03")
        self.gridLayout.addWidget(self.color03, 4, 3, 1, 1)
        self.color14 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color14.sizePolicy().hasHeightForWidth())
        self.color14.setSizePolicy(sizePolicy)
        self.color14.setStyleSheet("")
        self.color14.setText("")
        self.color14.setObjectName("color14")
        self.gridLayout.addWidget(self.color14, 7, 2, 1, 1)
        self.color28 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color28.sizePolicy().hasHeightForWidth())
        self.color28.setSizePolicy(sizePolicy)
        self.color28.setText("")
        self.color28.setObjectName("color28")
        self.gridLayout.addWidget(self.color28, 10, 4, 1, 1)
        self.color26 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color26.sizePolicy().hasHeightForWidth())
        self.color26.setSizePolicy(sizePolicy)
        self.color26.setText("")
        self.color26.setObjectName("color26")
        self.gridLayout.addWidget(self.color26, 10, 2, 1, 1)
        self.color07 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color07.sizePolicy().hasHeightForWidth())
        self.color07.setSizePolicy(sizePolicy)
        self.color07.setStyleSheet("")
        self.color07.setText("")
        self.color07.setObjectName("color07")
        self.gridLayout.addWidget(self.color07, 5, 3, 1, 1)
        self.color11 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color11.sizePolicy().hasHeightForWidth())
        self.color11.setSizePolicy(sizePolicy)
        self.color11.setStyleSheet("")
        self.color11.setText("")
        self.color11.setObjectName("color11")
        self.gridLayout.addWidget(self.color11, 6, 3, 1, 1)
        self.color19 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color19.sizePolicy().hasHeightForWidth())
        self.color19.setSizePolicy(sizePolicy)
        self.color19.setStyleSheet("")
        self.color19.setText("")
        self.color19.setObjectName("color19")
        self.gridLayout.addWidget(self.color19, 8, 3, 1, 1)
        self.color_off = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color_off.sizePolicy().hasHeightForWidth())
        self.color_off.setSizePolicy(sizePolicy)
        self.color_off.setStyleSheet("color: rgb(0, 0, 0);")
        self.color_off.setObjectName("color_off")
        self.gridLayout.addWidget(self.color_off, 11, 4, 1, 1)
        self.color13 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color13.sizePolicy().hasHeightForWidth())
        self.color13.setSizePolicy(sizePolicy)
        self.color13.setStyleSheet("")
        self.color13.setText("")
        self.color13.setObjectName("color13")
        self.gridLayout.addWidget(self.color13, 7, 1, 1, 1)
        self.color22 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color22.sizePolicy().hasHeightForWidth())
        self.color22.setSizePolicy(sizePolicy)
        self.color22.setStyleSheet("")
        self.color22.setText("")
        self.color22.setObjectName("color22")
        self.gridLayout.addWidget(self.color22, 9, 2, 1, 1)
        self.color04 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color04.sizePolicy().hasHeightForWidth())
        self.color04.setSizePolicy(sizePolicy)
        self.color04.setStyleSheet("")
        self.color04.setText("")
        self.color04.setObjectName("color04")
        self.gridLayout.addWidget(self.color04, 4, 4, 1, 1)
        self.color16 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color16.sizePolicy().hasHeightForWidth())
        self.color16.setSizePolicy(sizePolicy)
        self.color16.setAutoFillBackground(False)
        self.color16.setStyleSheet("")
        self.color16.setText("")
        self.color16.setAutoDefault(False)
        self.color16.setObjectName("color16")
        self.gridLayout.addWidget(self.color16, 7, 4, 1, 1)
        self.color30 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color30.sizePolicy().hasHeightForWidth())
        self.color30.setSizePolicy(sizePolicy)
        self.color30.setText("")
        self.color30.setObjectName("color30")
        self.gridLayout.addWidget(self.color30, 11, 2, 1, 1)
        self.color29 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color29.sizePolicy().hasHeightForWidth())
        self.color29.setSizePolicy(sizePolicy)
        self.color29.setText("")
        self.color29.setObjectName("color29")
        self.gridLayout.addWidget(self.color29, 11, 1, 1, 1)
        self.color02 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color02.sizePolicy().hasHeightForWidth())
        self.color02.setSizePolicy(sizePolicy)
        self.color02.setStyleSheet("")
        self.color02.setText("")
        self.color02.setDefault(False)
        self.color02.setObjectName("color02")
        self.gridLayout.addWidget(self.color02, 4, 2, 1, 1)
        self.color01 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color01.sizePolicy().hasHeightForWidth())
        self.color01.setSizePolicy(sizePolicy)
        self.color01.setToolTip("")
        self.color01.setToolTipDuration(1)
        self.color01.setStyleSheet("")
        self.color01.setText("")
        self.color01.setCheckable(False)
        self.color01.setChecked(False)
        self.color01.setObjectName("color01")
        self.gridLayout.addWidget(self.color01, 4, 1, 1, 1)
        self.color12 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color12.sizePolicy().hasHeightForWidth())
        self.color12.setSizePolicy(sizePolicy)
        self.color12.setStyleSheet("")
        self.color12.setText("")
        self.color12.setObjectName("color12")
        self.gridLayout.addWidget(self.color12, 6, 4, 1, 1)
        self.color23 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color23.sizePolicy().hasHeightForWidth())
        self.color23.setSizePolicy(sizePolicy)
        self.color23.setStyleSheet("")
        self.color23.setText("")
        self.color23.setObjectName("color23")
        self.gridLayout.addWidget(self.color23, 9, 3, 1, 1)
        self.color10 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color10.sizePolicy().hasHeightForWidth())
        self.color10.setSizePolicy(sizePolicy)
        self.color10.setStyleSheet("")
        self.color10.setText("")
        self.color10.setObjectName("color10")
        self.gridLayout.addWidget(self.color10, 6, 2, 1, 1)
        self.color27 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color27.sizePolicy().hasHeightForWidth())
        self.color27.setSizePolicy(sizePolicy)
        self.color27.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.color27.setText("")
        self.color27.setAutoDefault(False)
        self.color27.setDefault(False)
        self.color27.setFlat(False)
        self.color27.setObjectName("color27")
        self.gridLayout.addWidget(self.color27, 10, 3, 1, 1)
        self.color18 = QtWidgets.QPushButton(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.color18.sizePolicy().hasHeightForWidth())
        self.color18.setSizePolicy(sizePolicy)
        self.color18.setStyleSheet("")
        self.color18.setText("")
        self.color18.setObjectName("color18")
        self.gridLayout.addWidget(self.color18, 8, 2, 1, 1)
        self.line = QtWidgets.QFrame(self.Color_Card)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.line.sizePolicy().hasHeightForWidth())
        self.line.setSizePolicy(sizePolicy)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.gridLayout.addWidget(self.line, 2, 0, 1, 5)
        self.label = QtWidgets.QLabel(self.Color_Card)
        self.label.setEnabled(False)
        self.label.setStyleSheet("color: rgb(0, 0, 0);")
        self.label.setIndent(-10)
        self.label.setOpenExternalLinks(False)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 1, 0, 1, 5)
        self.verticalLayout.addWidget(self.Color_Card)
        self.line_5 = QtWidgets.QFrame(RDS_rigging)
        self.line_5.setMaximumSize(QtCore.QSize(16777215, 2))
        self.line_5.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_5.setObjectName("line_5")
        self.verticalLayout.addWidget(self.line_5)
        self.Create_Jnt = QtWidgets.QFrame(RDS_rigging)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Create_Jnt.sizePolicy().hasHeightForWidth())
        self.Create_Jnt.setSizePolicy(sizePolicy)
        self.Create_Jnt.setMaximumSize(QtCore.QSize(300, 180))
        self.Create_Jnt.setStyleSheet("QFrame#Create_Jnt{\n"
"background-color: rgb(180, 180, 180);\n"
"border-radius:5px;\n"
"}\n"
"\n"
"QSpinBox#JointNumber_spinBox,QLineEdit#JointName_lineEdit{\n"
"    background-color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QSlider#JointNumber_slider,Line#line_6{\n"
"    background-color: rgb(180, 180, 180);\n"
"    color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QRadioButton#JointName_radioButton1,QRadioButton#JointName_radioButton2,QSpinBos#JointNumber_spinBox,QLabel#label_2,QLabel#label_3,QLabel#label_4,Line#line_2\n"
"{color: rgb(0, 0, 0);background-color: rgb(180, 180, 180)}\n"
"\n"
"QPushButton#CurveJoint_pushButton,QPushButton#JointCtrl_pushButton,QPushButton#CurveCtrl_pushButton{\n"
"    color: rgb(0, 0, 0);\n"
"    background-color: rgb(120, 120, 120)\n"
"}\n"
"\n"
"QPushButton#CurveJoint_pushButton,QPushButton#JointCtrl_pushButton,QPushButton#CurveCtrl_pushButton{\n"
"    border-radius:5px;\n"
"    border-style: outset;\n"
"    border-width: 1px;\n"
"    border-radius: 5px;\n"
"    border-color: beige;\n"
"    min-width: 4em;\n"
"    padding: 3px;\n"
"}\n"
"\n"
"QPushButton#CurveJoint_pushButton:pressed,QPushButton#JointCtrl_pushButton:pressed,QPushButton#CurveCtrl_pushButton:pressed\n"
"{\n"
"    background-color: rgb(100, 100, 100);\n"
"    border-style: inset;\n"
"\n"
"}\n"
"")
        self.Create_Jnt.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.Create_Jnt.setFrameShadow(QtWidgets.QFrame.Raised)
        self.Create_Jnt.setObjectName("Create_Jnt")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.Create_Jnt)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.JointName_lineEdit = QtWidgets.QLineEdit(self.Create_Jnt)
        self.JointName_lineEdit.setEnabled(False)
        self.JointName_lineEdit.setFrame(True)
        self.JointName_lineEdit.setObjectName("JointName_lineEdit")
        self.gridLayout_3.addWidget(self.JointName_lineEdit, 2, 4, 1, 1)
        self.CurveJoint_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
        self.CurveJoint_pushButton.setObjectName("CurveJoint_pushButton")
        self.gridLayout_3.addWidget(self.CurveJoint_pushButton, 3, 0, 1, 5)
        self.JointCtrl_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
        self.JointCtrl_pushButton.setObjectName("JointCtrl_pushButton")
        self.gridLayout_3.addWidget(self.JointCtrl_pushButton, 4, 0, 1, 5)
        self.label_2 = QtWidgets.QLabel(self.Create_Jnt)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
        self.label_2.setSizePolicy(sizePolicy)
        self.label_2.setMaximumSize(QtCore.QSize(16777215, 20))
        self.label_2.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.label_2.setObjectName("label_2")
        self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 3)
        self.label_4 = QtWidgets.QLabel(self.Create_Jnt)
        self.label_4.setObjectName("label_4")
        self.gridLayout_3.addWidget(self.label_4, 1, 0, 1, 2)
        self.JointNumber_spinBox = QtWidgets.QSpinBox(self.Create_Jnt)
        self.JointNumber_spinBox.setMinimum(1)
        self.JointNumber_spinBox.setMaximum(1000)
        self.JointNumber_spinBox.setProperty("value", 5)
        self.JointNumber_spinBox.setObjectName("JointNumber_spinBox")
        self.gridLayout_3.addWidget(self.JointNumber_spinBox, 1, 2, 1, 2)
        self.label_3 = QtWidgets.QLabel(self.Create_Jnt)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
        self.label_3.setSizePolicy(sizePolicy)
        self.label_3.setObjectName("label_3")
        self.gridLayout_3.addWidget(self.label_3, 2, 0, 1, 1)
        self.JointName_radioButton1 = QtWidgets.QRadioButton(self.Create_Jnt)
        self.JointName_radioButton1.setChecked(True)
        self.JointName_radioButton1.setObjectName("JointName_radioButton1")
        self.gridLayout_3.addWidget(self.JointName_radioButton1, 2, 1, 1, 2)
        self.JointName_radioButton2 = QtWidgets.QRadioButton(self.Create_Jnt)
        self.JointName_radioButton2.setEnabled(True)
        self.JointName_radioButton2.setCheckable(True)
        self.JointName_radioButton2.setChecked(False)
        self.JointName_radioButton2.setObjectName("JointName_radioButton2")
        self.gridLayout_3.addWidget(self.JointName_radioButton2, 2, 3, 1, 1)
        self.line_6 = QtWidgets.QFrame(self.Create_Jnt)
        self.line_6.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_6.setObjectName("line_6")
        self.gridLayout_3.addWidget(self.line_6, 5, 0, 1, 5)
        self.CurveCtrl_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
        self.CurveCtrl_pushButton.setObjectName("CurveCtrl_pushButton")
        self.gridLayout_3.addWidget(self.CurveCtrl_pushButton, 6, 0, 1, 5)
        self.verticalLayout.addWidget(self.Create_Jnt)
        self.line_4 = QtWidgets.QFrame(RDS_rigging)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.line_4.sizePolicy().hasHeightForWidth())
        self.line_4.setSizePolicy(sizePolicy)
        self.line_4.setMaximumSize(QtCore.QSize(16777215, 2))
        self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_4.setObjectName("line_4")
        self.verticalLayout.addWidget(self.line_4)
        self.Adjustment = QtWidgets.QFrame(RDS_rigging)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Adjustment.sizePolicy().hasHeightForWidth())
        self.Adjustment.setSizePolicy(sizePolicy)
        self.Adjustment.setMaximumSize(QtCore.QSize(300, 130))
        self.Adjustment.setStyleSheet("QFrame#Adjustment\n"
"{\n"
"    background-color: rgb(180, 180, 180);\n"
"    border-radius:5px;\n"
"}\n"
"\n"
"Line#line_2,Line#line_7\n"
"{\n"
"    background-color: rgb(180, 180, 180);\n"
"}\n"
"\n"
"\n"
"QSlider#JointSize_horizontalSlider,QSlider#ControlSize_horizontalSlider,QLabel#label_5,QLabel#label_6,QLabel#label_7\n"
"{\n"
"    background-color: rgb(180, 180, 180);\n"
"    color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QDoubleSpinBox#JointSize_doubleSpinBox,QDoubleSpinBox#ControlSize_doubleSpinBox\n"
"{\n"
"    \n"
"    background-color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QPushButton#Enlarge_pushButton,QPushButton#Narrow_pushButton,QPushButton#Confirm_pushButton\n"
"{\n"
"    color: rgb(0, 0, 0);\n"
"    background-color: rgb(120, 120, 120)\n"
"}\n"
"\n"
"QPushButton#Enlarge_pushButton,QPushButton#Narrow_pushButton,QPushButton#Confirm_pushButton{\n"
"    border-radius:5px;\n"
"    border-style: outset;\n"
"    border-width: 1px;\n"
"    border-radius: 5px;\n"
"    border-color: beige;\n"
"    min-width: 4em;\n"
"    padding: 3px;\n"
"}\n"
"\n"
"QPushButton#Narrow_pushButton:pressed,QPushButton#Enlarge_pushButton:pressed,QPushButton#Confirm_pushButton:pressed\n"
"{\n"
"    background-color: rgb(100, 100, 100);\n"
"    border-style: inset;\n"
"\n"
"}")
        self.Adjustment.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.Adjustment.setFrameShadow(QtWidgets.QFrame.Raised)
        self.Adjustment.setObjectName("Adjustment")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.Adjustment)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label_5 = QtWidgets.QLabel(self.Adjustment)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
        self.label_5.setSizePolicy(sizePolicy)
        self.label_5.setMaximumSize(QtCore.QSize(16777215, 13))
        self.label_5.setObjectName("label_5")
        self.verticalLayout_2.addWidget(self.label_5)
        self.line_2 = QtWidgets.QFrame(self.Adjustment)
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.verticalLayout_2.addWidget(self.line_2)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_6 = QtWidgets.QLabel(self.Adjustment)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
        self.label_6.setSizePolicy(sizePolicy)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_3.addWidget(self.label_6)
        self.JointSize_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.Adjustment)
        self.JointSize_doubleSpinBox.setEnabled(True)
        self.JointSize_doubleSpinBox.setMaximumSize(QtCore.QSize(16777215, 25))
        self.JointSize_doubleSpinBox.setMouseTracking(False)
        self.JointSize_doubleSpinBox.setAcceptDrops(False)
        self.JointSize_doubleSpinBox.setWrapping(False)
        self.JointSize_doubleSpinBox.setFrame(True)
        self.JointSize_doubleSpinBox.setAccelerated(False)
        self.JointSize_doubleSpinBox.setDecimals(2)
        self.JointSize_doubleSpinBox.setMinimum(0.01)
        self.JointSize_doubleSpinBox.setMaximum(10.0)
        self.JointSize_doubleSpinBox.setSingleStep(0.1)
        self.JointSize_doubleSpinBox.setProperty("value", 1.0)
        self.JointSize_doubleSpinBox.setObjectName("JointSize_doubleSpinBox")
        self.horizontalLayout_3.addWidget(self.JointSize_doubleSpinBox)
        self.Confirm_pushButton = QtWidgets.QPushButton(self.Adjustment)
        self.Confirm_pushButton.setObjectName("Confirm_pushButton")
        self.horizontalLayout_3.addWidget(self.Confirm_pushButton)
        self.horizontalLayout_3.setStretch(0, 10)
        self.horizontalLayout_3.setStretch(1, 10)
        self.horizontalLayout_3.setStretch(2, 18)
        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
        self.line_7 = QtWidgets.QFrame(self.Adjustment)
        self.line_7.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_7.setObjectName("line_7")
        self.verticalLayout_2.addWidget(self.line_7)
        self.label_7 = QtWidgets.QLabel(self.Adjustment)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
        self.label_7.setSizePolicy(sizePolicy)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_2.addWidget(self.label_7)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.Narrow_pushButton = QtWidgets.QPushButton(self.Adjustment)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Narrow_pushButton.sizePolicy().hasHeightForWidth())
        self.Narrow_pushButton.setSizePolicy(sizePolicy)
        self.Narrow_pushButton.setMaximumSize(QtCore.QSize(150, 30))
        self.Narrow_pushButton.setObjectName("Narrow_pushButton")
        self.horizontalLayout.addWidget(self.Narrow_pushButton)
        self.Enlarge_pushButton = QtWidgets.QPushButton(self.Adjustment)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Enlarge_pushButton.sizePolicy().hasHeightForWidth())
        self.Enlarge_pushButton.setSizePolicy(sizePolicy)
        self.Enlarge_pushButton.setMaximumSize(QtCore.QSize(150, 30))
        self.Enlarge_pushButton.setObjectName("Enlarge_pushButton")
        self.horizontalLayout.addWidget(self.Enlarge_pushButton)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.verticalLayout.addWidget(self.Adjustment)

        self.retranslateUi(RDS_rigging)
        QtCore.QObject.connect(self.JointName_radioButton2, QtCore.SIGNAL("toggled(bool)"), self.JointName_lineEdit.setEnabled)
        QtCore.QMetaObject.connectSlotsByName(RDS_rigging)

    def retranslateUi(self, RDS_rigging):
        RDS_rigging.setWindowTitle(QtWidgets.QApplication.translate(u'RDS_rigging', u'RDS', None, -1))
        self.color_off.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'OFF', None, -1))
        self.label.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'set_color', None, -1))
        self.CurveJoint_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¹Ç÷À', None, -1))
        self.JointCtrl_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'Ϊ¹Ç÷À´´½¨¿ØÖÆÆ÷', None, -1))
        self.label_2.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¹Ç÷À:', None, -1))
        self.label_4.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'´´½¨¹Ç÷À¶ÎÊý£º', None, -1))
        self.label_3.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¹Ç÷ÀÃû³Æ', None, -1))
        self.JointName_radioButton1.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'ÇúÏßÃû³Æ', None, -1))
        self.JointName_radioButton2.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'×Ô¶¨Òå', None, -1))
        self.CurveCtrl_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¿ØÖÆÆ÷', None, -1))
        self.label_5.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'µ÷Õû£º', None, -1))
        self.label_6.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¹Ç÷À´óС£º', None, -1))
        self.Confirm_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'OK', None, -1))
        self.label_7.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¿ØÖÆÆ÷Ëõ·Å£º', None, -1))
        self.Narrow_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'ËõС', None, -1))
        self.Enlarge_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'·Å´ó', None, -1))



class ui(QtWidgets.QDialog, Ui_RDS_rigging):

    def __init__(self, parent):
        self.window_name = u'Ui_RDS_rigging'
        if cmds.window(self.window_name, exists=True):
            cmds.deleteUI(self.window_name)
        super(ui, self).__init__(parent=parent)
        self.setupUi(self)
        #self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        self.color01.clicked.connect(self.color001)
        self.color02.clicked.connect(self.color002)
        self.color03.clicked.connect(self.color003)
        self.color04.clicked.connect(self.color004)
        self.color05.clicked.connect(self.color005)
        self.color06.clicked.connect(self.color006)
        self.color07.clicked.connect(self.color007)
        self.color08.clicked.connect(self.color008)
        self.color09.clicked.connect(self.color009)
        self.color10.clicked.connect(self.color010)
        self.color11.clicked.connect(self.color011)
        self.color12.clicked.connect(self.color012)
        self.color13.clicked.connect(self.color013)
        self.color14.clicked.connect(self.color014)
        self.color15.clicked.connect(self.color015)
        self.color16.clicked.connect(self.color016)
        self.color17.clicked.connect(self.color017)
        self.color18.clicked.connect(self.color018)
        self.color19.clicked.connect(self.color019)
        self.color20.clicked.connect(self.color020)
        self.color21.clicked.connect(self.color021)
        self.color22.clicked.connect(self.color022)
        self.color23.clicked.connect(self.color023)
        self.color24.clicked.connect(self.color024)
        self.color25.clicked.connect(self.color025)
        self.color26.clicked.connect(self.color026)
        self.color27.clicked.connect(self.color027)
        self.color28.clicked.connect(self.color028)
        self.color29.clicked.connect(self.color029)
        self.color30.clicked.connect(self.color030)
        self.color31.clicked.connect(self.color031)
        self.color_off.clicked.connect(self.color_OFF)

        self.CurveJoint_pushButton.clicked.connect(self.CreateJointChain)
        self.JointCtrl_pushButton.clicked.connect(self.JointControl)
        self.CurveCtrl_pushButton.clicked.connect(self.CurveCtrl)
        self.Confirm_pushButton.clicked.connect(self.Confirm)
        self.Narrow_pushButton.clicked.connect(self.Narrow)
        self.Enlarge_pushButton.clicked.connect(self.Enlarge)

    def color001(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 1)

    def color002(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 2)

    def color003(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 3)

    def color004(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 4)

    def color005(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 5)

    def color006(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 6)

    def color007(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 7)

    def color008(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 8)

    def color009(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 9)

    def color010(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 10)

    def color011(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 11)

    def color012(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 12)

    def color013(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 13)

    def color014(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 14)

    def color015(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 15)

    def color016(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 16)

    def color017(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 17)

    def color018(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 18)

    def color019(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 19)

    def color020(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 20)

    def color021(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 21)

    def color022(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 22)

    def color023(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 23)

    def color024(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 24)

    def color025(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 25)

    def color026(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 26)

    def color027(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 27)

    def color028(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 28)

    def color029(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 29)

    def color030(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 30)

    def color031(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 1)
                cmds.setAttr(ii + u'.overrideColor', 31)

    def color_OFF(self):
        select_obj = cmds.ls(sl=True)
        for i in select_obj:
            select_obj_shape = cmds.listRelatives(i, shapes=True)
            for ii in select_obj_shape:
                cmds.setAttr(ii + u'.overrideEnabled', 0)

    def CreateJointChain(self):
        select_curve = cmds.ls(sl=True)
        select_curve_shape = cmds.listRelatives(select_curve, shapes=True)
        select_curve_type = cmds.nodeType(select_curve_shape)
        if select_curve_type == u'nurbsCurve':
            if len(select_curve) == 1:
                locator_obj = cmds.spaceLocator(position=(0, 0, 0))
                motionPath_JD = cmds.createNode(u'motionPath')  # ´´½¨¶¯×÷·¾¶½Úµã
                cmds.setAttr(motionPath_JD + u'.fractionMode', True)
                cmds.connectAttr(select_curve_shape[0] + u'.worldSpace[0]', motionPath_JD + u'.geometryPath')

                # ½«²ÎÊý´«µ½locatorµÄXÖáÉÏ
                addDoubleLinear01_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.xCoordinate', addDoubleLinear01_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear01_JD + u'.output', locator_obj[0] + u'.translateX')

                # ½«²ÎÊý´«µ½locatorµÄYÖáÉÏ
                addDoubleLinear02_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.yCoordinate', addDoubleLinear02_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear02_JD + u'.output', locator_obj[0] + u'.translateY')

                # ½«²ÎÊý´«µ½locatorµÄZÖáÉÏ
                addDoubleLinear03_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.zCoordinate', addDoubleLinear03_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear03_JD + u'.output', locator_obj[0] + u'.translateZ')

                jntNumber = self.JointNumber_spinBox.value()
                if self.JointName_radioButton1.isChecked():
                    for i in range(jntNumber + 1):
                        cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber))  # locatorÔÚÇúÏߵĵȷÖλÖÃ
                        locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True,
                                                       translation=True)  # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
                        jntobj = cmds.joint(name=select_curve[0] + u'_' + str(i) + u'_jnt',
                                            position=(locator_transform[0], locator_transform[1], locator_transform[2]))
                        if i == 0:
                            firstJnt = jntobj
                        if i == jntNumber:
                            lastJnt = jntobj

                elif self.JointName_radioButton2.isChecked():
                    jntName = str(self.JointName_lineEdit.text())
                    for i in range(jntNumber + 1):
                        cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber))  # locatorÔÚÇúÏߵĵȷÖλÖÃ
                        locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True,
                                                       translation=True)  # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
                        jntobj = cmds.joint(name=jntName + u'_' + str(i) + u'_jnt',
                                            position=(locator_transform[0], locator_transform[1], locator_transform[2]))
                        if i == 0:
                            firstJnt = jntobj
                        if i == jntNumber:
                            lastJnt = jntobj

                cmds.delete(motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD,locator_obj)  # ɾ³ý²»ÓõĽڵã
                cmds.select(firstJnt)
                cmds.joint(e=True, orientJoint='xyz', secondaryAxisOrient='yup', children=True, zeroScaleOrient=True)  # µ÷Õû¹Ç÷ÀµÄÖáÏò
                cmds.joint(lastJnt, e=True, orientation=(0, 0, 0))
            else:
                print(u'ÇëÑ¡ÔñÒ»¸ùÇúÏß')
        else:
            print(u'ÇëÑ¡ÔñÇúÏß')

    def JointControl(self):
        list_select = cmds.ls(selection=True, dag=True, type='joint')
        if self.JointName_radioButton1.isChecked():
            if len(list_select) > 0:
                for i,_ in enumerate(list_select):
                    create_curve_fk = cmds.curve(point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                                        (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
                                                        (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),
                                                        (-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072), \
                                                        (-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
                                                        (-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16), \
                                                        (8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),
                                                        (2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072), \
                                                        (2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),
                                                        (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
                                                        (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
                                                 knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
                    curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(list_select[i], i+1, u'fk_ctrl'))
                    curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)
                    cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
                    cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
                    cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)

                    create_curve_ik = cmds.curve(point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                                        (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
                                                        (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
                                                        (-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092), \
                                                        (-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
                                                        (-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16), \
                                                        (6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
                                                        (1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092), \
                                                        (1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                                        (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
                                                        (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
                                                 knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
                    curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(list_select[i], i+1, u'ik_ctrl'))
                    curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)
                    cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
                    cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
                    cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
                    cmds.parent(curve_ik_name, curve_fk_name)
                    drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(list_select[i], i+1, u'drve'))
                    grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(list_select[i], i+1, u'grp'))
                    grp_transfrom = cmds.parentConstraint(list_select[i], grpName)
                    cmds.delete(grp_transfrom)
                    cmds.parentConstraint(curve_ik_name, list_select[i])
                    cmds.scaleConstraint(curve_ik_name, list_select[i])
                    if i>0:
                        cmds.parent(grpName,  u'{}_{}_{}'.format(list_select[i-1], i, u'fk_ctrl'))

            else:
                print u'ÇëÑ¡Ñ¡Ôñ¹Ç÷À,²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡'
        elif self.JointName_radioButton2.isChecked():
            jinName = str(self.JointName_lineEdit.text())
            if len(list_select) > 0:
                for i, _ in enumerate(list_select):
                    #fkÇúÏß
                    create_curve_fk = cmds.curve(point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                                        (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
                                                        (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),
                                                        (-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072), \
                                                        (-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
                                                        (-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16), \
                                                        (8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),
                                                        (2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072), \
                                                        (2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),
                                                        (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
                                                        (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
                                                 knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
                    curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(jinName, i+1, u'fk_ctrl'))
                    curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)
                    cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
                    cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
                    cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)

                    #ikÇúÏß
                    create_curve_ik = cmds.curve(point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                                        (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
                                                        (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
                                                        (-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092), \
                                                        (-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
                                                        (-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16), \
                                                        (6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
                                                        (1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092), \
                                                        (1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                                        (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
                                                        (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
                                                 knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
                    curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(jinName, i+1,  u'ik_ctrl'))
                    curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)
                    cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
                    cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
                    cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
                    cmds.parent(curve_ik_name, curve_fk_name)

                    #drve×éºÏ grp×é
                    drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(jinName, i+1, u'drve'))
                    grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(jinName, i+1, u'grp'))
                    grp_transfrom = cmds.parentConstraint(list_select[i], grpName)
                    cmds.delete(grp_transfrom)
                    cmds.parentConstraint(curve_ik_name, list_select[i])
                    cmds.scaleConstraint(curve_ik_name, list_select[i])
                    if i>0:
                        cmds.parent(grpName, u'{}_{}_{}'.format(jinName, i, u'fk_ctrl'))




            else:
                print u'ÇëÑ¡Ñ¡Ôñ¹Ç÷À,²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡'

    def CurveCtrl(self):
        select_curve = cmds.ls(sl=True)
        select_curve_shape = cmds.listRelatives(select_curve, shapes=True)
        select_curve_type = cmds.nodeType(select_curve_shape)
        if select_curve_type == u'nurbsCurve':
            if len(select_curve) == 1:
                locator_obj = cmds.spaceLocator(position=(0, 0, 0))
                motionPath_JD = cmds.createNode(u'motionPath')  #´´½¨¶¯×÷·¾¶½Úµã
                cmds.setAttr(motionPath_JD + u'.fractionMode', True)
                cmds.connectAttr(select_curve_shape[0] + u'.worldSpace[0]', motionPath_JD + u'.geometryPath')

                # ½«²ÎÊý´«µ½locatorµÄXÖáÉÏ
                addDoubleLinear01_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.xCoordinate', addDoubleLinear01_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear01_JD + u'.output', locator_obj[0] + u'.translateX')

                # ½«²ÎÊý´«µ½locatorµÄYÖáÉÏ
                addDoubleLinear02_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.yCoordinate', addDoubleLinear02_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear02_JD + u'.output', locator_obj[0] + u'.translateY')

                # ½«²ÎÊý´«µ½locatorµÄZÖáÉÏ
                addDoubleLinear03_JD = cmds.createNode(u'addDoubleLinear')
                cmds.connectAttr(motionPath_JD + u'.zCoordinate', addDoubleLinear03_JD + u'.input1')
                cmds.connectAttr(addDoubleLinear03_JD + u'.output', locator_obj[0] + u'.translateZ')

                jntNumber = self.JointNumber_spinBox.value()
                if self.JointName_radioButton1.isChecked():
                    for i in range(jntNumber + 1):
                        cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber))  # locatorÔÚÇúÏߵĵȷÖλÖÃ
                        cmds.tangentConstraint(select_curve, locator_obj[0])  #ÇÐÏßÔ¼Êø
                        #locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True, translation=True)  # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
                        create_curve_fk = cmds.curve(
                            point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                   (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
                                   (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),\
                                   (-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072),\
                                   (-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
                                   (-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16),\
                                   (8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),\
                                   (2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072),\
                                   (2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                   (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
                                   (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
                            knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)   #´´½¨fk¿ØÖÆÆ÷
                        curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(select_curve[0], i + 1, u'fk_ctrl'))     #fk¿ØÖÆÆ÷µÄÃû×Ö
                        curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)     #fk¿ØÖÆÆ÷µÄshape½Úµã
                        cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
                        cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
                        cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
                        create_curve_ik = cmds.curve(
                            point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                   (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
                                   (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
                                   (-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092),\
                                   (-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
                                   (-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16),\
                                   (6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
                                   (1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092),\
                                   (1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                   (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
                                   (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
                            knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)   #´´½¨ik¿ØÖÆÆ÷
                        curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(select_curve[0], i + 1, u'ik_ctrl'))
                        curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)     #ik¿ØÖÆÆ÷µÄshape½Úµã
                        cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
                        cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
                        cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
                        cmds.joint(curve_ik_name, name='{}_{}_{}'.format(select_curve[0], i+1, u'jnt'))   #´´½¨¹Ç÷À²¢½«ikÇúÏßÉèΪ¸¸¼¶
                        cmds.parent(curve_ik_name, curve_fk_name)  # ½«ikÇúÏß·ÅÔÚfkÇúÏßÏÂ
                        drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(select_curve[0], i + 1, u'drve'))   #¶ÔfkÇúÏß´ò×é
                        grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(select_curve[0], i + 1, u'grp'))  #¶Ôµ±È»drve_grp´ò×é
                        grp_transfrom = cmds.parentConstraint(locator_obj[0], grpName)
                        cmds.delete(grp_transfrom)
                        if i > 0:
                            cmds.parent(grpName, u'{}_{}_{}'.format(select_curve[0], i, u'fk_ctrl'))
                    cmds.delete(locator_obj, motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD)

                elif self.JointName_radioButton2.isChecked():
                    ctrlName = str(self.JointName_lineEdit.text())
                    for i in range(jntNumber + 1):
                        cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber))  # locatorÔÚÇúÏߵĵȷÖλÖÃ
                        cmds.tangentConstraint(select_curve, locator_obj[0])  #ÇÐÏßÔ¼Êø
                        #locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True, translation=True)  # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
                        create_curve_fk = cmds.curve(
                            point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                   (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
                                   (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),\
                                   (-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072),\
                                   (-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
                                   (-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16),\
                                   (8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),\
                                   (2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072),\
                                   (2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
                                   (1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
                                   (-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
                            knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)   #´´½¨fk¿ØÖÆÆ÷
                        curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(ctrlName, i + 1, u'fk_ctrl'))     #fk¿ØÖÆÆ÷µÄÃû×Ö
                        curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)     #fk¿ØÖÆÆ÷µÄshape½Úµã
                        cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
                        cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
                        cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
                        create_curve_ik = cmds.curve(
                            point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                   (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
                                   (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
                                   (-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092),\
                                   (-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
                                   (-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16),\
                                   (6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
                                   (1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092),\
                                   (1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
                                   (9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
                                   (-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
                            knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)   #´´½¨ik¿ØÖÆÆ÷
                        curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(ctrlName, i + 1, u'ik_ctrl'))
                        curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)     #ik¿ØÖÆÆ÷µÄshape½Úµã
                        cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
                        cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
                        cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
                        cmds.joint(curve_ik_name, name='{}_{}_{}'.format(ctrlName, i+1, u'jnt'))   #´´½¨¹Ç÷À²¢½«ikÇúÏßÉèΪ¸¸¼¶
                        cmds.parent(curve_ik_name, curve_fk_name)  # ½«ikÇúÏß·ÅÔÚfkÇúÏßÏÂ
                        drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(ctrlName, i + 1, u'drve'))   #¶ÔfkÇúÏß´ò×é
                        grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(ctrlName, i + 1, u'grp'))  #¶Ôdrve_grp´ò×é
                        grp_transfrom = cmds.parentConstraint(locator_obj[0], grpName)
                        cmds.delete(grp_transfrom)
                        if i > 0:
                            cmds.parent(grpName, u'{}_{}_{}'.format(ctrlName, i, u'fk_ctrl'))
                    cmds.delete(locator_obj, motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD)
            else:
                print(u'ÇëÑ¡ÔñÒ»¸ùÇúÏߣ¡£¡£¡=_=''')
        else:
            print (u'ÇëÑ¡ÔñÇúÏߣ¬²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡=_=')

    def Confirm(self):
        JointSize = float(self.JointSize_doubleSpinBox.value())
        cmds.jointDisplayScale(JointSize, a=True )

    def Narrow(self):
        mel.eval(u'selectCurveCV ("all");')
        cmds.scale(0.85, 0.85, 0.85, a=1)

    def Enlarge(self):
        mel.eval(u'selectCurveCV ("all");')
        cmds.scale(1.15, 1.15, 1.15, a=1)



u = ui(parent=getMayaWindow())
u.show()












  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值