아래와 같은 문장을 만들었거든요.

 Boo_shapeColor 여기를 하나로 만들어서 돌려 쓰려고 하는데 멜처럼 안되네요.

그래서 처음에는 하나 하나 만들다가 이건 아니다 싶어서 물어봅니다.

 Boo_shapeColor (self,변수)를 지정하고 class안에서 self.Boo_shapeColor(변수)를 지정했는데 먼가 룰이 틀린것 같은데 안되더라구요.

처음에는 'Boo_shapeColor (변수)',self.Boo_shapeColor (변수),Boo_shapeColor,Boo_Controller.Boo_shapeColor(변수)등등을 했는데 오~~~ 먼가 각각의 활용되는 곳이 틀린것 같은데

으~~ 모르겠네요.

import maya.cmds as cmds
import maya.mel as mel
import string
import sys
#----------  UI  ----------
class Boo_Controller():
 def __init__(self):
  win = 'Boo_Controller'
  if cmds.window(win,exists=1):
   cmds.deleteUI(win,window=True)
  cmds.window(win,t='Boo_Controller',wh=(220,345),mxb=0,s=1,mb=1)
  #---------  Path of icon image
  iPath=cmds.internalVar(userBitmapsDir=True)
  cmds.columnLayout('emptyColum',rowSpacing=10)
  cmds.setParent('..')
  #---------  Name of cotroller, count
  cmds.columnLayout('NameCountColum')
  cmds.textFieldGrp('TextFieldName', label='Name: ', cw2=[70,100])
  cmds.textFieldGrp('IntFieldCount', label='Count: ', cw2=[70,50],tx='1')
  cmds.setParent('..')
  #---------  Shape of cotroller, count
  cmds.rowColumnLayout( numberOfColumns=6, columnWidth=[(1, 22), (2, 32), (3, 32), (4, 32), (5, 32),(6, 32)] )
  cmds.text(l='')
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\FourDirection.bmp"), c=self.Boo_CreatePelvis)
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Halfcircle.bmp"), c=self.Boo_CreateHalfCircle)
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Prizm.bmp"), c=self.Boo_CreateTrigonalPrism)
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Sphere.bmp"), c=self.Boo_Createsphere)
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Square.bmp"), c=self.Boo_CreateSquare)
  cmds.text(l='')
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Stick.bmp"), c=self.Boo_CreateSpine)
  cmds.iconTextButton(w=32, h=32, style= "iconOnly", image=(iPath + "\Box.bmp"), c=self.Boo_CreateBox)
  cmds.setParent('..')
  cmds.columnLayout( adjustableColumn=True )
  #---------  color panel for controler that is curve.
  cmds.frameLayout(label='Color', labelAlign='top', borderStyle='etchedIn', collapsable=True,width=212,height=175,collapseCommand=self.Boo_collapseColorPanel,expandCommand=self.Boo_expandColorPanel)
  cmds.rowColumnLayout(columnSpacing=[1,4],numberOfColumns=7,columnWidth=[(1, 28),(2, 28),(3, 28),(4, 28),(5, 28),(6, 28),(7, 28)])
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN31.bmp"), c='Boo_shapeColor(31)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN2.bmp"), c='Boo_shapeColor(2)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN3.bmp"), c='Boo_shapeColor(3)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN4.bmp"), c='Boo_shapeColor(4)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN5.bmp"), c='Boo_shapeColor(5)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN6.bmp"), c='Boo_shapeColor(6)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN7.bmp"), c='Boo_shapeColor(7)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN8.bmp"), c='Boo_shapeColor(8)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN9.bmp"), c='Boo_shapeColor(9)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN10.bmp"), c='Boo_shapeColor(10)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN11.bmp"), c='Boo_shapeColor(11)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN12.bmp"), c='Boo_shapeColor(12)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN13.bmp"), c='Boo_shapeColor(13)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN14.bmp"), c='Boo_shapeColor(14)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN15.bmp"), c='Boo_shapeColor(15)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN16.bmp"), c='Boo_shapeColor(16)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN17.bmp"), c='Boo_shapeColor(17)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN18.bmp"), c='Boo_shapeColor(18)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN19.bmp"), c='Boo_shapeColor(19)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN20.bmp"), c='Boo_shapeColor(20)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN21.bmp"), c='Boo_shapeColor(21)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN22.bmp"), c='Boo_shapeColor(22)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN23.bmp"), c='Boo_shapeColor(23)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN24.bmp"), c='Boo_shapeColor(24)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN25.bmp"), c='Boo_shapeColor(25)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN26.bmp"), c='Boo_shapeColor(26)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN27.bmp"), c='Boo_shapeColor(27)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN28.bmp"), c='Boo_shapeColor(28)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN29.bmp"), c='Boo_shapeColor(29)')
  cmds.iconTextButton(w=29, h=30, style="iconOnly", image=(iPath + "\colorN30.bmp"), c='Boo_shapeColor(30)')
  cmds.setParent('..')
  cmds.window(win,e=1,wh=(220,345))
  cmds.showWindow(win)

 def Boo_collapseColorPanel(self):
  self.win = 'Boo_Controller'
  cmds.window(self.win,e=1,wh=(220,190))
 def Boo_expandColorPanel(self):
  self.win = 'Boo_Controller'
  cmds.window(self.win,e=1,wh=(220,340))

 def Boo_Ctrlsphere(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p 0 0 0.3 -p 0 0.0520945 0.295442 -p 0 0.102606 0.281908 -p 0 0.15 0.259808 -p 0 0.192836 0.229813 -p 0 0.229813 0.192836'
   +'-p 0 0.259808 0.15 -p 0 0.281908 0.102606 -p 0 0.295442 0.0520945 -p 0 0.3 0 -p 0 0.295442 -0.0520945 -p 0 0.281908 -0.102606'
   +'-p 0 0.259808 -0.15 -p 0 0.229813 -0.192836 -p 0 0.192836 -0.229813 -p 0 0.15 -0.259808 -p 0 0.102606 -0.281908 -p 0 0.0520945 -0.295442'
   +'-p 0 0 -0.3 -p 0.0520945 0 -0.295442 -p 0.102606 0 -0.281908 -p 0.15 0 -0.259808 -p 0.192836 0 -0.229813 -p 0.229813 0 -0.192836'
   +'-p 0.259808 0 -0.15 -p 0.281908 0 -0.102606 -p 0.295442 0 -0.0520945 -p 0.3 0 0 -p 0.295442 0 0.0520945 -p 0.281908 0 0.102606'
   +'-p 0.259808 0 0.15 -p 0.229813 0 0.192836 -p 0.192836 0 0.229813 -p 0.15 0 0.259808 -p 0.102606 0 0.281908 -p 0.0520945 0 0.295442'
   +'-p 0 0 0.3 -p 0 -0.0520945 0.295442 -p 0 -0.102606 0.281908 -p 0 -0.15 0.259808 -p 0 -0.192836 0.229813 -p 0 -0.229813 0.192836'
   +'-p 0 -0.259808 0.15 -p 0 -0.281908 0.102606 -p 0 -0.295442 0.0520945'
   +'-p 0 -0.3 0 -p 0 -0.295442 -0.0520945 -p 0 -0.281908 -0.102606 -p 0 -0.259808 -0.15 -p 0 -0.229813 -0.192836 -p 0 -0.192836 -0.229813'
   +'-p 0 -0.15 -0.259808 -p 0 -0.102606 -0.281908 -p 0 -0.0520945 -0.295442 -p 0 0 -0.3 -p -0.0520945 0 -0.295442 -p -0.102606 0 -0.281908'
   +'-p -0.15 0 -0.259808 -p -0.192836 0 -0.229813 -p -0.229813 0 -0.192836 -p -0.259808 0 -0.15 -p -0.281908 0 -0.102606 -p -0.295442 0 -0.0520945'
   +'-p -0.3 0 0 -p -0.295442 0.0520945 0 -p -0.281908 0.102606 0 -p -0.259808 0.15 0 -p -0.229813 0.192836 0 -p -0.192836 0.229813 0'
   +'-p -0.15 0.259808 0 -p -0.102606 0.281908 0 -p -0.0520945 0.295442 0 -p 0 0.3 0 -p 0.0520945 0.295442 0 -p 0.102606 0.281908 0'
   +'-p 0.15 0.259808 0 -p 0.192836 0.229813 0 -p 0.229813 0.192836 0 -p 0.259808 0.15 0 -p 0.281908 0.102606 0 -p 0.295442 0.0520945 0'
   +'-p 0.3 0 0 -p 0.295442 -0.0520945 0 -p 0.281908 -0.102606 0 -p 0.259808 -0.15 0 -p 0.229813 -0.192836 0 -p 0.192836 -0.229813 0'
   +'-p 0.15 -0.259808 0 -p 0.102606 -0.281908 0'
   +'-p 0.0520945 -0.295442 0 -p 0 -0.3 0 -p -0.0520945 -0.295442 0 -p -0.102606 -0.281908 0 -p -0.15 -0.259808 0 -p -0.192836 -0.229813 0'
   +'-p -0.229813 -0.192836 0 -p -0.259808 -0.15 0 -p -0.281908 -0.102606 0 -p -0.295442 -0.0520945 0 -p -0.3 0 0 -p -0.295442 0 0.0520945'
   +'-p -0.281908 0 0.102606 -p -0.259808 0 0.15 -p -0.229813 0 0.192836 -p -0.192836 0 0.229813 -p -0.15 0 0.259808 -p -0.102606 0 0.281908'
   +'-p -0.0520945 0 0.295442 -p 0 0 0.3 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -k 17'
   +'-k 18 -k 19 -k 20 -k 21 -k 22 -k 23 -k 24 -k 25 -k 26 -k 27 -k 28 -k 29 -k 30 -k 31 -k 32 -k 33 -k 34 -k 35 -k 36 -k 37 -k 38 -k 39 -k 40'
   +'-k 41 -k 42 -k 43 -k 44 -k 45 -k 46 -k 47 -k 48 -k 49 -k 50 -k 51 -k 52 -k 53 -k 54 -k 55 -k 56 -k 57 -k 58 -k 59 -k 60 -k 61 -k 62 -k 63'
   +'-k 64 -k 65 -k 66 -k 67 -k 68 -k 69 -k 70 -k 71 -k 72 -k 73 -k 74 -k 75 -k 76 -k 77 -k 78 -k 79 -k 80 -k 81 -k 82 -k 83 -k 84 -k 85 -k 86'
   +'-k 87 -k 88 -k 89 -k 90 -k 91 -k 92 -k 93 -k 94 -k 95 -k 96 -k 97 -k 98 -k 99 -k 100 -k 101 -k 102 -k 103 -k 104 -k 105 -k 106 -k 107 -k 108'
   +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlSquare(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p -0.8 0 0.8'
           +'-p 0.8 0 0.8'
         +'-p 0.8 0 -0.8'
         +'-p -0.8 0 -0.8'
         +'-p -0.8 0 0.8'
         +'-k 0 -k 1 -k 2 -k 3 -k 4'
         +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlTrigonalPrism(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p 0 1 0 -p -0.5 1 0.866025 -p 1 1 0'
            +'-p 0 1 0 -p -0.5 1 -0.866026 -p 1 1 0'
            +'-p 0 1 0 -p -0.5 1 -0.866026 -p -0.5 1 0.866025'
            +'-p -0.5 -1 0.866025 -p 1 -1 0 -p 1 1 0'
            +'-p -0.5 1 -0.866026 -p -0.5 -1 -0.866026'
            +'-p 1 -1 0 -p 0 -1 0 -p -0.5 -1 -0.866026'
            +'-p -0.5 -1 0.866025 -p 0'
            +'-1 0 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -k 17 -k 18'
         +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlHalfCircle(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p 0 0.162119 0.598953'
           +'-p 0.109584 0.162119 0.588982'
         +'-p 0.215421 0.162119 0.558461'
         +'-p 0.314156 0.162119 0.509819'
         +'-p 0.402511 0.162119 0.444103'
         +'-p 0.476802 0.162119 0.362843'
         +'-p 0.534721 0.162119 0.269201'
         +'-p 0.575036 0.162119 0.166762'
         +'-p 0.596396 0.162119 0.0587443'
         +'-p 0.597111 0.162119 -0.0513603'
         +'-p 0.577092 0.162119 -0.159636'
         +'-p 0.538013 0.162119 -0.262556'
         +'-p 0.481247 0.162119 -0.3569'
         +'-p 0.407994 0.162119 -0.43912'
         +'-p 0.320533 0.162119 -0.505951'
         +'-p 0.222152 0.162119 -0.555771'
         +'-p 0.117543 0.162119 -0.587621'
         +'-p 0 0.162119 -0.598841'
         +'-p 0 -0.162119 -0.597669'
         +'-p 0.117543 -0.162119 -0.587621'
         +'-p 0.222152 -0.162119 -0.555771'
         +'-p 0.320533 -0.162119 -0.505951'
         +'-p 0.407994 -0.162119 -0.43912'
         +'-p 0.481247 -0.162119 -0.3569'
         +'-p 0.538013 -0.162119 -0.262556'
         +'-p 0.577092 -0.162119 -0.159636'
         +'-p 0.597111 -0.162119 -0.0513603'
         +'-p 0.596396 -0.162119 0.0587443'
         +'-p 0.575036 -0.162119 0.166762'
         +'-p 0.534721 -0.162119 0.269201'
         +'-p 0.476802 -0.162119 0.362843'
         +'-p 0.402511 -0.162119 0.444103'
         +'-p 0.314156 -0.162119 0.509819'
         +'-p 0.215421 -0.162119 0.558461'
         +'-p 0.109584 -0.162118 0.588982'
         +'-p 0 -0.16212 0.598837'
         +'-p 0 0.162119 0.598953'
         +'-k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15 -k 16 -k 17 -k 18 -k 19 -k 20 -k 21 -k 22 -k 23 -k 24 -k 25 -k 26 -k 27 -k 28 -k 29 -k 30 -k 31 -k 32 -k 33 -k 34 -k 35 -k 36'
         +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlPelvis(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p -0.130627 0 -0.988448'
           +'-p -0.130627 0 -1.220634'
           +'-p -0.251302 0 -1.220634'
           +'-p 0 0 -1.613398'
           +'-p 0.251302 0 -1.220634'
           +'-p 0.130627 0 -1.220634'
           +'-p 0.130627 0 -0.988448'
           +'-p 0.239305 0 -0.971046'
           +'-p 0.354653 0 -0.935128'
           +'-p 0.465013 0 -0.885878'
           +'-p 0.568764 0 -0.823892'
           +'-p 0.664358 0 -0.749855'
           +'-p 0.749855 0 -0.664358'
           +'-p 0.823892 0 -0.568764'
           +'-p 0.885878 0 -0.465013'
           +'-p 0.935128 0 -0.354653'
           +'-p 0.971046 0 -0.239305'
           +'-p 0.988448 0 -0.130627'
           +'-p 1.220634 0 -0.130627'
           +'-p 1.220634 0 -0.251302'
           +'-p 1.613398 0 0 -p 1.220634 0 0.251302'
           +'-p 1.220634 0 0.130627'
           +'-p 0.988448 0 0.130627'
           +'-p 0.971046 0 0.239305'
           +'-p 0.935128 0 0.354653'
           +'-p 0.885878 0 0.465013'
           +'-p 0.823892 0 0.568764'
           +'-p 0.749855 0 0.664358'
           +'-p 0.664358 0 0.749855'
           +'-p 0.568764 0 0.823892'
           +'-p 0.465013 0 0.885878'
           +'-p 0.354653 0 0.935128'
           +'-p 0.239305 0 0.971046'
           +'-p 0.130627 0 0.988448'
           +'-p 0.130627 0 1.220634'
           +'-p 0.251302 0 1.220634'
           +'-p 0 0 1.613398'
           +'-p -0.251302 0 1.220634'
           +'-p -0.130627 0 1.220634'
           +'-p -0.130627 0 0.988448'
           +'-p -0.239305 0 0.971046'
           +'-p -0.354653 0 0.935128'
           +'-p -0.465013 0 0.885878'
           +'-p -0.568764 0 0.823892'
           +'-p -0.664358 0 0.749855'
           +'-p -0.749855 0 0.664358'
           +'-p -0.823892 0 0.568764'
           +'-p -0.885878 0 0.465013'
           +'-p -0.935128 0 0.354653'
           +'-p -0.971046 0 0.239305'
           +'-p -0.988448 0 0.130627'
           +'-p -1.220634 0 0.130627'
           +'-p -1.220634 0 0.251302'
           +'-p -1.613398 0 0'
           +'-p -1.220634 0 -0.251302'
           +'-p -1.220634 0 -0.130627'
           +'-p -0.988448 0 -0.130627'
           +'-p -0.971046 0 -0.239305'
           +'-p -0.935128 0 -0.354653'
           +'-p -0.885878 0 -0.465013'
           +'-p -0.823892 0 -0.568764'
           +'-p -0.749855 0 -0.664358'
           +'-p -0.664358 0 -0.749855'
           +'-p -0.568764 0 -0.823892'
           +'-p -0.465013 0 -0.885878'
           +'-p -0.354653 0 -0.935128'
           +'-p -0.239305 0 -0.971046'
           +'-p -0.130627 0 -0.988448'
           +'-k 0 -k 1 -k 2 -k 3 -k 4'
           +'-k 5 -k 6 -k 7 -k 8 -k 9'
           +'-k 10 -k 11 -k 12 -k 13'
           +'-k 14 -k 15 -k 16 -k 17'
           +'-k 18 -k 19 -k 20 -k 21'
           +'-k 22 -k 23 -k 24 -k 25'
           +'-k 26 -k 27 -k 28 -k 29'
           +'-k 30 -k 31 -k 32 -k 33'
           +'-k 34 -k 35 -k 36 -k 37'
           +'-k 38 -k 39 -k 40 -k 41'
           +'-k 42 -k 43 -k 44 -k 45'
           +'-k 46 -k 47 -k 48 -k 49'
           +'-k 50 -k 51 -k 52 -k 53'
           +'-k 54 -k 55 -k 56 -k 57'
           +'-k 58 -k 59 -k 60 -k 61'
           +'-k 62 -k 63 -k 64 -k 65'
           +'-k 66 -k 67 -k 68'
           +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlSpine(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p -1 0 0'
         +'-p -0.991118 0 -0.130425'
         +'-p -0.965076 0 -0.258533'
         +'-p -0.922816 0 -0.382243'
         +'-p -0.865222 0 -0.499601'
         +'-p -0.793051 0 -0.608602'
         +'-p -0.707107 0 -0.707107'
         +'-p -0.608602 0 -0.793051'
         +'-p -0.499601 0 -0.865222'
         +'-p -0.382243 0 -0.922816'
         +'-p -0.258533 0 -0.965076'
         +'-p -0.130425 0 -0.991118'
         +'-p 0 0 -1 -p 0.130425 0'
         +'-0.991118 -p 0.258533 0'
         +'-0.965076 -p 0.382243 0'
         +'-0.922816 -p 0.499601 0'
         +'-0.865222 -p 0.608602 0 -0.793051'
         +'-p 0.707107 0 -0.707107'
         +'-p 0.793051 0 -0.608602'
         +'-p 0.865222 0 -0.499601'
         +'-p 0.922816 0 -0.382243'
         +'-p 0.965076 0 -0.258533'
         +'-p 0.991118 0 -0.130425'
         +'-p 1 0 0'
         +'-p 0.991118 0 0.130425'
         +'-p 0.965076 0 0.258533'
         +'-p 0.922816 0 0.382243'
         +'-p 0.865222 0 0.499601'
         +'-p 0.793051 0 0.608602'
         +'-p 0.707107 0 0.707107'
         +'-p 0.608602 0 0.793051'
         +'-p 0.499601 0 0.865222'
         +'-p 0.382243 0 0.922816'
         +'-p 0.258533 0 0.965076'
         +'-p 0.130425 0 0.991118'
         +'-p 0 0 1'
         +'-p -0.130425 0 0.991118'
         +'-p -0.258533 0 0.965076'
         +'-p -0.382243 0 0.922816'
         +'-p -0.499601 0 0.865222'
         +'-p -0.608602 0 0.793051'
         +'-p -0.707107 0 0.707107'
         +'-p -0.793051 0 0.608602'
         +'-p -0.865222 0 0.499601'
         +'-p -0.922816 0 0.382243'
         +'-p -0.965076 0 0.258533'
         +'-p -0.991118 0 0.130425'
         +'-p -1 0 0 -p -1.202669 0 0'
         +'-p -1 0 0 -p 0 0 0 -p 1 0 0'
         +'-p 1.202669 0 0 -p 1 0 0'
         +'-p 0 0 0 -p 0 0 -1 -p 0 0'
         +'-1.202669 -p 0 0 -1 -p 0 0 0'
         +'-p 0 0 1 -p 0 0 1.202669'
         +'-k 0 -k 1 -k 2 -k 3 -k 4'
         +'-k 5 -k 6 -k 7 -k 8 -k 9'
         +'-k 10 -k 11 -k 12 -k 13'
         +'-k 14 -k 15 -k 16 -k 17'
         +'-k 18 -k 19 -k 20 -k 21'
         +'-k 22 -k 23 -k 24 -k 25'
         +'-k 26 -k 27 -k 28 -k 29'
         +'-k 30 -k 31 -k 32 -k 33'
         +'-k 34 -k 35 -k 36 -k 37'
         +'-k 38 -k 39 -k 40 -k 41'
         +'-k 42 -k 43 -k 44 -k 45'
         +'-k 46 -k 47 -k 48 -k 49'
         +'-k 50 -k 51 -k 52 -k 53'
         +'-k 54 -k 55 -k 56 -k 57'
         +'-k 58 -k 59 -k 60 -k 61'
         +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)
 def Boo_CtrlBox(self,Num):
  self.Ctrl_Name=cmds.textFieldGrp('TextFieldName', q=True, tx=True)
  self.CtrlPoleCurve=mel.eval('curve -d 1 -p 0.5 0.5 0.5 -p 0.5 0.5 -0.5 -p -0.5 0.5 -0.5 -p -0.5 0.5 0.5 -p 0.5 0.5 0.5 -p 0.5 -0.5 0.5 -p 0.5 -0.5 -0.5 -p -0.5 -0.5 -0.5 -p -0.5 -0.5 0.5 -p 0.5 -0.5 0.5 -p 0.5 -0.5 -0.5 -p 0.5 0.5 -0.5 -p -0.5 0.5 -0.5 -p -0.5 -0.5 -0.5 -p -0.5 -0.5 0.5 -p -0.5 0.5 0.5 -k 0 -k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9 -k 10 -k 11 -k 12 -k 13 -k 14 -k 15'
         +'-n ("Ctrl_"+"%s"+"%d")' %(self.Ctrl_Name,Num))
  cmds.select (cl=True)
  self.shapes=cmds.listRelatives(self.CtrlPoleCurve,s=True)
  cmds.rename(self.shapes[0],('Ctrl_'+self.Ctrl_Name+'Shape%d')%Num)
  cmds.group((self.CtrlPoleCurve),n=('Gr_'+self.CtrlPoleCurve))
  cmds.xform(piv=[0, 0, 0],os=True)

 def Boo_CreatePelvis(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlPelvis(i)

 def Boo_CreateHalfCircle(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlHalfCircle(i)

 def Boo_CreateTrigonalPrism(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlTrigonalPrism(i)

 def Boo_Createsphere(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_Ctrlsphere(i)

 def Boo_CreateSquare(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlSquare(i)

 def Boo_CreateSpine(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlSpine(i)

 def Boo_CreateBox(self):
  self.CtrlCount=cmds.textFieldGrp('IntFieldCount', q=True, tx=True)
  for i in range (1,int(self.CtrlCount)+1,1):
   self.Boo_CtrlBox(i)

 def Boo_shapeColor(self,col):
  self.sel = cmds.ls(sl=True)
  self.selsize = len(sel)
  if self.selsize > 0:
   self.eachShape = cmds.listRelatives(self.sel,shapes=True)
   #print eachShape
   for self.each in self.eachShape:
    cmds.setAttr(self.each + '.overrideEnabled',1)
    cmds.setAttr(self.each + '.overrideColor',col)
  if self.selsize == 0:
   self.Boo_warning()
  #---------  warning already excuted  -------
 def Boo_warning(self):
  self.warningMessage=('You have to select stuff')
  cmds.confirmDialog(m=self.warningMessage,t='Warning',b='OK')
Boo_Controller()