Exemple #1
0
    def buildUI(self):
       
        column = cmds.columnLayout()
        cmds.frameLayout(label='Choose an axis')
        
        cmds.gridLayout(numberOfColumns=3, cellWidth=50)

        cmds.radioCollection()
        self.xAxis = cmds.radioButton(label='x', select=True)
        self.yAxis = cmds.radioButton(label='y')
        self.zAxis = cmds.radioButton(label='z')
        
        createIconButton('XAxis.png', command=partial(self.onOptionClick, self.xAxis))
        createIconButton('YAxis.png', command=partial(self.onOptionClick, self.yAxis))
        createIconButton('ZAxis.png', command=partial(self.onOptionClick, self.zAxis))
        
        cmds.setParent(column)

        cmds.frameLayout(label='Choose where to align')

        cmds.gridLayout(numberOfColumns=3,cellWidth=50)

        cmds.radioCollection()

        self.minMode = cmds.radioButton(label='min')
        self.midMode = cmds.radioButton(label='mid', select=True)
        self.maxMode = cmds.radioButton(label='max')
       
        createIconButton('MinAxis.png', command=partial(self.onOptionClick, self.minMode))
        createIconButton('MidAxis.png', command=partial(self.onOptionClick, self.midMode))
        createIconButton('MaxAxis.png', command=partial(self.onOptionClick, self.maxMode))
       
        cmds.setParent(column)
        cmds.button(label='Align', command=self.onApplyClick, bgc=(0.2, 0.5, 0.9))
Exemple #2
0
    def create(self):
        if mc.window(self.window,exists=True): 
            mc.deleteUI(self.window,window=True)

        self.window = mc.window(self.window, title=self.title,widthHeight=self.size,menuBar=True)
        self.mainForm = mc.formLayout(nd=100)
        self.commandMenu()
        self.commonButtons()
        
       
        self.secondForm = mc.formLayout(nd=100)
        self.lightRigTypeText = mc.text( label = "Rig Type:", height = 15)
        radBtnCollection1 = mc.radioCollection()
        self.indoorRadBtn = mc.radioButton( "indoorRadBtn", label = "Indoor", onCommand = partial(self.rigBtnToggle,1) )
        self.outdoorRadBtn = mc.radioButton( "outdoorRadBtn",label = "Outdoor", onCommand = partial(self.rigBtnToggle,2) )
        
        self.timeOfDayText = mc.text( label = "Time of Day:", height = 15)
        radBtnCollection2 = mc.radioCollection()
        self.morningRadBtn = mc.radioButton( "morningRadBtn", label = "Morning", enable = True, onCommand = partial(self.dayBtnToggle,1)  )
        self.noonRadBtn = mc.radioButton( "noonRadBtn", label = "Noon", enable = True, onCommand = partial(self.dayBtnToggle,2) )
        self.nightRadBtn = mc.radioButton( "nightRadBtn", label = "Night", enable = True, onCommand = partial(self.dayBtnToggle,3) )
        
        mc.formLayout( self.secondForm, e = True, attachForm = ( [self.lightRigTypeText,"left", 135],[self.lightRigTypeText, "bottom", 500], 
                                                                        [self.indoorRadBtn, "left", 185],[self.indoorRadBtn, "bottom", 497],
                                                                        [self.outdoorRadBtn, "left", 185],[self.outdoorRadBtn, "bottom", 477],
                                                                        [self.timeOfDayText,"left", 120], [self.timeOfDayText, "bottom", 452],
                                                                        [self.morningRadBtn, "left", 185],[self.morningRadBtn, "bottom", 449],
                                                                        [self.noonRadBtn, "left", 185],[self.noonRadBtn, "bottom", 429],
                                                                        [self.nightRadBtn, "left", 185],[self.nightRadBtn, "bottom", 409]))
                                                                        
        mc.radioCollection( radBtnCollection1, edit=True, select = self.indoorRadBtn )               
       
        self.displayOptions()
        mc.showWindow()
Exemple #3
0
    def buildUI(self):
        column = cmds.columnLayout()
        cmds.frameLayout(label="Choose an Object type")

        cmds.columnLayout()
        self.objType = cmds.radioCollection("objectCreationType")
        cmds.radioButton(label="Sphere")
        cmds.radioButton(label="Cube", select=True)
        cmds.radioButton(label="Cone")

        self.intField = cmds.intField("numObjects", value=3)

        cmds.setParent(column)
        frame = cmds.frameLayout("Choose your max range")

        cmds.gridLayout(numberOfColumns=2, cellWidth=100)

        for axis in 'xyz':
            cmds.text(label='%s axis' % axis)
            cmds.floatField('%sAxisField' % axis, value=random.uniform(0, 10))

        cmds.setParent(frame)
        cmds.rowLayout(numberOfColumns=2)
        cmds.radioCollection("randomMode")
        cmds.radioButton(label='Absolute', select=True)
        cmds.radioButton(label='Relative')

        cmds.setParent(column)
        cmds.rowLayout(numberOfColumns=2)
        cmds.button(label='Create', command=self.onCreateClick)
        cmds.button(label='Randomize', command=self.onRandomClick)
Exemple #4
0
    def createClosestJointGroup(self,layout):
        group = self.createUIGroup(layout,"Assign Weights From Closest Joint")
        # influence chooser group
        influenceFiltersForm = cmds.formLayout(parent=group)
        l = cmds.text(label='Influences to choose from: ')
        cmds.formLayout(influenceFiltersForm,e=True,attachForm=[(l,'left',0),(l,'top',0)],attachNone=[(l,'bottom'),(l,'right')])
        radios = cmds.columnLayout();
        cmds.radioCollection()
        cmds.formLayout(influenceFiltersForm,e=True,attachForm=[(radios,'left',Constants.MARGIN_BLOCK_INDENT),(radios,'right',0),(radios,'bottom',0)],attachControl=[(radios,'top',0,l)])
        RadioButtonField(self.VAR_CJ_PREFIX+'useAllInfluences',defaultValue=1,label='All influences available in skin cluster',
                         annotation='Use all influences present in skin cluster for closest joint  search')
        
        self.controls.rdioUseListerInfluences = RadioButtonField(self.VAR_CJ_PREFIX+'useSelectedInfluences',
                        defaultValue=0,label='Selected influences in lister',
                        annotation='Use only those influences that are selected in "List Influences" tab')
        
        cmds.setParent(group)
        
        self.controls.cjIntensity = IntensitySlider(
                'amount of effect to apply',
                self.VAR_CJ_PREFIX+'Intensity')
        self.createTitledRow(group, "Intensity",innerContentConstructor=self.controls.cjIntensity.create)
        
        self.controls.cjSoftSelection = SoftSelectionRow(self.VAR_CJ_PREFIX+'softSelection')
        self.controls.cjSoftSelection.create(group)

        cmds.setParent(group)
        cmds.rowLayout(nc=2,adjustableColumn=2,columnWidth2=[Constants.BUTTON_WIDTH_SMALL,50], columnAttach2=["both","both"],columnAlign2=["center","center"])
        BaseTab.createHelpButton(SkinToolsDocs.ASSIGNWEIGHTS_CLOSESTJOINT_INTERFACE)
        cmds.button(height=Constants.BUTTON_HEIGHT,label='Assign',command=lambda *args:self.execClosestJointAssign())
        cmds.setParent(layout)
Exemple #5
0
    def createBrushSettingsGroup(self,parent):
        group = self.createUIGroup(parent, 'Brush Settings')

        self.createTitledRow(group, 'Brush Shape')
        brushWidth = 35;
        cmds.rowLayout(nc=4,cw4=[brushWidth,brushWidth,brushWidth,brushWidth])
        self.createBrushShapeButtons()
        cmds.setParent("..")
        
        def innerLayout():
            return cmds.rowColumnLayout( numberOfColumns=2,columnWidth=[(1,100),(2,100)])

        self.createTitledRow(group, 'Mode',innerContentConstructor=innerLayout)

        cmds.radioCollection()
        for index,i in enumerate(['Replace','Add','Scale','Smooth']):
            ctrl = self.controls.__dict__['paintMode'+i] = RadioButtonField(self.VAR_PREFIX+'paintMode'+i,defaultValue=1 if index==0 else 0,label=i)
            ctrl.changeCommand.addHandler(self.paintValuesChanged)
            
        
        self.controls.intensitySlider = FloatSliderField()
        self.controls.intensitySlider.flexibleRange = True
        self.createTitledRow(group, 'Intensity',self.controls.intensitySlider.create)
        self.controls.intensitySlider.onChange.addHandler(self.paintValuesChanged)

        self.controls.brushRadiusSlider = FloatSliderField(range=[0,30])
        self.controls.brushRadiusSlider.flexibleRange = True
        self.createTitledRow(group, 'Brush Radius',self.controls.brushRadiusSlider.create)
        self.controls.brushRadiusSlider.onChange.addHandler(self.changeBrushRadius)
 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( '..' )
Exemple #7
0
	def buildAttributeTool(self,parent,vis=True):
		OptionList = ['Tools','Manager','Utilities']
		RadioCollectionName ='AttributeMode'
		RadioOptionList = 'AttributeModeSelectionChoicesList'

		ShowHelpOption = mc.optionVar( q='cgmVar_TDToolsShowHelp' )
		
		self.AttributeModeOptionVar = OptionVarFactory( 'cgmVar_AttributeMode',defaultValue = OptionList[0])
		
		MelSeparator(parent,ut = 'cgmUIHeaderTemplate',h=5)
		
		#Mode Change row 
		self.ModeSetRow = MelHLayout(parent,ut='cgmUISubTemplate',padding = 0)
		MelLabel(self.ModeSetRow, label = 'Choose Mode: ',align='right')
		self.RadioCollectionName = MelRadioCollection()
		self.RadioOptionList = []		

		#build our sub section options
		self.ContainerList = []

		self.ContainerList.append( self.buildAttributeEditingTool(parent,vis=False) )
		self.ContainerList.append( self.buildAttributeManagerTool( parent,vis=False) )
		self.ContainerList.append( self.buildAttributeUtilitiesTool( parent,vis=False) )
		
		for item in OptionList:
			self.RadioOptionList.append(self.RadioCollectionName.createButton(self.ModeSetRow,label=item,
						                                                      onCommand = Callback(guiFactory.toggleModeState,item,OptionList,self.AttributeModeOptionVar.name,self.ContainerList)))
		self.ModeSetRow.layout()


		mc.radioCollection(self.RadioCollectionName,edit=True, sl=self.RadioOptionList[OptionList.index(self.AttributeModeOptionVar.value)])
