Я использую Maya и в настоящее время пишу Auto-Rig. Я создал разные классы для каждой основной задачи инструмента. (например: Class_UI, Class_Arms_Rig, et c ..)
У меня проблема в том, что я не могу вызвать метод из Class_Joints (класс, который будет генерировать все необходимые соединения) с моим " Class_UI "
Вот коды:
Сначала Class_UI
import sys
sys.path.append('G:\\3D2\\Script\\Auto_Rig')
import Class_Joints
import Class_Arms
import maya.cmds as mc
class Window_UI(object):
# Initializing global variables
def __init__(self):
# Getting acces to the different modules
self.Arms = Class_Arms.Arms_Rig()
self.Joints = Class_Joints.Gen_Joints()
# Create Ui
self.create_UI()
# Creating the UI
def create_UI(self):
# Create window
self.UI = mc.window(title='Auto-Rig Tool', w=(300), h=(350))
# Main layout
self.mainLayout = mc.menuBarLayout()
### Joints Option ###
# Create Joints Button
self.createJointsButton = mc.button(label='Create Joints', command=self.Joints.gen_arms_joints)
Window_UI()
mc.showWindow()
Затем Class_Joints:
import maya.cmds as mc
class Gen_Joints:
# Creating arm Jnts and the list of it
def gen_arms_joints(self):
self.shoulderJnt = mc.joint(absolute=True, position=[5,8,0], n='L_Shoulder_Jnt')
self.elbowJnt = mc.joint(absolute=True, position=[10,8,-1.5], n='L_Elbow_Jnt')
self.wristJnt = mc.joint(absolute=True, position=[15,8,0], n='L_Wrist_Jnt')
self.handcupJnt = mc.joint(absolute=True, position=[18,8,0], n='L_HandCup_Jnt')
self.jntList = mc.ls(self.shoulderJnt, self.elbowJnt, self.wristJnt, self.handcupJnt)
Когда я запускаю Class_UI
Код, кнопка в пользовательском интерфейсе должна запускать метод gen_arms_joints
в Class_Joints
Но я получаю это сообщение об ошибке: # Error: gen_arms_joints() takes exactly 1 argument (2 given) #
Я знаю, что self - это здесь неявный аргумент, но я не знаю, как избежать этой ошибки.
Всем спасибо за ваше время. : D
С уважением, Лука.