Ejemplo n.º 1
0
 def selectedFilesFromList(self):
     ctrlPath = '|'.join([self.window, 'groupBox', 'listWidget']);
     self.selectedFiles = cmds.textScrollList(ctrlPath, query=True, si=True);
     
     self.filesToCreate = 0
     self.filesCreated = 0
     self.createdErrors = 0
     
     if not self.selectedFiles:
         updateProgressMessage(self.window, 0, 0, 0)    
         return
     
     list = cmds.textScrollList(ctrlPath, query=True, ai=True);
     
     for i in range(len(self.selectedFiles)):
         texture = self.selectedFiles[i]
         if texture.startswith('       '):
             self.selectedFiles[i] = texture.replace('       ','',1)
         elif texture.startswith('(tx) '):
             self.selectedFiles[i] = texture.replace('(tx) ','',1)
         else:
             self.selectedFiles[i] = ""
             continue;
         texture = self.selectedFiles[i]
         if 'udim' in os.path.basename(texture):
             udims = getUdims(texture)
             self.filesToCreate += len(udims)
         else:
             self.filesToCreate += 1
     
     updateProgressMessage(self.window, self.filesCreated, self.filesToCreate, 0)
     ctrlPath = '|'.join([self.window, 'groupBox_3', 'label_10']);
     cmds.text(ctrlPath, edit=True, label="");
Ejemplo n.º 2
0
def showUI():
    win = 'lsWireOffset_window'
    
    # if window exists, delete
    if mc.window(win, ex=True):
        mc.deleteUI(win, wnd=True)
        
    # delete window prefs... if you want...
    mc.windowPref(win, remove=True)
    
    # create window
    mc.window(win, t='lsWireOffset v0.1', wh=(200,335), mxb=False)
    
    # main column
    mainCol = mc.columnLayout(columnAttach=('both', 5), rowSpacing=10, columnWidth=200)
    
    # creation frame
    createFrm = mc.frameLayout(p=mainCol, cl=False, l='Create New Module')
    createCol = mc.columnLayout(columnAttach=('both', 5), rowSpacing=5, columnWidth=188)
    nameTxtFld = mc.textFieldGrp( label='Name: ', text='', cw2=(40,125), p=createCol)
    mc.text(l='Select edge loop OR \n vertices and...')
    creationBtn = mc.button(l='Create', c="lsWireOffset.ui.createNew('%s')"%nameTxtFld)
    
    # edit frame
    editFrm = mc.frameLayout(p=mainCol, cl=False, l='Edit Existing Modules')
    editCol = mc.columnLayout(columnAttach=('both', 5), rowSpacing=5, columnWidth=188)
    scrollList = mc.textScrollList(win+'_wTSL')
    
    refreshTSL(scrollList)
    
    # popop menu for right click
    mc.popupMenu(win+'_wTSL_MM', p=scrollList, mm=True, button=3, pmc=buildMM)
    
    mc.showWindow(win)
Ejemplo n.º 3
0
 def build(self):
     if mc.window( self.win, ex=1 ): mc.deleteUI( self.win )
     if mc.windowPref( self.win, ex=1 ): mc.windowPref( self.win, remove=1 )
     mc.window(self.win, title=self.title, wh=(410,378))
     mc.columnLayout( 'mainColumn', adj=True )
     mc.separator( h=10 )
     mc.rowLayout( numberOfColumns=2, columnWidth2=(200, 200), columnAttach=[(1, "both", 5),(2 ,"both", 5)] )
     mc.columnLayout( adj=True, columnAlign="center" )
     mc.text( l=self.textsk )
     self.skcharacterList = mc.textScrollList( numberOfRows=20, allowMultiSelection=True  )
     mc.setParent('..')
     mc.columnLayout( adj=True, columnAlign="center" )
     mc.text( l=self.textqp )
     self.qpcharacterList = mc.textScrollList( numberOfRows=20, allowMultiSelection=True  )
     mc.setParent( '..' )
     mc.setParent('..')
     mc.separator ( h=10 )
     mc.rowLayout( numberOfColumns=4, columnWidth4=(100, 100, 100, 100), columnAttach=[(1, "both", 1),(2 ,"both", 1), (3 ,"both", 1), (4 ,"both", 1)] )
     mc.button( l=self.buttonsk, c=self.selSKItem )
     mc.button( l=self.buttonAllSk, c=self.mainSK )
     mc.button( l=self.buttonqp, c=self.selQPItem )
     mc.button( l=self.buttonAllQp, c=self.mainQP )
     mc.setParent('..')
     mc.columnLayout( adj=True, columnAlign="center" )
     mc.separator ( h=10 )
     mc.setParent('..')
     self.addSKList()
Ejemplo n.º 4
0
 def selectedFilesFromFolder(self, *args):
     ctrlPath = '|'.join([self.window, 'groupBox_4', 'lineEdit_2']);
     folder = cmds.textField(ctrlPath, query=True, text=True);
     
     self.selectedFiles = []
     
     self.filesToCreate = 0
     self.filesCreated = 0
     self.createdErrors = 0
     
     ctrlPath = '|'.join([self.window, 'groupBox_4', 'checkBox']);
     recursive = cmds.checkBox(ctrlPath, query=True, value=True);
     
     if os.path.isdir(folder):
         if recursive:
             for root, dirs, files in os.walk(folder):
                 for texture in files:
                     if (isImage(texture)):
                         self.selectedFiles.append(os.path.join(root, texture))
                         self.filesToCreate += 1
         else:
             files = os.listdir(folder)
             for texture in files:
                 if (isImage(texture)):
                     self.selectedFiles.append(os.path.join(folder, texture))
                     self.filesToCreate += 1
             
     updateProgressMessage(self.window, self.filesCreated, self.filesToCreate, 0)
     ctrlPath = '|'.join([self.window, 'groupBox_3', 'label_10']);
     cmds.text(ctrlPath, edit=True, label="");
Ejemplo n.º 5
0
def setAttributeVectorUI():
    global tfXIn, tfXOut, tfYIn, tfYOut, tfZIn, tfZOut, tslVectorList, tfXAdd, tfYAdd, tfZAdd, vectorUI
    vectorUI = 'vectorUI'
    closeUI(vectorUI)
    cmds.window(vectorUI, title = 'vectorUI')
    cmds.columnLayout(columnAttach = ['both', 5], rowSpacing = 5, columnWidth = 210)
    cmds.text('..: random range :..', backgroundColor = [0.15, 0.15, 0.0])
    cmds.gridLayout(numberOfColumns = 6, cellWidthHeight = (33, 20))
    tfXIn = cmds.textField(text = '0.0', backgroundColor = [0.15, 0.1, 0.0])
    tfXOut = cmds.textField(text = '1.0', backgroundColor = [0.15, 0.1, 0.0])
    tfYIn = cmds.textField(text = '0.0', backgroundColor = [0.0, 0.15, 0.1])
    tfYOut = cmds.textField(text = '1.0', backgroundColor = [0.0, 0.15, 0.1])
    tfZIn = cmds.textField(text = '0.0', backgroundColor = [0.0, 0.1, 0.15])
    tfZOut = cmds.textField(text = '1.0', backgroundColor = [0.0, 0.1, 0.15])
    cmds.setParent('..')
    cmds.button('ok', command = 'setAttributeVectorRandom()')
    cmds.separator(style = 'out')
    cmds.text('..: vector list :..', backgroundColor = [0.0, 0.15, 0.15])
    tslVectorList = cmds.textScrollList(allowMultiSelection = True)
    cmds.button('remove', command = 'removeScrollListVector()')
    cmds.gridLayout(numberOfColumns = 4, cellWidthHeight = (50, 20))
    tfXAdd = cmds.textField(text = '0.0', backgroundColor = [0.15, 0.1, 0.0])
    tfYAdd = cmds.textField(text = '0.0', backgroundColor = [0.0, 0.15, 0.1])
    tfZAdd = cmds.textField(text = '0.0', backgroundColor = [0.0, 0.1, 0.15])
    cmds.button('add..', command = 'addScrollListVector()')
    cmds.setParent('..')
    cmds.button('random', command = 'setAttributeListVectorRandom()')
    cmds.button('increment %', command = 'setAttributeListVectorInc()')
    cmds.setParent('..')
    cmds.showWindow()
Ejemplo n.º 6
0
def transfertSelectionToTarget_window():
	"""
	This definition creates the 'Transfert Selection To Target' main window.
	"""

	cmds.windowPref(enableAll=False)

	if (cmds.window("transfertSelectionToTarget_window", exists=True)):
		cmds.deleteUI("transfertSelectionToTarget_window")

	cmds.window("transfertSelectionToTarget_window",
		title="Transfert Selection To Target",
		width=320)

	spacing = 5

	cmds.columnLayout(adjustableColumn=True, rowSpacing=spacing)

	cmds.rowLayout(numberOfColumns=3, columnWidth3=(125, 150, 130), adjustableColumn=2, columnAlign=(2, "left"), columnAttach=[(1, "both", spacing), (2, "both", spacing), (3, "both", spacing)])
	cmds.text(label="Target:")
	sources_textField = cmds.textField("target_textField")
	cmds.button("pickTarget_button", label="Pick Target!", command=pickTarget_button_OnClicked)
	cmds.setParent(topLevel=True)

	cmds.separator(style="single")

	cmds.button("transfertSelection_button", label="Transfert Selection!", command=transfertSelection_button_OnClicked)

	setUnsetContextHotkeys()
	scriptJob = cmds.scriptJob(uiDeleted=("transfertSelectionToTarget_window", setUnsetContextHotkeys), runOnce=True)

	cmds.showWindow("transfertSelectionToTarget_window")

	cmds.windowPref(enableAll=True)
Ejemplo n.º 7
0
	def create(self):
		if cmds.window('uvShellAlignWindow', exists = True):
			cmds.deleteUI('uvShellAlignWindow')

		self.window = cmds.window(self.window, title = self.title, widthHeight = self.size)
		self.frameForm = cmds.frameLayout(label = " 1. 基準とする UVShell を選択して登録", bgc = (0.5, 0.3, 0.2), cll = False)
		self.setUVSBtn1 = cmds.button(label = "基準 UVShell を登録"  , command = self.registUVBndBox1, height = 30 )
		cmds.rowLayout( numberOfColumns = 1, adj = True)					

				




		cmds.setParent("..")			
		self.frameForm = cmds.frameLayout(label = " 2. 位置を揃えたい UVShell を選択して実行", bgc = (0.2, 0.3, 0.5), cll = False)
		self.distDcheckBox = cmds.radioButtonGrp('radioBtn', label = "", numberOfRadioButtons = 4 ,
							 sl = 1, cl4 = ['left','left','left','left'] , la4 = [ 'Left', 'Right', 'Bottom', 'Top'], adj = True)

		self.backupPathText = cmds.text("※ 2016/1/5 現在、複数UVを選択した状態での位置揃えには対応していません", font = "smallBoldLabelFont", align = 'left');
		self.setUVSBtn2 = cmds.button(label = "選択した UVShell を揃える" , command = self.registUVBndBox2, height = 30 )
		cmds.setParent("..")	
		
		cmds.separator(width = self.width, style = 'in')
		
		cmds.text("【問い合わせ先】 : TAセクション.村岡", bgc = (0.2, 0.2, 0.2), align = 'left', width = self.width);

		cmds.setParent("..")	
		cmds.showWindow()
Ejemplo n.º 8
0
 def enterTimecodeUI(self, buttonlabel='set', buttonfunc=None):
     '''
     generic UI to enter timecode
     
     :param buttonlabel' = label to add to the button
     :param buttonfunc' = function to bind to the button on exit
     '''
     self.win='Timecode_UI'
     if cmds.window(self.win, exists=True):
         cmds.deleteUI(self.win, window=True)
     cmds.window(self.win, title=self.win)
     cmds.columnLayout(adjustableColumn=True)
     cmds.text(label='Timecode Reference')
     cmds.separator(h=10, style='in')
     cmds.rowColumnLayout(nc=8)
     cmds.text(label='  smpte :  ')
     cmds.textField('tchrs', tx='00', w=40, cc=lambda x:self.__uicb_checkfield('tchrs'))
     cmds.text(label=' : ')
     cmds.textField('tcmins', tx='00', w=40, cc=lambda x:self.__uicb_checkfield('tcmins'))
     cmds.text(label=' : ')
     cmds.textField('tcsecs', tx='00', w=40, cc=lambda x:self.__uicb_checkfield('tcsecs'))
     cmds.text(label=' : ')
     cmds.textField('tcfrms', tx='00', w=40, cc=lambda x:self.__uicb_checkfield('tcfrms'))
     cmds.setParent('..')
     cmds.button(label=buttonlabel, command=lambda x:self.__uicb_gatherTimecode(buttonfunc))
     cmds.showWindow(self.win)
Ejemplo n.º 9
0
 def __uicb_setReferenceBwavNode(self, *args):
     '''
     : PRO_PACK : set the internal reference offset used to offset the audionode. 
     
     .. note::
         If you pass this a bwav then it caches that bwav for use as the offset. 
         If you pass it a node, and that node has the timecode attrs, then it caches the offset itself.
     '''
     selectedAudio=cmds.ls(sl=True, type='audio')
     self.__bwav_reference = None
     self.__cached_tc_offset = None
     if selectedAudio:
         if not len(selectedAudio)==1:
             log.warning("Please only select 1 piece of Audio to use for reference")
             return
         reference=AudioNode(selectedAudio[0])
         if reference.isBwav():
             self.__bwav_reference=selectedAudio[0]
             cmds.text('bwavRefTC', edit=True,
                       label='frame %s == %s' % (reference.startFrame,reference.bwav_timecodeFormatted()))
         else:
             raise IOError("selected Audio node is NOT a Bwav so can't be used as reference")
     else:
         selectedNode = cmds.ls(sl=True,l=True)
         if len(selectedNode)==1:
             relativeTC = self.pro_audio.Timecode(selectedNode[0]).getTimecode_from_node()
             actualframe = cmds.currentTime(q=True)
             self.__cached_tc_offset = actualframe - self.pro_audio.timecode_to_frame(relativeTC)
             cmds.text('bwavRefTC', edit=True,
                       label='frame %s == %s' % (cmds.currentTime(q=True), relativeTC))
         else:
             log.warning("No reference audio track selected for reference")
         return
Ejemplo n.º 10
0
	def OnSelectionChange( self ):
		self.SelectedNodes  = mel.eval( "ls -sl" )
		self.ActiveManip	= None

		# ... informacion del frame seleccionado ...		
		if ( ( self.SelectedNodes != None ) and ( len( self.SelectedNodes ) == 1 ) ):
			selectManip = None
			
			if ( self.TranslationManips != None ):
				selectManip = next( ( manip for manip in self.TranslationManips if manip.GetGizmo() == self.SelectedNodes[ 0 ] ), None )		
							
				if ( selectManip != None ):
					sequence  = next( ( seq for seq in self.SequenceInfo if seq.GetNode() == self.ActiveNode ), None )
					frameInfo = sequence.GetFrameInfo( selectManip.GetFrame() )
					self.ActiveManip =  selectManip
					
					cmds.checkBox( self.cXKey, edit = True, value = frameInfo.HasTranslationKeyAxis( 0 ) )
					cmds.checkBox( self.cYKey, edit = True, value = frameInfo.HasTranslationKeyAxis( 1 ) )
					cmds.checkBox( self.cZKey, edit = True, value = frameInfo.HasTranslationKeyAxis( 2 ) )
					cmds.text( self.txtSelectedFrame, edit = True, label = selectManip.GetFrame() + self.StartFrame )

			# ...
			self.EnableKeyInfo( ( selectManip != None ) )
		else:
			self.EnableKeyInfo( False )		
Ejemplo n.º 11
0
	def EnableKeyInfo( self, enable ):
		cmds.checkBox( self.cXKey, edit = True, enable = enable )
		cmds.checkBox( self.cYKey, edit = True, enable = enable )
		cmds.checkBox( self.cZKey, edit = True, enable = enable )
		
		if ( not enable ):
			cmds.text( self.txtSelectedFrame, edit = True, label = "None" )
Ejemplo n.º 12
0
    def add(self, driverName, angleValues=[] ):
        
        if not angleValues:
            angleValues = [0,0,0]
        
        defaultBgc = [ .1, .1, .1 ]
        onBgc      = [ .9,  .9,  .2  ]
        
        enList = [0,0,0]
        
        bgcList = [None,None,None]
        
        for i in range( 3 ):
            if math.fabs( angleValues[i] ) >= self._minValue:
                bgcList[i] = onBgc
                enList[i] = 1
            else:
                bgcList[i] = defaultBgc
                enList[i] = 0
        
        widthList = uifnc.setWidthByPerList( [70,15,15,15] , self._width )

        cmds.rowColumnLayout( nc=4, cw=[(1,widthList[0]),(2,widthList[1]),(3,widthList[2]),(4,widthList[3])] )
        cmds.text( l= driverName+' : ', al='right' )
        
        cmds.floatField( precision=2, v=angleValues[0], bgc= bgcList[0] )
        cmds.popupMenu(); cmds.menuItem( l='Add Driver', c= partial( self.addConnectDriver, driverName+' | angle0 : %3.2f' %angleValues[0] ) )
        cmds.floatField( precision=2, v=angleValues[1], bgc= bgcList[1] )
        cmds.popupMenu(); cmds.menuItem( l='Add Driver', c= partial( self.addConnectDriver, driverName+' | angle1 : %3.2f' %angleValues[1] ) )
        cmds.floatField( precision=2, v=angleValues[2], bgc= bgcList[2] )
        cmds.popupMenu(); cmds.menuItem( l='Add Driver', c= partial( self.addConnectDriver, driverName+' | angle2 : %3.2f' %angleValues[2] ) )
        
        self.driverScrollAddPopupCmd()
        
        cmds.setParent( '..' )
Ejemplo n.º 13
0
def UI():
    if cmds.window("TressFXExporterUI", exists = True):
        cmds.deleteUI("TressFXExporterUI")

    windowTitle = 'TressFX Exporter' + ' ' + 'v' + tressfx_exporter_version
    window = cmds.window("TressFXExporterUI", title = windowTitle, w=280, h = 260, mnb=False, sizeable=False)
    mainLayout = cmds.columnLayout(w=280, h=260)

    cmds.separator(h=8, style='in')
    cmds.text(label='Number of vertices per strand (4, 8, 16, 32 or 64):', align='left')
    cmds.intField("numVerticesPerStrand", w=30, minValue=4, maxValue=64, value=16 )
    cmds.separator(h=8, style='in')
    cmds.checkBox("bothEndsImmovable", label='Both ends immovable')
    cmds.checkBox("InvertZ", label='Invert Z', value = True)
    cmds.checkBox("exportSkinCheckBox", label='Export skin data', value = False)
    cmds.checkBox("randomStrandCheckBox", label='Randomize strands for LOD', value = True)
    
    cmds.separator(h=15)
    
    cmds.button(label="Set the base mesh", w=170, h=30, command=SetBaseMesh)
    cmds.textField("MeshNameLabel", w=170, editable=False)
    
    cmds.separator(height=10, style='none')
    cmds.button(label="Export as binary (*.tfx)", w=170, h=30, command=ExportBinary)
    
    cmds.separator(h=15)
    
    version_text = 'v' + tressfx_exporter_version
    cmds.text(label=version_text, align='left')
    
    global selected_mesh_shape_name
    selected_mesh_shape_name = ''
    
    cmds.showWindow(window)
Ejemplo n.º 14
0
 def build(self):
     if mc.windowPref(self.win, exists=1):
         mc.windowPref(self.win, remove=1)
     if mc.window(self.win,exists=1):
         mc.deleteUI(self.win)
     mc.window( self.win, title=self.title, widthHeight=(500, 210) )
     cl1 = mc.columnLayout( columnAttach=('both', 2), rowSpacing=3, columnWidth=500, adjustableColumn = True)
     mc.radioCollection()
     self.mouth = mc.radioButton( l='user import', select=1, p=cl1 )
     self.autoR = mc.radioButton( l='auto import', p=cl1 )
     mc.separator()
     mc.frameLayout('selected')
     mc.rowLayout(numberOfColumns=3, columnWidth3=(80, 75, 150), adjustableColumn=2, columnAlign=(1, 'right'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)] )
     mc.text(l='Mode')
     mc.columnLayout()
     mc.radioCollection()
     self.prop = mc.radioButton( l='Prop', select=1 )
     self.character = mc.radioButton( l='Character' )
     mc.setParent( '..' )
     mc.setParent( '..' )
     self.numText = mc.floatFieldGrp( l='Num' )
     self.txtProp = mc.textFieldButtonGrp( label='File Path', text='', buttonLabel='Browse', cw3 = (40,400,50), adjustableColumn3 = 2, cl3 = ('left', 'center', 'right'), bc = self.browse,cc=self.getPath )
     #mc.separator()
     #self.txtCharacter = mc.textFieldButtonGrp( label='Path', text='', buttonLabel='Browse', cw3 = (40,400,50), adjustableColumn3 = 2, cl3 = ('left', 'center', 'right'), bc = self.browse,cc=self.getPath )
     #mc.separator()
     mc.separator(p=cl1)
     mc.button( 'importR', l='Import   Reference   File', p=cl1 )
     mc.setParent( '..' )
 def create_comment(self, *args):
     cmds.window('comment_win')
     cmds.columnLayout()
     cmds.text(l='Enter in new comment')
     self.new_comment_field = cmds.scrollField()
     add = cmds.button(l='Add', c=self.add_comment)
     cmds.showWindow('comment_win')