Exemple #8
0
    def createPlane(*args):
        import math
        path = cmds.textField(Window_global.txf_imagePath, q=1, tx=1)
        width = cmds.floatField(Window_global.floatf_planeWidth, q=1, v=1)
        height = cmds.floatField(Window_global.floatf_planeHeight, q=1, v=1)
        plane = cmds.polyPlane(w=height, h=width, cuv=1, sw=1, sh=1)

        radioSelObject = cmds.radioCollection(Window_global.radio_dir,
                                              q=1,
                                              sl=1).split('|')[-1]
        items = cmds.radioCollection(Window_global.radio_dir, q=1, cia=1)
        items = map(lambda x: x.split("|")[-1], items)
        selIndex = items.index(radioSelObject)

        directions = [(90, 90, 0), (0, 0, 0), (90, 0, 0), (90, -90, 0),
                      (180, 0, 0), (90, 180, 0)]

        rotValue = directions[selIndex]
        cmds.rotate(rotValue[0], rotValue[1], rotValue[2], plane)

        lambert = cmds.shadingNode('lambert', asShader=1)
        shadingGrp = cmds.sets(name="%sSG" % lambert,
                               renderable=1,
                               noSurfaceShader=1,
                               empty=1)
        cmds.connectAttr(lambert + ".outColor",
                         shadingGrp + ".surfaceShader",
                         f=1)
        cmds.sets(plane, e=1, forceElement=shadingGrp)
        fileNode = cmds.shadingNode('file', asTexture=1)
        cmds.connectAttr(fileNode + ".outColor", lambert + ".color", f=1)
        cmds.setAttr(fileNode + ".fileTextureName", path, type="string")
 def read_windowInfo():
     
     import cPickle
     import sgBFunction_fileAndPath
     
     if not os.path.exists( WinA_Global.infoPath ):
         sgBFunction_fileAndPath.makeFile( WinA_Global.infoPath )
         sgBFunction_fileAndPath.makeFile( WinA_Global.infoPathPath )
     try:
         f = open( WinA_Global.infoPath, 'r' )
         data = cPickle.load( f )
         f.close()
     except: return None
     
     if not data: return None
     
     try:exportPath, exportType, searchFor, searchForType, splitStringAndSerchCheck, splitStringAndSearchString = data
     except: return None
     
     cmds.textField( WinA_Global.exportPath_txf, e=1, tx= exportPath )
     items = cmds.radioCollection( WinA_Global.exportType_radio, q=1, cia=1 )
     cmds.radioButton( items[ exportType ], e=1, sl=1 )
     cmds.textField( WinA_Global.searchFor_txf, e=1, tx=searchFor )
     items = cmds.radioCollection( WinA_Global.searchForType_radio, q=1, cia=1 )
     cmds.radioButton( items[ searchForType ], e=1, sl=1 )
     cmds.checkBox( WinA_Global.searchForType_check, e=1, v=splitStringAndSerchCheck )
     cmds.textField( WinA_Global.searchForType_txf, e=1, tx=splitStringAndSearchString )
Exemple #10
0
    def addOptions(parent):
        with ParentGuard():
            cmds.setParent(parent)
            cmds.frameLayout(label=kGeneralOptions, collapsable=True, marginWidth= DEFAULT_UI_INDENTATION)

            cmds.radioCollection()
            cmds.radioButton(label=kOverwrite, 
                onCommand=ImportAllUI.setOverwriteImportType, select=True if ImportAllUI.importType==jsonTranslatorGlobals.DECODE_AND_ADD else False)
            cmds.text(label=kOverwriteExplanation, align='left')
            cmds.radioButton(label=kMerge, 
                onCommand=ImportAllUI.setMergeImportType, select=True if ImportAllUI.importType==jsonTranslatorGlobals.DECODE_AND_MERGE else False)
            cmds.text(label=kMergeExplanation, align='left')
            cmds.radioButton(label=kRename, 
                onCommand=ImportAllUI.setRenameImportType, select=True if ImportAllUI.importType==jsonTranslatorGlobals.DECODE_AND_RENAME else False)
            cmds.text(label=kRenameExplanation, align='left')
                        
            with ParentGuard():
                cmds.columnLayout(columnOffset=('left', DEFAULT_UI_INDENTATION))
                cmds.text(label=kTextToPrepend, align='left')
                ImportAllUI.importTextEditor = \
                    cmds.textField(text=ImportAllUI.importText,
                                    textChangedCommand=ImportAllUI.setImportText,
                                    enable= True if ImportAllUI.importType==jsonTranslatorGlobals.DECODE_AND_RENAME else False)

        cmds.text(label=kNotes, align='left')
        ImportAllUI.notesEditor = cmds.scrollField(editable=False)
        cmds.text(label=kPreview, align='left')
        ImportAllUI.previewEditor = cmds.scrollField(editable=False)
Exemple #11
0
    def buildAttrTypeRow(self, parent):
        #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        # Attr type row
        #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        self.attrTypes = [
            'string', 'float', 'int', 'double3', 'bool', 'enum', 'message'
        ]
        attrShortTypes = [
            'str', 'float', 'int', '[000]', 'bool', 'enum', 'msg'
        ]

        self.CreateAttrTypeRadioCollection = MelRadioCollection()
        self.CreateAttrTypeRadioCollectionChoices = []

        #build our sub section options
        AttrTypeRow = MelHLayout(self.containerName,
                                 ut='cgmUISubTemplate',
                                 padding=5)
        for cnt, item in enumerate(self.attrTypes):
            self.CreateAttrTypeRadioCollectionChoices.append(
                self.CreateAttrTypeRadioCollection.createButton(
                    AttrTypeRow,
                    label=attrShortTypes[cnt],
                    onCommand=Callback(self.CreateAttrTypeOptionVar.set,
                                       item)))
            MelSpacer(AttrTypeRow, w=2)

        if self.CreateAttrTypeOptionVar.value:
            mc.radioCollection(self.CreateAttrTypeRadioCollection,
                               edit=True,
                               sl=(self.CreateAttrTypeRadioCollectionChoices[
                                   self.attrTypes.index(
                                       self.CreateAttrTypeOptionVar.value)]))

        AttrTypeRow.layout()
    def createBrushSettingsGroup(self,parent):
        group = self.createUIGroup(parent, 'Brush Settings')

        self.createTitledRow(group, 'Brush Shape')
        brushWidth = 35;
        cmds.rowLayout(nc=4,cw4=[brushWidth,brushWidth,brushWidth,brushWidth])
        self.createBrushShapeButtons()
        cmds.setParent("..")
        
        def innerLayout():
            return cmds.rowColumnLayout( numberOfColumns=2,columnWidth=[(1,100),(2,100)])

        self.createTitledRow(group, 'Mode',innerContentConstructor=innerLayout)

        cmds.radioCollection()
        for index,i in enumerate(['Replace','Add','Scale','Smooth']):
            ctrl = self.controls.__dict__['paintMode'+i] = RadioButtonField(self.VAR_PREFIX+'paintMode'+i,defaultValue=1 if index==0 else 0,label=i)
            ctrl.changeCommand.addHandler(self.paintValuesChanged)
            
        
        self.controls.intensitySlider = FloatSliderField()
        self.createTitledRow(group, 'Intensity',self.controls.intensitySlider.create)
        self.controls.intensitySlider.onChange.addHandler(self.paintValuesChanged)

        self.controls.brushRadiusSlider = FloatSliderField(range=[0,30])
        self.controls.brushRadiusSlider.flexibleRange = True
        self.createTitledRow(group, 'Brush Radius',self.controls.brushRadiusSlider.create)
        self.controls.brushRadiusSlider.onChange.addHandler(self.changeBrushRadius)
Exemple #13
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()
Exemple #14
0
 def __init__(self):
  if(cmds.window('win_acac',exists=1)):
   cmds.deleteUI('win_acac')
  cmds.window('win_acac',title='Average Curve CV number')

  cmds.formLayout('form_acacMain')
  
  cmds.radioCollection('rdc_acac1')
  cmds.radioButton('rd_acacFL',label='Fit longest',select=1)
  cmds.radioButton('rd_acacFS',label='Fit shortest')
  cmds.radioButton('rd_acacSL',label='Specific Length')
  cmds.intField('if_acacFL',minValue=0,value=10)
  cmds.intField('if_acacFS',minValue=0,value=3)
  cmds.floatField('ff_acacSL',minValue=0,value=5)
  cmds.button('btn_acacEx',label='Execute',width=20,height=20,command=self.execute)

  cmds.window('win_acac',e=1,resizeToFitChildren=1,widthHeight=[215,130])
  cmds.showWindow('win_acac')
  
  cmds.formLayout('form_acacMain',e=1,af=[('rd_acacFL','top',5),('rd_acacFL','left',5)])
  cmds.formLayout('form_acacMain',e=1,af=('rd_acacFS','left',5),ac=('rd_acacFS','top',5,'rd_acacFL'))
  cmds.formLayout('form_acacMain',e=1,af=('rd_acacSL','left',5),ac=('rd_acacSL','top',5,'rd_acacFS'))
  cmds.formLayout('form_acacMain',e=1,ac=[('if_acacFL','top',-18,'rd_acacFL'),('if_acacFL','left',5,'rd_acacFL')])
  cmds.formLayout('form_acacMain',e=1,ac=[('if_acacFS','top',-18,'rd_acacFS'),('if_acacFS','left',5,'rd_acacFS')])
  cmds.formLayout('form_acacMain',e=1,ac=[('ff_acacSL','top',-18,'rd_acacSL'),('ff_acacSL','left',5,'rd_acacSL')])
  cmds.formLayout('form_acacMain',e=1,ac=('btn_acacEx','top',10,'rd_acacSL'),af=[('btn_acacEx','left',5),('btn_acacEx','right',5),('btn_acacEx','bottom',5)])
def collapseComponents(axis, *args):

    vertList = getVertFromSel()
    if len(vertList) == 0:
        cmds.warning('Nothing is Selected')
    else:
        coordlist = getVertCoordList(vertList, axis)

        alignValue = 0
        if cmds.radioCollection('align_radioCollection', sl=True,
                                q=True) == 'avg_radioButton':
            alignValue = sum(coordlist) / float(len(coordlist))
        if cmds.radioCollection('align_radioCollection', sl=True,
                                q=True) == 'min_radioButton':
            alignValue = min(coordlist)
        if cmds.radioCollection('align_radioCollection', sl=True,
                                q=True) == 'max_radioButton':
            alignValue = max(coordlist)

        for v in vertList:
            if int(axis) == 0:
                cmds.move(alignValue, v, x=True, absolute=True)
            if int(axis) == 1:
                cmds.move(alignValue, v, y=True, absolute=True)
            if int(axis) == 2:
                cmds.move(alignValue, v, z=True, absolute=True)
Exemple #16
0
 def searchNameChangeCmd( self, *args ):
     
     searchName = cmds.textField( self._searchField, q=1, tx=1 )
     
     cia = cmds.radioCollection( self._fileTypeCollection, q=1, cia=1 )
     sel = cmds.radioCollection( self._fileTypeCollection, q=1, sl=1 )
     
     for i in range( 3 ):
         if cia[i].split( '|' )[-1] == sel:
             if i == 0:
                 extList = ['.motion']
             elif i == 1:
                 extList = ['.hik' ]
             else:
                 extList = ['.motion', '.hik']
     
     fileNames = []
     self._realFileNames = []
     
     for filePath in command.getFiles( extList, searchName ):
         filePath = os.path.abspath( filePath )
         
         folder, fileName = os.path.split( filePath )
         
         lastFolderName = folder.split( '\\' )[-1]
         fileNames.append( "../"+lastFolderName+"/"+fileName )
         self._realFileNames.append( filePath )
         
     cmds.textScrollList( self._fileNameScrollList, e=1, ra=1, a=fileNames )
