コード例 #1
0
        f = open(os.path.join(getScriptPath(), 'ControlNameData.json'), 'r')
        controlDT = json.load(f)
        f.close()

        #- set Data
        for ctl in selectControl:
            if ctl in controlDT.get(self.Button, []):
                controlDT.get(self.Button, []).remove(ctl)

        #- save Data
        f = open(os.path.join(getScriptPath(), 'ControlNameData.json'), 'w')
        json.dump(controlDT, f, indent=4)
        f.close()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'ControlSelecterUI.ui'))


class ControlSelecterWnd(windowClass, baseClass):
    selectAdd = False

    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'ControlSelecterWindow'):
            return
        super(ControlSelecterWnd, self).__init__(parent)
        self.setupUi(self)
        self.show()

        #- connect Signal
        for btn in self.groupBox.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)
コード例 #2
0
        if not mc.objExists(obj):
            print 'Error -> obj  %s  was not Exists...' % obj
            return
        if not mc.attributeQuery(attribute, n=obj, ex=True):
            print 'Error -> attributes  %s  was not Exists...' % arg
            return

    mc.delete(mc.keyframe(dsn, q=True, n=True))

    driverValues = mc.keyframe(src, q=True, fc=True)
    drivenValues = mc.keyframe(src, q=True, vc=True)
    for drv, dnv in zip(driverValues, drivenValues):
        mc.setDrivenKeyframe(dsn, cd=dsr, dv=drv, v=dnv * mirror)


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'mirrorDrivenKeys.ui'))


class MirrorDrivenKeysUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorDrivenkeysWindow'):
            return

        super(MirrorDrivenKeysUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------------------------------------------------
        self.__SrcOBJ = None
        self.__DstOBJ = None

        self.__model_SrcDriver = ListModel()
コード例 #3
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 20 Nov 2014 17:10:31
#========================================
import os.path, time, findCoincidentGeometry
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'findCoincidentGeometry.ui'))
class findCoincidentGeometryUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'findCoincidentGeometryUI'):
            return
        super(findCoincidentGeometryUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
    
    def on_pushButton_clicked(self, args=None):
        if args == None:return
        self.plainTextEdit.setPlainText('')
        self.plainTextEdit.appendPlainText('------ %s ------'%time.strftime("%H:%M:%S", time.localtime()))
        
        geometrys = findCoincidentGeometry.findCoincidentGeometrys()
        
        self.plainTextEdit.appendPlainText('\n'.join(geometrys))
        self.plainTextEdit.appendPlainText('------ %s ------'%time.strftime("%H:%M:%S", time.localtime()))
コード例 #4
0
    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__modelData[index.row()]

    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()

    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "replaceUV.ui"))


class ReplaceUV(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, "replaceUVwindow"):
            return

        super(ReplaceUV, self).__init__(parent)
        self.setupUi(self)
        # ----------------
        self.__listModel = ListModel()
        self.listView.setModel(self.__listModel)
        # ----------------
        self.show()
コード例 #5
0
import os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'ChangeOBJpivot.ui'))