Ejemplo n.º 16
0
 def installConvertOption(self):
     """"""
     cmds.rowLayout(nc=2, adj=2)
     cmds.text(l=' Convert:', fn='boldLabelFont')
     self.keepCheck = cmds.iconTextCheckBox( st='textOnly', l='Keep original', v=True )
     cmds.setParent( '..' )
     cmds.separator( style='none' )
Ejemplo n.º 17
0
 def create( self, *args ):
     
     if cmds.window( self.winName, ex=1 ):
         cmds.deleteUI( self.winName, wnd=1 )
     cmds.window( self.winName, title= self.title, titleBarMenu=0 )
     
     cmds.columnLayout()
     cmds.rowColumnLayout( nc=1, cw=[( 1,self.width-2)] )
     cmds.text( l='Register ID', h=30 )
     idField = cmds.textField( h=25 )
     helpField = cmds.textField( en=0 )
     cmds.setParent( '..' )
     
     firstWidth = (self.width-2)*0.5
     secondWidth = (self.width-2)-firstWidth
     cmds.rowColumnLayout( nc=2, cw=[(1,firstWidth),(2,secondWidth)])
     cmds.button( l='Create', h=25, c=self.cmdCreate )
     cmds.button( l='Cancel', h=25, c=self.cmdCancel )
     cmds.setParent( '..' )
     
     cmds.window( self.winName, e=1,
                  width = self.width,
                  height = self.height )
     cmds.showWindow( self.winName )
     
     self.idField = idField
     self.helpField = helpField
    def refresh(self, *args):
        #clear field
        cmds.textField('nameSpace', e=True, tx='')
        cmds.textField('sourcePath', e=True, tx='')
        cmds.text('renderVersion', e=True, l='', nbg=True)

        #populate scene information
        episodeName = cmds.getAttr('sceneInfo.episodeName', asString=True)
        seqName = cmds.getAttr('sceneInfo.shotName', asString=True)
        cmds.textField('episodeName', e=True, tx=episodeName)
        cmds.textField('sequenceName', e=True, tx=seqName)

        #populate exported MCC data
        sceneDataPath = veRegCore.genDataPath(pathType='sequence', episode=episodeName, sceneName=seqName)
        mccLis = veRegCore.listExportedMcc(sceneDataPath=sceneDataPath)
        cmds.textScrollList('serverMccData', e=True, ra=True)
        for item in mccLis:
            cmds.textScrollList('serverMccData', e=True, a=item)

        #populate current scene asset
        cmds.textScrollList('currentSceneData', e=True, ra=True)
        for reffPath in cmds.file(q=True, r=True):
            namespace = cmds.referenceQuery(reffPath, rfn=True)
            cmds.textScrollList('currentSceneData', e=True, a=namespace)
        return
Ejemplo n.º 19
0
def setupRLUI():
    if cmds.window("RLWin", exists=True):
        cmds.deleteUI("RLWin")
    
    widgets["win"] = cmds.window("RLWin", t="zbw_setupRL", w=200, h=400)
    widgets["mainCL"] = cmds.columnLayout(w=200)
    widgets["mainFrame"] = cmds.frameLayout(l="Create Render Layers", w=200, cll=True, bgc=(.2,.2,.2))
    
    widgets["CarKey"] = cmds.checkBox(l="Car_Env", v=True)
    widgets["CarEnv"] = cmds.checkBox(l="Car_Key", v=True)
    widgets["BGKey"] = cmds.checkBox(l="BG_Env", v=True)
    widgets["BGEnv"] = cmds.checkBox(l="BG_Key", v=True)
    widgets["AO"] = cmds.checkBox(l="All_AO", v=True)
    widgets["MatteA"] = cmds.checkBox(l="All_MatteA", v=True)
    widgets["MatteB"] = cmds.checkBox(l="All_MatteB", v=True)
    widgets["MoVec"] = cmds.checkBox(l="All_MoVec", v=True)
    widgets["Shadow"] = cmds.checkBox(l="All_Shadow", v=True)
    
    widgets["createBut"] = cmds.button(l="Create Layers", w=200, h=40, bgc=(.6,.8,.6), c=createRL)
    cmds.text("NOTE: this is setting the overrides for \nthe moVec layer RG's and materials \n(if you have them in scene\n for the AO and Movec layers but \n NO passes are set up")
    cmds.separator(h=20, style = "double")
    #widgets["copyBut"] = cmds.button(l="Copy Selected Layer", w=200, h=40, bgc=(.8,.8,.6), c=copyRL)
    #cmds.separator(h=20, style = "double")
    widgets["importBut"] = cmds.button(l="Import RL Shaders File", w=200, h=40, bgc=(.8,.6,.6), c=importRL)
   
    cmds.showWindow(widgets["win"])
    cmds.window(widgets["win"], e=True, w=200, h=400)
Ejemplo n.º 20
0
def secondaryUI():
    sec_UIname = 'secondary'
    if cmds.window(sec_UIname,exists = True):
        cmds.deleteUI(sec_UIname)
    cmds.window(sec_UIname,title = 'rosa_secondary')
    clmLot = cmds.columnLayout( adjustableColumn=True)
    cmds.textField('ctrl_name',text = 'ctrl_name')
    cmds.button('createctrl',label = 'create ctrl',h = 30,c = 'ctrl()')
    cmds.button('load_model',label = 'load "org" model',c = 'load_org()')
    cmds.textField('org_model',text = '"org" model')
    cmds.button('load_property_obj',label = 'loading property add object',c = 'load_vis()')
    cmds.textField('vis',text = 'Visibility')
    #
    flLot = cmds.flowLayout(columnSpacing = 6)
    cmds.text(label = 'ctrl axial:')
    cmds.radioCollection()
    cmds.radioButton('follic',label = 'follic',select = 0)
    cmds.radioButton('Custom',label = 'Custom',select = 1)
    #
    cmds.setParent( clmLot)
    cmds.button(label = 'Generate',c = 'secondary_add()')
    cmds.button('add_ctrl',label = 'add controller',c = 'add_controller()')
    cmds.button('Add_modelSec',label = 'Add_modelSec',c = 'Add_modelSec()')
    cmds.button(label = 'inverse_connect',c =  'inverse_connect01()')
    #
    cmds.frameLayout( label='modify ctrl:',borderStyle='etchedOut')
    cmds.setParent( clmLot)
    cmds.button(label = 'loding want to modify the controller',c = 'load_ctrl()')
    cmds.textField('sec_ctrl',text = 'secondary_ctrl')
    cmds.button(label = 'modify the controller position',c = 'ctrl_modify()')
    cmds.button(label = 'complete controller modifies',c = 'modify_complete()')
    cmds.showWindow()
Ejemplo n.º 21
0
        def cmd(self, *args):

            fileExt = None
            fileType = cmds.file(query=True, type=True)

            if fileType[0] == 'mayaBinary':
                fileExt = '.mb'
            elif fileType[0] == 'mayaAscii':
                fileExt = '.ma'

            saveName = cmds.text(self.parent.parent.nameTxt, query=True, l=True) + fileExt
            savePath = cmds.text(self.parent.pathTxt, query=True, l=True)
            finalPath = os.path.join(savePath, saveName)

            if self.mode == 'scene':

                cmds.file(rename=finalPath)
                cmds.file(save=True, type=fileType[0])
                cmds.deleteUI(self.parent.intWinName, window=True)

            elif self.mode == 'selected':
                sel = cmds.ls(sl=True)
                if len(sel) > 0:
                    cmds.file(os.path.join(savePath, saveName), exportSelected=True, type='mayaBinary')
                    cmds.deleteUI(self.parent.intWinName, window=True)
                else:
                    from key_libs import key_sys_lib
                    key_sys_lib.printMayaWarning('Nothing is selected...')
Ejemplo n.º 22
0
def copyCrvShapeUI():

	if cmds.window('copyCrvShapeWin', exists=True):
		cmds.deleteUI('copyCrvShapeWin')
	
	cmds.window('copyCrvShapeWin', t='CopyCurve', rtf=True)

	cmds.columnLayout('mainCL', adj=True)

	cmds.text(l='Search for', align='center')

	cmds.textField('searchTF')

	cmds.textField('searchTF', e=True, tx='_L_')

	cmds.separator()

	cmds.text(align='center', l='Replace with')

	cmds.textField('replaceTF')

	cmds.textField('replaceTF', e=True, tx='_R_')

	cmds.separator()

	cmds.button('copyBTN', l='copy', c=partial(copyCrvShape))

	cmds.showWindow('copyCrvShapeWin')
	cmds.window('copyCrvShapeWin', e=True, w=220, h=98)
Ejemplo n.º 23
0
 def create(self):
     
     if cmds.window( WinMain.name, q=1, ex=1 ):
         cmds.deleteUI( WinMain.name )
     
     cmds.window( WinMain.name, title=WinMain.title )
     
     form = cmds.formLayout()
     textExplanation = cmds.text( l='1.컨트롤러 선택 \n2.컨트롤할 타겟들 선택'.decode( 'utf-8' ), al='center', h=50, bgc=[.3,.3,.3], font='fixedWidthFont' )
     textAttr = cmds.text( l='Attribute Name', h=25 )
     fieldAttrName = cmds.textField( tx='show', h=25)
     buttonConnect = cmds.button( l='Connect', h=30, c=Cmd.connect )
     
     cmds.formLayout( form, e=1, 
                      af=[(textExplanation, 'top', 0), (textExplanation, 'left', 0), (textExplanation, 'right', 0),
                          (textAttr, 'left', 5), (fieldAttrName, 'right', 5),
                          (buttonConnect, 'left', 0), (buttonConnect, 'right', 0)],
                      ac=[(textAttr, 'top', 5, textExplanation),
                          (fieldAttrName, 'top', 5, textExplanation),
                          (fieldAttrName, 'left', 5, textAttr),
                          (buttonConnect, 'top', 5, textAttr)] )
     
     cmds.window( WinMain.name, e=1, width=WinMain.width, height=WinMain.height )
     
     WinMain.fieldAttrName = fieldAttrName
Ejemplo n.º 24
0
 def _showUI(self):
     if cmds.window(self.win, exists=True):
         cmds.deleteUI(self.win, window=True)
     cmds.window(self.win, title=self.win, widthHeight=(400, 220))
     cmds.columnLayout('uicl_audioMain',adjustableColumn=True)
     cmds.separator(h=15, style='none')
     cmds.text(l='Select Audio to Offset')
     cmds.separator(h=15, style='in')
     cmds.rowColumnLayout(numberOfColumns=3, columnWidth=[(1, 100), (2, 90), (3, 100)])
     cmds.button(label='<< Offset',
                 ann='Nudge selected Audio Backwards',
                 command=partial(self.offsetSelectedBy,'negative'))
     cmds.floatField('AudioOffsetBy', value=10)
     cmds.button(label='Offset >>',
                 ann='Nudge selected Audio Forwards',
                 command=partial(self.offsetSelectedBy,'positive'))
     cmds.setParent('..')
     cmds.separator(h=15, style='in')
     cmds.rowColumnLayout(numberOfColumns=2, columnWidth=[(1, 200), (2, 90)])
     cmds.button(label='Offset Range to Start at:',
                 ann='offset the selected range of audionodes such that they start at the given frame',
                 command=self.offsetSelectedTo)
     cmds.floatField('AudioOffsetToo', value=10)
     cmds.setParent('..')
     cmds.separator(h=15, style='in')
     cmds.button(label='Ripple selected',
                 ann="Ripple offset the selected audio nodes so they're timed one after another",
                 command=self.offsetRipple)
     cmds.separator(h=15, style='none')
     cmds.iconTextButton(style='iconOnly', bgc=(0.7, 0, 0), image1='Rocket9_buttonStrap2.bmp',
                          c=lambda *args: (r9Setup.red9ContactInfo()), h=22, w=200)
     cmds.showWindow(self.win)
     cmds.window(self.win, e=True, widthHeight=(290, 190))
 def __init__(self):
     self.name = "rsSubstituteAttribute"
     self.title = "rs Substitute Attribute"
     i_windowSize = (300, 110)
     if (cmds.window(self.name, q=1, exists=1)):
         cmds.deleteUI(self.name)
     self.window = cmds.window(self.name, title=self.title)
     s_winColPro2 = cmds.columnLayout(adjustableColumn=True, parent=self.window)
     i_colum3 = (i_windowSize[0] / 6, i_windowSize[0] * 4 / 6, i_windowSize[0] / 6)
     s_winRowField1 = cmds.rowLayout(numberOfColumns=3, adjustableColumn3=2, columnWidth3=(i_colum3), columnAlign=(1, 'center'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)], parent=s_winColPro2)
     cmds.text(label='Source', align='center', parent=s_winRowField1)
     self.sourceText = cmds.textField(cmds.textField(), edit=True, parent=s_winRowField1)
     cmds.button(label='Pick up', c=self.rsPickUpSource, parent=s_winRowField1)
     s_winRowField2 = cmds.rowLayout(numberOfColumns=3, adjustableColumn3=2, columnWidth3=(i_colum3), columnAlign=(1, 'center'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)], parent=s_winColPro2)
     cmds.text(label='Target', align='center', parent=s_winRowField2)
     self.targetText = cmds.textField(cmds.textField(), edit=True, parent=s_winRowField2)
     cmds.button(label='Pick up', c=self.rsPickUpTarget, parent=s_winRowField2)
     cmds.separator(height=5, style="none", hr=True, parent=s_winColPro2)
     i_colum = i_windowSize[0] / 3
     s_winRow1 = cmds.rowLayout(numberOfColumns=3, adjustableColumn3=2, columnWidth3=(5, i_colum, i_colum), columnAlign=(1, 'center'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)], parent=s_winColPro2)
     cmds.separator(height=5, style="none", hr=True, parent=s_winRow1)
     self.delAttr = cmds.checkBox("rsDelSourceAttr", label='Delete Source Attribute', align='right', v=True, parent=s_winRow1)
     cmds.separator(height=5, style="none", hr=True, parent=s_winColPro2)
     self.rsSubs = cmds.button(label='Substitute or Clone', w=100, c=self.rsSubs, parent=s_winColPro2)
     cmds.window(self.window, e=1, w=430, h=103)
     cmds.showWindow(self.window)
     cmds.window(self.window, edit=True, widthHeight=(i_windowSize))
Ejemplo n.º 26
0
	def show( self ) :
		
		oSrch = 'LFT'
		oRep = 'RGT'
		oMul = 0
		
		if mc.window( self.win , exists=True ) :
			oSrch = mc.textField( '%sSrchTF'%self.ui , q=True , tx=True )
			oRep = mc.textField( '%sRepTF'%self.ui , q=True , tx=True )
			oMul = mc.floatField( '%sMultFF'%self.ui , q=True , v=True )
			mc.deleteUI( self.win )
		
		mc.window( self.win , t='pkWeightPuller' , rtf=True )
		
		mc.columnLayout( '%sMainCL'%self.ui , adj=True )
		
		mc.text( l='Search for' , align='center' )
		mc.textField( '%sSrchTF'%self.ui , tx=oSrch )
		mc.text( l='Replace with' , align='center' )
		mc.textField( '%sRepTF'%self.ui , tx=oRep )
		mc.button( '%sSwapBUT'%self.ui , l='Swap' , c=partial( self.swap ) )
		mc.floatField( '%sMultFF'%self.ui , minValue=0 , maxValue=1 , v=oMul )
		mc.button( '%sBUT'%self.ui , l='Pull' , c=partial( self.pull ) )
		
		mc.showWindow( self.win )
		mc.window( self.win , e=True , w=180 )
		mc.window( self.win , e=True , h=180 )
Ejemplo n.º 27
0
def snapOnClosestVertex_window():
	"""
	Creates the 'Snap On Closest Vertex' vertex window.
	"""

	cmds.windowPref(enableAll=False)

	if (cmds.window("snapOnClosestVertex_window", exists=True)):
		cmds.deleteUI("snapOnClosestVertex_window")

	cmds.window("snapOnClosestVertex_window",
		title="Snap On Closest Vertex",
		width=320)

	spacing = 5

	cmds.columnLayout(adjustableColumn=True, rowSpacing=spacing)

	cmds.rowLayout(numberOfColumns=3, columnWidth3=(125, 150, 130), adjustableColumn=2, columnAlign=(2, "left"), columnAttach=[(1, "both", spacing), (2, "both", spacing), (3, "both", spacing)])
	cmds.text(label="Reference Object:")
	referenceObject_textField = cmds.textField("referenceObject_textField")
	cmds.button("getReferenceObject_button", label="Get Reference Object!", command=getReferenceObject_button_OnClicked)
	cmds.setParent(topLevel=True)

	cmds.separator(style="single")

	cmds.button("snapIt_button", label="Snap It!", al="center", command=snapIt_button_OnClicked)

	cmds.showWindow("snapOnClosestVertex_window")
	cmds.windowPref(enableAll=True)
Ejemplo n.º 28
0
    def deleteTx(self, *args):
        ctrlPath = '|'.join([self.window, 'radioButton']);
        selection = cmds.radioButton(ctrlPath, query=True, select=True);
        
        self.deletedFiles = 0
        ctrlPath = '|'.join([self.window, 'groupBox_3', 'label_10']);
        
        if selection:
            self.selectedFilesFromList()
        else:
            self.selectedFilesFromFolder()

        if not self.selectedFiles:
            cmds.text(ctrlPath, edit=True, label="Deleted: {0}".format(self.deletedFiles));
            return
            
        for texture in self.selectedFiles:
            if not texture:
                continue;
            if 'udim' in os.path.basename(texture):
                udims = getUdims(texture)
                for udim in udims:
                    txFile = os.path.splitext(udim)[0]+".tx"
                    if os.path.isfile(txFile):
                        os.remove(txFile)
                        self.deletedFiles += 1
            else:
                txFile = os.path.splitext(texture)[0]+".tx"
                if os.path.isfile(txFile):
                    os.remove(txFile)
                    self.deletedFiles += 1

            cmds.text(ctrlPath, edit=True, label="Deleted: {0}".format(self.deletedFiles));
        self.updateList()
Ejemplo n.º 29
0
    def AverageUI(self):
        import maya.cmds as cmds
	import maya.mel as mel
	import sys

        if cmds.window('AverageTool',exists=True):
            cmds.deleteUI('AverageTool')

        cmds.window('AverageTool') 
        grid=cmds.gridLayout( numberOfColumns=2, cellWidthHeight=(120, 150) )
        column=cmds.columnLayout()
        cmds.button('Creat',c='creat()',h=100)
        cmds.button('Key',c='key()',h=50)
        cmds.columnLayout(column,edit=1,columnAttach=('both',0),adj=1,co=('both',50),columnWidth=120)
        cmds.setParent(column)
        cmds.setParent( '..' )



        cmds.frameLayout( label='Average', borderStyle='in' )
        cmds.columnLayout()
        cmds.rowLayout( numberOfColumns=3, columnWidth3=(35, 30, 35), adjustableColumn=2, columnAlign=(1, 'right'), columnAttach=[(1, 'both', 0), (2, 'both', 0), (3, 'both', 0)] )
        cmds.intField('min',minValue=0,value=0)
        cmds.text('To')
        cmds.intField('max',minValue=0, value=0)
        cmds.setParent( '..' )
        cmds.setParent( '..' )

        cmds.frameLayout( label='Iterations', borderStyle='out' )
        cmds.intField('iterations',minValue=0,maxValue=10,value=0)


        cmds.frameLayout( label='Key', borderStyle='out' )
        cmds.button('Delect',c='Delect()')
        cmds.showWindow()