Exemple #17
0
def changeConvertFrom(*args):
    savePreset()
    global convertFrom
    convertFrom = mc.optionMenuGrp('convertFromOptionMenu', q=1, v=1)
    convertTo = mc.optionMenuGrp('convertToOptionMenu', q=1, v=1)

    itemsShort = mc.optionMenuGrp('convertToOptionMenu', q=1, ils=1)
    itemsLong = mc.optionMenuGrp('convertToOptionMenu', q=1, ill=1)
    itemsDict = {}
    for i in range(len(itemsLong)):
        itemsDict[itemsShort[i]] = itemsLong[i]
    for i, item in enumerate(itemsShort):
        mc.menuItem(itemsDict[item], e=1, en=1)
        if item == convertFrom:
            mc.menuItem(itemsDict[item], e=1, en=0)
            if item == convertTo:
                changeTo = itemsShort[(i + 1) % len(itemsShort)]
                mc.optionMenuGrp('convertToOptionMenu', e=1, v=changeTo)

    if convertFrom == 'RedshiftArchitectural' or convertFrom == 'aiStandardSurface':
        mc.radioCollection('origRadioCollection',
                           e=1,
                           sl='orig_use_maya_colorSpace')
    elif convertFrom == 'aiStandard':
        mc.radioCollection('origRadioCollection',
                           e=1,
                           sl='orig_classic_gamma_2point2')
    changeConvertTo()
Exemple #18
0
 def editUiInfo(self, *args ):
     
     cia = cmds.radioCollection( self._nameCollection, q=1, cia=1 )
     sel = cmds.radioCollection( self._nameCollection, q=1, sl=1 )
     
     for i in range( 2 ):
         if cia[i].split( '|' )[-1] == sel:
             if i == 0:
                 mainInfo.namespaceOption = 'prefix'
             else:
                 mainInfo.namespaceOption = 'namespace'
     
     if cmds.optionMenu( self._frontNameOptionMenu, q=1, sl=1 ) == 1:
         mainInfo.frontNameOption = 'fileName'
         cmds.textField( self._thisStringField, e=1, en=0 )
     else:
         mainInfo.frontNameOption = 'thisString'
         cmds.textField( self._thisStringField, e=1, en=1 )
         
     mainInfo.thisString = cmds.textField( self._thisStringField, q=1, tx=1 )
     
     fileString = mainInfo.fileTypeOption + '\n' + mainInfo.namespaceOption +'\n' + mainInfo.frontNameOption + '\n' + mainInfo.thisString
     f = open( mainInfo.uiInfoPath, 'w' )
     f.write( fileString )
     f.close()
     
     self._namespaceOption  = mainInfo.namespaceOption
     self._frontNameOption  = mainInfo.frontNameOption
     self._thisString       = mainInfo.thisString
    def createClosestJointGroup(self,layout):
        group = self.createUIGroup(layout,"From Closest Joint")

        # influence chooser group
        influenceFiltersForm = cmds.formLayout(parent=group)
        l = cmds.text(label='Influences to choose from: ')
        cmds.formLayout(influenceFiltersForm,e=True,attachForm=[(l,'left',0),(l,'top',0)],attachNone=[(l,'bottom'),(l,'right')])
        radios = cmds.columnLayout();
        cmds.radioCollection()
        cmds.formLayout(influenceFiltersForm,e=True,attachForm=[(radios,'left',Constants.MARGIN_BLOCK_INDENT),(radios,'right',0),(radios,'bottom',0)],attachControl=[(radios,'top',0,l)])
        RadioButtonField(self.VAR_CJ_PREFIX+'useAllInfluences',defaultValue=1,label='All influences available in skin cluster',
                         annotation='Use all influences present in skin cluster for closest joint  search')
        
        self.controls.rdioUseListerInfluences = RadioButtonField(self.VAR_CJ_PREFIX+'useSelectedInfluences',
                        defaultValue=0,label='Selected influences in lister',
                        annotation='Use only those influences that are selected in "List Influences" tab')
        
        cmds.setParent(group)
        
        self.controls.cjIntensity = IntensitySlider(
                'amount of effect to apply',
                self.VAR_CJ_PREFIX+'Intensity')
        self.createTitledRow(group, "Intensity",innerContentConstructor=self.controls.cjIntensity.create)
        
        self.controls.cjSoftSelection = SoftSelectionRow(self.VAR_CJ_PREFIX+'softSelection')
        self.controls.cjSoftSelection.create(group)

        cmds.setParent(group)
        cmds.rowLayout(nc=2,adjustableColumn=2,columnWidth2=[Constants.BUTTON_WIDTH_SMALL,50], columnAttach2=["both","both"],columnAlign2=["center","center"])
        BaseTab.createHelpButton(SkinToolsDocs.ASSIGNWEIGHTS_CLOSESTJOINT_INTERFACE)
        cmds.button(height=Constants.BUTTON_HEIGHT,label='Assign',command=lambda *args:self.execClosestJointAssign())
Exemple #20
0
    def create(self):

        form = cmds.formLayout()
        text = cmds.text(l="Plane Direction : ",
                         w=100,
                         al="right",
                         h=self.height)
        radio = cmds.radioCollection()
        rbx = cmds.radioButton(l="X", h=self.height)
        rby = cmds.radioButton(l="Y", h=self.height)
        rbz = cmds.radioButton(l="Z", h=self.height)
        rbmx = cmds.radioButton(l="-X", h=self.height)
        rbmy = cmds.radioButton(l="-Y", h=self.height)
        rbmz = cmds.radioButton(l="-Z", h=self.height)
        cmds.setParent('..')

        cmds.radioCollection(radio, edit=True, select=rbx)

        cmds.formLayout(form,
                        e=1,
                        af=[(text, "top", 0), (text, "left", 0),
                            (rbx, "top", 0), (rby, "top", 0), (rbz, "top", 0)],
                        ac=[(rbx, "left", 0, text), (rby, "left", 0, rbx),
                            (rbz, "left", 0, rby), (rbmx, "left", 0, text),
                            (rbmy, "left", 0, rbmx), (rbmz, "left", 0, rbmy),
                            (rbmx, "top", 0, text), (rbmy, "top", 0, text),
                            (rbmz, "top", 0, text)])

        self.form = form

        Window_global.radio_dir = radio
Exemple #21
0
    def create(self):

        form = cmds.formLayout(en=0)

        delAniButton = cmds.button(l='Delete Animation',
                                   w=255,
                                   c=BakeUIInfo.cmdDeleteAnim)
        bakeButton = cmds.button(l='Bake', w=125, c=BakeUIInfo.cmdBake)

        cmds.radioCollection()
        byKeyframe = cmds.radioButton(l='By Keyframe', sl=1, w=100)
        byFrame = cmds.radioButton(l='By Frame', w=100)

        cmds.formLayout(form,
                        e=1,
                        attachForm=[(delAniButton, 'right', 5),
                                    (byKeyframe, 'left', 0)],
                        attachControl=[(byFrame, 'left', 0, byKeyframe),
                                       (bakeButton, 'left', 20, byFrame)],
                        attachPosition=[(bakeButton, 'right', 0, 50)])
        cmds.setParent('..')

        BakeUIInfo._radio = byKeyframe.split('|')[-1]
        BakeUIInfo._form = form.split('|')[-1]

        return form
Exemple #22
0
def evenDistributeUI():

    windowSize = 300

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

    window = cmds.window("evenDistribute_window",
                         title=__title__ + ' ' + __version__,
                         iconName='evenDistribute',
                         width=windowSize)

    cmds.columnLayout(adjustableColumn=True)
    cmds.separator(height=5, style='none')
    cmds.text('Vertex Spacing')
    cmds.separator(height=5, style='none')
    cmds.button(label='Even Distribute', height=30, command=distributeTrigger)

    cmds.rowLayout(numberOfColumns=2)
    cmds.radioCollection('interpolation_radioCollection2')
    cmds.radioButton('staight_radioButton', label='Straight', sl=True)
    cmds.radioButton('curved_radioButton', label='Curved')
    cmds.setParent(upLevel=True)

    cmds.separator(height=20, style='double')

    cmds.button(label='Close',
                height=50,
                command=('cmds.deleteUI(\"' + window + '\", window=True)'))

    cmds.setParent(upLevel=True)

    cmds.showWindow(window)
Exemple #23
0
    def __init__(self):

        self.main_win = cmds.window(t='SpToMaya')
        main_lay = cmds.columnLayout()
        lay_one = cmds.rowLayout(p=main_lay,numberOfColumns=4)
        cmds.radioCollection()
        self.vray_radio = cmds.radioButton(l='Vray',sl=1)
        self.redshift_radio = cmds.radioButton(l='Redshift',onc=partial(self._create_flip_check),ofc=partial(self._del_flip_check),ed=1)
        self.arnold4_radio = cmds.radioButton(l='Arnold4',ed=0)
        self.arnold5_radio = cmds.radioButton(l='Arnold5',ed=0)
        
        lay_two = cmds.rowLayout(p=main_lay,numberOfColumns=3)
        cmds.text(l='Path: ')
        self.path_text = cmds.textField(w=200)
        cmds.button(l='...',c=partial(self._sel_file))
        
        self.lay_there = cmds.rowLayout(p=main_lay,numberOfColumns=3)
        cmds.text(l='shader:')
        self.shade_name = cmds.optionMenu()
        
        cmds.text(p=main_lay,l=' ')
        self.custom_lay = cmds.rowLayout(p=main_lay,numberOfColumns=3)
        self.all_shader = cmds.checkBox(l='Create_all',ed=1)
        self.display_sel = cmds.checkBox(l='Displayment')
        cmds.text(p=main_lay,l=' \n')
        lay_five = cmds.rowLayout(p=main_lay,numberOfColumns=3)
        cmds.text(l='              ')
        
        cmds.button(l='create_shader',c=partial(self.on_clicked_create))
Exemple #24
0
def CreateWindow():
    name = "Asset Modifier/Evaluator"
    #if (mc.window(name, exists= True)):
    #	mc.deleteUI(name, window = True)
    mc.window(name)
    mc.showWindow()
    column = mc.columnLayout(adjustableColumn=True)
    mc.setParent(column)
    mc.textField(text="Y-Top and Z-Front (Maya to Unreal preference)",
                 editable=False,
                 height=30)
    mc.radioCollection("Pivot_Location")
    mc.radioButton(label="Bottom-Centre")
    mc.radioButton(label="Left-Bottom-Front")
    mc.radioButton(label="Top-Centre")
    mc.radioButton(label="Left-Top-Front")
    mc.radioButton(label="Left-Bottom-Back")
    mc.radioButton(label="Left-Top-Back")
    mc.radioButton(label="Centre")
    btnPivot = mc.button(label="Change Pivot to", command=ChangePivotPosition)
    mc.text("----------------------------")
    btnPivot = mc.button(label="Move Mesh to Origin", command=SetToOrigin)
    mc.text("----------------------------")
    btnPivot = mc.button(label="Freeze Transformation", command=Freeze)
    mc.text("----------------------------")
    btnPivot = mc.button(label="Delete History", command=History)