class ChangeOBJpivot(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'changeObjectPivotWindow'):
            return

        super(ChangeOBJpivot, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def on_actionLoadMoveOBJ_triggered(self, args=None):
        if args == None: return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0: return
        if SelectOBJ[0] == str(self.KeepedOBJLineEdit.text()): return

        self.MovedOBJLineEdit.setText(SelectOBJ[0])

    def on_actionLoadKeepOBJ_triggered(self, args=None):
        if args == None: return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0: return
        if SelectOBJ[0] == str(self.MovedOBJLineEdit.text()): return
コード例 #6
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 16 Oct 2014 10:31:59
#========================================
import os.path
from FoleyUtils import scriptTool, uiTool
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
baseClass, windowClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'clusterWeightsUI.ui'))
class ClusterWeightsUI(baseClass, windowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'MirrorClusterWindow'):
            return             
        super(ClusterWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        
    def on_btn_Geometry_clicked(self, args=None):
        if args == None:return
        sel = mc.ls(sl=True)
        if len(sel) < 1:return
        if not mc.listRelatives(sel[0], s=True, type='mesh'):return
        self.let_Geometry.setText(sel[0])
    
    
    def on_btn_Source_clicked(self, args=None):
        if args == None:return
        sel = mc.ls(sl=True)
        if len(sel) < 1:return
コード例 #7
0
        Jnt = mc.joint(p=(0, 0, 0))
        Loc = mc.spaceLocator(p=(0, 0, 0))[0]
        uValue = 0.0
        
        if not uValuezerotoone:
            uValue = i
        else:
            uValue = (float(i) - 0) / (float(JointCounts - 1) - 0) * (1.0 - 0.0) + 0.0
        
        _Attach(UppathCus, Loc, uValue, None, uValuezerotoone)
        _Attach(basePathCus, Jnt, uValue, Loc, uValuezerotoone)




UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'makeAttachJoints.ui'))
class makeAttachJoints(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'makeAttachJointsWindow'):
            return

        super(makeAttachJoints, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------


    def on_actionLoadBaseCurve_triggered(self, clicked=None):
        if clicked==None:return
        SelOBJ = mc.ls(sl=True)
        if len(SelOBJ) == 1:
コード例 #8
0
ファイル: RootUI.py プロジェクト: AtonLerin/RiggingTeamTools
#=============================================
# author: changlong.zang
#   mail: [email protected]
#   date: Wed, 25 Jun 2014 14:43:02
#=============================================
import os
from PyQt4 import QtGui
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Uiwnd, UiClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'RootUI.ui'))

class PlugTool(Uiwnd, UiClass):
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'DDrigTools'):
            return
        
        super(PlugTool, self).__init__(parent)
        self.setupUi(self)
        
        #===============================================
        self.tabWidget.setCurrentIndex(0)
        self.toolBox.setCurrentIndex(1)
        #============================================================================================================
        self.setWindowIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'windowIcon.png')))
        self.btn_TitleA.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
        self.btn_TitleB.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
        self.btn_TitleC.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
        
        self.btn_GrabWindow.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'scissors.png')))        
        self.btn_CleanWindows.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'brush.png')))
        self.btn_Help.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(),   'icons', 'help.png')))
コード例 #9
0
import os
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIClass, BaseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'quickSetDrivenKey.ui'))


class QuickSetDrivenKey(UIClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'quickSetDrivenKeywindow'):
            return

        super(QuickSetDrivenKey, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def _loadAttribute(self, LineEdit):
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0: return

        SelectAttriBute = mc.channelBox('mainChannelBox', q=True, sma=True)
        if SelectAttriBute == None: return

        LineEdit.setText('%s.%s' % (SelectOBJ[-1], SelectAttriBute[0]))

    def on_actionLoadDriverAttribute_triggered(self, args=None):
        if args == None: return
        self._loadAttribute(self.DriverAttributeLineEdit)
コード例 #10
0
        if role == QtCore.Qt.ForegroundRole:
            if self.__attributes[index.row()] in self.openAttrLst:
                return QtGui.QColor(255, 170, 127)

    def insertRow(self, row, value, index=QtCore.QModelIndex()):
        self.beginInsertRows(index, row, row)
        self.__attributes.insert(row, value)
        self.endInsertRows()

    def clear(self):
        self.beginRemoveColumns(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__attributes[:]
        self.endRemoveRows()


shapeBaseClass, shapeWindowClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'ShapeBuilderUI.ui'))


class ShapeBuilderUI(shapeBaseClass, shapeWindowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'ShapeBuilderWindow'):
            return

        super(ShapeBuilderUI, self).__init__(parent)
        self.setupUi(self)
        #---------------------------------------------------
        self.__AttributeModel = BlendShapeModel()
        self.listView_attributeList.setModel(self.__AttributeModel)
        #---------------------------------------------------
        self.widget_Bs.setEnabled(True)
        self.widget_BsBs.setEnabled(False)
コード例 #11
0
#=================================
# author: changlong.zang
#   date: 2014-05-05
#=================================
import os, re
import maya.cmds as mc
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

WindowClass, BaseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'buildTargents.ui'))