Ejemplo n.º 30
0
    def __init__(self, CTL_TREE,allStartingWeights,allNeutralWeights,
                 allCurrentGenWeights, strongestShapes, minMaxWeights, allSymmetryNames,
                 OTHER_FACE_IDS,MESH_NAME,AUTOMATE):

        self.ctlTree = CTL_TREE
        self.allStartingWeights = allStartingWeights
        self.allCurrentGenWeights = allCurrentGenWeights
        self.allCurrentWeights = allCurrentGenWeights
        self.allNeutralWeights = allNeutralWeights
        self.allMinMaxWeights = minMaxWeights
        self.strongestShapes = strongestShapes
        self.strongestShapesTree = {}
        self.generationSelection = []
        self.nextGeneration = []
        self.allSymmetryNames = allSymmetryNames
        self.buttonList = []
        self.newShapes = {}
        self.startingCurves = {}
        self.currentGenCurves = {}
        self.OTHER_FACE_IDS = OTHER_FACE_IDS
        self.originalStrongest = strongestShapes
        self.symGroups = {}
        self.lastElite = []
        self.NextGenePool = []
        self.CurrentGenePool = []
        self.EliteGenes = []
        self.MESH_NAME = MESH_NAME
        self.EliteGenErrors = []
        self.AUTOMATE = AUTOMATE

        self.STARTING_MESH_VERTS = self.getVertexPositions(0)

        print "strongestShapes"
        print strongestShapes

        self.newShapes = self.flattenDictToVals(self.strongestShapes)
        targetShapes = self.flattenDictToChildren(self.strongestShapes)
        strongestShapesTree = self.cropTreeToStrongestShapes()
        # strongestShapesNeutrals = self.getStrongestNeutralVals(self.strongestShapes)

        # self.strongestShapesNeutrals = strongestShapesNeutrals

        print "newShapes:"
        print self.newShapes
        print "targetShapes"
        print targetShapes
        print "strongestShapesTree"
        print strongestShapesTree
        # print "strongestShapesNeutrals"
        # print strongestShapesNeutrals

        self.strongestShapesTree = strongestShapesTree

        flattenedSyms = self.flattenDictToChildren(self.allSymmetryNames)

        # newShapesSym = self.correctSymmetryNames(newShapes, flattenedSyms)


        #self.linearBlendshape(self.strongestShapesTree)
        self.EliteGenes = self.getFaceWeights(self.allStartingWeights, 0)
        self.lastElite.append(self.getFaceWeights(self.allStartingWeights, 0))
        #self.sampleNonLinear(2,[1,2,3])

        self.sampleNewFaces(1, [1,2,3], "Sample")

        selectionUI = 'altUI'

        if cmds.window(selectionUI, exists=True):
            cmds.deleteUI(selectionUI)

        cmds.window(selectionUI, width=1000, height=200)
        form = cmds.formLayout()
        tabs = cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10, mcw=400, width=750, height=100)
        cmds.formLayout(form, edit=True,
                        attachForm=((tabs, 'top', 0), (tabs, 'left', 0), (tabs, 'bottom', 0), (tabs, 'right', 0)))

        child2 = cmds.gridLayout(numberOfColumns=4, cellWidthHeight=(300, 32))
        cmds.text("ELITE:", font="boldLabelFont", al="center")
        cmds.text("SAMPLE 1:", font="boldLabelFont", al="center")
        cmds.text("SAMPLE 2:", font="boldLabelFont", al="center")
        cmds.text("SAMPLE 3:", font="boldLabelFont", al="center")

        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="Set Elite:  ")
        controlGroup1 = cmds.optionMenu("controlGroup1")
        for key in range(1, 4):
            cmds.menuItem(label="SAMPLE " + str(key))
        cmds.button(label='    Set    ', command=partial(self.setFaceAsElite,1))
        cmds.setParent('..')

        cmds.rowLayout(numberOfColumns=2, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'right', 0)])
        cmds.text("                                ")
        cmds.checkBox("face1cB", editable=True, label="  Select")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=2, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'right', 0)])
        cmds.text("                                ")
        cmds.checkBox("face2cB", editable=True, label="  Select")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=2, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'right', 0)])
        cmds.text("                                ")
        cmds.checkBox("face3cB", editable=True, label="  Select")
        cmds.setParent('..')

        cmds.text(label='')
        cmds.separator()
        cmds.separator()
        cmds.separator()

        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Reset to Last Elite' , command=partial(self.resetToLastElite))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Sample Current Gen' , command=partial(self.sampleCurrentGen))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Add Selected to Gene Pool' , command=partial(self.addToGenePool, 0))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Breed Next Gen' , command=partial(self.breedNextGen))
        cmds.text(label="                 ")
        cmds.setParent('..')

        cmds.setParent('..')

        child1 = cmds.gridLayout(numberOfColumns=4, cellWidthHeight=(300, 32))
        cmds.text(label = "")
        cmds.text("Choose Group to Act on:", font="boldLabelFont", al="center")
        controlGroupSourceGroup = cmds.optionMenu("controlGroupSourceGroup")
        cmds.menuItem(label='All')
        for key1 in self.allStartingWeights.keys():
            cmds.menuItem(label=key1)
        cmds.text(label="")

        cmds.text("ELITE:", font="boldLabelFont", al="center")
        cmds.text("Choose Curve to Act on:", font="boldLabelFont", al="center")
        controlGroupSource = cmds.optionMenu("controlGroupSource")
        cmds.menuItem(label='All')
        for key1 in flattenedSyms:
            cmds.menuItem(label=key1)
        cmds.text("OPTIONS:", font="boldLabelFont", al="center")

        cmds.text(label='')
        cmds.separator()
        cmds.separator()
        cmds.rowLayout(numberOfColumns=2, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'right', 0)])
        cmds.text("                                ")
        cmds.checkBox("symFlag", editable=True, label="  Symmetry", value=True)
        cmds.setParent('..')

        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="Set Elite:  ")
        controlGroup2 = cmds.optionMenu("controlGroup2")
        for key in range(1, 4):
            cmds.menuItem(label="SAMPLE " + str(key))
        cmds.button(label='    Set    ' , command=partial(self.setFaceAsElite,2))
        cmds.setParent('..')
        cmds.text("New Curves:", font="boldLabelFont", al="center")
        cmds.text(label='')
        cmds.rowLayout(numberOfColumns=2, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'right', 0)])
        cmds.text("                                ")
        cmds.checkBox("activeOnlyFlag",editable=True, label="  Active blendshapes only")
        cmds.setParent('..')

        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Reset Samples to Elite' , command=partial(self.copyEliteToSamples))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 Number of BS's to sample:")
        cmds.intField("numKeys",minValue=1, maxValue=5, value=3, editable=True)
        cmds.text(label="                ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Sample around Elite' , command=partial(self.sampleNewFaces, -1, [1,2,3], "Sample"))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)], w=100)

        cmds.text(label="                          ")
        cmds.checkBox("localiseFlag", editable=True, label="  Localise sampling")
        cmds.text(label='                   ')
        cmds.setParent('..')

        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Reset to Last Elite' , command=partial(self.resetToLastElite))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.text(label="                 ")
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)])
        cmds.text(label="                 ")
        cmds.button(label='Sample around Current', command=partial(self.sampleNewFaces,-1,[1,2,3],"Mutate"))
        cmds.text(label="                 ")
        cmds.setParent('..')
        cmds.rowLayout(numberOfColumns=3, adjustableColumn=2, columnAlign=(1, 'right'),
                       columnAttach=[(1, 'left', 0), (2, 'both', 0), (3, 'right', 0)], w=100)

        cmds.text(label='                S.D: ')
        cmds.floatSliderGrp("sdVal", field=True, minValue=0.0, maxValue=1.0, fieldMinValue=0.0,
                            fieldMaxValue=1.0, value=0.3, cw=[(1, 50), (2, 120)])
        cmds.text(label='                ')
        cmds.setParent('..')

        cmds.setParent('..')

        cmds.tabLayout(tabs, edit=True, tabLabel=((child2, '\t\t\t\t\t\t\t\t\tEvolution\t\t\t\t\t\t\t\t\t'),
                                                  (child1, '\t\t\t\t\t\t\tAdvanced Control\t\t\t\t\t\t\t')))

        cmds.showWindow()
Ejemplo n.º 31
0
import traceback
Ejemplo n.º 32
0
        pass


#Set the font of sub UI
Currentfont = "plainLabelFont"

maya.frameLayout(label='Nuke Script Setting',
                 borderStyle='etchedOut',
                 marginHeight=8,
                 backgroundColor=[0.35, 0.35, 0.35])
maya.rowColumnLayout(numberOfColumns=2,
                     columnAttach=[1, "right", 0],
                     columnWidth=[[1, 100], [2, 400]])

#create the script Path input knob
maya.text(label="Nuke Script Path", align="right", font=Currentfont)
ScriptPath = maya.textField()
commandstr_spt = "filename = maya.fileDialog2(fileMode=1, caption='Script Path');\
      tempdata = filename[0];\
      maya.textField(ScriptPath,edit=True,fi=tempdata);\
      projpath = tempdata"

maya.textField(ScriptPath,
               edit=True,
               w=400,
               fi=projpath,
               dgc=commandstr_spt,
               changeCommand="Commandchange(ScriptPath,'projpath')")

#create the sequences path input knob
maya.text(label="Read Node Path", align='right', font=Currentfont)
Ejemplo n.º 33
0
####UI

spacing = 10
titleHeight = 20
cmds.window(title = "HQZ Exporter",width = 600)
cmds.columnLayout(adjustableColumn = True, bgc = [0.4,0.4,0.4])

cmds.frameLayout(label= 'File settings', borderStyle='in', collapsable=True, cl = 0)
engine_field = cmds.textFieldButtonGrp(label='Engine path', buttonLabel='Set...', buttonCommand = 'get_file(field = engine_field, mode = 1)')
directory_field = cmds.textFieldButtonGrp(label='Export directory', buttonLabel='Set...', buttonCommand = 'get_file(field = directory_field, mode = 3)')
file_field = cmds.textFieldGrp(label='File name')
batch_field = cmds.checkBoxGrp(label='Export batch file', value1 = True)
cmds.setParent("..")

cmds.frameLayout(label= 'Export settings', borderStyle='in', collapsable=True, cl = 0 )
cmds.text(label='Export settings', height = titleHeight)
resolution_field = cmds.intFieldGrp(numberOfFields=2, label='Scale', extraLabel='pixels', value1=1920, value2=1080)
exposure_field = cmds.floatSliderGrp(label='Exposure', field=True, value = 0.5, minValue = 0, maxValue = 10)
gamma_field = cmds.floatSliderGrp(label='Gamma', field=True, value = 2.2, minValue = 0, maxValue = 4)
rays_field = cmds.intSliderGrp(label='Number of rays', field=True, value = 100000, minValue = 0, maxValue = 100000, fieldMaxValue = 1000000000)
seed_field = cmds.intSliderGrp(label='Seed', field=True, value = 0, minValue = 0, maxValue = 100000, fieldMaxValue = 1000000000)
time_field = cmds.intSliderGrp(label='Render time', field=True, value = 20, minValue = 0, maxValue = 1000, fieldMaxValue = 100000000, extraLabel=' (0 for infinity)')
animation_field = cmds.checkBoxGrp(label='Export animation', value1=False, changeCommand='cmds.intFieldGrp(frame_range_field, edit=True, enable=cmds.checkBoxGrp(animation_field, query=True, value1=True))')
frame_range_field = cmds.intFieldGrp(numberOfFields=2, label='Frame range',  value1=1, value2=5, enable=False)
normals_export_field = cmds.checkBoxGrp(label='Export normals', value1 = True)
normals_invert_field = cmds.checkBoxGrp(label='Revert normals', value1 = False)
check_Z_field = cmds.checkBoxGrp(label='Check Z value', value1 = True)
cmds.setParent("..")

cmds.frameLayout(label='Material settings', borderStyle='in', collapsable=True, cl = 0)
cmds.text(label="Please enter factors for diffusion, transmission and reflection. The sum should be between 0 and 1.", height = titleHeight)
Ejemplo n.º 34
0
	def UI_animCurve( self, UIparent ):
		
		panels =  [ 'flAnimCurve',  'colAnimCurve' ,  'flAnimGather' ,  'colAnimGather' , 'flAnimRelease' ,  'colAnimRelease' ]	
		
		mc.frameLayout( panels[0]  , li = 80 , cl = 1 , cll = 1 ,  w = 262 ,  bgc = [ 0.23 , 0.23 , 0.24 ]  ,   label = 'ANIM CURVE' , p = UIparent )
		
		mc.columnLayout( panels[1] , p = panels[0] , bgc = [ 0.27 , 0.27 , 0.27 ]  , columnAttach = [ 'both' , 10 ] , rowSpacing = 0 , columnWidth = 280  )
		
		mc.text(                             p = panels[1] , l = ''                         , h = 1  )
		mc.textField(self.ftAnimPath       , p = panels[1] , tx = self.animCurvePath        , ann = self.animCurvePath , ec = '{}.cmds_animCurveRefreshPath()'.format(self.variableNameInGlobal) , cc = '{}.cmds_animCurveRefreshPath()'.format(self.variableNameInGlobal) )
		mc.text(                             p = panels[1] , l = ''                         , h = 5  )	
		mc.button(                           p = panels[1] , l = 'PATH - GET CURRENT SCENE' , bgc = [ 0.5 , 0.3 , 0.3 ]    , c = '{}.cmds_animCurvePathUpdateWithCurrent()'.format(self.variableNameInGlobal) )					
		mc.text(                             p = panels[1] , l = ''                         , h = 5  )		
		mc.button(                           p = panels[1] , l = 'PATH - OPEN IN EXPLORER'  , bgc = [ 0.3 , 0.3 , 0.3 ]    , c = '{}.cmds_animCurvePathOpen()'.format(self.variableNameInGlobal) )				
		mc.text(                             p = panels[1] , l = ''                         , h = 5  )
		mc.text(                             p = panels[1] , l = '' , h = 5  )	
		mc.checkBox( self.cbFileShowLatest , p = panels[1] , l = 'show only latest' , v = 1 , cc = '{}.cmds_animCurveRefreshPath()'.format(self.variableNameInGlobal) )
		mc.text(                             p = panels[1] , l = '' , h = 5  )		
		mc.optionMenu(self.omFileNames     , p = panels[1] , w = 120 ,  bgc = [ 0.35 , 0.35 , 0.35 ] , cc = '{}.cmds_animCurveRefreshFile()'.format(self.variableNameInGlobal) )				
		mc.text(                             p = panels[1] , l = '' , h = 1  )
		mc.frameLayout( panels[2]    , p = panels[1] , l = 'GATHER'                   , bgc = [ 0.23 , 0.23 , 0.24 ] , li = 80 , cl = 1 , cll = 1 ,  w = 262 )
		mc.text(                       p = panels[1] , l = ''                         , h = 1  )
		mc.frameLayout( panels[4]    , p = panels[1] , l = 'RELEASE'                  , bgc = [ 0.23 , 0.23 , 0.24 ] , li = 80 , cl = 1 , cll = 1 ,  w = 262  )		

		mc.columnLayout( panels[3]                 , p = panels[2] , bgc = [ 0.27 , 0.27 , 0.27 ]  , columnAttach = [ 'both' , 10 ] , rowSpacing = 0 , columnWidth = 280  )

		mc.text(                                     p = panels[3] , l = '' , h = 1  )	
		mc.button(                                   p = panels[3] , l = 'GATHER' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_animCurveGather()'.format(self.variableNameInGlobal) )		
		mc.text(                                     p = panels[3] , l = '' , h = 5  )
		mc.button(                                   p = panels[3] , l = 'SELECT CTRLS' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_animCurveObjSelect()'.format(self.variableNameInGlobal) )		
		mc.text(                                     p = panels[3] , l = '' , h = 5  )		
		mc.checkBox( self.cbAnimLoadOnSelection    , p = panels[3] , l = 'CTRLS - load on selection' , v = 0  )
		mc.text(                                     p = panels[3] , l = '' , h = 5  )		
		mc.checkBox( self.cbAnimLoadMatchSelection , p = panels[3] , l = 'CTRLS - match selection' , v = 0  )		
		mc.text(                                     p = panels[3] , l = '' , h = 5  )		
		mc.checkBox( self.cbAnimLoadMatchNamespace , p = panels[3] , l = 'CTRLS - match selected namespace' , v = 0  )			
		mc.text(                                     p = panels[3] , l = '' , h = 5  )		
		mc.checkBox( self.cbAnimReplaceCurrent     , p = panels[3] , l = 'CURVES - replace' , v = 0  )	
		mc.text(                                     p = panels[3] , l = '' , h = 5  )		
		mc.checkBox( self.cbAnimOffsetCurrentFrame , p = panels[3] , l = 'TIME - load at current frame' , v = 0  )
		mc.text(                                     p = panels[3] , l = '' , h = 5  )
		mc.checkBox( self.cbAnimOffsetEndFrame     , p = panels[3] , l = 'TIME - load at end frame' , v = 0  )	
		mc.text(                                     p = panels[3] , l = '' , h = 5  )
		mc.checkBox( self.cbAnimInverse            , p = panels[3] , l = 'TIME - inverse' , v = 0  )
		mc.text(                                     p = panels[3] , l = '' , h = 5  )
		mc.checkBox( self.cbAnimMirror             , p = panels[3] , l = 'VALUE - mirror' , v = 0  )				
		mc.text(                                     p = panels[3] , l = '' , h = 10 )

		for animCurvefile in self.animCurvefiles:
			mc.menuItem( p = self.omFileNames , l = animCurvefile )	

		mc.columnLayout( panels[5]                         , p = panels[4] , bgc = [ 0.27 , 0.27 , 0.27 ]  , columnAttach = [ 'both' , 10 ] , rowSpacing = 0 , columnWidth = 280  )

		mc.button(                                           p = panels[5] , l = 'RELEASE' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_animCurveRelease()'.format(self.variableNameInGlobal) )		
		mc.text(                                             p = panels[5] , l = '' , h = 5  )

		mc.radioCollection( self.rcAnimCurveReleaseOption , p = panels[5] )
		mc.radioButton(  l = 'from All' )
		mc.radioButton(  l = 'from selected RIG'  )
		mc.radioButton(  l = 'from selected CTRLS' , select = True  )
		mc.text(                                             p = panels[5] , l = '' , h = 10 )
Ejemplo n.º 35
0
	def UI_manipShape( self, UIparent ):
		
		panels =  [ 'bmUI_manipShape' , 'bmUI_manipShapeForm' , 'bmUI_manipShapeAxe' ,  'bmUI_manipShapeColor' ,  'bmUI_colomn' ]	
		
		mc.frameLayout( panels[0]  , li = 80 , cl = 1 ,  cll = 1 ,  w = 262 ,  bgc = [ 0.23 , 0.23 , 0.24 ]  ,   label = 'CTRL SHAPE' , p = UIparent )
		
		mc.columnLayout( panels[4] , p = panels[0] , bgc = [ 0.27 , 0.27 , 0.27 ]  , columnAttach = [ 'both' , 10 ] , rowSpacing = 0 , columnWidth = 280  )
		mc.text(  p = panels[4] , l = '' , h = 1  )

		form = mc.formLayout( p = panels[4] , numberOfDivisions = 100 ,  bgc = [ 0.27 , 0.27 , 0.27 ]  ) 
		self.UI_manipShape_form(  panels[1]  , form )
		self.UI_manipShape_colorSorted(  panels[2] , form )			
		self.UI_manipShape_color( panels[3]  , form )  	
		mc.formLayout( form , e = True ,  af =[  ( panels[1] , 'top'    , 5  ) , ( panels[1] , 'left'   , 0   )   ]   , ac = [ ]                                                )  # manipShapeForm                   			                          
		mc.formLayout( form , e = True ,  af =[  ( panels[2] , 'left'   , 0   )   ]                                   , ac = [  ( panels[2] , 'top'   ,  5   ,  panels[1] )   ]                                               )  # manipShapeForm  
		mc.formLayout( form , e = True ,  af =[  ( panels[3] , 'left'   , 0  ) ,( panels[3] , 'bottom'   , 10 )    ]   , ac = [  ( panels[3] , 'top'   ,  5   ,  panels[2] )   ] )  # manipShapeColor 	                                          

		mc.text(        p = panels[4] , l = '' , h = 5  )
		mc.checkBox( self.cbModifDupli , p = panels[4] , l = 'MODIFY DUPLICATES' , v = 1  )
		mc.text(        p = panels[4] , l = '' , h = 5  )		
		mc.button(      p = panels[4] , l = 'SELECT DUPLICATES SHAPE' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_selectDuplicateCtrls()'.format(self.variableNameInGlobal) )		
		mc.text(        p = panels[4] , l = '' , h = 5  )		
		mc.button(      p = panels[4] , l = 'UPDATE DUPLICATES SHAPE' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_updateDuplicateCtrls()'.format(self.variableNameInGlobal) )
		mc.text(        p = panels[4] , l = '' , h = 5  )
		mc.checkBox( self.cbUpdateInWS , p = panels[4] , l = 'in local Space' , v = 0  )	
		mc.text(        p = panels[4] , l = '' , h = 5 )
		mc.button(      p = panels[4] , l = 'CURVE LINE 3' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_updateLineWidthDuplicateCtrls( 3 )'.format(self.variableNameInGlobal) )
		mc.text(        p = panels[4] , l = '' , h = 10  )
Ejemplo n.º 36
0
	def UI_constraint( self, UIparent ):
		
		panels =  [ 'constraintUI_manipShape' , 'constraintUI_colomn' ]	
		
		mc.frameLayout( panels[0]  , li = 80 ,  cl = 1 , cll = 1 ,  w = 262 ,  bgc = [ 0.23 , 0.23 , 0.24 ]  ,   label = 'CONSTRAINTS' , p = UIparent )
		
		mc.columnLayout( panels[1] , p = panels[0] , bgc = [ 0.27 , 0.27 , 0.27 ]  , columnAttach = [ 'both' , 10 ] , rowSpacing = 0 , columnWidth = 280  )

		mc.text(        p = panels[1] , l = '' , h = 5  )		
		mc.button(      p = panels[1] , l = 'CONSTRAINT' , bgc = [ 0.5 , 0.3 , 0.3 ] , c = '{}.cmds_constraint()'.format(self.variableNameInGlobal) )		
		mc.text(        p = panels[1] , l = '' , h = 5  )		
		mc.checkBox( self.cbConstraintDuplicates , p = panels[1] , l = 'MODIFY DUPLICATES' , v = 1  )
		mc.text(        p = panels[1] , l = '' , h = 5  )
		mc.checkBox( self.cbConstraintConvert , p = panels[1] , l = 'CONVERT CTRL TO OUT' , v = 1  )	
		mc.text(        p = panels[1] , l = '' , h = 5  )
		mc.checkBox( self.cbConstraint2by2 , p = panels[1] , l = '2BY2' , v = 1  )	
		mc.text(        p = panels[1] , l = '' , h = 5  )
		mc.checkBox( self.cbConstraintPoint , p = panels[1] , l = 'POINT' , v = 1  )	
		mc.text(        p = panels[1] , l = '' , h = 5  )
		mc.checkBox( self.cbConstraintRotate , p = panels[1] , l = 'ROTATE' , v = 1  )	
		mc.text(        p = panels[1] , l = '' , h = 5  )
		mc.checkBox( self.cbConstraintScale , p = panels[1] , l = 'SCALE' , v = 1  )								
		mc.text(        p = panels[1] , l = '' , h = 10 )
Ejemplo n.º 37
0
def repathUI():

    global eloadNameSpace
    global epathShader
    global epathAlembic
    global iloadNameSpace
    global ipathShader
    global ipathAlembic
    global uloadNameSpace
    global upathShader
    global upathAlembic
    global tabs
    global F

    tabs='tabs'
    wPathUI='EXPORPACO v1.6'
    if cmds.window(wPathUI, exists=True):
        cmds.deleteUI(wPathUI)
    if cmds.window(tabs, exists=True):
        cmds.deleteUI(tabs)

    wPathUI=cmds.window(wPathUI,title=wPathUI,resizeToFitChildren=True,s=1)
    tabs = cmds.tabLayout('tabs',innerMarginWidth=100, innerMarginHeight=5)

    #Creo columna de Export
    ecl1=cmds.columnLayout(parent=tabs,adjustableColumn=True,columnOffset=['both',5],rowSpacing=5 )
    etx1=cmds.text("EXPORT ALEMBIC!!",parent=ecl1,bgc=(1,8,0))
    ecl2=cmds.columnLayout(parent=ecl1)
    efl1=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ecl2)
    etx0=cmds.text("NAMESPACE->",h=25,parent=efl1)
    eloadNameSpace=cmds.textField(w=250,h=25,parent=efl1)
    efl2=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ecl2)
    etx2=cmds.text("FILE SHADER->",h=25,parent=efl2)
    epathShader=cmds.textField(w=250,h=25,parent=efl2)
    eloadBtnShd=cmds.button(w=100,label="SELECT FILE",c="PH_EXPORTPACO.selectDir()",parent=efl2)
    efl3=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ecl2)
    etx3=cmds.text("SAVE ALEMBIC->",h=25,parent=efl3)
    epathAlembic=cmds.textField(w=250,h=25,parent=efl3)
    eloadBtnAbc=cmds.button(w=100,label="SAVE .ABC ",c="PH_EXPORTPACO.selectDir(F=False)",parent=efl3)
    cmds.setParent( '..' )
    efixit=cmds.button(l="MANUEAL CREATE ALEMBIC", c="PH_EXPORTPACO.alembic()",w=70,h=80,bgc=(0.8,0.6,0),parent=ecl1)
    #autoExport=cmds.button(l="AUTO CREATE ALEMBIC", c="PH_EXPORTPACO.automaticExport()",w=70,h=80,bgc=(0.8,0.6,0),parent=ecl1)
    #autoSwitch=cmds.button(l="SWITCH CACHE/RIG", c="PH_EXPORTPACO.changebetweencache()",w=70,h=80,bgc=(0.8,0.6,0),parent=ecl1)
    cmds.setParent( '..' )

    #Creo columna de Import
    icl1=cmds.columnLayout(parent=tabs,adjustableColumn=True,columnOffset=['both',5],rowSpacing=5 )
    itx1=cmds.text("IMPORT ALEMBIC!!",parent=icl1,bgc=(0.5,0.8,1))
    icl2=cmds.columnLayout(parent=icl1)
    ifl1=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=icl2)
    itx0=cmds.text("NAMESPACE->",h=25,parent=ifl1)
    iloadNameSpace=cmds.textField(w=250,h=25,parent=ifl1)
    ifl2=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=icl2)
    itx2=cmds.text("FILE SHADER->",h=25,parent=ifl2)
    ipathShader=cmds.textField(w=250,h=25,parent=ifl2)
    iloadBtnShd=cmds.button(w=100,label="SELECT FILE",c="PH_EXPORTPACO.selectDir(True)",parent=ifl2)
    ifl3=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=icl2)
    itx3=cmds.text("FILE ALEMBIC->",h=25,parent=ifl3)
    ipathAlembic=cmds.textField(w=250,h=25,parent=ifl3)
    iloadBtnAbc=cmds.button(w=100,label="SELECT .ABC",c="PH_EXPORTPACO.selectDir(F=False)",parent=ifl3)
    ifixit=cmds.button(l="IMPORT ALEMBIC", c="PH_EXPORTPACO.alembic()",w=70,h=80,bgc=(0.5,0.8,1),parent=icl1)


    #Creo columna de Update
    ucl1=cmds.columnLayout(parent=tabs,adjustableColumn=True,columnOffset=['both',5],rowSpacing=5 )
    utx1=cmds.text("UPDATE ALEMBIC!!",parent=ucl1,bgc=(0.29,0.87,0.35))
    ucl2=cmds.columnLayout(parent=ucl1)
    ufl1=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ucl2)
    utx0=cmds.text("NAMESPACE->",h=25,parent=ufl1)
    uloadNameSpace=cmds.textField(w=250,h=25,parent=ufl1)
    ufl2=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ucl2)
    ufl3=cmds.rowLayout(numberOfColumns=3,columnWidth3=[90,100,70],parent=ucl2)
    utx3=cmds.text("FILE ALEMBIC->",h=25,parent=ufl3)
    upathAlembic=cmds.textField(w=250,h=25,parent=ufl3)
    uloadBtnAbc=cmds.button(w=100,label="SELECT .ABC ",c="PH_EXPORTPACO.selectDir()",parent=ufl3)

    fixit=cmds.button(l="UPDATE ALEMBIC", c="PH_EXPORTPACO.alembic()",w=70,h=80,bgc=(0.29,0.87,0.35),parent=ucl1)

    #Creo los Tabs
    tabs=cmds.tabLayout( tabs, edit=True, tabLabel=((ecl1, 'CREATE ALEMBIC'),(icl1, 'IMPORT ALEMBIC'),(ucl1, 'UPDATE ALEMBIC')))
    cmds.showWindow(wPathUI)