Exemple #25
0
def gui():
    global head_mesh_field
    global teeth_mesh_field
    global gender_coll
    global skeleton_coll
    window_name = 'Set_FX_graph'
    if cmds.window(window_name, exists=True):
        cmds.deleteUI(window_name)
    cmds.window(window_name.replace('_', ' '), width=250)
    cmds.columnLayout(adjustableColumn=False)
    head_mesh_field = cmds.textField(h=30, pht='Head', width=250)
    teeth_mesh_field = cmds.textField(h=30, pht='Teeth', width=250)
    cmds.separator(vis=True)
    cmds.text(label='Gender', h=30, align='right')
    gender_coll = cmds.radioCollection()
    cmds.radioButton(label='Male', align='right')
    cmds.radioButton(label='Female')
    cmds.separator(vis=True)
    cmds.text(label='Skeleton', h=30)
    skeleton_coll = cmds.radioCollection()
    cmds.radioButton(label='Old')
    cmds.radioButton(label='New')
    cmds.separator(vis=True)
    cmds.button(label='Set', h=30, width=250, c='set()')
    cmds.showWindow()
Exemple #26
0
 def doIt( self, arglist ):
  wnd = cmds.window( "kgmEngineWindow_" + str(time.time()), widthHeight = ( 200, 200 ) )
  #cmds.columnLayout( adjustableColumn = True )
  #cmds.button( label = 'Export Map',          command = kgmEngine.exportMap )
  #cmds.button( label = 'Export Mesh',         command = kgmEngine.exportMesh )
  #cmds.button( label = 'Export Skeleton',     command = kgmEngine.exportSkeleton )
  #cmds.button( label = 'Export Animation',    command = kgmEngine.exportAnimation )
  #cmds.button( label = 'Insert Node',         command = kgmEngine.insertNode )
  cmds.columnLayout()
  cmds.rowColumnLayout( numberOfColumns = 2 )
  cmds.checkBox( "Mesh", label="Mesh", value=False, onCommand=kgmEngine.enableMesh, offCommand=kgmEngine.enableMesh )
  cmds.checkBox( "Material", label="Material", value=False, onCommand=kgmEngine.enableMaterial, offCommand=kgmEngine.enableMaterial )
  cmds.checkBox( "Skeleton", label="Skeleton", value=False, onCommand=kgmEngine.enableSkeleton, offCommand=kgmEngine.enableSkeleton )
  cmds.checkBox( "Animation", label="Animation", value=False, onCommand=kgmEngine.enableAnimation, offCommand=kgmEngine.enableAnimation )
  
  cmds.columnLayout()
  cmds.rowColumnLayout( numberOfColumns = 2 )
  cmds.columnLayout( adjustableColumn=True )
  cmds.button( label = 'Export',         command = kgmEngine.export )
  cmds.button( label = 'Insert Node',    command = kgmEngine.insertNode )
  
  cmds.columnLayout()
  cmds.rowColumnLayout( numberOfColumns = 3 )
  cmds.columnLayout( adjustableColumn=True )
  cmds.radioCollection()
  cmds.radioButton( label='Bin', align='left', select=False )
  cmds.radioButton( label='Xml', align='left', select=True  )
  
  #cmds.radioButtonGrp( label='Format',   labelArray3=['Bin', 'Txt', 'Xml'], numberOfRadioButtons=3 )
  #cmds.radioButton( 'Format', label='Bin',   )
  cmds.showWindow( wnd )
Exemple #27
0
 def exportAssets_UI(self, *args):
     self.UIElements = {}
     
     # If the window exists, delete it.
     if cmds.window("ExportAssets", exists=True):
         cmds.deleteUI("ExportAssets")
     
     # Create the main window
     self.UIElements["window"] = cmds.window("ExportAssets", widthHeight=(240, 200), s=True )
     
     # Create a flow layout to hold the UI Elements
     self.UIElements["radioFlowLayout"] = cmds.flowLayout(v=True, w=220) 
     cmds.setParent( '..' )  
     
     cmds.setParent(self.UIElements["radioFlowLayout"])
     
     cmds.radioCollection()
     self.UIElements['rigRadioButton'] = cmds.radioButton(l='Export Rig?')
     cmds.radioCollection()
     self.UIElements['setupRadioButton'] = cmds.radioButton(l='Export Setup?')
     
     cmds.separator( height=7, style='in' )
     cmds.text(l='  Rename the Setup?')
     
     self.UIElements['nameTxt'] = cmds.textField(w=220, tx=self.characterName)
     
     self.UIElements['exportButton'] = cmds.button(label='Export Game Assets', width=220, c=self.exportGameAssets)
     
     
     cmds.showWindow(self.UIElements["window"])
Exemple #28
0
    def searchNameChangeCmd(self, *args):

        searchName = cmds.textField(self._searchField, q=1, tx=1)

        cia = cmds.radioCollection(self._fileTypeCollection, q=1, cia=1)
        sel = cmds.radioCollection(self._fileTypeCollection, q=1, sl=1)

        for i in range(3):
            if cia[i].split('|')[-1] == sel:
                if i == 0:
                    extList = ['.motion']
                elif i == 1:
                    extList = ['.hik']
                else:
                    extList = ['.motion', '.hik']

        fileNames = []
        self._realFileNames = []

        for filePath in command.getFiles(extList, searchName):
            filePath = os.path.abspath(filePath)

            folder, fileName = os.path.split(filePath)

            lastFolderName = folder.split('\\')[-1]
            fileNames.append("../" + lastFolderName + "/" + fileName)
            self._realFileNames.append(filePath)

        cmds.textScrollList(self._fileNameScrollList, e=1, ra=1, a=fileNames)
Exemple #29
0
    def createUI(self, parent):
        result = group = self.mainLayout = uiWrappers.frameLayout(
            parent=parent,
            label="Influence Filter",
            marginWidth=Constants.MARGIN_SPACING_HORIZONTAL,
            marginHeight=Constants.MARGIN_SPACING_VERTICAL,
            collapsable=True,
            expandCommand=self.isVisible.save,
            collapseCommand=self.isVisible.save,
            borderStyle='etchedIn')
        cmds.frameLayout(group, e=True, collapse=self.isVisible.get())

        column = cmds.columnLayout(
            parent=group,
            adjustableColumn=1,
            rowSpacing=Constants.MARGIN_SPACING_VERTICAL)

        form = FormLayout(parent=column)

        label = cmds.text(label='Influence Filter:')
        textField = self.influenceNameFilter = TextEdit(
            annotation="Filter influence list by name")
        clearButton = cmds.button(label='clear',
                                  width=50,
                                  command=self.clearNameFilter)

        form.attachForm(label, 10, None, 0,
                        Constants.MARGIN_SPACING_HORIZONTAL)
        form.attachForm(clearButton, 10, Constants.MARGIN_SPACING_HORIZONTAL,
                        0, None)
        form.attachForm(textField, 10, None, 0, None)
        form.attachControl(textField, label, None, None, None,
                           Constants.MARGIN_SPACING_HORIZONTAL)
        form.attachControl(textField, clearButton, None,
                           Constants.MARGIN_SPACING_HORIZONTAL, None, None)

        textField.changeCommand.addHandler(self.filterChanged.emit)

        cmds.setParent(result)
        cmds.radioCollection()

        form = FormLayout(parent=column)

        self.radioAllInfluences = RadioButtonField(self.VAR_PREFIX +
                                                   "allInfluences",
                                                   defaultValue=1,
                                                   label='Show all influences')
        self.radioAllInfluences.changeCommand.addHandler(
            self.radioAllInfluencesChanged)
        self.radioActiveInfluences = RadioButtonField(
            self.VAR_PREFIX + "activeInfluences",
            defaultValue=0,
            label='Only influences with non-zero weights')
        form.attachForm(self.radioAllInfluences, 0, 0, None, 90)
        form.attachForm(self.radioActiveInfluences, None, 0, None, 90)
        form.attachControl(self.radioActiveInfluences, self.radioAllInfluences,
                           0, None, None, None)

        return result
Exemple #30
0
    def createBrushSettingsGroup(self, parent):
        group = self.createUIGroup(parent, 'Brush Settings')

        self.createTitledRow(group, 'Brush Shape')
        brushWidth = 35
        cmds.rowLayout(nc=4,
                       cw4=[brushWidth, brushWidth, brushWidth, brushWidth])
        self.createBrushShapeButtons()
        cmds.setParent("..")

        def innerLayout():
            return cmds.rowColumnLayout(numberOfColumns=2,
                                        columnWidth=[(1, 100), (2, 100)])

        self.createTitledRow(group,
                             'Mode',
                             innerContentConstructor=innerLayout)

        cmds.radioCollection()
        for index, i in enumerate(
            ['Replace', 'Add', 'Scale', 'Smooth', 'Sharpen']):
            ctrl = self.controls.__dict__['paintMode' + i] = RadioButtonField(
                self.VAR_PREFIX + 'paintMode' + i,
                defaultValue=1 if index == 0 else 0,
                label=i)
            ctrl.changeCommand.addHandler(self.paintValuesChanged)

        self.createTitledRow(group, title=None)
        self.controls.mirroredMode = CheckBoxField(
            self.VAR_PREFIX + 'mirroredMode',
            label="Interactive mirror",
            annotation=
            'Paint stroke is mirrored on the other side. Needs initialized mirror',
            defaultValue=0)
        self.controls.mirroredMode.changeCommand.addHandler(
            self.paintValuesChanged)

        self.controls.redistributeWeightSetting = CheckBoxField(
            self.VAR_PREFIX + 'redistributeWeight',
            label="Distribute removed weights",
            annotation=
            'When reducing weight on current influence, share that weight to other influences',
            defaultValue=1)
        self.controls.redistributeWeightSetting.changeCommand.addHandler(
            self.paintValuesChanged)

        self.controls.intensitySlider = FloatSliderField()
        self.controls.intensitySlider.flexibleRange = True
        self.createTitledRow(group, 'Intensity',
                             self.controls.intensitySlider.create)
        self.controls.intensitySlider.onChange.addHandler(
            self.paintValuesChanged)

        self.controls.brushRadiusSlider = FloatSliderField(range=[0, 30])
        self.controls.brushRadiusSlider.flexibleRange = True
        self.createTitledRow(group, 'Brush Radius',
                             self.controls.brushRadiusSlider.create)
        self.controls.brushRadiusSlider.onChange.addHandler(
            self.changeBrushRadius)
Exemple #31
0
 def setGridUE4(self, *args):
     """
     Configures Maya for Unreal Engine 4
     """
     self._changeGrid(200, 10, 1, 1, 3, 2, 100000, 1.5, 1000)
     cmds.radioCollection(self._gridCollection,
                          edit=True,
                          select=self._gridRadio10)
Exemple #32
0
 def setGridDefault(self, *args):
     """
     Configures Maya to defaults
     """
     self._changeGrid(12, 5, 5, 1, 3, 3, 10000, 0.1, 100.1)
     cmds.radioCollection(self._gridCollection,
                          edit=True,
                          select=self._gridRadio5)