class BuildTargents(WindowClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'buildTargentsWindow'):
            return

        super(BuildTargents, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_actionLoad_Object_triggered(self, args=None):
        if args == None: return
        selOBJ = mc.ls(sl=True)
        if selOBJ == []: return

        self.LET_Geometry.setText(selOBJ[0])

        blendShapes = mc.ls(mc.listHistory(selOBJ[0]), type='blendShape')
        if blendShapes == []:
コード例 #12
0
import os.path
from PyQt4 import QtGui
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'mirrorSDK.ui'))


class MirrorSetDrivenKey(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorSDKwindow'):
            return

        super(MirrorSetDrivenKey, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
        self.sourceAtrLst = []
        self.targentAtrLst = []

    def on_btn_deleteItem_clicked(self, args=None):
        if args == None: return

        for item in self.SourceAttributeList.selectedItems():
            for x in self.sourceAtrLst:
                if x[1] == item.text():
                    self.sourceAtrLst.remove(x)
                    break
コード例 #13
0
#=============================================
# author: changlong.zang
#   mail: [email protected]
#   date: Wed, 09 Jul 2014 10:49:27
#=============================================
import os, math, re
from FoleyUtils import scriptTool, uiTool, ioTool
from PyQt4 import QtCore, QtGui
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'FixShape.ui'))


class ListModel(QtCore.QAbstractListModel):
    def __init__(self, L=[], parent=None):
        super(ListModel, self).__init__(parent)
        self.__data = L[:]

    def rowCount(self, index=QtCore.QModelIndex()):
        return len(self.__data)

    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__data[index.row()]

    def refresh(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__data[:]
        self.endRemoveRows()
コード例 #14
0
    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__modelData[index.row()]

    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()

    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'replaceUV.ui'))


class ReplaceUV(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'replaceUVwindow'): return

        super(ReplaceUV, self).__init__(parent)
        self.setupUi(self)
        #----------------
        self.__listModel = ListModel()
        self.listView.setModel(self.__listModel)
        #----------------
        self.show()

    def on_btn_search_clicked(self, clicked=None):
コード例 #15
0
#=================================
# author: changlong.zang
#   date: 2014-05-05
#=================================
import os, re
import maya.cmds as mc
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

WindowClass, BaseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'buildTargents.ui'))
class BuildTargents(WindowClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'buildTargentsWindow'):
            return         
        
        super(BuildTargents, self).__init__(parent)
        self.setupUi(self)
        self.show()


    def on_actionLoad_Object_triggered(self, args=None):
        if args==None:return
        selOBJ = mc.ls(sl=True)
        if selOBJ == []:return
        
        self.LET_Geometry.setText(selOBJ[0])
        
        blendShapes = mc.ls(mc.listHistory(selOBJ[0]), type='blendShape')
        if blendShapes == []:
            self.LET_BlendShape.setText('')
            return
コード例 #16
0
def getNewVersionFile(path):
    lastVersion = publishTool.getLastVersion(path)
    newVersion = publishTool.getNewVersion(path)

    lastFile = publishTool.getVersiondFile(path, lastVersion)
    if os.path.isfile(lastFile):
        newFile = re.sub('v%s\.' % lastVersion, 'v%s.' % newVersion, lastFile)
    else:
        newFile = tempfile.mktemp('.ma')
    return newFile


#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'AnimSceneReader.ui'))


class AnimSceneReaderUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'AnimFileReader'):
            return
        #--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        super(AnimSceneReaderUI, self).__init__(parent)
        self.setupUi(self)

        #-+
        icon = QtGui.QIcon()
        icon.addPixmap(
            QtGui.QPixmap(
                os.path.join(scriptTool.getScriptPath(), 'icons',
コード例 #17
0
import os, json
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'SetDrivenKeysforToes.ui'))


class SetDrivenKeyforToes(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'setDrivenKeyForToesWindow'):
            return
        super(SetDrivenKeyforToes, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def setRange(self, Value, OldMin, OldMax, minV, maxV):
        OutValue = minV + (((Value - OldMin) / (OldMax - OldMin)) *
                           (maxV - minV))
        return OutValue

    def on_actionSetkeys_triggered(self, clicked=None):
        if clicked == None: return
        if not os.path.exists('D:/toe.json'): return
        # open File
        f = open('D:/toe.json', 'r')
        ControlNameData = json.load(f)
        f.close()

        # get Axis
コード例 #18
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Mon, 22 Sep 2014 10:35:13
#========================================
import os.path
import maya.cmds as mc
import maya.mel as mel
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

bodywndClass, bodybaseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'transWeights.ui'))
class transWeightsUI(bodywndClass, bodybaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'transSkeletonToClusters'):
            return 
        
        super(transWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
    
    def on_btn_LoadGeometry_clicked(self, clicked=None):
        if clicked == None:return
        sel = mc.ls(sl=True)
        if len(sel) < 1:
            return
        
        self.LET_Geometry.setText(sel[0])
    
    
    def on_btn_LoadSkeleton_clicked(self, clicked=None):
コード例 #19
0
import os.path 
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ChangeOBJpivot.ui'))
class ChangeOBJpivot(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'changeObjectPivotWindow'):
            return 
        
        super(ChangeOBJpivot, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
    
    
    def on_actionLoadMoveOBJ_triggered(self, args=None):
        if args==None:return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0:return
        if SelectOBJ[0] == str(self.KeepedOBJLineEdit.text()):return
        
        self.MovedOBJLineEdit.setText(SelectOBJ[0])




    def on_actionLoadKeepOBJ_triggered(self, args=None):
        if args==None:return
        SelectOBJ = mc.ls(sl=True)
コード例 #20
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Sun, 04 Jan 2015 13:39:56
#========================================
import sys, os, functools
from FoleyUtils import scriptTool, uiTool
from PyQt4 import QtCore, QtGui
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
baseClass, windowClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ProjectTool_UI.ui'))
class ProjectUI(baseClass, windowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'ProjectWindow'):
            return
        
        super(ProjectUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-
        project_icon = QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'map_pin.png'))
        self.btn_getProject.setIcon(project_icon)
        
        window_icon = QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'windowIcon.png'))
        self.setWindowIcon(window_icon)
        #-
        self.tableModel = TableModel()
        self.tableView.setModel(self.tableModel)
        #-
        self.delegate = Delegate(self)
        self.tableView.setItemDelegateForColumn(1, self.delegate)
コード例 #21
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Fri, 24 Oct 2014 10:45:39
#========================================
import string, re, os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'inspectScene.ui'))
class InspectSceneUI(UIwndClass, baseClass):
    
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'inspectSceneWindow'):
            return
        
        super(InspectSceneUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
    
    
    def on_actionInspectScene_triggered(self, *agrs):
        if not agrs:return
        self.DuplacatesNamesOBJ  = InspectScene.inspectDuplicatesNames()
        self.NoFreeGeometeys     = InspectScene.inspectGeometryAttributes()
        self.DuplicatesShapesOBJ = InspectScene.insepectDuplicatesShapes()
        
        #-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
        def _readResult(OBJList, Field, Button):
コード例 #22
0
def getNewVersionFile(path):
    lastVersion = publishTool.getLastVersion(path)
    newVersion  = publishTool.getNewVersion(path)

    lastFile = publishTool.getVersiondFile(path, lastVersion)
    if os.path.isfile(lastFile):
        newFile = re.sub('v%s\.'%lastVersion, 'v%s.'%newVersion, lastFile)
    else:
        newFile = tempfile.mktemp('.ma')
    return newFile

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'AnimSceneReader.ui'))
class AnimSceneReaderUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'AnimFileReader'):
            return
        #--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        super(AnimSceneReaderUI, self).__init__(parent)
        self.setupUi(self)

        #-+
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'map_pin.png')))
        self.btn_SelectPath.setIcon(icon)


        icon = QtGui.QIcon()
コード例 #23
0
import os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'quickSDKTool.ui'))


class quickSDK(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'quickSDKwindow'):
            return

        super(quickSDK, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def on_actionLoadAttributes_triggered(self, clicked=None):
        if clicked == None: return

        mainChannelBox = 'mainChannelBox'
        ChannelBoxs = mc.lsUI(typ='channelBox')
        ChannelBoxs.remove(mainChannelBox)
        if len(ChannelBoxs) == 0: return

        DriverOBJ = mc.channelBox(mainChannelBox, q=True, mol=True)
        DriverAttr = mc.channelBox(mainChannelBox, q=True, sma=True)

        if not DriverOBJ or not DriverAttr: return
        self.driverAttributelineEdit.setText('%s.%s' %
コード例 #24
0
            return self.__modelData[index.row()]


    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()
    
    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()



windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'CopyBlendShapeWeights.ui'))
class CopyBlendShapeWeightsUI(windowClass, baseClass):
    def __init__(self, parent):
        if uiTool.windowExists(parent, 'CopyBlendShapeWeightUI'):
            return
        super(CopyBlendShapeWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
        iconPath = os.path.join(scriptTool.getScriptPath(), 'icons')
        
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'refresh.png')))
        self.btn_refresh.setIcon(icon)
        
        icon = QtGui.QIcon()