Ejemplo n.º 38
0
	typeToPrune = 'ikEffector'
	deleteFilteredObjects(globalTargetRig, typeToPrune)


	
#Start GUI

if cmds.window(windowID, exists=True):
	cmds.deleteUI(windowID)

cmds.window(windowID, title='Dupe Rig, Parent Constrain Hierarchy', sizeable=False, resizeToFitChildren=True)

#Start of 1st frame
cmds.frameLayout(label='Duplicate and Rename', collapsable=True)

cmds.text(label = 'Select the joint root to duplicate and enter search and replace names')
#Start of 1st frame content
cmds.rowColumnLayout(numberOfColumns=5, columnWidth=[(1,150), (2,150), (3,10), (4,100), (5,150)], columnOffset=[(1,'right', 3)])

#New Row
cmds.text(label='Joint root to duplicate:')

jointNameField = cmds.textField('selectedObjectField')

cmds.separator(h=10, style='none')

cmds.separator(h=10, style='none')

cmds.button(label='Select', command=(loadSelected)) #functools.partial

Ejemplo n.º 39
0
def gui():
	if (cmds.window(win, q=True, ex=True)):
		cmds.deleteUI(win)
		
	global prefix, name, start_num, pad_num, division, search, replace, sel_hier
		
	cmds.window(win, t='Rename Tool', w=width, h=300)
	main_layout = cmds.columnLayout(w=width, nch=2)
	cmds.rowColumnLayout(w=width, nc=2)
	
	cmds.text(w=(width/2), l='Prefix:')
	prefix = cmds.textField(w=(width/2), tx='Prefix')
	
	cmds.text(w=(width/2), l='New Name:')
	name = cmds.textField(w=(width/2), tx='New Name')
	
	cmds.text(w=(width/2), l='Start Number:')
	start_num = cmds.intField(w=(width/2), min=0, max=999, v=1, s=1)
	
	cmds.text(w=(width/2), l='Padding:')
	pad_num = cmds.intField(w=(width/2), min=0, max=5, v=2, s=1)
	
	cmds.text(w=75, l='Divider:')
	division = cmds.radioButtonGrp(nrb=2, cw=[(1,40), (2,40)],
		labelArray2=('_', 'None'), sl=1)
	cmds.setParent(main_layout)
	
	
	cmds.columnLayout(w=width, adj=True)
	cmds.button(l='Rename', c=scriptname + '.run_rename()')
	cmds.setParent(main_layout)
	
	
	cmds.rowColumnLayout(w=width, nc=2)
	cmds.text(w=(width/2), l='Search:')
	search = cmds.textField(w=(width/2), tx='joint')
	
	cmds.text(w=(width/2), l='Replace:')
	replace = cmds.textField(w=(width/2), tx='Replace')
	cmds.setParent(main_layout)
	
	
	cmds.columnLayout(w=width, adj=True)
	sel_hier = cmds.radioButtonGrp(nrb=2, cw=[(1,(width/2)), (2,(width/2))], 
		labelArray2=('Selected', 'Hierarchy'), sl=1)
	cmds.button(w=75, l='Replace', c=scriptname + '.searchReplace()')

		
	cmds.showWindow()
Ejemplo n.º 40
0
def createWindow():
    if cmds.window('MeshLightSetter', ex=True):
        cmds.deleteUI('MeshLightSetter')

    cmds.window('MeshLightSetter', t='MeshLight Setter', w=600, h=800)
    cmds.rowLayout(nc=2)
    cmds.frameLayout(l='aiTranslatorAttributes', w=380)
    cmds.formLayout('MeshLight_FormLayout')
    f1 = cmds.optionMenu('MeshLight_aiTranslator')
    cmds.menuItem(l='polymesh', p='MeshLight_aiTranslator')
    cmds.menuItem(l='mesh_light', p='MeshLight_aiTranslator')
    cmds.menuItem(l='procedural', p='MeshLight_aiTranslator')
    cmds.menuItem(l='quad', p='MeshLight_aiTranslator')
    cmds.menuItem(l='cylinder', p='MeshLight_aiTranslator')
    cmds.menuItem(l='disk', p='MeshLight_aiTranslator')
    f2 = cmds.colorSliderGrp('MeshLight_aiColor', l='Color')
    f3 = cmds.floatSliderGrp('MeshLight_aiIntensity',
                             l='Intensity',
                             field=True)
    f4 = cmds.floatSliderGrp('MeshLight_aiExposure', l='Exposure', field=True)
    f5 = cmds.checkBox('MeshLight_aiUseTemp', l='Use Temperature')
    f6 = cmds.floatSliderGrp('MeshLight_aiTemperature',
                             l='Temperature',
                             minValue=0.0,
                             maxValue=20000.0,
                             field=True)
    f7 = cmds.checkBox('MeshLight_aiVisible', l='Light Visible')
    f8 = cmds.intFieldGrp('MeshLight_aiSample', l='Sample')
    f9 = cmds.checkBox('MeshLight_aiNormalize', l='Normalize')
    f10 = cmds.checkBox('MeshLight_aiCastShadows', l='Cast Shadows')
    f11 = cmds.floatSliderGrp('MeshLight_aiShadowDensity',
                              l='ShadowDensity',
                              minValue=0.0,
                              maxValue=1.0,
                              field=True)
    f12 = cmds.colorSliderGrp('MeshLight_aiShadowColor', l='Shadow Color')
    f13 = cmds.checkBox('MeshLight_aiCastVolumeShadow',
                        l='Cast Volumeric Shadow')
    f14 = cmds.intFieldGrp('MeshLight_aiVolumeSample', l='Volume Sample')
    f15 = cmds.textFieldGrp('MeshLight_aiAov', l='AOV Group')
    f16 = cmds.rowLayout(nc=2)
    f17 = cmds.button(l='List LightGroup',
                      w=88,
                      c=lambda *args: refreshLightGroupMenu())
    f18 = cmds.button(l='Set LightGroup',
                      w=88,
                      c=lambda *args: setLightGroupFromMenu())
    cmds.setParent(u=True)
    f19 = cmds.textFieldGrp('AOVString', l='AOVs String')
    f20 = cmds.textScrollList('MeshLight_LightGroupList', w=180, h=380)
    f21 = cmds.textScrollList('LightFilterList', w=180, h=380, ams=True)
    f22 = cmds.rowLayout(nc=3)
    cmds.button(l='List', w=58, c=lambda *args: refreshAiLightFilterList())
    cmds.button(l='Connect', w=58, c=lambda *args: connectAiLightFilter())
    cmds.button(l='Cut', w=58, c=lambda *args: disconnectExistsFilters())
    cmds.setParent(u=True)
    cmds.formLayout('MeshLight_FormLayout',
                    e=True,
                    af=[(f1, 'top', 0), (f1, 'left', 100), (f2, 'top', 22),
                        (f2, 'left', -40), (f3, 'top', 44), (f3, 'left', -40),
                        (f4, 'top', 66), (f4, 'left', -40), (f5, 'top', 88),
                        (f5, 'left', 90), (f6, 'top', 110), (f6, 'left', -40),
                        (f7, 'top', 132), (f7, 'left', 90), (f8, 'top', 154),
                        (f8, 'left', -40), (f9, 'top', 176), (f9, 'left', 90),
                        (f10, 'top', 198), (f10, 'left', 90), (f11, 'top',
                                                               220),
                        (f11, 'left', -40), (f12, 'top', 242),
                        (f12, 'left', -40), (f13, 'top', 264),
                        (f13, 'left', 90), (f14, 'top', 286),
                        (f14, 'left', -40), (f15, 'top', 308),
                        (f15, 'left', -40),
                        (f16, 'top', 355), (f16, 'left', 5), (f19, 'top', 330),
                        (f19, 'left', -40),
                        (f20, 'top', 383), (f20, 'left', 5), (f21, 'top', 383),
                        (f21, 'left', 195), (f22, 'top', 355),
                        (f22, 'left', 195)])

    cmds.setParent(u=True)
    cmds.setParent(u=True)
    cmds.frameLayout(l='Mesh Light List', w=400)
    cmds.rowLayout(nc=5)
    cmds.button(l='aiAreaLight', w=80, c=lambda *ars: createAreaLight())
    cmds.textField('nodeTypeFilterText', w=130)
    cmds.popupMenu(p='nodeTypeFilterText')
    cmds.menuItem(
        l='getTypeBySelect',
        c=lambda *args: cmds.textField('nodeTypeFilterText',
                                       e=True,
                                       tx=cmds.nodeType(cmds.ls(sl=True)[0])))
    cmds.button(
        l='Selected',
        w=60,
        c=lambda args: cmds.select(cmds.ls(
            sl=True,
            dag=True,
            ni=True,
            type=cmds.textField('nodeTypeFilterText', q=True, tx=True)),
                                   r=True))
    cmds.button(
        l='Scene',
        w=60,
        c=lambda args: cmds.select(cmds.ls(
            dag=True,
            ni=True,
            type=cmds.textField('nodeTypeFilterText', q=True, tx=True)),
                                   r=True))
    cmds.button(
        l='Group',
        w=60,
        c=lambda args: cmds.select(groupAnalyzer(
            cmds.ls(dag=True, sl=True, ni=True),
            cmds.textField('nodeTypeFilterText', q=True, tx=True), 'down'),
                                   r=True))
    cmds.setParent(u=True)
    cmds.formLayout('MeshLightList_FormLayout')
    cmds.radioCollection()
    w1 = cmds.radioButton('AllLightCheck', l='List All Light', sl=True)
    w2 = cmds.radioButton('SelLightCheck', l='List Sel Light')
    #w1 = cmds.button(l='ALL MESH light',c=lambda *args:lightListRefresh(True),w=100)
    #w2 = cmds.button(l='Sel MESH Light',c=lambda *args:lightListRefresh(False),w=100)
    w3 = cmds.checkBox('List_NormalLight', l='Normal_Light')
    w4 = cmds.checkBox('List_MeshLight', l='Mesh_Light')
    w5 = cmds.textFieldGrp('MeshLight_Template', l='Template', w=400)
    w6 = cmds.button(l='Set Template',
                     c=lambda *args: cmds.textFieldGrp(
                         'MeshLight_Template',
                         e=True,
                         tx=cmds.ls(sl=True, dag=True, ni=True)[0]),
                     w=100)
    w7 = cmds.button(l='Convert!',
                     c=lambda *args: convertMeshToMeshLight(),
                     w=100)
    w8 = cmds.textScrollList('MeshLightList', w=400, h=700, ams=True)
    w9 = cmds.text('ListTotalNumber', l='0', w=50, nbg=True)
    w10 = cmds.text('ListSelectNumber', l='0', w=50, nbg=True)
    cmds.radioCollection()
    w11 = cmds.radioButton('Single_Check', l='Single')
    w12 = cmds.radioButton('Double_Check', l='Double', sl=True)
    w13 = cmds.button('ListWireframeColor',
                      l='Color Dis',
                      w=70,
                      c=lambda *args: displayLightColorAsWireframe())

    cmds.formLayout('MeshLightList_FormLayout',
                    e=True,
                    af=[(w1, 'top', 3), (w1, 'left', 0), (w2, 'top', 3),
                        (w2, 'left', 101), (w3, 'top', 3), (w3, 'left', 205),
                        (w4, 'top', 3), (w4, 'left', 320), (w5, 'top', 27),
                        (w5, 'left', -90), (w6, 'top', 27), (w6, 'left', 297),
                        (w7, 'top', 52), (w7, 'left', 297), (w8, 'top', 77),
                        (w8, 'left', 0), (w9, 'top', 57), (w9, 'left', 0),
                        (w10, 'top', 57), (w10, 'left', 50), (w11, 'top', 55),
                        (w11, 'left', 100),
                        (w12, 'top', 55), (w12, 'left', 160), (w13, 'top', 52),
                        (w13, 'left', 225)])
    cmds.popupMenu('MeshLightListMenu', p='MeshLightList')
    cmds.menuItem(
        l='Select...',
        p='MeshLightListMenu',
        c=lambda *args: cmds.select([
            item
            for item in cmds.textScrollList('MeshLightList', q=True, si=True)
        ]))
    cmds.menuItem(l='Light Color Button Window',
                  c=lambda *args: colorAnalyzer())
    cmds.showWindow('MeshLightSetter')

    cmds.textScrollList(
        'MeshLightList',
        e=True,
        dcc=lambda *args: cmds.select(
            cmds.textScrollList('MeshLightList', q=True, si=True), r=True))
    cmds.textScrollList('MeshLightList',
                        e=True,
                        sc=lambda *args: getMeshLightAttrsAndShow())
    cmds.textScrollList('MeshLight_LightGroupList',
                        e=True,
                        ams=True,
                        sc=lambda *args: genAovString(),
                        dcc=lambda *args: selectLightByGroupName())
    cmds.optionMenu(f1,
                    e=True,
                    cc=lambda *args: setMeshLightAttrsAndShow('translator'))
    cmds.colorSliderGrp(f2,
                        e=True,
                        cc=lambda *args: setMeshLightAttrsAndShow('color'))
    cmds.floatSliderGrp(f3,
                        e=True,
                        cc=lambda *args: setMeshLightAttrsAndShow('intensity'))
    cmds.floatSliderGrp(f4,
                        e=True,
                        cc=lambda *args: setMeshLightAttrsAndShow('exposure'))
    cmds.checkBox(f5,
                  e=True,
                  cc=lambda *args: setMeshLightAttrsAndShow('useTemp'))
    cmds.floatSliderGrp(f6,
                        e=True,
                        cc=lambda *args: setMeshLightAttrsAndShow('temp'))
    cmds.checkBox(f7,
                  e=True,
                  cc=lambda *args: setMeshLightAttrsAndShow('visible'))
    cmds.intFieldGrp(f8,
                     e=True,
                     cc=lambda *args: setMeshLightAttrsAndShow('sample'))
    cmds.checkBox(f9,
                  e=True,
                  cc=lambda *args: setMeshLightAttrsAndShow('normalize'))
    cmds.checkBox(f10,
                  e=True,
                  cc=lambda *args: setMeshLightAttrsAndShow('castShadows'))
    cmds.floatSliderGrp(
        f11,
        e=True,
        cc=lambda *args: setMeshLightAttrsAndShow('shadowDensity'))
    cmds.colorSliderGrp(
        f12, e=True, cc=lambda *args: setMeshLightAttrsAndShow('shadowColor'))
    cmds.checkBox(
        f13,
        e=True,
        cc=lambda *args: setMeshLightAttrsAndShow('castVolumeShadow'))
    cmds.intFieldGrp(f14,
                     e=True,
                     cc=lambda *args: setMeshLightAttrsAndShow('volumeSample'))
    cmds.textFieldGrp(f15,
                      e=True,
                      cc=lambda *args: setMeshLightAttrsAndShow('aiAov'))
    cmds.radioButton('AllLightCheck',
                     e=True,
                     cc=lambda *args: lightListRefresh())
    cmds.radioButton('SelLightCheck',
                     e=True,
                     cc=lambda *args: lightListRefresh())
    cmds.checkBox('List_NormalLight',
                  e=True,
                  cc=lambda *args: lightListRefresh())
    cmds.checkBox('List_MeshLight',
                  e=True,
                  cc=lambda *args: lightListRefresh())
    cmds.textScrollList(
        'LightFilterList',
        e=True,
        dcc=lambda *args: cmds.select(
            cmds.textScrollList('LightFilterList', q=True, si=True), r=True))