Exemple #33
0
        def build_layoutWrapper(self, parent):
            uiColumn_main = zooUI.MelColumnLayout(parent)
            cgmUI.add_Header('Setup Hotkey')
            cgmUI.add_TextBlock(self.mi_cgmHotkeyer._d_kws['name'])

            #>>>Modifier row ------------------------------------------------------------------------------------
            self.uiRow_Modifier = zooUI.MelHSingleStretchLayout(
                uiColumn_main, ut='cgmUISubTemplate', padding=2)
            #zooUI.MelSpacer(self.uiRow_Modifier,w=5)
            #zooUI.MelLabel(self.uiRow_Modifier, label = 'Modifier: ',align='right')
            self.uiRow_Modifier.setStretchWidget(
                zooUI.MelSeparator(self.uiRow_Modifier))
            self.uiRow_Modifier.layout()

            self.uiRadioCollection_modifier = zooUI.MelRadioCollection()
            self.uiOptions_modifier = []

            for i, item in enumerate(cgmHotkeyer._l_modifierOptions):
                self.uiOptions_modifier.append(
                    self.uiRadioCollection_modifier.createButton(
                        self.uiRow_Modifier, label=item))
            self.uiRow_Modifier.layout()
            mc.radioCollection(self.uiRadioCollection_modifier,
                               edit=True,
                               sl=self.uiOptions_modifier[0])

            #>>>Text row ------------------------------------------------------------------------------------

            uiRow_key = zooUI.MelHLayout(uiColumn_main,
                                         ut='cgmUISubTemplate',
                                         padding=15)
            self.uiText_key = zooUI.MelTextField(
                uiRow_key,
                backgroundColor=[1, 1, 1],
                h=20,
                text=self.mi_cgmHotkeyer._defaultKey,
                ut='cgmUITemplate',
                #ec = lambda *a:self._UTILS.puppet_doChangeName(self),
                annotation="Hotkey to use")
            uiRow_key.layout()

            #>>> Button row
            mc.setParent(uiColumn_main)
            cgmUI.add_LineSubBreak()
            uiRow_buttons = zooUI.MelHLayout(uiColumn_main,
                                             ut='cgmUISubTemplate',
                                             padding=5)
            cgmUI.add_Button(uiRow_buttons,
                             'Go',
                             commandText=lambda *a: self.buttonPress_go(),
                             annotationText="Set it up")
            cgmUI.add_Button(
                uiRow_buttons,
                'Reset',
                commandText=lambda *a: self.buttonPress_reset(),
                en=False,
                annotationText="Reset given key to the default maya setting")
            uiRow_buttons.layout()
    def uvSetOptions(self):
        window_name = "uvSetOptions"
        if cmds.window(window_name, q=True, exists=True):
            cmds.deleteUI(window_name)
        self.optionWindow = cmds.window(window_name, title="Lightmap Options")
        tabs = cmds.tabLayout(innerMarginWidth=5, innerMarginHeight=5)
        
        standardLayout = cmds.columnLayout(parent=self.optionWindow, adj=True)
        self.uvSetChoice = cmds.optionMenuGrp(label="Source UV Set")
        for uvSet in self.uvList:    #lists selections' uv sets
            cmds.menuItem(label=uvSet)
        self.lightmapBox = cmds.textFieldGrp(label="New UV Set Name", text=self.lightmap)
        self.presetSelect = cmds.optionMenuGrp(self.presetSelect, label="Spacing Presets", cc=self.presetValue)
        for preset in self.spacingPresets:
            cmds.menuItem(label=preset)
        cmds.floatSliderGrp(self.shellSpacingSlider, label="Percentage Space:", v=3.200, step=0.001, max=5.000, field=True)
        print cmds.floatSliderGrp(self.shellSpacingSlider, q=True, v=True)
        cmds.button(label="Generate Lightmap", width=200, c=self.copyAndLayoutCheck)
        
        advancedLayout = cmds.columnLayout(parent=self.optionWindow, adj=True)
        
        layoutObjectsCollection = cmds.radioCollection()                        #radial button, creates new layout
        layoutObjectsCollection_layout = cmds.columnLayout()
        cmds.text(label = "Layout objects:", p=layoutObjectsCollection_layout)
        rbl = cmds.radioButton(label="Per object(overlapping)", p=layoutObjectsCollection_layout, onc=lambda *args: self.perObjectLayout(0))
        rbl = cmds.radioButton(label="Single or multiple objects(non-overlapping)", p=layoutObjectsCollection_layout, onc=lambda *args: self.perObjectLayout(1), sl=True )
                
        prescaleCollection = cmds.radioCollection()                        #radial button, creates new layout
        prescaleCollection_layout = cmds.columnLayout()
        cmds.text(label = "Prescale:", p=prescaleCollection_layout)
        rbl = cmds.radioButton(label="None", p=prescaleCollection_layout, onc=lambda *args: self.prescaleLayout(0))
        rbl = cmds.radioButton(label="Object", p=prescaleCollection_layout, onc=lambda *args: self.prescaleLayout(1))
        rbl = cmds.radioButton(label="World", p=prescaleCollection_layout, onc=lambda *args: self.prescaleLayout(2), sl=True)

        collection = cmds.radioCollection()                        #radial button, creates new layout
        collection_layout = cmds.columnLayout()
        cmds.text(label = "Shell Layout:", p=collection_layout)
        rbl = cmds.radioButton(label="Into region", p=collection_layout, onc=lambda *args: self.shellLayout(0), sl=True)
        rbl = cmds.radioButton(label="Along U", p=collection_layout, onc=lambda *args: self.shellLayout(1))
        rbl = cmds.radioButton(label="None", p=collection_layout, onc=lambda *args: self.shellLayout(2))
           
        collection = cmds.radioCollection()                        #radial button, creates new layout
        collection_layout = cmds.columnLayout()
        cmds.text(label = "Scale:", p=collection_layout)
        rbl = cmds.radioButton(label="None", p=collection_layout, onc=lambda *args: self.scaleLayout(0))
        rbl = cmds.radioButton(label="Uniform", p=collection_layout, onc=lambda *args: self.scaleLayout(1), sl=True)
        rbl = cmds.radioButton(label="Stretch", p=collection_layout, onc=lambda *args: self.scaleLayout(2))
        
        rotateCollection = cmds.radioCollection()                        #radial button, creates new layout
        rotateCollection_layout = cmds.columnLayout()
        cmds.text(label = "Rotate:", p=rotateCollection_layout)
        rbl = cmds.radioButton(label="None", p=rotateCollection_layout, onc=lambda *args: self.rotationLayout(0))
        rbl = cmds.radioButton(label="90 degrees", p=rotateCollection_layout, onc=lambda *args: self.rotationLayout(1), sl=True)
        rbl = cmds.radioButton(label="Free", p=rotateCollection_layout, onc=lambda *args: self.rotationLayout(2))
        
        cmds.tabLayout( tabs, edit=True, tabLabel=((standardLayout, 'General'), (advancedLayout, 'Advanced')) ) 
        
        cmds.showWindow(self.optionWindow)
Exemple #35
0
def showWindow():
	name = "RandomizerWindow"
	if cmds.window(name , query=True , exists=True):
		cmds.deleteUI(name)
	cmds.window(name)  	
	cmds.showWindow()


	column = cmds.columnLayout()
	cmds.showWindow()

	column = cmds.columnLayout()
	cmds.frameLayout(label = "Select a object type")

	cmds.columnLayout()
	cmds.radioCollection("objectCreationType ")
	cmds.radioButton(label="Sphere")
	cmds.radioButton(label="Cube", select=True)
	cmds.radioButton(label="Cone")

	cmds.intField("numObjects", value=3)

	cmds.setParent(column)
	frame = cmds.frameLayout("Choose range")

	cmds.gridLayout(numberOfColumns=2, cellWidth=100)

	for axis in 'xyz':
	cmds.text(label = '%s axis' % axis)
	cmds.float('%sAxisField' % axis, value=random.uniform(0,10))

	cmds.setParent(frame)
	cmds.rowLayout(numberOfColumns=2)

	cmds.radioCollection('randomMode')
	cmds.radioButton(label = 'Absolute', select = True)
	cmds.radioButton(label = 'Relative')

	cmds.setParent(column)
	cmds.rowLayout(numberOfColumns=2)
	cmds.button(label='Create', command=onCreateClick)
	cmds.button(label='Randomize', command = onRandomClick )

def onCreateClick(*args):
	radio = cmds.radioCollection("objectCreationType", query=True, select=True)
	mode = cmds.radioButton(radio, query=True, label=True)
	numObjects = cmds.intField("numObjects", query=True, label=True)

	createObjects(mode, numObects)
	onRandomClick()
def onRandomClick(*args):
	radio = cmds.radioCollection("randomMode", query=True, select=True)
	mode = cmds.radioButton(radio, query=True, label=True)
	
	for axis in xyz:
		val =cmds.floatField("%s AxisField" % axis, query=True, label=True)
		randomize(minValue=val*=-1, maxValue = val, mode=mode, axes = axis)
Exemple #36
0
def addString(*args):
    selCheck()
    add_name = cmds.textField('addString', q=True, tx=True)
    add_type = cmds.radioCollection('addNumberType', q=True, select=True)
    add_place = cmds.radioCollection('addType', q=True, select=True)
    padding_num = cmds.textField('add_paddingNumber', q=True, tx=True)
    sel = cmds.ls(sl=True)
    num_count = 1
    alpha_count = 0
    return_list = []
    before_list = OrderedDict()
    print add_place
    if add_place == 'NONE':
        cmds.warning(
            u'Please select the place to add letters from the radio button(e.g.:)'
        )
        return

    if add_type == 'add_sereal_alphabet':
        abc_list = list(string.ascii_uppercase)  #Get uppercase alphabet list
        alphabet_list = itertools.product(
            abc_list, repeat=int(padding_num))  #Set padding
        for i in alphabet_list:
            return_list.append(''.join(i))
            if len(return_list) > len(sel):
                break

    for i in sel:
        if add_type == 'add_serial_number':
            tmp_number = '{0:0' + str(padding_num) + 'd}'
            add_name = tmp_number.format(num_count)

        elif add_type == 'add_sereal_alphabet':
            add_name = str(return_list[alpha_count])

        if add_place == 'top':
            before_list[i] = add_name + i

        elif add_place == 'bottom':
            before_list[i] = i + add_name

        elif add_place == 'topFrom':
            split_point = cmds.textField('topFromPoint', q=True, tx=True)
            front_string = i[:int(split_point)]
            back_string = i[int(split_point):]
            before_list[i] = front_string + add_name + back_string

        elif add_place == 'bottomFrom':
            split_point = cmds.textField('bottomFromPoint', q=True, tx=True)
            front_string = i[:int(split_point) * -1]
            back_string = i[int(split_point) * -1:]
            before_list[i] = front_string + add_name + back_string

    if before_list:
        checkWindow(before_list)
    else:
        cmds.warning(u'cannot find object')
        def ui(self):
                if mc.window(self.winName,ex=True):
                        mc.deleteUI(self.winName,window=True)
                else:
                        pass

                #----- window -----#

                mc.window(self.winName , t = 'Edit Crv  v1.0',w = 235,h = 160 , sizeable=False)

                # main
                self.form = mc.formLayout()


                #1 rowColumnLayout
                row = mc.rowColumnLayout(nc = 2,cat = [1,'right',5],ro = [(1,'both',2),(2,'both',2),(3,'both',2),(4,'both',2)])

                self.rotateBN = mc.iconTextButton( style='textOnly' , w=150 , bgc=[0.5, 0.4, 0.33] , label='r o t a t e - c r v' , c=lambda *args:self.uiRunCmd('rotate') )
                self.rotateFLE = mc.textField( 'rotateText' , w=70 , ed=True , text='45' )

                self.scaleBN = mc.iconTextButton( style='textOnly' , w=150 , bgc=[0.5, 0.4, 0.33] , label='s c a l e - c r v' , c=lambda *args:self.uiRunCmd('scale') )
                self.scaleFLE = mc.textField( 'scaleText' , w=70 , ed=True ,text='0.5' )

                mc.setParent('..')


                #2 columnLayout
                column = mc.columnLayout(adj = True)
                mc.separator( style="in" , h=10 )

                #2.1 rowLayout
                self.RIDRow = mc.rowLayout(nc = 3,cat = [1,'left',30])

                self.AxisRID = mc.radioCollection()
                self.xAxisTypeRID = mc.radioButton('x' , l='X', w=60)
                self.yAxisTypeRID = mc.radioButton('y' , l='Y', w=60)
                self.zAxisTypeRID = mc.radioButton('z' , l='Z', w=60)

                mc.radioCollection( self.AxisRID, edit=True, select=self.xAxisTypeRID )
                mc.setParent('..')

                self.runBN = mc.iconTextButton( style='textOnly' , h=30 , bgc=[0.23,0.33,0.39] , label='m i r r o r' , c=lambda *args:self.uiRunCmd('mirror'))
                mc.separator( style="in" , h=10 )

                #2.2 rowLayout
                self.eximRow = mc.rowLayout(nc = 2)

                self.exportBN = mc.iconTextButton( style='textOnly' , w=110 , bgc=[0.5, 0.4, 0.33] , label='e x p o r t - s h a p e' , c=lambda *args:self.exportCurveShape() )
                self.importBN = mc.iconTextButton( style='textOnly' , w=110 , bgc=[0.5, 0.4, 0.33] , label='i m p o r t - s h a p e' , c=lambda *args:self.importCurveShape() )
                mc.setParent('..')

                mc.formLayout(self.form, edit=True,
                        attachForm=[(row, 'top', 5), (row, 'left', 5), (row, 'right', 5), (column, 'bottom', 5), (column, 'right', 5), (column, 'left', 5) ],
                        attachControl=[(row, 'bottom', 5, column)])


                mc.showWindow(self.winName)