コード例 #25
0
    influcences = mc.skinCluster(skincluster, q=True, inf=True)
    vtxCount = mc.polyEvaluate(geometry, v=True)
    index = influcences.index(Joint)
    weights = []
    for i in range(vtxCount):
        weights.append(mc.skinPercent(skincluster, "%s.vtx[%d]" % (geometry, i), q=True, v=True)[index])
    return weights


def setSkinCluster(geometry, Joint, weights):
    skincluster = mayaTool.findSkinCluster(geometry)
    for i, w in enumerate(weights):
        mc.skinPercent(skincluster, "%s.vtx[%d]" % (geometry, i), tv=(Joint, w))


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "TransWeights.ui"))


class TransWeightsUI(windowClass, baseClass):
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, "TransWeightsUI"):
            return
        # ---------------------------------------------------------------------------------------------------
        super(TransWeightsUI, self).__init__(parent)
        self.setupUi(self)

        self.btn_LoadSkin.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_LoadJoint.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_Export.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "export.png")))
        self.btn_Import.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "import.png")))
コード例 #26
0
#=================================
# author: changlong.zang
#   date: 2014-06-10
#=================================
import os.path
from FoleyUtils import scriptTool, uiTool
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'createControlSet.ui'))
class CreateControlSetUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'makeControlSetUI'):
            return 
        super(CreateControlSetUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
    
    #=============================================================================================
    def __createSet(self, name):
        if not mc.objExists(name):
            mc.sets(n=name, em=True)
        if name != 'Allctrls': return
        
        if mc.objExists('body_Ctrls'):
            mc.sets('body_Ctrls', add=name)
            
        if mc.objExists('facial_Ctrls'):
            mc.sets('facial_Ctrls', add=name)

コード例 #27
0
import os.path
from PyQt4 import QtGui
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorSDK.ui'))
class MirrorSetDrivenKey(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorSDKwindow'):
            return        
        
        super(MirrorSetDrivenKey, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
        self.sourceAtrLst = []
        self.targentAtrLst = []

    
    def on_btn_deleteItem_clicked(self, args=None):
        if args==None:return
        
        for item in self.SourceAttributeList.selectedItems():
            for x in self.sourceAtrLst:
                if x[1] == item.text():
                    self.sourceAtrLst.remove(x)
                    break
        strings = self.SearchFLD.text()
コード例 #28
0
import os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'quickSDKTool.ui'))
class quickSDK(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'quickSDKwindow'):
            return        
        
        super(quickSDK, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------


    def on_actionLoadAttributes_triggered(self, clicked=None):
        if clicked==None:return
        
        
        mainChannelBox = 'mainChannelBox'  
        ChannelBoxs = mc.lsUI(typ='channelBox')
        ChannelBoxs.remove(mainChannelBox)
        if len(ChannelBoxs) == 0:return
        
        
        
        DriverOBJ = mc.channelBox(mainChannelBox, q=True, mol=True)
        DriverAttr = mc.channelBox(mainChannelBox, q=True, sma=True)
        
コード例 #29
0
#   date: Tue, 29 Jul 2014 09:29:32
#=============================================
import math, re, os
import maya.cmds as mc
from FoleyUtils import uiTool, scriptTool, mayaTool, mathTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#- Refresh Characters                                           +
#- Guess Character Type                                         +
#- Left arm, Right arm, Left leg, Right leg                     +
#- Left foreleg, Right foreleg, Left hindleg, Right hindleg     +
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Uiwnd, UiClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'IKFKSwitch.ui'))
class IKFKSwitch(Uiwnd, UiClass):
    def __init__(self, parent = None):
        if uiTool.windowExists(parent, 'DDikfkSwitchWindow'):
                return    
            
        super(IKFKSwitch, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #--------
        self.on_actionRefreshCharacter_triggered(True)

    
    def on_actionRefreshCharacter_triggered(self, args=None):
        if args==None:return
        self.Controls = ' '.join(mc.ls())
コード例 #30
0
        f.close()
        
        #- set Data
        for ctl in selectControl:
            if ctl in controlDT.get(self.Button, []):
                controlDT.get(self.Button, []).remove(ctl)
        
        #- save Data
        f = open(os.path.join(getScriptPath(), 'ControlNameData.json'), 'w')
        json.dump(controlDT, f, indent=4)
        f.close()  




windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ControlSelecterUI.ui'))
class ControlSelecterWnd(windowClass, baseClass):
    selectAdd = False
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'ControlSelecterWindow'):
            return        
        super(ControlSelecterWnd, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        #- connect Signal
        for btn in self.groupBox.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)

        for btn in self.groupBox_2.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)    