Ejemplo n.º 41
0
    def show(self):
        self.close()
        win = mc.window(self._windowName,
                        t=u'导入数据生成动画',
                        widthHeight=self._windowSize)
        mc.formLayout('formLyt', numberOfDivisions=100)
        one = mc.columnLayout('First_Set', parent='formLyt')

        mc.rowLayout('PathRow',
                     numberOfColumns=3,
                     columnAttach3=['left', 'left', 'left'],
                     columnWidth3=[5, 260, 35],
                     columnOffset3=[2, 2, 2],
                     adjustableColumn3=True,
                     parent='First_Set')
        mc.textFieldButtonGrp(self._textDateFBG,
                              label=u'采集数据文件路径:',
                              ed=False,
                              text='',
                              columnWidth3=[109, 230, 100],
                              buttonLabel=u'选择文件',
                              bc=self.fileDateGet)

        mc.rowLayout('oneRow',
                     numberOfColumns=3,
                     columnAttach3=['left', 'left', 'left'],
                     columnWidth3=[5, 260, 35],
                     columnOffset3=[2, 2, 2],
                     adjustableColumn3=True,
                     parent='First_Set')
        mc.textFieldButtonGrp(self._textTranFBG,
                              label=u'动态文件读取路径:',
                              ed=False,
                              text='',
                              columnWidth3=[109, 230, 100],
                              buttonLabel=u'选择文件',
                              bc=self.fileTranGet)

        mc.rowLayout('addRow',
                     numberOfColumns=3,
                     columnAttach3=['left', 'left', 'left'],
                     columnWidth3=[5, 260, 35],
                     columnOffset3=[2, 2, 2],
                     adjustableColumn3=True,
                     parent='First_Set')
        mc.textFieldButtonGrp(self._textSaveFBG,
                              label=u'动态文件保存路径:',
                              ed=False,
                              text='',
                              columnWidth3=[109, 230, 100],
                              buttonLabel=u'保存文件',
                              bc=self.fileSaveGet)

        mc.rowLayout('twoRow',
                     numberOfColumns=4,
                     columnAttach4=['left', 'left', 'left', 'left'],
                     columnWidth4=[5, 68, 70, 88],
                     columnOffset4=[2, 2, 10, 15],
                     adjustableColumn4=True,
                     parent='First_Set')
        mc.text(label=u'开始帧:', w=68, parent='twoRow')
        mc.textField('startFrame',
                     text='1',
                     width=80,
                     alwaysInvokeEnterCommandOnReturn=True,
                     parent='twoRow')
        mc.text(label=u'结束帧:', w=68, parent='twoRow')
        mc.textField('endFrame',
                     text='25',
                     width=80,
                     alwaysInvokeEnterCommandOnReturn=True,
                     parent='twoRow')

        mc.rowLayout('threeRow',
                     numberOfColumns=5,
                     columnAttach5=['left', 'left', 'left', 'left', 'left'],
                     columnWidth5=[50, 50, 50, 35, 35],
                     columnOffset5=[10, 10, 10, 10, 20],
                     adjustableColumn5=True,
                     parent='First_Set')
        mc.textField(self._textSub,
                     text='1',
                     width=40,
                     alwaysInvokeEnterCommandOnReturn=True,
                     parent='threeRow')
        mc.button(l=u'创建分段点',
                  width=60,
                  command=lambda *arg: self.Subsection(),
                  parent='threeRow')
        mc.text(label=u'场景比例', w=60, parent='threeRow')
        mc.textFieldGrp(self._textFG,
                        cw2=[150, 50],
                        cal=[1, 'left'],
                        text='1',
                        parent='threeRow')
        mc.button(l=u'生成', width=150, parent='threeRow', c=self.Doit)

        mc.setParent('First_Set')
        two = mc.scrollLayout('Subsection_set',
                              horizontalScrollBarThickness=16,
                              verticalScrollBarThickness=16,
                              w=400,
                              h=400)
        mc.rowLayout('fourRow',
                     adjustableColumn1=True,
                     backgroundColor=[0.1, 0.1, 0.1],
                     w=400,
                     parent='Subsection_set')
        mc.text(
            l=
            u'-------------------------------------------分段设置-------------------------------------------',
            parent='fourRow')
        mc.rowColumnLayout('fiveRow',
                           numberOfColumns=3,
                           columnWidth=[(1, 60), (2, 80), (3, 90)],
                           parent='Subsection_set')
        mc.text(l=u'每段起始帧', parent='fiveRow')
        mc.text(l=u'头尾融合帧', parent='fiveRow')
        mc.text(l=u'距离缩放', parent='fiveRow')

        self.Subsection()

        mc.showWindow(win)
Ejemplo n.º 42
0
def ui():
    '''
    '''

    with utl.MlUi('ml_animCurveEditor',
                  'Animation Curve Editing',
                  width=400,
                  height=300,
                  info='''Non-Linear Editing workflows for animation curves.
Choose which animCurves to affect from the drop-down menu, then
change tabs to choose options related to that function.''') as win:

        mc.separator(height=8, style='none')

        mc.optionMenuGrp('ml_animCurveEditor_selection_menu',
                         label='Act On AnimCurves In:')

        mc.menuItem(label='Selected Nodes')
        mc.menuItem(label='Selected Channels')
        mc.menuItem(label='Hierarchy')
        mc.menuItem(label='Graph Editor')
        mc.menuItem(label='Entire Scene')
        #mc.menuItem(label='AnimLayer')

        mc.separator(height=8, style='none')

        tabs = mc.tabLayout()

        # ________
        #/ Offset \_________________________________
        tab1 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text('Offset animCurves by the number of frames specified.')
        mc.text('Use negative values to offset backward in time.')
        mc.separator(height=16, style='in')

        mc.floatFieldGrp('ml_animCurveEditor_frames_floatField',
                         label='Frames')

        mc.paneLayout(configuration='vertical2', separatorThickness=1)

        win.ButtonWithPopup(
            label='Offset',
            command=offset,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'frames': 'ml_animCurveEditor_frames_floatField',
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation=
            'Offset curves in time by the number of frames specified. use negative numbers to offset backwards.'
        )

        win.ButtonWithPopup(
            label='Offset Current Frame To',
            command=offsetCurrentTimeTo,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'frame': 'ml_animCurveEditor_frames_floatField',
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation=
            'Offset curves so that the current time is moved to the specified frame.'
        )
        mc.setParent('..')

        win.ButtonWithPopup(label='Insert Frame',
                            command=insertFrame,
                            name='ml_animCurveEditor',
                            readUI_toArgs={
                                'selectionOption':
                                'ml_animCurveEditor_selection_menu'
                            },
                            annotation='Insert frame.')
        mc.setParent('..')

        #             _____
        #____________/ Cut \_______________________
        tab2 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text(
            'Cut sections of animation, based on the current frame or timeline selection.'
        )
        mc.text(
            'If Set Key At Cut is checked, a key will be set so that the integrity of the curves are mainained.'
        )
        mc.separator(height=16, style='in')

        mc.checkBoxGrp(
            'ml_animCurveEditor_setKeyAtCut_checkBox',
            label='Set Key At Cut',
            value1=True,
            annotation='Set a key at the cut point to preserve curves.')

        mc.paneLayout(configuration='vertical2', separatorThickness=1)

        b11 = win.ButtonWithPopup(
            label='Cut Before Current Frame',
            command=cutEarlier,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu',
                'setKey': 'ml_animCurveEditor_setKeyAtCut_checkBox'
            },
            annotation='Cut all keys before the current frame')
        b21 = win.ButtonWithPopup(
            label='Cut After Current Frame',
            command=cutLater,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu',
                'setKey': 'ml_animCurveEditor_setKeyAtCut_checkBox'
            },
            annotation='Cut all keys after the current frame')
        mc.setParent('..')
        mc.paneLayout(configuration='vertical2', separatorThickness=1)

        b12 = win.ButtonWithPopup(
            label='Cut Selected Range',
            command=cutSelected,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu',
                'setKey': 'ml_animCurveEditor_setKeyAtCut_checkBox'
            },
            annotation='Cut all keys within the range selected in the timeline'
        )
        b22 = win.ButtonWithPopup(
            label='Cut Unselected Range (Keep Only Selection)',
            command=cutUnselected,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu',
                'setKey': 'ml_animCurveEditor_setKeyAtCut_checkBox'
            },
            annotation='Cut all keys outside of the selected range')
        mc.setParent('..')
        b22 = win.ButtonWithPopup(
            label='Ripple Cut Selection',
            command=rippleCut,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu',
                'setKey': 'ml_animCurveEditor_setKeyAtCut_checkBox'
            },
            annotation=
            'Cut keys within the selection, and move the later keys to close the gap'
        )
        mc.setParent('..')

        #     ____________
        #____/ Scale Time \_______________________
        tab3 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text('Scale animation in time to speed it up or slow it down.')
        mc.text(
            'Time Pivot is where the animation scales from, values at this position wont change.'
        )
        mc.separator(height=16, style='in')

        mc.radioButtonGrp(
            'ml_animCurveEditor_scaleTimePivot_radioButton',
            label='Time Pivot',
            numberOfRadioButtons=4,
            labelArray4=('Current Frame', 'Start', 'End', 'Middle'),
            select=1,
            annotation=
            'Where in time to scale from. start, end and middle refer to the range of the animation curves, not the timeline.'
        )
        mc.floatSliderGrp(
            'ml_animCurveEditor_scaleTimePercent_floatField',
            label='Percent',
            field=True,
            value=100,
            precision=0,
            step=1,
            sliderStep=10,
            minValue=0,
            maxValue=200,
            fieldMinValue=-10000,
            fieldMaxValue=10000,
            annotation=
            'Percentage to scale time by. 50% will make motion go twice as fast, etc.'
        )

        win.ButtonWithPopup(
            label='Scale Key Time',
            command=scaleTime,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'percent': 'ml_animCurveEditor_scaleTimePercent_floatField',
                'pivotOption': 'ml_animCurveEditor_scaleTimePivot_radioButton',
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation='Scale curves in time.')

        mc.setParent('..')

        #         _____________
        #________/ Scale Value \____________________
        tab4 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text(
            'Scale animCurve values to change how much they affect the animation.'
        )
        mc.text(
            'Value Pivot is where the animation scales from, values at this position wont change.'
        )
        mc.separator(height=16, style='in')

        mc.radioButtonGrp(
            'ml_animCurveEditor_scaleValuePivot_radioButton',
            label='Value Pivot',
            numberOfRadioButtons=4,
            labelArray4=('Zero', 'Top', 'Bottom', 'Middle'),
            select=1,
            annotation=
            'Where to scale the curves from. top, bottom and middle refer to the highest and lowest keys on the curve.'
        )
        mc.floatSliderGrp('ml_animCurveEditor_scaleValuePercent_floatField',
                          label='Percent',
                          field=True,
                          value=100,
                          precision=0,
                          step=1,
                          sliderStep=10,
                          minValue=0,
                          maxValue=200,
                          fieldMinValue=-10000,
                          fieldMaxValue=10000,
                          annotation='Percentage to scale keyframe values by')
        win.ButtonWithPopup(
            label='Scale Keys',
            command=scaleValue,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'percent': 'ml_animCurveEditor_scaleValuePercent_floatField',
                'pivotOption':
                'ml_animCurveEditor_scaleValuePivot_radioButton',
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation='Scale keyframe values')

        mc.setParent('..')

        #                 _____________
        #________________/ Value Clamp \______________
        tab5 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text('Clamp animation curve values at an upper or lower bound.')
        mc.text(
            'For example to keep keys from passing below a zero-level ground plane.'
        )
        mc.separator(height=16, style='in')

        mc.radioButtonGrp(
            'ml_animCurveEditor_clamp_radioButton',
            label='Clamp:',
            numberOfRadioButtons=2,
            labelArray2=('Clamp Upper', 'Clamp Lower'),
            select=1,
            annotation=
            'Either clamp everything above the specified value, or below')
        mc.floatFieldGrp(
            'ml_animCurveEditor_clampValue_floatField',
            label='Value:',
            annotation='Clamp keyframes above or below this value to this value'
        )

        win.ButtonWithPopup(label='Clamp',
                            command=clampValues,
                            name='ml_animCurveEditor',
                            readUI_toArgs={
                                'value':
                                'ml_animCurveEditor_clampValue_floatField',
                                'clampOption':
                                'ml_animCurveEditor_clamp_radioButton',
                                'selectionOption':
                                'ml_animCurveEditor_selection_menu'
                            },
                            annotation='Clamp keyframe values')
        mc.setParent('..')

        #                         __________
        #________________________/ Clean Up \_________
        tab6 = mc.columnLayout(adj=True)

        mc.separator(height=8, style='none')
        mc.text('Various tools for deleting keys.')
        mc.separator(height=16, style='in')

        win.ButtonWithPopup(
            label='Delete Static Channels',
            command=deleteStaticChannels,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation="Delete all keys on channels which don't change value")

        win.ButtonWithPopup(
            label='Delete Redundant Keys',
            command=deleteRedundantKeys,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation=
            "Delete keyframes who's values are the same as previous and next key."
        )

        win.ButtonWithPopup(
            label='Delete Sub-Frame Keys',
            command=deleteSubFrameKeys,
            name='ml_animCurveEditor',
            readUI_toArgs={
                'selectionOption': 'ml_animCurveEditor_selection_menu'
            },
            annotation="Delete keys that aren't on a whole-number frame.")

        mc.tabLayout(tabs,
                     edit=True,
                     tabLabel=((tab1, 'Offset'), (tab2, 'Cut'),
                               (tab3, 'Scale Time'), (tab4, 'Scale Value'),
                               (tab5, 'Clamp'), (tab6, 'Clean Up')))