Exemple #38
0
def UVsTransfert(*args):

    sourceObject = str(
        cmds.textField('sourceObject_textField', q=True, text=True))

    targetObjects = cmds.ls(sl=True, l=True)

    if len(sourceObject) == 0:
        cmds.warning('Nothing is defined as a source.')

    elif len(targetObjects) == 0:
        cmds.warning('Nothing is selected.')

    elif sourceObject in targetObjects:

        cmds.warning('The source object cant be in the target objects list.')

    else:

        if len(
                cmds.listRelatives(targetObjects,
                                   path=True,
                                   fullPath=True,
                                   type='mesh')) == 0:
            cmds.warning('Select only Polygonal objects as target.')

        else:

            transfertMode = int()
            UVsets = int()

            if cmds.radioCollection('transfertMode_radioCollection',
                                    q=True,
                                    sl=True) == 'componentMode_radioButton':
                transfertMode = 4
            else:
                transfertMode = 5

            if cmds.radioCollection('transfertUV_radioCollection',
                                    q=True,
                                    sl=True) == 'currentUVset_radioButton':
                UVsets = 1
            else:
                UVsets = 2

            for t in targetObjects:

                cmds.transferAttributes(sourceObject,
                                        t,
                                        transferUVs=UVsets,
                                        sampleSpace=transfertMode,
                                        searchMethod=3)
                cmds.delete(t, ch=True)

            print('UVs transfered on ' + str(len(targetObjects)) +
                  ' object(s) succesfully.')
 def __init__(self):
     
 
     #liste des attributs
     self.listNamespace = []
     self.listEmptyNamespace = []
     self.listSelectedNamespace = []
     
     
     #If the window already exists, erase it
     if cmds.window('InE_NSMWin', exists=True):
         cmds.deleteUI('InE_NSMWin')
     #Create the window
     #s : Can window be resized?
     #rtf : Resize to fit childrens?
     self.window = cmds.window('InE_NSMWin', title = "Namespace Manager", widthHeight=(520, 435), s = False, rtf=True)
     #Main layout
     cmds.formLayout("InE_NSMFlowLayout", p = 'InE_NSMWin', w = 50, h = 50)
     cmds.image(image="R:\Benoit\Scripts\maya\icons\NSMBackground.png")
     #Layout that draws an empty space at the top to see the beautyful flowers
     cmds.columnLayout('InE_NSMEmptyLayout', p = "InE_NSMFlowLayout", columnAttach=('both', 14), rowSpacing=5, columnWidth=520, cal="left"  )
     cmds.text(label = "", p = 'InE_NSMEmptyLayout')
     cmds.text(label = "", p = 'InE_NSMEmptyLayout')
     cmds.text(label = "", p = 'InE_NSMEmptyLayout')
     cmds.text(label = "", p = 'InE_NSMEmptyLayout')
     cmds.text(label = "", p = 'InE_NSMEmptyLayout')
     #Real main layout containing all the UI
     cmds.rowColumnLayout( 'InE_NSMMainLayout', p = "InE_NSMEmptyLayout", numberOfColumns=2, columnWidth=[(1, 300), (2, 190)], h = 330, ro = [[1, "both", 20], [2, "both", 10]], co = [[1, "both", 10], [2, "both", 0]])
     
     
     cmds.treeView('InE_NSMTextScrollList', parent = "InE_NSMMainLayout", numberOfButtons = 0, h= 150, abr = False, ams = True, adr = True, arp = True, idc = self.emptyMethod, sc = self.selectNamespace )
     cmds.treeView('InE_NSMTextScrollList', edit = True, enk = True)
     
     cmds.columnLayout('InE_NSMInformations', p = "InE_NSMMainLayout", columnAttach=('both', 0), cw = 250, rowSpacing=5, cal="left" , ebg = True)
     cmds.text(p = 'InE_NSMInformations', label = "Informations")
     cmds.text('InE_NSMNameInformations', p = 'InE_NSMInformations', label = "")
     cmds.text('InE_NSMEmptyInformations', p = 'InE_NSMInformations', label = "")
     
     cmds.columnLayout('InE_NSMModifications', p = "InE_NSMMainLayout", columnAttach=('both', 20), co = ("both", 10), cw = 250, rowSpacing=6, cal="left" , ebg = True)
     cmds.text(p = 'InE_NSMModifications', label = "Rename selected to: ")
     cmds.textField('InE_NSMNameInput', p = 'InE_NSMModifications')
     cmds.radioCollection('InE_NSMRadioCollection', p = 'InE_NSMModifications')
     cmds.radioButton('InE_NSMRadioButton1', label='and keep namespace hierarchy', select=True )
     cmds.radioButton('InE_NSMRadioButton2', label='and move namespace to root' )
     cmds.button('InE_NSMRenameSelected', p = 'InE_NSMModifications', label = "Rename selected", en = True, command = self.renameSelected)
     
     cmds.columnLayout('InE_NSMButtons', p = "InE_NSMMainLayout", columnAttach=('both', 20), co = ("both", 10), rowSpacing=23, cal="left" , ebg = True)
     cmds.button('InE_NSMRemoveSelected', p = 'InE_NSMButtons', label = "Remove selected", w = 128, en = True, command = self.removeSelected)
     cmds.button('InE_NSMRemoveEmpty', p = 'InE_NSMButtons', label = "Remove empty", w = 128, en = True, command = self.removeEmpty)
     cmds.button('InE_NSMRemoveAll', p = 'InE_NSMButtons', label = "Remove all", w = 128, en = True, command = self.removeAll)
     
     
     cmds.showWindow()   
     
     self.updateTreeView()
     print self.listNamespace
Exemple #40
0
 def rigType(self):
     '''Returns:
            int: option selected in ui'''
     # DW : demonstrating property usage and partial
     rb = cmds.radioCollection(self.rc_ikfk, q=True, select=True)
     cia = [
         i.split('|')[-1]
         for i in cmds.radioCollection(self.rc_ikfk, q=True, cia=True)
     ]
     return cia.index(rb)
Exemple #41
0
 def radioButtonGrp_ui(self, cameraName, cameraNum):
     mc.rowLayout(nc=100, p=self.camColumnLay, h=25)
     mc.text(l=cameraName, w=100, h=25)
     cam_radio_name = '%s_radio' % (cameraName)
     mc.radioCollection(cam_radio_name)
     for num in xrange(cameraNum + 1):
         cam_radioButton_name = '%s_%s' % (cameraName, str(num))
         mc.radioButton(cam_radioButton_name, label=str(num))
     mc.setParent('..')
     mc.radioCollection(cam_radio_name, e=True, sl='%s_0' % (cameraName))
Exemple #42
0
    def testApp(self, *args ):
        
        title   = cmds.textField( self.pWindow.titleField, q=1, tx=1 )
        selItem = cmds.radioCollection( self.pWindow.collection, q=1, sl=1 )
        collectionItems = cmds.radioCollection( self.pWindow.collection, q=1, collectionItemArray=1 )
        selItems = ['mel','python']

        for i in range( len( collectionItems ) ):
            if collectionItems[i].find( selItem ) != -1:
                break
        cmdTestApp( self.pWindow.tab, title, selItems[i] )