コード例 #31
0
        '''
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__baseList[:]
        del self.__fileList[:]
        self.endRemoveRows()

    def getValue(self, row):
        return self.__baseList[row]

    def result(self):
        return self.__baseList, self.__fileList


#-------------------------------------------------------------------------------------

windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'nameToolUI.ui'))


class NameUI(windowClass, baseClass):
    '''
    user control pannel...
    '''
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'foleyNameToolWindow'):
            return

        super(NameUI, self).__init__(parent)
        self.setupUi(self)
        #----------------------------------------------------
        #- hide control
        self.widget_windows.setVisible(False)
コード例 #32
0
#=============================================
# author: changlong.zang
#   mail: [email protected]
#   date: Wed, 25 Jun 2014 14:43:02
#=============================================
import os
from PyQt4 import QtGui
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Uiwnd, UiClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'RootUI.ui'))


class PlugTool(Uiwnd, UiClass):
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'DDrigTools'):
            return

        super(PlugTool, self).__init__(parent)
        self.setupUi(self)

        #===============================================
        self.tabWidget.setCurrentIndex(0)
        self.toolBox.setCurrentIndex(1)
        #============================================================================================================
        self.setWindowIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'windowIcon.png')))
        self.btn_TitleA.setIcon(
            QtGui.QIcon(
コード例 #33
0
import os, json
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'SetDrivenKeysforToes.ui'))
class SetDrivenKeyforToes(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'setDrivenKeyForToesWindow'):
            return
        super(SetDrivenKeyforToes, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------


    def setRange(self, Value, OldMin, OldMax, minV, maxV):
        OutValue = minV + (((Value-OldMin)/(OldMax-OldMin)) * (maxV-minV))
        return OutValue
    
    
    
    def on_actionSetkeys_triggered(self, clicked=None):
        if clicked==None:return
        if not os.path.exists('D:/toe.json'):return
        # open File
        f = open('D:/toe.json', 'r')
        ControlNameData = json.load(f)
        f.close()

        # get Axis
コード例 #34
0
#=============================================
# author: changlong.zang
#   mail: [email protected]
#   date: Wed, 09 Jul 2014 10:49:27
#=============================================
import os, math, re
from FoleyUtils import scriptTool, uiTool, ioTool
from PyQt4 import QtCore, QtGui
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'FixShape.ui'))

class ListModel(QtCore.QAbstractListModel):
    def __init__(self, L=[], parent=None):
        super(ListModel, self).__init__(parent)
        self.__data = L[:]


    def rowCount(self, index=QtCore.QModelIndex()):
        return len(self.__data)


    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__data[index.row()]
    
    
    def refresh(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__data[:]
        self.endRemoveRows()
コード例 #35
0
import os.path, re
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorCtlShp.ui'))
class MirrorControlShp(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorControlShapeUI'):return 
        super(MirrorControlShp, self).__init__(parent)
        self.setupUi(self)
        self.show()


    def on_btn_mirror_clicked(self, click=None):
        if click == None:return
        controlType = str(self.fld_controlType.text())
        
        flipAxis = 'X'
        if self.rdn_filpX.isChecked():
            flipAxis = 'X'
        elif self.rdn_filpY.isChecked():
            flipAxis = 'Y'
        else:
            flipAxis = 'Z'


        if self.rdn_lefttoright.isChecked():
            mirrorControlShape(controlType, 'L', 'R', flipAxis)
        else:
            mirrorControlShape(controlType, 'R', 'L', flipAxis)
コード例 #36
0
            return
        if not mc.attributeQuery(attribute, n=obj, ex=True):
            print 'Error -> attributes  %s  was not Exists...'%arg
            return
    
    mc.delete(mc.keyframe(dsn, q=True, n=True))
    
    driverValues = mc.keyframe(src, q=True, fc=True)
    drivenValues = mc.keyframe(src, q=True, vc=True)
    for drv, dnv in zip(driverValues, drivenValues):
        mc.setDrivenKeyframe(dsn, cd=dsr, dv=drv, v=dnv * mirror)
    
    

    
windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorDrivenKeys.ui'))
class MirrorDrivenKeysUI(windowClass, baseClass):

    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorDrivenkeysWindow'):
            return
        
        super(MirrorDrivenKeysUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------------------------------------------------
        self.__SrcOBJ = None
        self.__DstOBJ = None
        
        self.__model_SrcDriver = ListModel()
        self.__model_SrcDriven = ListModel()
コード例 #37
0
        """
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__baseList[:]
        del self.__fileList[:]
        self.endRemoveRows()

    def getValue(self, row):
        return self.__baseList[row]

    def result(self):
        return self.__baseList, self.__fileList


# -------------------------------------------------------------------------------------

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "nameToolUI.ui"))


class NameUI(windowClass, baseClass):
    """
    user control pannel...
    """

    def __init__(self, parent=None):
        if uiTool.windowExists(parent, "foleyNameToolWindow"):
            return

        super(NameUI, self).__init__(parent)
        self.setupUi(self)
        # ----------------------------------------------------
        # - hide control
コード例 #38
0

    def insertRow(self, row, value, index=QtCore.QModelIndex()):
        self.beginInsertRows(index, row, row)
        self.__attributes.insert(row, value)
        self.endInsertRows()


    def clear(self):
        self.beginRemoveColumns(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__attributes[:]
        self.endRemoveRows()



shapeBaseClass, shapeWindowClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ShapeBuilderUI.ui'))
class ShapeBuilderUI(shapeBaseClass, shapeWindowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'ShapeBuilderWindow'):
            return         

        super(ShapeBuilderUI, self).__init__(parent)
        self.setupUi(self)
        #---------------------------------------------------
        self.__AttributeModel = BlendShapeModel()
        self.listView_attributeList.setModel(self.__AttributeModel)
        #---------------------------------------------------
        self.widget_Bs.setEnabled(True)
        self.widget_BsBs.setEnabled(False)
        self.widget_SkinBs.setEnabled(False)
               
コード例 #39
0
    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__modelData[index.row()]

    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()

    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'CopyBlendShapeWeights.ui'))


class CopyBlendShapeWeightsUI(windowClass, baseClass):
    def __init__(self, parent):
        if uiTool.windowExists(parent, 'CopyBlendShapeWeightUI'):
            return
        super(CopyBlendShapeWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
        iconPath = os.path.join(scriptTool.getScriptPath(), 'icons')

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'refresh.png')))
        self.btn_refresh.setIcon(icon)
コード例 #40
0
import os.path, re
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool

windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'mirrorCtlShp.ui'))


class MirrorControlShp(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorControlShapeUI'): return
        super(MirrorControlShp, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_mirror_clicked(self, click=None):
        if click == None: return
        controlType = str(self.fld_controlType.text())

        flipAxis = 'X'
        if self.rdn_filpX.isChecked():
            flipAxis = 'X'
        elif self.rdn_filpY.isChecked():
            flipAxis = 'Y'
        else:
            flipAxis = 'Z'

        if self.rdn_lefttoright.isChecked():
            mirrorControlShape(controlType, 'L', 'R', flipAxis)
        else:
            mirrorControlShape(controlType, 'R', 'L', flipAxis)
コード例 #41
0
    def data(self, index, role=QtCore.Qt.DisplayRole):
        if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole:
            return self.LIST_DATA[index.row()]
    
    
    def changeData(self, inputData):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.LIST_DATA[:]
        self.endRemoveRows()
        
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.LIST_DATA = inputData
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'weightsTool.ui'))

class WeightsTool(windowClass, baseClass):
    SOURCE_DEFORM_TYPE = 'cluster'
    TARGET_DEFORM_TYPE = 'cluster'
    
    def __init__(self, parent=None):
        super(WeightsTool, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        self.SOURCE_MODEL = ListModel()
        self.TARGET_MODEL = ListModel()
        self.VIW_Source.setModel(self.SOURCE_MODEL)
        self.VIW_Target.setModel(self.TARGET_MODEL)
        
コード例 #42
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Mon, 22 Sep 2014 10:35:13
#========================================
import os.path
import maya.cmds as mc
import maya.mel as mel
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

bodywndClass, bodybaseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'transWeights.ui'))


class transWeightsUI(bodywndClass, bodybaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'transSkeletonToClusters'):
            return

        super(transWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_LoadGeometry_clicked(self, clicked=None):
        if clicked == None: return
        sel = mc.ls(sl=True)
        if len(sel) < 1:
            return

        self.LET_Geometry.setText(sel[0])
コード例 #43
0
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 20 Nov 2014 17:10:31
#========================================
import os.path, time, findCoincidentGeometry
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'findCoincidentGeometry.ui'))


class findCoincidentGeometryUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'findCoincidentGeometryUI'):
            return
        super(findCoincidentGeometryUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------

    def on_pushButton_clicked(self, args=None):
        if args == None: return
        self.plainTextEdit.setPlainText('')
        self.plainTextEdit.appendPlainText(
            '------ %s ------' % time.strftime("%H:%M:%S", time.localtime()))

        geometrys = findCoincidentGeometry.findCoincidentGeometrys()

        self.plainTextEdit.appendPlainText('\n'.join(geometrys))
        self.plainTextEdit.appendPlainText(
コード例 #44
0
#=================================
# author: changlong.zang
#   date: 2014-06-23
#=================================
import os.path
import maya.cmds as mc
from PyQt4 import QtGui
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'addGroups.ui'))
class AddGroup(windowClass, baseClass):
    '''
    user control pannel...
    '''
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'addGroupWindow'):
            return 
        
        super(AddGroup, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_append_clicked(self, args=None):
        if args == None:return
        lineEdit = QtGui.QLineEdit(self.scrollArea)
        font = QtGui.QFont()
        font.setPointSize(10)
        lineEdit.setFont(font)
        lineEdit.setMinimumHeight(25)
        self.verticalLayout_4.insertWidget(self.verticalLayout_4.count()-1, lineEdit)
コード例 #45
0
    def data(self, index, role=QtCore.Qt.DisplayRole):
        if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole:
            return self.LIST_DATA[index.row()]

    def changeData(self, inputData):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.LIST_DATA[:]
        self.endRemoveRows()

        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.LIST_DATA = inputData
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'weightsTool.ui'))


class WeightsTool(windowClass, baseClass):
    SOURCE_DEFORM_TYPE = 'cluster'
    TARGET_DEFORM_TYPE = 'cluster'

    def __init__(self, parent=None):
        super(WeightsTool, self).__init__(parent)
        self.setupUi(self)
        self.show()

        self.SOURCE_MODEL = ListModel()
        self.TARGET_MODEL = ListModel()
        self.VIW_Source.setModel(self.SOURCE_MODEL)
        self.VIW_Target.setModel(self.TARGET_MODEL)
コード例 #46
0
import os
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


UIClass, BaseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'quickSetDrivenKey.ui'))

class QuickSetDrivenKey(UIClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'quickSetDrivenKeywindow'):
            return        
        
        super(QuickSetDrivenKey, self).__init__(parent)
        self.setupUi(self)
        self.show()
    
       
    def _loadAttribute(self, LineEdit):
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0:return
        
        SelectAttriBute = mc.channelBox('mainChannelBox', q=True, sma=True)
        if SelectAttriBute == None:return
        
        LineEdit.setText('%s.%s'%(SelectOBJ[-1], SelectAttriBute[0]))
        
       
        
    def on_actionLoadDriverAttribute_triggered(self, args=None):
        if args==None:return