Ejemplo n.º 43
0
    def __init__(self, *args):
        if not cmds.objExists('All_InitCTL'):
            self.rigInitCtl_inst = initrigset.RigAll()
            self.rigInitCtl_inst.putInitCtl()
            self.rigInitCtl_inst.doIt()

            try:
                f = open("pickle.dat", 'w')
                pickle.dump(self.rigInitCtl_inst, f)
                f.close()
            except:
                pass
        else:
            try:
                f = open("pickle.dat", 'r')
                self.rigInitCtl_inst = pickle.load(f)
                f.close()
            except:
                pass

        win = rigbase.createWindow('locusHumanRig_ui', title='Locus Human Rig')

        form = cmds.formLayout()
        cmds.image(image=chModules.chRiggingImagePath)
        cmds.popupMenu()
        cmds.menuItem(l='Mirror <<')
        cmds.menuItem(l='Mirror >>')

        self.neckField = cmds.intField(v=4, min=3)
        self.bodyField = cmds.intField(v=5, min=3)
        self.armLUField = cmds.intField(v=5, min=3)
        self.armLLField = cmds.intField(v=5, min=3)
        self.armRUField = cmds.intField(v=5, min=3)
        self.armRLField = cmds.intField(v=5, min=3)
        self.legLUField = cmds.intField(v=5, min=3)
        self.legLLField = cmds.intField(v=5, min=3)
        self.legRUField = cmds.intField(v=5, min=3)
        self.legRLField = cmds.intField(v=5, min=3)

        self.fieldGrp = [
            self.neckField, self.bodyField, self.armLUField, self.armLLField,
            self.armRUField, self.armRLField, self.legLUField, self.legLLField,
            self.legRUField, self.legRLField
        ]

        self.headFollow = cmds.frameLayout(l='Head Follow', w=100)
        cmds.checkBox(l='Neck',
                      v=1,
                      onc=partial(self.followAttrVis, ['Head_CTL'],
                                  'neckFollow', True),
                      ofc=partial(self.followAttrVis, ['Head_CTL'],
                                  'neckFollow', False))
        cmds.checkBox(l='Chest',
                      v=1,
                      onc=partial(self.followAttrVis, ['Head_CTL'],
                                  'chestFollow', True),
                      ofc=partial(self.followAttrVis, ['Head_CTL'],
                                  'chestFollow', False))
        cmds.checkBox(l='Root',
                      onc=partial(self.followAttrVis, ['Head_CTL'],
                                  'rootFollow', True),
                      ofc=partial(self.followAttrVis, ['Head_CTL'],
                                  'rootFollow', False))
        cmds.checkBox(l='Move',
                      onc=partial(self.followAttrVis, ['Head_CTL'],
                                  'moveFollow', True),
                      ofc=partial(self.followAttrVis, ['Head_CTL'],
                                  'moveFollow', False))
        cmds.setParent('..')

        self.collarFollow = cmds.frameLayout(l='Collar Follow', w=100)
        cmds.checkBox(l='Chest',
                      onc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'chestFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'chestFollow', False))
        cmds.checkBox(l='Root',
                      onc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'rootFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'rootFollow', False))
        cmds.checkBox(l='Move',
                      onc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'moveFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Collar_L_CTL', 'Collar_R_CTL'],
                                  'moveFollow', False))
        cmds.setParent('..')

        self.armFollow = cmds.frameLayout(l='Arm Follow', w=100)
        cmds.checkBox(l='Collar',
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'collarFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'collarFollow', False))
        cmds.checkBox(l='Head',
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'headFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'headFollow', False))
        cmds.checkBox(l='Chest',
                      v=1,
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'chestFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'chestFollow', False))
        cmds.checkBox(l='Hip',
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'hipFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'hipFollow', False))
        cmds.checkBox(l='Root',
                      v=1,
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'rootFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'rootFollow', False))
        cmds.checkBox(l='Move',
                      onc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'moveFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Arm_L_Switch_CTL', 'Arm_R_Switch_CTL'],
                                  'moveFollow', False))
        cmds.setParent('..')

        self.legFollow = cmds.frameLayout(l='Leg Follow', w=100)
        cmds.checkBox(l='Hip',
                      onc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'hipFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'hipFollow', False))
        cmds.checkBox(l='Root',
                      v=1,
                      onc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'rootFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'rootFollow', False))
        cmds.checkBox(l='Move',
                      onc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'moveFollow', True),
                      ofc=partial(self.followAttrVis,
                                  ['Leg_L_Switch_CTL', 'Leg_R_Switch_CTL'],
                                  'moveFollow', False))
        cmds.setParent('..')

        dfFollowButton = cmds.button(l='Default Follow',
                                     w=100,
                                     h=30,
                                     c=self.defaultFollow)
        self.setButton = cmds.button(l='SET',
                                     c=self.setCmd,
                                     w=60,
                                     h=30,
                                     bgc=[.308 - .1, .312 - .1, .292 - .1])
        self.backButton = cmds.button(l='BACK',
                                      c=self.backCmd,
                                      vis=0,
                                      w=60,
                                      h=30,
                                      bgc=[.308 - .1, .312 - .1, .292 - .1])

        empty = cmds.text(l='')
        #mirrorLButton = cmds.button( l='>>',  w=30, h=80 )
        #mirrorRButton  = cmds.button( l='<<', w=30, h=80 )
        cmds.frameLayout(self.collarFollow, q=1, ca=1)

        cmds.formLayout(form,
                        e=1,
                        attachForm=[(self.neckField, 'top', 80),
                                    (self.neckField, 'left', 130),
                                    (self.bodyField, 'top', 195),
                                    (self.bodyField, 'left', 150),
                                    (self.armLUField, 'top', 170),
                                    (self.armLUField, 'left', 200),
                                    (self.armLLField, 'top', 235),
                                    (self.armLLField, 'left', 215),
                                    (self.armRUField, 'top', 170),
                                    (self.armRUField, 'left', 65),
                                    (self.armRLField, 'top', 235),
                                    (self.armRLField, 'left', 50),
                                    (self.legLUField, 'top', 350),
                                    (self.legLUField, 'left', 175),
                                    (self.legLLField, 'top', 465),
                                    (self.legLLField, 'left', 165),
                                    (self.legRUField, 'top', 350),
                                    (self.legRUField, 'left', 105),
                                    (self.legRLField, 'top', 470),
                                    (self.legRLField, 'left', 85),
                                    (self.headFollow, 'top', 15),
                                    (self.headFollow, 'left', 320),
                                    (self.collarFollow, 'top', 150),
                                    (self.collarFollow, 'left', 320),
                                    (self.armFollow, 'top', 265),
                                    (self.armFollow, 'left', 320),
                                    (self.legFollow, 'top', 440),
                                    (self.legFollow, 'left', 320),
                                    (dfFollowButton, 'top', 560),
                                    (dfFollowButton, 'left', 320),
                                    (self.setButton, 'top', 560),
                                    (self.setButton, 'left', 250),
                                    (self.backButton, 'top', 560),
                                    (self.backButton, 'left', 250),
                                    (empty, 'top', 0)])

        cmds.window(win, e=1, wh=[313, 595], s=0)

        try:
            from BorderlessFrame import BorderlessFrame, toQtObject
            dlg = toQtObject(win)
            self._win = BorderlessFrame()
            self._win.setContent(dlg)
            self._win.setTitle('Locus Human Rig')
            self._win.show()
            self._win.move(214, 223)
        except:
            cmds.showWindow(win)

        self.win = win

        self.followMenuVisSet()
        self.scriptJobSetting()
Ejemplo n.º 44
0
    def __init__(self):

        if mc.windowPref('infoAiAssWind', query=True, exists=True):
            mc.windowPref('infoAiAssWind', remove=True )
        if mc.window('infoAiAssWind', query=True, exists=True):
            mc.deleteUI('infoAiAssWind', window=True)

        aif = AiFuncClass()

        windbgc=0.2,0.2,0.2 #color of the background of the window

        self.windInfo = mc.window('infoAiAssWind', title="Info", widthHeight=(315, 200), backgroundColor=windbgc, tlc=[250,450],te=25,s=True,mnb=False,mxb=False,i=False)


        mc.rowColumnLayout("rclInfoGlobal", adj=True)

        mc.iconTextButton(st='textOnly',label= "   ", h = 2, backgroundColor=bgcgreenM  )
        mc.separator( h=15, style='none' )
        mc.text(l='<font color=#00f58a><h3>This tool was made by LiamCollod<h3></font>',h=15)
        mc.text(l='<font <h5>mail pro: <i>[email protected]<i><h5></font>',h=35)


        mc.rowColumnLayout("rclInfoSep", nc=3)
        mc.separator( w=10, style='none' )
        mc.iconTextButton(st='iconOnly',bgc=bgcwhite,w=3)

        mc.rowColumnLayout("rclInfo2ndCol", nc=1,cal=[1,'left'])
        mc.text(label=' > A StandIn will be exported for each selection',fn='smallBoldLabelFont',h=16)
        mc.text(label=" > Remove this value from mask to remove corresponding",fn='smallBoldLabelFont',h=16)
        mc.text(label='       Options=1 ; Camera=2 ; Light=4 ; Shape=8 ; Shader=16',fn='smallBoldLabelFont',h=16)
        mc.setParent('..')
        mc.setParent('..')

        mc.separator( h=5, style='none' )

        mc.rowColumnLayout("rclInfoSep2", nc=3)
        mc.separator( w=10, style='none' )
        mc.iconTextButton(st='iconOnly',bgc=bgcwhite,w=3)

        mc.rowColumnLayout("rclInfo2ndCol2", adj=True)
        stItbLink="iconAndTextHorizontal"
        imgItbLink=":/out_genericConstraint.png"
        mc.iconTextButton(st=stItbLink,label='GUMROAD LINK',fn='smallBoldLabelFont',i=imgItbLink,c=func.partial(aif.hyperLink,0))
        mc.iconTextButton(st=stItbLink,label='TWITTER LINK',fn='smallBoldLabelFont',i=imgItbLink,c=func.partial(aif.hyperLink,1))
        mc.iconTextButton(st=stItbLink,label='ARTSTATION LINK',fn='smallBoldLabelFont',i=imgItbLink,c=func.partial(aif.hyperLink,2))
        mc.setParent('..')


        mc.setParent('..')
        mc.text(l='<font <h5>You find a bug ? Submit it to <i>[email protected]<i><h5></font>',h=35)
        mc.iconTextButton(st='textOnly',label= "   ", h = 2, backgroundColor=bgcwhite  )

        mc.setParent('..')
Ejemplo n.º 45
0
def FKLayout(fkList, colLayout):
    cmds.rowLayout(numberOfColumns=1, parent=colLayout, height=35)
    cmds.text("FK temperory controls:")
    cmds.setParent("..")
    for tempCtrl in fkList:
        chooseButtonWrapper(colLayout, tempCtrl, tempCtrl)
Ejemplo n.º 46
0
def build_gui_make_stretchy_legs():
    window_name = "build_gui_make_stretchy_legs"
    if cmds.window(window_name, exists=True):
        cmds.deleteUI(window_name)

    # Main GUI Start Here =================================================================================

    # Build UI
    build_gui_make_stretchy_legs = cmds.window(window_name, title=script_name + "  v" + script_version,\
                          titleBar=True, mnb=False, mxb=False, sizeable =True)

    cmds.window(window_name, e=True, s=True, wh=[1, 1])

    column_main = cmds.columnLayout()

    form = cmds.formLayout(p=column_main)

    content_main = cmds.columnLayout(adj=True)

    # Title Text
    cmds.separator(h=10, style='none')  # Empty Space
    cmds.rowColumnLayout(nc=1, cw=[(1, 270)], cs=[(1, 10)],
                         p=content_main)  # Window Size Adjustment
    cmds.rowColumnLayout(nc=3,
                         cw=[(1, 10), (2, 200), (3, 50)],
                         cs=[(1, 10), (2, 0), (3, 0)],
                         p=content_main)  # Title Column
    cmds.text(" ", bgc=[0, .5, 0])  # Tiny Empty Green Space
    cmds.text(script_name + " v" + script_version,
              bgc=[0, .5, 0],
              fn="boldLabelFont",
              align="left")
    cmds.button(l="Help",
                bgc=(0, .5, 0),
                c=lambda x: build_gui_help_make_stretchy_legs())
    cmds.separator(h=5, style='none')  # Empty Space

    # Body ====================
    body_column = cmds.rowColumnLayout(nc=1,
                                       cw=[(1, 260)],
                                       cs=[(1, 10)],
                                       p=content_main)

    cmds.text(l='This script creates a simple stretchy leg setup.',
              align="center")
    cmds.text(l='Select your ikHandle and click on "Make Stretchy',
              align="center")
    cmds.separator(h=15, style='none')  # Empty Space
    cmds.text(l='Important:', align="center", fn="boldLabelFont")
    cmds.text(l='It assumes that you have a curve driving your',
              align="center")
    cmds.text(l='ikHandle as a control.', align="center")

    cmds.separator(h=7, style='none')  # Empty Space

    cmds.separator(h=5)
    cmds.separator(h=7, style='none')  # Empty Space

    cmds.button(l="Make Stretchy",
                bgc=(.6, .8, .6),
                c=lambda x: make_stretchy_legs())
    cmds.separator(h=10, style='none')  # Empty Space

    # Show and Lock Window
    cmds.showWindow(build_gui_make_stretchy_legs)
    cmds.window(window_name, e=True, s=False)

    # Set Window Icon
    qw = omui.MQtUtil.findWindow(window_name)
    widget = wrapInstance(long(qw), QWidget)
    icon = QIcon(':/ikSCsolver.svg')
    widget.setWindowIcon(icon)
Ejemplo n.º 47
0
    def showUI(self):

        if (cmds.window('massRefRlps_window', ex=True)):
            cmds.deleteUI('massRefRlps_window')

        print(
            '=========================== START UP ===========================')

        allRef = []

        self.myWindow = cmds.window('massRefRlps_window',
                                    w=350,
                                    title=self._toolName_)

        cmds.columnLayout(adj=True, rs=10)

        #----------------------------------------
        cmds.rowLayout(adj=True, nc=3, columnAlign=[(1, 'left'), (2, 'right')])
        cmds.text(l=self._toolName_, fn='boldLabelFont')
        cmds.iconTextButton('iconTextButton_refresh',
                            style='iconAndTextHorizontal',
                            image1='refresh.xpm',
                            label='Refresh',
                            c=self.refreshIcon_onclick)
        #cmds.text( l = 'Refresh', fn='boldLabelFont' )
        cmds.setParent('..')
        #----------------------------------------

        cmds.columnLayout(adj=True)
        cmds.text(l='All Reference node : ', align='left')
        cmds.separator()

        #============== center =============
        myTextScrollList = cmds.textScrollList(
            'textScrollList_allLists',
            numberOfRows=20,
            allowMultiSelection=True,
            append=allRef,
            sc=self.textScrollList_allLists_onSelect)

        cmds.columnLayout(adj=True)
        cmds.setParent('..')

        cmds.setParent('..')
        #----------------------------------------
        cmds.rowLayout(adj=True, nc=3, columnAlign=[1, 'left'])
        cmds.text(l='')
        cmds.button(l='From selection', c=self.select_fromSelection)
        cmds.button(l='Clear all selected', c=self.clear_allSelection)
        cmds.setParent('..')

        cmds.rowLayout(adj=True, nc=3, columnAlign=[2, 'left'])
        cmds.textFieldGrp('textFieldGrp_RefPath',
                          label='new Reference path : ',
                          text='path:/...')
        cmds.button('button_GetRefPath',
                    l='...',
                    c=self.buttonGetRefPath_OnClick)
        cmds.setParent('..')
        #----------------------------------------
        cmds.columnLayout(adj=True, rs=10)
        #cmds.checkBox('checkBox_Transfrom',l='Replace transform',en=False,v=False)
        #cmds.button('button_SelectFromeList', l='Get name from selection', h=45, en=True, c=self.button_SelectFromeList_onClick)
        cmds.button('massRefRlps_submit',
                    l='replace',
                    c=self.massRefRlps_submit_onClick,
                    h=50,
                    bgc=(0.5, 1, 0))
        cmds.setParent('..')
        #----------------------------------------
        cmds.rowLayout(adj=True, nc=2)
        cmds.text(l='version : ' + self._appVersion_)
        cmds.button(l='Close',
                    en=True,
                    c='cmds.deleteUI(\'massRefRlps_window\')',
                    w=100)
        cmds.setParent('..')
        #----------------------------------------

        cmds.setParent('..')

        cmds.showWindow('massRefRlps_window')

        print('DEBUG : massRefRlps_UI|showUI : Main window created.')
        self.refreshIcon_onclick()

        jobNum = cmds.scriptJob(
            ct=["SomethingSelected", self.run_scriptJob_selectSomthing],
            p=self.myWindow)
Ejemplo n.º 48
0
    def buildWindow(self):
        self.window = cmds.window(title="Submit to Farm",
                                  iconName='Render',
                                  widthHeight=(387, 450))

        cmds.columnLayout(rowSpacing=20, columnOffset=['both', 20])

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=2,
                             columnAttach=(1, 'right', 0),
                             columnWidth=[(1, 100), (2, 250)])

        # render globals
        cmds.text(label='Job Name')
        self.ui.jobname = cmds.textField()

        cmds.text(label='Render Name')
        self.ui.rendername = cmds.textField()

        cmds.text(label='Frame Range')
        self.ui.framerange = cmds.textField()

        cmds.text(label='Chunk Size')
        self.ui.chunksize = cmds.intSliderGrp(field=True,
                                              maxValue=100,
                                              step=15,
                                              fieldStep=15,
                                              sliderStep=15)

        cmds.text(label='Threads')
        self.ui.threads = cmds.intSliderGrp(field=True,
                                            minValue=1,
                                            maxValue=16,
                                            fieldStep=2,
                                            value=8)

        cmds.text(label='')
        self.ui.globals = cmds.button(label='Open Render Settings')

        # select the layers to render
        cmds.text(label='Render Layers')
        self.ui.renderlayers = cmds.textScrollList(numberOfRows=8,
                                                   allowMultiSelection=True,
                                                   append=['default'],
                                                   selectItem='default',
                                                   showIndexedItem=1)

        cmds.text(label='')
        self.ui.refresh = cmds.button(label='refresh')

        # general options for the render manager
        cmds.text(label='Options')
        self.ui.options = cmds.checkBoxGrp(
            numberOfCheckBoxes=2,
            labelArray2=['Check Outputs', 'Generate Quicktime'])
        cmds.text(label='Process')
        self.ui.process = cmds.radioButtonGrp(
            labelArray4=['Light', 'Medium', 'Heavy', 'Sumo'],
            select=2,
            numberOfRadioButtons=4,
            columnWidth4=[60, 60, 60, 60])

        cmds.setParent("..")

        # render button
        cmds.columnLayout(columnOffset=['both', 20])
        self.ui.render = cmds.button(label='Render', width=330, height=50)
Ejemplo n.º 49
0
    def __init__(self):

        ####UI STYLE#####
        bgcwind=[0.2,0.2,0.2]
        opTxt = "-shadowLinks 1; -mask 6399; -lightLinks 1; -boundingBox; -fullPath"

        aif = AiFuncClass()

        self.windowv = mc.window('%s' %WINDN, title=" ", widthHeight=(320, 130), backgroundColor=bgcwind, nde=True, ds=True, le=650,tbm=False,s=True)


        mc.rowColumnLayout("uiTopRowGlobal", adj=True)

        mc.rowColumnLayout("uiTopRowName", nr=1,adj=True,cat=[1,"left",1])
        mc.rowColumnLayout( nr=1)
        mc.iconTextButton(st='iconOnly', h = 25,w=25,image=":/ExportStandinShelf.png")
        mc.text(label=' Arnold StandIn Utility '+VERSION, h = 20,w = 285, bgc=[0.2, 0.2, 0.2], al='left', fn='tinyBoldLabelFont' , rs=False)
        mc.setParent('..')
        mc.iconTextButton(st='iconOnly', h = 25,w=25,image=":/info.png",c=aif.infoWind)
        mc.iconTextButton(st='iconOnly',label= "   ", h = 15,w=25 ,command=aif.closeWind ,image=":/closeTabButton.png"  )
        mc.setParent('..')

        mc.separator( height=4, style='none' )
        mc.iconTextButton(st='textOnly',label= "   ", h = 2,w=150 , backgroundColor=bgcai  )
        mc.setParent('..')

        mc.rowColumnLayout("rclytUiFuncGlobal", adj=True)

        mc.rowLayout("rowlytField",nc=2,cl2=["left","center"],ct2=["left","left"],co2=[1,0],ad2=True)
        mc.iconTextButton('itbFolder',st='iconOnly', h = 25,w=25 ,command=aif.fileDialog, backgroundColor=(bgcgrey),image=":/folder-open.png",ebg=True )
        mc.textField("textFieldFile", ann="export path",sbm="export path" , font = "obliqueLabelFont", h= 20,w= 350,bgc=(bgcgreyd),tx=aif.projectPath)
        mc.setParent( '..' )

        mc.separator(style='none',h=10)

        '''Export options'''
        mc.rowColumnLayout('rclExOp',nr=1,ral=[1,'center'],bgc=bgcai,adj=True)
        mc.separator(style='none',w=3)
        mc.iconTextButton('itbHelp',st='iconOnly', h = 25,w=25 ,command=func.partial(aif.hyperLink,3),image=":/help.png")
        mc.text(l='<font style="color:rgb(50,50,50)">ExportOptions:</font>',fn= "smallBoldLabelFont")
        mc.separator(style='none',w=3)
        mc.textField("textFieldOptions", ann="export ass options" , h= 20,w=280,bgc=bgcgreyl,tx=opTxt,p='rclExOp')
        mc.iconTextButton('itbFolder',st='iconOnly',l="r",ann="Reset field", h = 20,w=15 ,command=aif.resetField,bgc=bgcgreyd,image=":/cycle.png",mh=6)
        mc.setParent( '..' )


        '''OPTIONS PART'''
        mc.separator(style='none',h=10)

        mc.rowColumnLayout("rclOpGlobal", nc=3)

        chkS = 15
        txtOp = ['Cameras','Lights','Shapes','Shaders']
        mc.rowColumnLayout("rcl1", nc=4,rs=[1,5])
        mc.columnLayout(bgc=bgcgreyl)
        mc.columnLayout(bgc=bgcgreyl)
        mc.iconTextButton('itbChkEsf',l='Off',st='iconOnly',bgc=bgcgreyd,w=chkS,h=chkS,mh=0,c=aif.chkChange_esf)
        mc.setParent('..')
        mc.setParent('..')
        mc.separator( w=4, style='none' )
        mc.iconTextButton(st='textOnly',l='Export selection as a single file',h=chkS,fn="smallBoldLabelFont")
        mc.separator( w=8, style='none' )

        #
        # mc.iconTextButton(st='iconOnly',bgc=bgcgreenM,w=chkS,h=chkS,mh=0)
        # mc.separator( w=4, style='none' )
        # mc.iconTextButton(st='textOnly',l=txtOp[2],h=chkS)
        # mc.separator( w=8, style='none' )
        mc.setParent('..')

        mc.rowColumnLayout("rclFielName", nc=4,rs=[1,5],en=False)
        mc.iconTextButton(st='textOnly',bgc=bgcwhite,w=2,h=20)
        mc.separator( w=15, style='none' )
        mc.text(l='Name:')
        mc.textField("textFieldName", ann="Name of the single exported file" , h= 20,w=150,bgc=bgcgreyl,tx="asset_msh")
        mc.setParent('..')

        #
        # mc.rowColumnLayout("rcl2", nc=4,rs=[1,5])
        # mc.iconTextButton(st='iconOnly',bgc=bgcgreenM,w=chkS,h=chkS,mh=0)
        # mc.separator( w=4, style='none' )
        # mc.iconTextButton(st='textOnly',l=txtOp[1],h=chkS)
        # mc.separator( w=8, style='none' )
        #
        # mc.iconTextButton(st='iconOnly',bgc=bgcgreenM,w=chkS,h=chkS,mh=0)
        # mc.separator( w=4, style='none' )
        # mc.iconTextButton(st='textOnly',l=txtOp[3],h=chkS)
        # mc.separator( w=8, style='none' )
        # mc.setParent('..')
        #
        mc.setParent('..')
        '''END'''

        mc.separator(style='none',h=10)

        mc.columnLayout("cLytBtn1",adj=True)
        mc.iconTextButton(label="",style="textOnly",bgc=bgcgreyl,h=4)
        mc.iconTextButton(label="EXPORT to Path",style="textOnly",bgc=bgcgreyd,command=aif.export_ass,fn="smallBoldLabelFont")
        mc.separator(style='none',h=5)
        mc.iconTextButton(label="",style="textOnly",bgc=bgcgreyl,h=4)
        mc.iconTextButton(label="CREATE from Path",style="textOnly",bgc=bgcgreyd,command=aif.import_ass,fn="smallBoldLabelFont")
        mc.setParent('..')


        mc.setParent( '..' )#rclUiFuncGlobal
Ejemplo n.º 50
0
    def createCustom(self, *args):
        '''
        #
        #
        #
        #
        #
        '''
        # selection type
        mc.rowColumnLayout(nc=2, cw=[(1, 500), (2, 500)], cs=[1, 5], rs=[1, 3])

        mc.text(l="Select The Neck Root: ")
        mc.text(l="")
        mc.setParent("..")
        mc.separator(st="in", h=17, w=500)
        mc.checkBox("selSpineEnd_cb", l="Connect To Spine", en=True, v=True)

        mc.separator(st="in", h=17, w=500)

        # sources
        mc.rowColumnLayout(nc=2, cw=[(1, 100), (2, 380)], cs=[1, 5], rs=[1, 3])
        mc.text(bgc=(0.85, 0.65, 0.25), l="Neck Start Joint: ")
        mc.textFieldButtonGrp("jointLoad_tfbg", cw=(1, 322), bl="  Load  ")

        mc.text(bgc=(0.85, 0.65, 0.25), l="IK Chest CTRL: ")
        mc.textFieldButtonGrp("ctrlIKChestLoad_tf",
                              cw=(1, 322),
                              bl="  Load  ",
                              tx="CTRL_IK_chest")

        mc.text(bgc=(0.85, 0.65, 0.25), l="Spine Rig GRP: ")
        mc.textFieldButtonGrp("grpJNTSpine_tfbg",
                              cw=(1, 322),
                              bl="  Load  ",
                              tx="GRP_JNT_spine")

        mc.text(bgc=(0.85, 0.65, 0.25), l="COG: ")
        mc.textFieldButtonGrp("cog_tfbg",
                              cw=(1, 322),
                              bl="  Load  ",
                              tx="CTRL_COG")

        mc.separator(st="in", h=17, w=500)
        mc.setParent("..")

        mc.rowColumnLayout(nc=2, cw=[(1, 100), (2, 380)], cs=[1, 5], rs=[1, 3])
        mc.checkBox("selGeo_cb", l="Affect Geometry", en=True, v=True)

        mc.setParent("..")
        # Attributes

        # load buttons
        mc.textFieldButtonGrp("jointLoad_tfbg", e=True, bc=self.loadSrc1Btn)
        mc.textFieldButtonGrp("ctrlIKChestLoad_tf",
                              e=True,
                              bc=self.loadSrc2Btn)
        mc.textFieldButtonGrp("grpJNTSpine_tfbg", e=True, bc=self.loadSrc3Btn)
        mc.textFieldButtonGrp("cog_tfbg", e=True, bc=self.loadSrc4Btn)

        mc.showWindow(self.window)
Ejemplo n.º 51
0
def build_gui_help_make_stretchy_legs():
    window_name = "build_gui_help_make_stretchy_legs"
    if cmds.window(window_name, exists=True):
        cmds.deleteUI(window_name, window=True)

    cmds.window(window_name,
                title=script_name + " Help",
                mnb=False,
                mxb=False,
                s=True)
    cmds.window(window_name, e=True, s=True, wh=[1, 1])

    cmds.columnLayout("main_column", p=window_name)

    # Title Text
    cmds.separator(h=12, style='none')  # Empty Space
    cmds.rowColumnLayout(nc=1, cw=[(1, 310)], cs=[(1, 10)],
                         p="main_column")  # Window Size Adjustment
    cmds.rowColumnLayout(nc=1, cw=[(1, 300)], cs=[(1, 10)],
                         p="main_column")  # Title Column
    cmds.text(script_name + " Help",
              bgc=[0, .5, 0],
              fn="boldLabelFont",
              align="center")
    cmds.separator(h=10, style='none', p="main_column")  # Empty Space

    # Body ====================
    cmds.rowColumnLayout(nc=1, cw=[(1, 300)], cs=[(1, 10)], p="main_column")
    cmds.text(l='This script creates a simple stretchy leg setup.',
              align="center")
    cmds.text(l='Select your ikHandle and click on "Make Stretchy',
              align="center")
    cmds.separator(h=15, style='none')  # Empty Space
    cmds.text(l='Important:', align="center", fn="boldLabelFont")
    cmds.text(l='It assumes that you have a curve driving your',
              align="center")
    cmds.text(l='ikHandle as a control.', align="center")
    cmds.separator(h=15, style='none')  # Empty Space
    cmds.rowColumnLayout(nc=2,
                         cw=[(1, 140), (2, 140)],
                         cs=[(1, 10), (2, 0)],
                         p="main_column")
    cmds.text('Guilherme Trevisan  ')
    cmds.text(
        l='<a href="mailto:[email protected]">[email protected]</a>',
        hl=True,
        highlightColor=[1, 1, 1])
    cmds.rowColumnLayout(nc=2,
                         cw=[(1, 140), (2, 140)],
                         cs=[(1, 10), (2, 0)],
                         p="main_column")
    cmds.separator(h=15, style='none')  # Empty Space
    cmds.text(l='<a href="https://github.com/TrevisanGMW">Github</a>',
              hl=True,
              highlightColor=[1, 1, 1])
    cmds.separator(h=7, style='none')  # Empty Space

    # Close Button
    cmds.rowColumnLayout(nc=1, cw=[(1, 300)], cs=[(1, 10)], p="main_column")
    cmds.separator(h=10, style='none')
    cmds.button(l='OK', h=30, c=lambda args: close_help_gui())
    cmds.separator(h=8, style='none')

    # Show and Lock Window
    cmds.showWindow(window_name)
    cmds.window(window_name, e=True, s=False)

    # Set Window Icon
    qw = omui.MQtUtil.findWindow(window_name)
    widget = wrapInstance(long(qw), QWidget)
    icon = QIcon(':/question.png')
    widget.setWindowIcon(icon)

    def close_help_gui():
        if cmds.window(window_name, exists=True):
            cmds.deleteUI(window_name, window=True)
    def create_UI(self):
        # creates the ui for the ref object
        self.mainFLO = cmds.formLayout(bgc=(.2, .2, .2),
                                       w=500,
                                       h=40,
                                       p=widgets["refCLO"])
        if self.status == "pending":
            cmds.formLayout(self.mainFLO, e=True, bgc=(.7, .7, .7))
        self.stateBut = cmds.button(l="",
                                    w=20,
                                    h=26,
                                    p=self.mainFLO,
                                    en=False,
                                    bgc=(.5, .5, .5))
        if self.status != "current":
            cmds.button(self.stateBut, e=True, bgc=(0, 0, 0))
        self.nsTxt = cmds.text(self.namespace, p=self.mainFLO)
        cmds.popupMenu(p=self.nsTxt)
        cmds.menuItem(l=self.ref)

        self.variantOM = cmds.optionMenu(p=self.mainFLO,
                                         w=125,
                                         cc=self.change_variant)
        if self.compatible:
            # initialize variant list
            self.pathParse.get_variants_list()
            self.variants = self.pathParse.variantList
            for v in self.variants:
                cmds.menuItem(label=v)

        self.verOM = cmds.optionMenu(l="V:",
                                     p=self.mainFLO,
                                     w=75,
                                     bgc=(.5, .9, .5),
                                     changeCommand=self.change_number)
        if self.compatible:
            self.get_versions_list()
            for a in self.versionNums:
                cmds.menuItem(label=a)
            cmds.optionMenu(self.verOM, e=True, value=self.versionNum)
        else:
            cmds.optionMenu(self.verOM, e=True, bgc=(.5, .5, .5))

        # set up the variant list
        # if self.compatible:
        #     self.change_variant()

        self.loadBut = cmds.button(l="L",
                                   w=20,
                                   h=26,
                                   en=False,
                                   bgc=(.5, .9, .5),
                                   c=self.unload_toggle)
        if not self.loadState:
            cmds.button(self.loadBut, e=True, bgc=(.9, .5, .5))
        if self.status == "current":
            cmds.button(self.loadBut, e=True, en=True)
        self.killBut = cmds.button(l="X",
                                   w=20,
                                   h=26,
                                   bgc=(.2, .2, .2),
                                   c=self.kill_toggle)
        # if it's not in the pipeline kill some options
        if not self.compatible:
            cmds.formLayout(self.mainFLO, e=True, bgc=(.4, .2, .2))
            cmds.optionMenu(self.verOM, e=True, en=False)

        cmds.formLayout(self.mainFLO,
                        e=True,
                        af=[
                            (self.stateBut, "top", 8),
                            (self.stateBut, "left", 2),
                            (self.nsTxt, "top", 12),
                            (self.nsTxt, "left", 40),
                            (self.verOM, "top", 12),
                            (self.verOM, "left", 350),
                            (self.variantOM, "top", 12),
                            (self.variantOM, "left", 200),
                            (self.loadBut, "top", 8),
                            (self.loadBut, "left", 440),
                            (self.killBut, "top", 8),
                            (self.killBut, "left", 470),
                        ])
Ejemplo n.º 53
0
    def core(self):

        uiInfo.addFrameLayout(self._uiName, self._label)

        uiInfo.setSpace(4)

        cmds.rowColumnLayout(nc=3,
                             cw=[(1, 10), (2, self._width - 20), (3, 10)])
        uiInfo.setSpace()
        cmds.button("Create Yeti",
                    h=25,
                    c=partial(self.createYetiCmd, self._basePointer))
        uiInfo.setSpace()
        cmds.setParent('..')

        uiInfo.separator(self._width, 1)

        textScrollArea = (self._width - 20) / 2
        textScrollArea2 = self._width - 20 - textScrollArea

        cmds.rowColumnLayout(nc=4,
                             cw=[(1, 10), (2, textScrollArea),
                                 (3, textScrollArea2), (4, 10)])
        uiInfo.setSpace()
        cmds.text(l='Set', h=25)
        cmds.text(l='Guide Set', h=25)
        uiInfo.setSpace()
        uiInfo.setSpace()
        self._set = cmds.textScrollList(h=100,
                                        ams=1,
                                        sc=partial(self.selectOnSetCmd))
        self._guideSet = cmds.textScrollList(h=100,
                                             ams=1,
                                             sc=partial(
                                                 self.selectOnGuideSetCmd))
        uiInfo.setSpace()
        uiInfo.setSpace()
        cmds.button(l='Move to >>',
                    c=partial(self.moveToRCmd, self._basePointer))
        cmds.button(l='<< Move to',
                    c=partial(self.moveToLCmd, self._basePointer))
        uiInfo.setSpace()
        cmds.setParent('..')

        cmds.rowColumnLayout(nc=3,
                             cw=[(1, 10), (2, self._width - 20), (3, 10)])
        uiInfo.setSpace()
        cmds.button(l='Add',
                    h=25,
                    c=partial(self.addCmd, self._winPointer,
                              self._basePointer))
        uiInfo.setSpace()
        uiInfo.setSpace()
        cmds.button(l='Reset',
                    h=25,
                    c=partial(self.resetCmd, self._winPointer,
                              self._basePointer))
        uiInfo.setSpace()
        uiInfo.setSpace()
        cmds.button(l='Remove', h=25, c=partial(self.removeCmd))
        uiInfo.setSpace()
        cmds.setParent('..')

        uiInfo.separator(self._width)

        iconArea = 25
        fieldArea = (self._width) * .5
        textArea = self._width - fieldArea - iconArea - 10

        cmds.rowColumnLayout(nc=3,
                             cw=[(1, textArea), (2, fieldArea), (3, iconArea)])
        cmds.text(l='Groom File Name : ')
        self._filePath = cmds.textField(h=22, tx=self._defaultFilePath)
        cmds.iconTextButton(image=uiModel.iconPath + "/folder.png",
                            c=partial(self.loadFilePathCmd))
        cmds.setParent('..')

        cmds.rowColumnLayout(nc=3,
                             cw=[(1, 10), (2, self._width - 20), (3, 10)])
        uiInfo.setSpace()
        cmds.button("Import Groom",
                    h=25,
                    c=partial(self.importGroomCmd, self._basePointer))
        uiInfo.setSpace()
        uiInfo.setSpace()
        cmds.button("Open Graph Editor",
                    h=25,
                    c=partial(self.openGraphEditorCmd, self._basePointer))
        uiInfo.setSpace()
        cmds.setParent('..')

        uiInfo.setSpace(10)

        uiInfo.getOutFrameLayout()
Ejemplo n.º 54
0
def create_window():
    if not cmds.optionVar(q='playblastFFmpeg_ffmpegLoc'):
        cmds.optionVar(sv=('playblastFFmpeg_ffmpegLoc', ''))
    if not cmds.optionVar(q='playblastFFmpeg_outputLoc'):
        cmds.optionVar(sv=('playblastFFmpeg_outputLoc', '/movies/playblast.mov'))
    if not cmds.optionVar(q='playblastFFmpeg_resolutionx'):
        cmds.optionVar(sv=('playblastFFmpeg_resolutionx', 1920))
    if not cmds.optionVar(q='playblastFFmpeg_resolutiony'):
        cmds.optionVar(sv=('playblastFFmpeg_resolutiony', 1080))
    if not cmds.optionVar(q='playblastFFmpeg_inframe'):
        cmds.optionVar(sv=('playblastFFmpeg_inframe', 0))
    if not cmds.optionVar(q='playblastFFmpeg_outframe'):
        cmds.optionVar(sv=('playblastFFmpeg_outframe', 100))


    winID = 'playblastFFmpeg'
    if cmds.window(winID, exists=True):
        cmds.deleteUI(winID)
    cmds.window(winID, title='Playblast FFmpeg')

    def save_settings(*args):
        if cmds.textFieldButtonGrp('ffmpegLoc', q=True, text=True):
            cmds.optionVar(sv=('playblastFFmpeg_ffmpegLoc', cmds.textFieldButtonGrp('ffmpegLoc', q=True, text=True)))
        if cmds.textFieldButtonGrp(outputLocationText, q=True, text=True):
            cmds.optionVar(sv=('playblastFFmpeg_outputLoc', cmds.textFieldButtonGrp('VideoOutputLoc', q=True, text=True)))
        cmds.optionVar(sv=('playblastFFmpeg_resolutionx', cmds.textField(set_resolutionx, q=True, text=True)))
        cmds.optionVar(sv=('playblastFFmpeg_resolutiony', cmds.textField(set_resolutiony, q=True, text=True)))
        cmds.optionVar(sv=('playblastFFmpeg_inframe', cmds.textField(set_inframe, q=True, text=True)))
        cmds.optionVar(sv=('playblastFFmpeg_outframe', cmds.textField(set_outframe, q=True, text=True)))

    def get_ffmpeg_path(*args):
        file_path = cmds.fileDialog2(fm=1)[0]
        cmds.textFieldButtonGrp('ffmpegLoc', e=1, text=file_path)
        save_settings()

    # FFMPEG LOCATION
    cmds.columnLayout(w=300, rs=5)
    ffmpegLocation = cmds.optionVar(q='playblastFFmpeg_ffmpegLoc')
    ffmpegLocationText = cmds.textFieldButtonGrp('ffmpegLoc', label='FFmpeg Location', buttonLabel='FFmpeg Location', text=ffmpegLocation, cc=save_settings, bc=get_ffmpeg_path)
    cmds.setParent('..')

    # RESOLUTION
    cmds.columnLayout()
    cmds.text(label="")
    cmds.text(label="Video Resolution")
    resolutionx = cmds.optionVar(q='playblastFFmpeg_resolutionx')
    set_resolutionx = cmds.textField(text=resolutionx, cc=save_settings)
    resolutiony = cmds.optionVar(q='playblastFFmpeg_resolutiony')
    set_resolutiony = cmds.textField(text=resolutiony, cc=save_settings)

    # IN/OUT
    # Set the in and out frames for the playblast
    cmds.columnLayout()
    cmds.text(label="")
    cmds.text(label="In and Out Frames")
    inframe = cmds.optionVar(q="playblastFFmpeg_inframe")
    set_inframe = cmds.textField(text=inframe, cc=save_settings)
    outframe = cmds.optionVar(q="playblastFFmpeg_outframe")
    set_outframe = cmds.textField(text=outframe, cc=save_settings)

    # VIDEO FORMAT
    cmds.columnLayout()
    cmds.text(label="")
    cmds.text(label="")
    cmds.optionMenu('selected_video_format', label='Format', cc=printFormatMenuItem)
    cmds.menuItem('ext', label="use extension")
    #cmds.menuItem('mov', label="mov")
    #cmds.menuItem('mp4', label="mp4")
    #cmds.menuItem('webm', label="Webm")

    # ENCODE FORMAT
    # Set the video encode format
    cmds.columnLayout()
    cmds.optionMenu('selected_encode_format', label='Encoder', cc=printEncodeMenuItem)
    cmds.menuItem('libx264', label="(mov/mp4) h.264")
    cmds.menuItem('libx265', label="(mov/mp4) h.265/HEVC")
    cmds.menuItem('libvpx-vp9', label="(Webm) AV9")

    def get_video_output_path(*args):
        file_path = cmds.fileDialog2()[0]
        cmds.textFieldButtonGrp('VideoOutputLoc', e=1, text=file_path)
        save_settings()

    # OUTPUT LOCATION
    # Sets output location for playblast file and ffmpeg file
    cmds.columnLayout()
    OutputLocation = cmds.optionVar(q='playblastFFmpeg_outputLoc')
    outputLocationText = cmds.textFieldButtonGrp('VideoOutputLoc', label="Video Output Location", buttonLabel="Set Output Location", text=OutputLocation, cc=save_settings, bc=get_video_output_path)
    cmds.setParent('..')

    # EXPORT PLAYBLAST
    cmds.columnLayout()
    cmds.button(
        label="Export Playblast",
        h=50,
        c="ffmpeg_playblast(cmds.optionVar(q='playblastFFmpeg_resolutionx'), cmds.optionVar(q='playblastFFmpeg_resolutiony'), cmds.optionVar(q='playblastFFmpeg_inframe'), cmds.optionVar(q='playblastFFmpeg_outframe'), cmds.optionVar(q='playblastFFmpeg_outputLoc'))")

    cmds.showWindow(winID)

    selected_video_format = cmds.optionMenu('selected_video_format', q=True, value=True)
    selected_encode_format = cmds.optionMenu('selected_encode_format', q=True, value=True)
    selected_output_location = cmds.textFieldButtonGrp('VideoOutputLoc', q=True, text=True)
    return ffmpegLocation, selected_video_format, selected_output_location
Ejemplo n.º 55
0
def expTrackerWindow():
    if cmds.window('expTrackerWindow', exists=True):
        cmds.deleteUI('expTrackerWindow')

    #window def
    cmds.window('expTrackerWindow',
                widthHeight=(900, 400),
                title='expTracker-conelab',
                minimizeButton=False,
                maximizeButton=False,
                resizeToFitChildren=True,
                sizeable=True)
    #cmds.rowColumnLayout(numberOfColumns=3,columnWidth=[(1,300),(2,300),(3,300)],backgroundColor=[200,200,0])

    #select an existing blendShape node
    cmds.rowColumnLayout(numberOfColumns=6,
                         columnWidth=[(1, 150), (2, 25), (3, 300), (4, 25),
                                      (5, 200), (6, 200)],
                         backgroundColor=[1, 0.9843, 0.7961])
    cmds.text(label='Blend Shape node name : ', align='right')
    cmds.text(label='')
    selectedBlendShapeTextField = cmds.textField('selectedBlendShapeText',
                                                 backgroundColor=[1, 1, 1])
    cmds.text(label='')
    cmds.button(label='Load Targets',
                command='loadTargetList()',
                width=20,
                align='left',
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')

    cmds.columnLayout('temp1', width=900)
    cmds.rowColumnLayout(numberOfColumns=6,
                         columnWidth=[(1, 300), (2, 40), (3, 300), (4, 40),
                                      (5, 200), (6, 20)])
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    targetList = cmds.optionMenu('targetObjectMenu',
                                 label='Target: ',
                                 backgroundColor=[1, 0.9098, 0.4118])
    cmds.menuItem(label=' ')
    cmds.text(label='')
    paramList = cmds.optionMenu('paramObjectMenu',
                                label='Link: ',
                                backgroundColor=[1, 0.9098, 0.4118])
    cmds.menuItem(label='Please select param')
    cmds.menuItem(label='Brow Left UP')
    cmds.menuItem(label='Brow Left Down')
    cmds.menuItem(label='Brow Right UP')
    cmds.menuItem(label='Brow Right Down')
    cmds.menuItem(label='Brow Centering')
    cmds.menuItem(label='Brow outer left down')
    cmds.menuItem(label='Brow outer right down')
    cmds.menuItem(label='Eye Close Left')
    cmds.menuItem(label='Eye Close Right')
    cmds.menuItem(label='Mouse Open')
    cmds.menuItem(label='Mouse Left Smile')
    cmds.menuItem(label='Mouse Right Smile')
    cmds.menuItem(label='Mouse Left Spread')
    cmds.menuItem(label='Mouse Right Spread')
    cmds.menuItem(label='Mouse Left Frawn')
    cmds.menuItem(label='Mouse Right Frawn')
    cmds.menuItem(label='Mouse Left Centering')
    cmds.menuItem(label='Mouse Right Centering')
    cmds.menuItem(label='Cheek Left UP')
    cmds.menuItem(label='Cheek Right UP')
    cmds.text(label='')
    cmds.button(label='Add link',
                command='addlink()',
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.columnLayout('mytable',
                      width=900,
                      backgroundColor=[1, 0.9098, 0.4118])

    table = cmds.scriptTable('scrtable',
                             rows=0,
                             columns=6,
                             columnWidth=([1, 300], [2, 300], [3, 145],
                                          [4, 145], [5, 1], [6, 1]),
                             label=[(1, "Target"), (2, "Link"),
                                    (3, "Receive val"), (4, "Strength"),
                                    (5, "ID(Target)"), (6, "ID(Link)")],
                             width=900,
                             cellChangedCmd=edit_cell)

    cmds.rowColumnLayout(numberOfColumns=3,
                         columnWidth=[(1, 100), (2, 300), (3, 500)])

    cmds.text(label='')
    cmds.text(label='')
    cmds.button(label='Delete select row',
                command=delete_sel_row,
                backgroundColor=[0.3412, 0.8196, 0.7882])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.columnLayout('temp2', width=900)
    cmds.rowColumnLayout(numberOfColumns=4,
                         columnWidth=[(1, 100), (2, 300), (3, 300), (4, 200)],
                         backgroundColor=[1, 0.9098, 0.4118])

    cmds.text(label='')
    cmds.text(label='Head bone name')
    Headbonename = cmds.textField('HeadbonenameF')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation X')
    HeadbonenameX = cmds.textField('HeadbonenameXF', text='0')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Y')
    HeadbonenameY = cmds.textField('HeadbonenameYF', text='0')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Z')
    HeadbonenameZ = cmds.textField('HeadbonenameZF', text='0')
    cmds.text(label='')

    cmds.columnLayout('temp3', width=900)
    cmds.rowColumnLayout(numberOfColumns=5,
                         columnWidth=[(1, 200), (2, 50), (3, 200), (4, 150),
                                      (5, 300)])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.button(label='Save preset',
                command=savepresetfile,
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')
    cmds.button(label='Load preset',
                command=loadpresetfile,
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')
    cmds.button('realtimecomm',
                label='Start Real Time Expression',
                command=startrealtimeexp,
                backgroundColor=[0.9294, 0.3294, 0.5216])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.showWindow('expTrackerWindow')
Ejemplo n.º 56
0
    def createUI(self):

        # Create a formLayout under our parent.  It will hold 3 controls,
        # the rules chain form, the separator, and the handler rule form.
        # Use 100 divisions as a convenience, so that divisions are
        # effectively a percentage.
        self._form = cmds.formLayout(numberOfDivisions=100)

        # Create a form layout for the rules chain section of the UI.
        self._chainForm = cmds.formLayout(numberOfDivisions=100)

        self._scrollList = cmds.textScrollList(allowMultiSelection=False,
                                               selectCommand=self.onSelect)

        self.updateScrollList()

        # Priority controls.
        self._priorityText = cmds.text(
            label=maya.stringTable['y_inputSpaceRulesUI.kPriorityLabel'])
        self._up = cmds.button(
            label=maya.stringTable['y_inputSpaceRulesUI.kUpLabel'],
            width=buttonWidth,
            command=self.onUp)
        self._down = cmds.button(
            label=maya.stringTable['y_inputSpaceRulesUI.kDownLabel'],
            width=buttonWidth,
            command=self.onDown)
        self._add = cmds.button(
            label=maya.stringTable['y_inputSpaceRulesUI.kAddLabel'],
            width=buttonWidth,
            command=self.onAddRule)
        self._delete = cmds.button(
            label=maya.stringTable['y_inputSpaceRulesUI.kDeleteLabel'],
            width=buttonWidth,
            command=self.onDeleteRule)

        # Reapply rules.
        self._reload = cmds.button(
            label=maya.stringTable['y_inputSpaceRulesUI.kReloadLabel'],
            command=self.onReapply)

        cmds.formLayout(self._chainForm,
                        edit=True,
                        attachForm=[(self._priorityText, 'top', vSpc),
                                    (self._up, 'left', hSpc),
                                    (self._down, 'right', hSpc),
                                    (self._add, 'left', hSpc),
                                    (self._delete, 'right', hSpc),
                                    (self._reload, 'left', hSpc),
                                    (self._reload, 'right', hSpc),
                                    (self._scrollList, 'left', hSpc),
                                    (self._scrollList, 'right', hSpc)],
                        attachControl=[
                            (self._up, 'top', vSpc, self._priorityText),
                            (self._down, 'top', vSpc, self._priorityText),
                            (self._scrollList, 'top', vSpc, self._up),
                            (self._add, 'top', vSpc, self._scrollList),
                            (self._delete, 'top', vSpc, self._scrollList),
                            (self._reload, 'top', vSpc, self._add)
                        ])

        cmds.setParent('..')

        self._separator = cmds.separator(horizontal=False, style='singleDash')

        # Give our chained handler rules a form layout of their own, and
        # populate it with the selected rule.
        self._handlerForm = cmds.formLayout(numberOfDivisions=100)
        selectedRule = self._rulesChain[self._selectedPos]
        selectedRule.createUI()

        cmds.setParent('..')

        cmds.formLayout(self._form,
                        edit=True,
                        attachForm=[(self._chainForm, 'top', 0),
                                    (self._chainForm, 'bottom', 0),
                                    (self._chainForm, 'left', 0),
                                    (self._separator, 'top', vSpc),
                                    (self._separator, 'bottom', vSpc),
                                    (self._handlerForm, 'top', 0),
                                    (self._handlerForm, 'bottom', 0),
                                    (self._handlerForm, 'right', 0)],
                        attachPosition=[(self._chainForm, 'right', hSpc, 50)],
                        attachControl=[
                            (self._separator, 'left', hSpc, self._chainForm),
                            (self._handlerForm, 'left', hSpc, self._separator)
                        ])

        cmds.setParent('..')

        # Select the default rule, which is considered by SynColor to be at
        # position 0.
        self.selectRule(0)
Ejemplo n.º 57
0
    def buildUI(self):
        """
        Main UI just to confirm very basic info of production
        :return:
        """

        w = 500
        h = 30

        # Production name by default
        prodName = "VoxelPicture"
        # Check if UI exists
        if cmds.window(self.winid, q=True, exists=True):
            cmds.deleteUI(self.winid)
        # Create UI
        cmds.window(self.winid, t=self.title, rtf=True, wh=(w, 25 * h))
        # Main layout
        mainLayout = cmds.scrollLayout('main', hst=15, vst=15)

        # Title
        self.bts.makeSeparator(h=h / 6, w=w)
        cmds.text(l=self.label, h=h, w=w, align='center')
        self.bts.makeSeparator(h=h / 6, w=w)

        # Content
        nc = 9
        adj1 = 5
        w2 = (w - (5 * adj1)) / (nc - 5)

        cmds.rowColumnLayout(nc=nc, cw=self.bts.cwCustomize(nc, [adj1, w2, adj1, w2, adj1, w2, adj1, w2, adj1]))
        cmds.text(l="")
        cmds.text(l='Project Name', align='center')
        cmds.text(l="")
        self.prodName = cmds.textField(tx=prodName)
        cmds.text(l="")
        cmds.text(l="Abbreviated as", align='center')
        cmds.text(l="")
        self.prodShort = cmds.textField(tx='vxp')
        cmds.text(l="")

        cmds.setParent(mainLayout)
        cmds.text(l="")

        nc = 5
        w1 = 100

        cmds.rowColumnLayout(nc=nc, cw=self.bts.cwCustomize(nc, [adj1, w1, adj1, w - (3 * adj1 + w1), adj1]))

        cmds.text(l="")
        cmds.button(l='Set Path', c=self.setPth)
        cmds.text(l="")
        self.setPath = cmds.textField(tx="E:/")
        cmds.text(l="")

        cmds.setParent(mainLayout)
        cmds.text(l="")
        cmds.text(l="DUE TO THE POSSIBILITY TO USE ONLINE RENDER SERVICE\n"
                    "SETTING PATH TO E DRIVE IS ALWAYS PREFERABLE\n"
                    "IF YOU DO NOT USE THAT KIND OF SERVICE, NEVER MIND",
                  align='center', w=w, h=2 * h, bgc=(0, .5, 1), fn="boldLabelFont")
        cmds.text(l="")

        nc = 9

        cmds.rowColumnLayout(nc=nc, cw=self.bts.cwCustomize(nc, [adj1, w2, adj1, w2, adj1, w2, adj1, w2, adj1]))

        cmds.text(l="")
        cmds.text(l="Project Mode")
        cmds.text(l="")
        self.setMode = cmds.optionMenu()
        cmds.menuItem(l="Group Mode", p=self.setMode)
        cmds.menuItem(l="Studio Mode", p=self.setMode)
        cmds.text(l="")
        cmds.text(l="Sequences")
        cmds.text(l="")
        self.numShot = cmds.intField(v=1, min=1)
        cmds.text(l="")
        cmds.setParent(mainLayout)
        cmds.text(l="")

        nc = 13
        w3 = (w - (7 * adj1)) / (nc - 7)

        cmds.rowColumnLayout(nc=nc, cw=self.bts.cwCustomize(nc,
                                                            [adj1, w3, adj1, w3, adj1, w3, adj1, w3, adj1, w3, adj1, w3,
                                                             adj1]))

        cmds.text(l="")
        cmds.text(l="Character:")
        cmds.text(l="")
        self.numChar = cmds.intField(v=1, min=1, cc=partial(self.charNameColumn, (w - (4 * adj1)) / 3))
        cmds.text(l="")
        cmds.text(l="Environment:")
        cmds.text(l="")
        self.numEnv = cmds.intField(v=1, min=1, cc=partial(self.envNameColumn, (w - (4 * adj1)) / 3))
        cmds.text(l="")
        cmds.text(l="Props:")
        cmds.text(l="")
        self.numProps = cmds.intField(v=1, min=1, cc=partial(self.propsNameColumn, (w - (4 * adj1)) / 3))
        cmds.text(l="")

        cmds.setParent(mainLayout)
        cmds.text(l="")

        nc = 7
        w4 = (w - (4 * adj1)) / (nc - 4)

        cmds.rowColumnLayout(nc=3, cw=[(1, w / 3), (2, w / 3), (3, w / 3)])
        cmds.text(l="Characters Name")
        cmds.text(l="Envs Name")
        cmds.text(l="Props Name")

        cmds.setParent(mainLayout)
        cmds.text(l="")

        self.editableColumnsLayout = cmds.rowColumnLayout(nc=nc, cw=self.bts.cwCustomize(nc,
                                                                                         [adj1, w4, adj1, w4, adj1, w4,
                                                                                          adj1]))

        cmds.text(l="")
        self.charColumn = cmds.columnLayout(w=w4)
        self.firstCharColumn = cmds.columnLayout(w=w4)
        cmds.textField('char1', p=self.firstCharColumn, w=w4 - 10)
        cmds.setParent(self.editableColumnsLayout)

        cmds.text(l="")
        self.envColumn = cmds.columnLayout(w=w4)
        self.firstEnvColumn = cmds.columnLayout(w=w4)
        cmds.textField('env1', p=self.firstEnvColumn, w=w4 - 10)
        cmds.setParent(self.editableColumnsLayout)

        cmds.text(l="")
        self.propsColumn = cmds.columnLayout(w=w4)
        self.firstPropsColumn = cmds.columnLayout(w=w)
        cmds.textField('props1', p=self.firstPropsColumn, w=w4 - 10)
        cmds.setParent(self.editableColumnsLayout)
        cmds.text(l="")

        cmds.setParent(mainLayout)

        self.bts.makeSeparator(h=10, w=w)

        cmds.rowColumnLayout(nc=3, cw=[(1, w / 3), (2, w / 3), (3, w / 3)])
        cmds.text(l="")
        cmds.button(l="CREATE PROJECT", c=self.createProject)
        cmds.text(l="")

        cmds.setParent(mainLayout)
        cmds.text(l="")

        cmds.showWindow(self.winid)
Ejemplo n.º 58
0
 def __init__(self):
     if cmds.window('surchingSameName_window',exists=1):
         cmds.deleteUI('surchingSameName_window',wnd=1)
     cmds.window('surchingSameName_window', title='Surch Same Name Children',wh=[300,100])
     cmds.showWindow('surchingSameName_window')
     self.topLayout = cmds.formLayout('ssn_top',nd=100)
     self.row1 = cmds.rowColumnLayout('row1',nc=1,w=170)
     self.findAll = cmds.button(h=26,l='Surch All',c=self.findAllCmd ); cmds.text(l='',h=5)
     self.findSelection = cmds.button(h=26, l='Surch Selection',c=self.findSelectionCmd ); cmds.text(l='',h=5)
     self.appendSelection = cmds.button(h=26, l='Append Selection', c=self.appendSelectionCmd ); cmds.text( l='',h=5)
     self.checkList = cmds.button(h=26, l='Check Selected Item In List', c=self.checkListCmd ); cmds.text( l='',h=5)
     self.checkListText = cmds.text( l ='' ,h=25,bgc=[.2,.2,.2]); cmds.text( l='',h=5)
     self.loadHierarchy = cmds.button(h=26, l='Load Hierarchy', c=self.loadHierCmd )
     cmds.setParent(self.topLayout)
     cmds.scrollLayout('scroll1')
     cmds.rowColumnLayout( nc=1, w=140)
     cmds.text( l = '  Top Unique Name:', al = 'left' ,h=25)
     self.topParent = cmds.text( l ='', al = 'left' ,bgc = [.5,.5,.5] )
     cmds.text( l = '  Current Name:' , al='left' ,h=25)
     self.cuSelection = cmds.text( l='', al = 'left' ,bgc = [.5,.5,.5] )
     cmds.setParent(self.topLayout)
     self.rename = cmds.rowColumnLayout(nc=1,cw=[(1,170)], vis = 1, h = 80)
     cmds.text( l = '  rename:', al= 'left', h=24)
     self.rename_tf = cmds.textField( h=24 )
     cmds.button(l = 'rename', c=self.renameButtonCmd, h=24)
     cmds.setParent(self.topLayout)
     
     self.textList = cmds.textScrollList('ssnc_scl',ams=1,sc=self.selectedCmd ); self.selectList = []#------리스트에서 선택한 순서대로 
     self.popup = cmds.popupMenu()                                                                   #      scene에서도 선택하기위한 리스트입니다.
     self.menuitem = cmds.menuItem( l = '                 ', c= self.loadRename )
     
     cmds.formLayout('ssn_top',e=1,
             af=[('row1','top',5),('row1','left',5),('ssnc_scl','right',5),('ssnc_scl','top',5),('ssnc_scl','bottom',5),
                 ('scroll1','left',5),(self.rename,'left',5),(self.rename,'bottom',5)],
             ac=[('ssnc_scl','left',5,'row1'),
                 ('scroll1','top',5,'row1'),('scroll1','right',5,'ssnc_scl'),
                 ('scroll1','bottom',5,self.rename),(self.rename,'right',5,'ssnc_scl')] )
     cmds.window('surchingSameName_window',e=1,wh=(470, 390))
Ejemplo n.º 59
0
    def dpZipperUI(self, *args):
        """ Zipper UI layout and elements.
        """
        zipper_winWidth = 380
        zipper_winHeight = 300
        cmds.window('dpZipperWindow',
                    title=self.zipperName + " " + str(DPZIP_VERSION),
                    widthHeight=(zipper_winWidth, zipper_winHeight),
                    menuBar=False,
                    sizeable=True,
                    minimizeButton=True,
                    maximizeButton=False)
        cmds.showWindow('dpZipperWindow')

        # create UI layout and elements:
        zipperLayout = cmds.columnLayout('zipperLayout',
                                         adjustableColumn=True,
                                         columnOffset=("left", 10))
        cmds.text(label=self.langDic[self.langName]['i191_selectPoly'],
                  align="left",
                  height=30,
                  font='boldLabelFont',
                  parent=zipperLayout)
        # original model layout:
        zipperLayoutA = cmds.rowColumnLayout('zipperLayoutA',
                                             numberOfColumns=2,
                                             columnWidth=[(1, 160), (2, 210)],
                                             columnAlign=[(1, 'left'),
                                                          (2, 'left')],
                                             columnAttach=[(1, 'both', 10),
                                                           (2, 'both', 10)],
                                             parent=zipperLayout)
        self.origModel_BT = cmds.button(
            'origModel_BT',
            label=self.langDic[self.langName]['i187_load'] + " " +
            self.langDic[self.langName]['m152_originalModel'] + " >>",
            command=self.dpLoadOrigModel,
            backgroundColor=(1.0, 0.9, 0.4),
            parent=zipperLayoutA)
        self.origModel_TF = cmds.textField('origModel_TF',
                                           editable=False,
                                           parent=zipperLayoutA)
        cmds.separator(style='in', height=15, width=100, parent=zipperLayout)
        # polygon edges to curves layout:
        cmds.text(label=self.langDic[self.langName]['i188_selectEdges'],
                  align="left",
                  height=30,
                  font='boldLabelFont',
                  parent=zipperLayout)
        zipperLayoutB = cmds.rowColumnLayout('zipperLayoutB',
                                             numberOfColumns=2,
                                             columnWidth=[(1, 160), (2, 210)],
                                             columnAlign=[(1, 'left'),
                                                          (2, 'left')],
                                             columnAttach=[(1, 'both', 10),
                                                           (2, 'both', 10)],
                                             rowSpacing=(1, 3),
                                             parent=zipperLayout)
        self.first_BT = cmds.button(
            'first_BT',
            label=self.langDic[self.langName]['i187_load'] + " " +
            self.langDic[self.langName]['c114_first'] + " " +
            self.langDic[self.langName]['i189_curve'] + " >>",
            command=partial(self.dpCreateCurveFromEdge, "c114_first"),
            backgroundColor=(1.0, 0.9, 0.4),
            parent=zipperLayoutB)
        self.first_TF = cmds.textField('first_TF',
                                       editable=False,
                                       parent=zipperLayoutB)
        self.second_BT = cmds.button(
            'second_BT',
            label=self.langDic[self.langName]['i187_load'] + " " +
            self.langDic[self.langName]['c115_second'] + " " +
            self.langDic[self.langName]['i189_curve'] + " >>",
            command=partial(self.dpCreateCurveFromEdge, "c115_second"),
            backgroundColor=(1.0, 0.9, 0.4),
            parent=zipperLayoutB)
        self.second_TF = cmds.textField('second_TF',
                                        editable=False,
                                        parent=zipperLayoutB)
        cmds.separator(style='in', height=15, width=100, parent=zipperLayout)
        # options layout:
        cmds.text(label=self.langDic[self.langName]["i002_options"] + ":",
                  height=30,
                  font='boldLabelFont',
                  align='left',
                  parent=zipperLayout)
        zipperLayoutC = cmds.columnLayout('zipperLayoutC',
                                          adjustableColumn=True,
                                          columnOffset=("left", 10),
                                          rowSpacing=3,
                                          parent=zipperLayout)
        self.curveDirectionRB = cmds.radioButtonGrp(
            'curveDirectionRB',
            label=self.langDic[self.langName]['i189_curve'] + ' ' +
            self.langDic[self.langName]['i106_direction'],
            labelArray3=['X', 'Y', 'Z'],
            columnAlign=[(1, 'left'), (2, 'left')],
            columnWidth=[(1, 100), (2, 50), (3, 50), (4, 50)],
            adjustableColumn=4,
            numberOfRadioButtons=3,
            select=1,
            changeCommand=self.dpGetCurveDirection,
            vertical=False,
            parent=zipperLayoutC)
        self.goodToDPAR_CB = cmds.checkBox(
            "goodToDPAR_CB",
            label=self.langDic[self.langName]['i190_integrateDPAR'],
            value=1,
            align='left',
            parent=zipperLayoutC)
        cmds.separator(style='none', height=15, width=100, parent=zipperLayout)
        createLayout = cmds.columnLayout('createLayout',
                                         columnOffset=("left", 10),
                                         parent=zipperLayout)
        cmds.button(label=self.langDic[self.langName]["i158_create"] + " " +
                    self.zipperName,
                    annotation=self.langDic[self.langName]["i158_create"] +
                    " " + self.zipperName,
                    command=self.dpCreateZipper,
                    width=350,
                    backgroundColor=(0.3, 1, 0.7),
                    parent=createLayout)
Ejemplo n.º 60
-2
    def __enter__(self):
        '''
        Initialize the UI
        '''
        if mc.window(self.name, exists=True):
            mc.deleteUI(self.name)

        mc.window(self.name, title='ml :: '+self.title, iconName=self.title, width=self.width, height=self.height, menuBar=self.menu)
        
        
        if self.menu:
            self.createMenu()
        
        self.form = mc.formLayout()
        self.column = mc.columnLayout(adj=True)

        
        mc.rowLayout( numberOfColumns=2, columnWidth2=(34, self.width-34), adjustableColumn=2, 
                    columnAlign2=('right','left'),
                    columnAttach=[(1, 'both', 0), (2, 'both', 8)] )

        #if we can find an icon, use that, otherwise do the text version
        if self.icon:
            mc.iconTextStaticLabel(style='iconOnly', image1=self.icon)
        else:
            mc.text(label=' _ _ |\n| | | |')
            
        if not self.menu:
            mc.popupMenu(button=1)
            mc.menuItem(label='Help', command=(_showHelpCommand(wikiURL+'#'+self.name)))
        
        mc.text(label=self.info)
        mc.setParent('..')
        mc.separator(height=8, style='single')
        return self