Exemple #43
0
def cmdLoadBeforeSetting( pWindow, textField, tabLayout, radioCollection, packageFolderPath ):

    packageFolderPath = packageFolderPath.replace( '\\', '/' )
    packageFolderName = packageFolderPath.split( '/' )[-1]

    codeNames = []
    codePaths = []
    codeTypeIndex = 0
    
    for root, dirs, names in os.walk( packageFolderPath ):
        if not names:
            return None
        else:
            for name in names:
                codeName, extension = name.split( '.' )
                
                if codeName == '__init__': continue
                
                if extension == 'mel':
                    codeTypeIndex = 0
                elif extension == 'py':
                    codeTypeIndex = 1
                else:
                    continue
                codeNames.append( codeName )
                codePaths.append( root+'/'+name )
        break
    
    items = []
    cmds.setParent( tabLayout )
    mainCommandField = cmds.tabLayout( tabLayout, q=1, ca=1 )[0]
    
    uiCmdInst = uiCmd( pWindow )
    
    for i in range( len( codeNames ) ):
        codeName = codeNames[i]
        codePath = codePaths[i]
        
        f = open( codePath, 'r' )
        data = f.read()
        f.close()
        
        if codeName == 'MainCommand':
            scrollField = mainCommandField
        else:
            scrollField = uiCmdInst.addChild(tabLayout, codeName)
        cmds.scrollField( scrollField, e=1, tx=data )
    cmds.setParent( '..' )
    
    childItems = cmds.radioCollection( radioCollection, q=1, cia=1 )
    
    cmds.radioCollection( radioCollection, e=1, sl=childItems[codeTypeIndex] )
    cmds.textField( textField, e=1, tx=packageFolderName )
    cmds.tabLayout( tabLayout, e=1, tabLabel=items )
	def generate_mirror_function_controls(self, module_name, scroll_width):

		rotation_radio_collection = "rotation_radioCollection_all"
		translation_radio_collection = "translation_radioCollection_all"
		text_label = "Mirror Settings:"

		behavior_name = "behavior__"
		orientation_name = "orientation__"
		mirrored_name = "mirrored__"
		worldspace_name = "worldSpace__"

		if module_name != None:

			rotation_radio_collection = "rotation_radioCollection_"+module_name
			translation_radio_collection = "translation_radioCollection_"+module_name

			text_label = module_name+" Mirror Settings:"

			behavior_name = "behavior__"+module_name
			orientation_name = "orientation__"+module_name
			mirrored_name = "mirrored__"+module_name
			worldspace_name = "worldSpace__"+module_name

		cmds.text(label=text_label)

		mirror_settings_text_width = 100
		mirror_settings_column_width = (scroll_width - mirror_settings_text_width / .55)

		cmds.rowColumnLayout(
								nc=3,
								columnAttach=(1, "right", 0),
								columnWidth=[
												(1, mirror_settings_text_width),
												(2, mirror_settings_column_width),
												(3, mirror_settings_column_width)
											]
							)

		cmds.text(label="Rotation Mirror: ")
		self.ui_elements[rotation_radio_collection] = cmds.radioCollection()

		cmds.radioButton(behavior_name, label="Behavior", select=True)
		cmds.radioButton(orientation_name, label="Orientation", select=False)


		cmds.text(label="Translation Mirror: ")
		self.ui_elements[translation_radio_collection] = cmds.radioCollection()

		cmds.radioButton(mirrored_name, label="Mirrored", select=True)
		cmds.radioButton(worldspace_name, label="World Space", select=False)

		cmds.setParent(self.ui_elements["top_column_layout"])
		cmds.text(label="")
 def resetSettings(self, *args):
     cmds.optionVar(stringValue = ('kT_aPT_alignAxis', 'Y'))
     cmds.optionVar(intValue = ('kT_aPT_direction', 2))
     cmds.optionVar(intValue = ('kT_aPT_centerAxis', 1))
     
     self.alignAxis = cmds.optionVar(query = 'kT_aPT_alignAxis')
     self.direction = cmds.optionVar(query = 'kT_aPT_direction')    
     self.centerAxis = cmds.optionVar(query = 'kT_aPT_centerAxis')
     
     cmds.radioCollection('n_aPT_rC_align', edit = True, sl = self.axisY)
     cmds.optionMenu('n_oM_direction', edit = True, sl = self.direction)
     cmds.checkBox('n_cB_centerAxis', edit = True, v = self.centerAxis)
def	smartOrient	():
	_axis	=	cmds.radioCollection	(	'radioCollection_axis',	query	=	True,	select	=	True	)

	if		_axis	==	'axisX':	_axis	=	0
	elif	_axis	==	'axisY':	_axis	=	1
	else:							_axis	=	2

	_direction	=	cmds.radioCollection	(	'radioCollection_direction',	query	=	True,	select	=	True	)

	if		_direction	==	'plus':		_direction	=	1
	else:								_direction	=	-1

	_keepShape	=	cmds.checkBox	(	'check_keepShape',	query	=	True,	value	=	True	)
	_selList	=	cmds.ls			(					selection	=	True,	long	=	True	)
									
	_rotation	=	[	(	90	*	_direction,	0,	0	),
						(	0,	90	*	_direction,	0	),
						(	0,	0,	90	*	_direction	)	]
						

	if	len	(	_selList	)	>	0:

		for	_selected	in	_selList:

			if	cmds.nodeType	(	_selected	)	==	'joint':
				cmds.select		(	_selected	+	'.rotateAxis',		replace	=	True	)
				cmds.xform		(	rotation	=	_rotation[_axis],	relative	=	True	)
			
			elif	cmds.nodeType	(	_selected	)	==	'transform':
				_offsetGroup	=	cmds.listRelatives	(	parent	=	True	)

				if	_offsetGroup	!=	None:
					cmds.xform	(	_offsetGroup[0],	rotation	=	_rotation[_axis],
									relative	=	True,	objectSpace		=	True	)

					if	_keepShape:
						mm.eval		(	'SelectCurveCVsAll;'	)
						cmds.xform	(	rotation	=	(_rotation[_axis][0]	*	-1,
														_rotation[_axis][1]	*	-1,	
														_rotation[_axis][2]	*	-1	),
										relative	=	True,	objectSpace	=	True	)
						print; print; print '>>> SO FAR SO GOOD'; print # <<< DEBUG ONLY LINE, CAN BE DELETED <<< ##########
				else:
					raiseWarning	(	'Group selected'	)
			else:
				raiseWarning	(	'this works only on control transForms and joints'	)
			
			cmds.select ( _selList )
	else:
		raiseWarning	(	'Nothing selected'	)
Exemple #47
0
	def BuildUI( self ):
		self.Window = cmds.window( title = self.WINDOW_NAME + " " + self.PLUGIN_VERSION, sizeable = True, resizeToFitChildren = True, widthHeight = ( 1, 1 ) )
		
		HalfWidth = ( self.WINDOW_WIDTH / 2 )
		
		# main column
		cmds.columnLayout()
		
		# rotate around layout
		cmds.radioCollection()		
		cmds.frameLayout( label = "Rotate Around", collapsable = False, width = self.WINDOW_WIDTH )
		cmds.columnLayout()
		cmds.rowColumnLayout( numberOfColumns = 1, columnWidth = [ ( 1, self.WINDOW_WIDTH ) ] )
		self.rbRotateAroundCenterBB = cmds.radioButton( label = "Center of objects", onCommand = self.OnRotateAroundCenterBBoxSelected, select = True )
		cmds.setParent( ".." ) #rowColumnLayout
		
		cmds.rowColumnLayout( numberOfColumns = 2, columnWidth = [ ( 1, HalfWidth ), ( 2, HalfWidth - 5 ) ] )
		self.rbRotateAroundObject = cmds.radioButton( label = "Object Pivot", onCommand = self.OnRotateAroundObjectSelected )
		self.bPickObjectToRotateAround = cmds.button( label = "Pick", command = self.OnPickObject )
		cmds.setParent( ".." ) #rowColumnLayout
		
		cmds.rowColumnLayout( numberOfColumns = 2, columnWidth = [ ( 1, HalfWidth ), ( 2, HalfWidth - 5 ) ] )
		self.rbRotateAroundPosition = cmds.radioButton( label = "Position (XYZ)", onCommand = self.OnRotateAroundPositionSelected )
		cmds.rowColumnLayout( numberOfColumns = 3, columnWidth = [ ( 1, ( HalfWidth / 3 ) - 1 ), ( 2, ( HalfWidth / 3 ) - 1 ), ( 3, ( HalfWidth / 3 ) - 1 ) ] )
		self.txtRAPX = cmds.textField( text = "0", changeCommand = self.OnTextFieldValueChange )
		self.txtRAPY = cmds.textField( text = "0", changeCommand = self.OnTextFieldValueChange )
		self.txtRAPZ = cmds.textField( text = "0", changeCommand = self.OnTextFieldValueChange )
		cmds.setParent( ".." ) #rowColumnLayout				
		cmds.setParent( ".." ) #rowColumnLayout		
		
		cmds.setParent( ".." ) #columnLayout
		cmds.setParent( ".." ) #frameLayout
		
		# info layout
		cmds.frameLayout( label = "Rotate Info", collapsable = False, width = self.WINDOW_WIDTH )
		cmds.columnLayout()
		self.txtObjectsToRotate = cmds.text( label = "Objects To Rotate: 0" )
		self.txtRotationPivot   = cmds.text( label = "Rotate around: none" )
		cmds.setParent( ".." ) #columnLayout
		cmds.setParent( ".." ) #frameLayout	
		
		# buttons layout
		cmds.rowColumnLayout( numberOfColumns = 2, columnWidth = [ ( 1, HalfWidth ), ( 2, HalfWidth ) ] )
		self.bStartRotate = cmds.button( label = "Start", command = self.OnStartRotate, enable = False )
		self.bClose = cmds.button( label = "Close", command = self.OnClose )
		cmds.setParent( ".." ) # rowColumnLayout		
		
		# ...
		cmds.showWindow( self.Window ) # main column
Exemple #48
0
    def cmdUpdateApp( self, *args ):

        title   = cmds.textField( self.pWindow.titleField, q=1, tx=1 )
        selItem = cmds.radioCollection( self.pWindow.collection, q=1, sl=1 )
        collectionItems = cmds.radioCollection( self.pWindow.collection, q=1, collectionItemArray=1 )
        selItems = ['mel','python']

        for i in range( len( collectionItems ) ):
            if collectionItems[i].find( selItem ) != -1:
                break

        cmdModel.cmdUpdateApp( self.pWindow.tab, self.currentCategoryInst.optionMenu, title, selItems[i] )
        cmds.deleteUI( self.winName, wnd=1 )

        view.showUserSetupMenu()
Exemple #49
0
 def core(self):
     
     addSpaceWidth = 20
     editWidt = self._width-addSpaceWidth
     halfWidth = editWidt/2
     lastWidth   = editWidt - halfWidth
     cmds.rowColumnLayout( nc=4, cw=[(1,addSpaceWidth+self._sideWidth),
                                     (2,halfWidth),
                                     (3,lastWidth),
                                     (4,self._sideWidth)] )
     self._nameCollection = cmds.radioCollection()
     mainInfo.setSpace()
     cmds.radioButton( l='Prefix', sl=1 )
     cmds.radioButton( l='Namespace' )
     mainInfo.setSpace()
     cmds.setParent( '..' )
     
     mainInfo.setSpaceH( 5 )
     
     buttonWidth = self._width/2
     lastWidth   = self._width - buttonWidth
     
     cmds.rowColumnLayout( nc=4, cw=[(1,self._sideWidth),
                                     (2,buttonWidth),
                                     (3,lastWidth),
                                     (4,self._sideWidth)] )
     mainInfo.setSpace()
     self._frontNameOptionMenu = cmds.optionMenu( )
     cmds.menuItem( l='the file name' )
     cmds.menuItem( l='this string')
     self._thisStringField = cmds.textField( en=0 )
     mainInfo.setSpace()
     cmds.setParent( '..' )
    def mirrorClusterCmd(self):
        """"""
        sels = cmds.ls(sl=1, ap=1)
        if not sels: cmds.error("Please select clusters or joints!")
        
        # Prepare parameters
        axisBtn = cmds.radioCollection(self.axisCol, q=1, sl=1)
        axisId = cmds.radioButton(axisBtn, q=1, l=1).lower()
        axises = scData.getAxisMap(axisId)
        mirrorPivot = cmds.textField(self.mirPivTxFld, q=1, tx=1)
        tol = float(cmds.textFieldGrp(self.tolTxFld, q=1, tx=1))
        search = cmds.textFieldGrp(self.searchTxFld, q=1, tx=1)
        replace = cmds.textFieldGrp(self.replaceTxFld, q=1, tx=1)

        # Deal with mirror pivot matrix
        if mirrorPivot: pivotMatrixList = cmds.xform(mirrorPivot, q=1, ws=1, m=1)
        else: pivotMatrixList = scData.getWorldMatrixList()
        
        start = clock()
        for sel in sels:
            if cmds.objectType( sel, isType='joint' ):
                scData.JointFn.mirrorJnt(sel, pivotMatrixList, axises, search, replace, tol)
            elif cmds.listRelatives(sel, s=1, typ='clusterHandle'):            
                scData.ClusterFn.mirrorCluster(sel, pivotMatrixList, axises, search, replace, tol)
            else: cmds.warning("%s is skipped!" % sel)
        
        finish = clock()
        om.MGlobal.displayInfo( "Mirror Time Cost: %fs" % (finish-start) )
def sjModeSwitch():
	'''
	Will adjust the interface for the different modes that are available.
	'''
	# Get Radio Button info
	rc = cmds.radioCollection(radioCol, q=True, sl=True)
	# Label is the same name as the scriptJob type 
	sjType = cmds.radioButton(rc, q=True, label=True)
	
	# Get selected items from the textScrollList
	try:
		selectedTSL = cmds.textScrollList(tsl, q=True, si=True)[0]
	except TypeError:
		selectedTSL = ""
	cmds.textFieldGrp("mecSJConLabel", edit=True, en=True)	
	cmds.textFieldGrp("mecSJConLabel", edit=True, text="")	
	if( sjType == "event"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, text=selectedTSL)
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="Event Type")
	elif( sjType == "attributes" or sjType == "connectionChange"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="Attribute")
	elif( sjType == "condition"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, text=selectedTSL)
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="Condition Type")
	elif( sjType == "nodeNameChanged"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="Node Name")
	elif( sjType == "uiDeleted"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="uiName")
	elif(sjType == "timeChange"):
		cmds.textFieldGrp("mecSJConLabel", edit=True, label="")
		cmds.textFieldGrp("mecSJConLabel", edit=True, en=False)
def loadDisc():
	'''
	When a type of script job is selected in the textScrollList the discription of that 
		event will be posted in the adjacent scrollField.	
	'''
	# Get RadioButton	
	selectedRC = cmds.radioCollection(radioCol, q=True, sl=True)	
	xmlDict = { "mecSJEvent":"Events", "mecSJAttr":"attributes", "mecSJCond":"Conditions", 
		"mecSJNode":"nodeNameChanged", "mecSJConn":"connectionChange", "mecSJUI":"uiDeleted", 
		"mecSJTime":"timeChange"}	
	
	# get selected element from the textScrollList
	# Get which event was selected. Only the first item will be addressed.
	selectedTSL = cmds.textScrollList(tsl, q=True, si=True)[0]	
	
	# Access proper tag from xml file
	elem = sjXML.getroot()
	sjType = xmlDict[selectedRC]
	curSel = elem.find(sjType)	
	
	# find which type is selected.

	disc = ""
	for item in curSel:
		if( item.text == selectedTSL ):
			disc = item[0].text
		
	# apply disc name to the scrollField
	cmds.scrollField( sfDisc, edit=True, text=disc)
	sjModeSwitch()
 def apply(self,*args):
     selectedAxisBtn = cmds.radioCollection('n_aPT_rC_align', query = True, sl = True)
     cmds.optionVar(stringValue=['kT_aPT_alignAxis', cmds.radioButton(selectedAxisBtn, query = True, l = True)])       
     cmds.optionVar(intValue =['kT_aPT_centerAxis', cmds.checkBox('n_cB_centerAxis', query = True, v = True)])      
     cmds.optionVar(intValue=['kT_aPT_direction', cmds.optionMenu('n_oM_direction', query = True, sl = True)])
     
     alignPivotTool()
 def create(self):
     
     form = cmds.formLayout()
     text = cmds.text( l= self.label, w=self.width1, h=self.height, al= self.aline )
     radio = cmds.radioCollection()
     rb1  = cmds.radioButton( l=self.rbLabel1, w=self.width2, sl=1 )
     rb2  = cmds.radioButton( l=self.rbLabel2, w=self.width3 )
     rb3  = cmds.radioButton( l=self.rbLabel3, w=self.width4 )
     check = cmds.checkBox( l=self.rbLabel4 )
     txf  = cmds.textField( en=0 )
     cmds.setParent( '..' )
     
     cmds.formLayout( form, e=1,
                      af = [( text, 'top', 0 ),( text, 'left', 0 ),
                            ( rb1, 'top', 0 ), ( rb2, 'top', 0 ), ( rb3, 'top', 0 )],
                      ac = [( rb1, 'left', 0, text ), ( rb2, 'left', 0, rb1 ), ( rb3, 'left', 0, rb2 ),
                            ( check, 'top', 0, text ), ( check, 'left', 0, text ),
                            ( txf, 'top', 0, text ), ( txf, 'left', 0, check )] )
     
     WinA_Global.searchForType_radio = radio
     WinA_Global.searchForType_check = check
     WinA_Global.searchForType_txf   = txf
     WinA_Global.searchForType_form  = form
     
     return form
 def getSearchForType():
     
     items = cmds.radioCollection( WinA_Global.searchForType_radio, q=1, cia=1 )
     for i in range( len( items ) ):
         if cmds.radioButton( items[i], q=1, sl=1 ):
             break
     return i
Exemple #56
0
    def createInfluenceMappingGroup(self):
        group = self.createUIGroup(self.cmdLayout.innerLayout, 'Influence Mapping')
        
        self.createFixedTitledRow(group, 'Infl. Distance Error')
        self.controls.influenceDistanceError = FloatField(self.VAR_PREFIX+'distanceError', minValue=0, maxValue=None, step=0.01, defaultValue=0.001, 
                                    annotation='Defines maximum inaccuracy between left and right influence positions')
        self.controls.influenceDistanceError.changeCommand.addHandler(self.previewInfluenceMapping, group)

        if self.mirrorMode:
            self.createTitledRow(group, 'Ignore')
            cmds.radioCollection()
            for index,i in enumerate(['Prefixes','Suffixes']):
                ctrl = self.controls.__dict__['ignore'+i] = RadioButtonField(self.VAR_PREFIX+'ignoreMode'+i,defaultValue=1 if index==0 else 0,label=i)
                ctrl.changeCommand.addHandler(self.ignoreModeChanged,group)        


            self.controls.prefixesGroup = self.createTitledRow(group, 'Influence Prefixes')
            self.controls.influencePrefixes = StoredTextEdit(self.VAR_PREFIX+'inflPrefix', annotation='Specifies influence prefixes to be ignored when matching by name;\nUsually you would put your left/right influence prefixes here;\nseparate them with commas, e.g. "L_, R_"')
            self.controls.influencePrefixes.changeCommand.addHandler(self.previewInfluenceMapping, group)
            
            self.controls.suffixesGroup = self.createTitledRow(group, 'Influence Suffixes')
            self.controls.influenceSuffixes = StoredTextEdit(self.VAR_PREFIX+'inflSuffix', annotation='Specifies influence suffixes to be ignored when matching by name;\nUsually you would put your left/right influence suffixes here;\nseparate them with commas, e.g. "_Lf, _Rt"')
            self.controls.influenceSuffixes.changeCommand.addHandler(self.previewInfluenceMapping, group)
        
        
        
        influencesLayout = cmds.columnLayout(parent=group,adjustableColumn=1,rowSpacing=Constants.MARGIN_SPACING_VERTICAL)
        cmds.text(parent=influencesLayout,label="Influence mapping to be used:",align='left')
        self.controls.influencesList = cmds.textScrollList(parent=influencesLayout, height=200, numberOfRows=5, allowMultiSelection=True,
                                                           selectCommand=self.onInfluenceSelected,
                                                           deleteKeyCommand=lambda *args: self.removeSelectedManualMappings())
        
        manualGroup = self.createUIGroup(self.cmdLayout.innerLayout, 'Manual influence mapping')
        cmds.rowLayout(parent=manualGroup,nc=3) 
        
        
        buttonWidth = 110
        cmds.button('Disconnect link',width=buttonWidth,command=lambda *args: self.doDisconnectMapping(),annotation='Disconnect two associated influences, and make each influence point to itself')
        if self.mirrorMode:
            cmds.button('Link, both ways',width=buttonWidth,command=lambda *args: self.doConnectMapping(bidirectional=True),annotation='Connect two selected influences and link them both ways')
        cmds.button('Link, one way' if self.mirrorMode else "Link",width=buttonWidth,command=lambda *args: self.doConnectMapping(bidirectional=False),annotation='Connect two selected influences and link on source to destination')
        cmds.rowLayout(parent=manualGroup,nc=2) 
        cmds.button('Remove manual rule',width=buttonWidth,command=lambda *args: self.removeSelectedManualMappings(),annotation='Remove manual rule; influence will be a subject to automatic matching')

        self.ignoreModeChanged()
        
        cmds.setParent(group)
 def show(self):
     
     if cmds.window( self._winName, ex=1 ):
         cmds.deleteUI( self._winName, wnd=1 )
     cmds.window( self._winName, title= self._title )
     
     columnWidth = self._width - 2
     sliderFirstWidth = columnWidth * 0.4
     sliderSecondWidth = 50
     sliderThirdWidth = columnWidth - sliderFirstWidth - sliderSecondWidth
     
     firstWidth = ( columnWidth -2 )/ 2
     secondWidth = ( columnWidth - 2 ) - firstWidth
     
     cmds.columnLayout()
     cmds.rowColumnLayout( nc=2, co=[(1, 'left',30)], cw=[(1,firstWidth),(2,secondWidth)])
     cmds.radioCollection()
     radio1 = cmds.radioButton( l='By Number', sl=1, onc = self.cmdOn, ofc = self.cmdOff )
     radio2 = cmds.radioButton( l='By Length' )
     cmds.setParent( '..' )
     cmds.rowColumnLayout( nc=1, cw=(1,columnWidth) )
     cmds.separator()
     slider1 = cmds.intSliderGrp( l='Num of Joint : ', f=1, 
                                 cw=[(1,sliderFirstWidth),(2,sliderSecondWidth),(3,sliderThirdWidth)],
                                 min=1, max=20, fmn=1, fmx=1000, v=5 )
     slider2 = cmds.floatSliderGrp( l='Mult Rate : ', f=1, 
                                 cw=[(1,sliderFirstWidth),(2,sliderSecondWidth),(3,sliderThirdWidth)],
                                 min=0.01, max=10, fmn=0.01, fmx=100, v=1.0, pre=2, en=0 )
     cmds.separator()
     cmds.rowColumnLayout( nc=2, cw=[( 1, 50 ), (2,columnWidth-52)])
     cmds.text( l='' )
     check = cmds.checkBox( l='Connect Distance Node', value =1 )
     cmds.setParent( '..' )
     cmds.text( l='', h=5 )
     cmds.button( l='Create', c=self.cmdCreate )
     cmds.setParent( '..' )
     
     cmds.window( self._winName, e=1,
                  w = self._width, h= self._height )
     cmds.showWindow( self._winName )
     
     self._slider1 = slider1
     self._slider2 = slider2
     self._radio1 = radio1
     self._radio2 = radio2
     self._check = check