def cacheFileUsdHierarchyOptions(topForm):
    '''Create controls to insert Maya reference USD cache into USD hierarchy.'''

    cmds.setParent(topForm)
    cmds.frameLayout(label=getMayaUsdLibString("kCacheMayaRefUsdHierarchy"))
    widgetColumn = cmds.columnLayout()

    rl = mel.eval('createRowLayoutforMayaReference("' + widgetColumn +
                  '", "cacheFilePreviewRow", 2)')
    with mayaRefUtils.SetParentContext(rl):
        cmds.iconTextStaticLabel(st="iconAndTextHorizontal",
                                 i1="info.png",
                                 l=getMayaUsdLibString('kCacheFileWillAppear'))
        cmds.textField(text=str(_pulledMayaRefPrim.GetParent().GetPath()),
                       editable=False)

    with mayaRefUtils.SetParentContext(cmds.rowLayout(numberOfColumns=2)):
        cmds.optionMenuGrp(
            'compositionArcTypeMenu',
            label=getMayaUsdLibString('kOptionAsCompositionArc'),
            cc=compositionArcChanged)
        cmds.menuItem(label=getMayaUsdLibString('kMenuPayload'))
        cmds.menuItem(label=getMayaUsdLibString('kMenuReference'))
        cmds.optionMenu('listEditedAsMenu',
                        label=getMayaUsdLibString('kOptionListEditedAs'),
                        cc=listEditChanged)
        cmds.menuItem(label=getMayaUsdLibString('kMenuAppend'))
        cmds.menuItem(label=getMayaUsdLibString('kMenuPrepend'))

    variantRb = cmds.radioButtonGrp('variantRadioBtn',
                                    nrb=1,
                                    label=getMayaUsdLibString('kTextDefineIn'),
                                    l1=getMayaUsdLibString('kTextVariant'))

    rl = mel.eval('createRowLayoutforMayaReference("' + widgetColumn +
                  '", "usdCacheVariantSetRow", 3)')
    with mayaRefUtils.SetParentContext(rl):
        cmds.text(label=getMayaUsdLibString('kMayaRefVariantSetName'))
        cmds.optionMenu('variantSetMenu', cc=variantSetNameChanged)
        cmds.textField(visible=False)

    rl = mel.eval('createRowLayoutforMayaReference("' + widgetColumn +
                  '", "usdCacheVariantNameRow", 3)')
    with mayaRefUtils.SetParentContext(rl):
        cmds.text(label=getMayaUsdLibString('kMayaRefVariantName'))
        cmds.optionMenu('variantNameMenu', cc=variantNameChanged)
        cmds.textField('variantNameText', cc=variantNameTextChanged)

    newChildRb = cmds.radioButtonGrp(
        'newChildPrimRadioBtn',
        nrb=1,
        label='',
        scl=variantRb,
        l1=getMayaUsdLibString('kButtonNewChildPrim'))

    cmds.textFieldGrp('primNameText',
                      label=getMayaUsdLibString('kMayaRefPrimName'),
                      cc=primNameTextChanged)

    cmds.radioButtonGrp(variantRb, edit=True, select=1)
Example #2
0
def setOptionMenuList(OMG,itemList,add=False):
	'''
	Set the list of items for the specified optionMenuGrp control
	@param OMG: OptionMenuGrp to set the item list for
	@type OMG: str
	@param itemList: List of items to add to optionMenuGrp
	@type itemList: list
	@param add: Add to existing menu items
	@type add: bool
	'''
	# Check optionMenuGrp
	if not mc.optionMenuGrp(OMG,q=True,ex=True):
		raise UIError('OptionMenu "'+OMG+'" does not exist!')
	
	# Get existing items
	exItemList = mc.optionMenuGrp(OMG,q=True,ill=True)
	
	# Add items
	for item in itemList:
		mc.setParent(OMG)
		mc.menuItem(l=item)
	
	# Remove previous items
	if exItemList:
		for item in exItemList:
			mc.deleteUI(item)
Example #3
0
	def findReplacePanelUI(self, name, parent, collapse=False):
		""" Create find and replace panel UI controls.
		"""
		mc.frameLayout(width=400, collapsable=True, cl=collapse, label="Find and Replace")
		mc.columnLayout(name)

		mc.separator(height=4, style="none")
		mc.optionMenuGrp("renamePresets", label="Preset: ", changeCommand=lambda *args: self.fillPresets())
		for item in self.presetItemList:
			mc.menuItem(label=item)

		mc.separator(height=8, style="none")
		mc.textFieldGrp("findStr", label="Find: ")
		mc.textFieldGrp("replaceStr", label="Replace: ")

		mc.separator(height=8, style="none")
		mc.rowLayout(numberOfColumns=2, columnAttach2=["left", "left"], columnAlign2=["both", "both"], columnOffset2=[142, 8])
		mc.checkBox("ignoreCase", label="Ignore case", value=0)
		mc.setParent(name)

		mc.separator(height=4, style="none")
		mc.rowLayout(numberOfColumns=1, columnAttach1="left", columnAlign1="both", columnOffset1=142)
		mc.button(width=116, label="Replace Text", command=lambda *args: self.replaceTextRE())
		mc.setParent(name)

		mc.separator(height=4, style="none")
		mc.setParent(parent)
def doOptions(input_referenceObject, input_rotateOrder, input_axis, input_referenceAxis, input_normalizeAxes):
	"""This is the function called when the apply or create button is clicked"""
	try:
		# validate selection
		utils.dg.validateSelection(type='transform', exact=1)
		
		# validate reference object
		referenceObject = cmds.textFieldGrp(input_referenceObject, q=True, tx=True)
		if len(referenceObject) > 0: utils.dg.verifyNode(referenceObject)
		
		# call the command
		if len(referenceObject) > 0:
			cmds.am_exposeTransform(
				ref=referenceObject, 
				ro=utils.kRotateOrderMapping[cmds.optionMenuGrp(input_rotateOrder, q=True, v=True)], 
				a=cmds.floatFieldGrp(input_axis, q=True, v=True), 
				ra=cmds.floatFieldGrp(input_referenceAxis, q=True, v=True), 
				na=cmds.checkBoxGrp(input_normalizeAxes, q=True, v1=True))
		else:
			cmds.am_exposeTransform(
				ro=utils.kRotateOrderMapping[cmds.optionMenuGrp(input_rotateOrder, q=True, v=True)], 
				a=cmds.floatFieldGrp(input_axis, q=True, v=True), 
				ra=cmds.floatFieldGrp(input_referenceAxis, q=True, v=True), 
				na=cmds.checkBoxGrp(input_normalizeAxes, q=True, v1=True))
	except: raise
Example #5
0
    def commonOptUI(self, name, parent, collapse=False):
        """ Create common options panel UI controls.
		"""
        mc.frameLayout("commonOptRollout",
                       width=400,
                       collapsable=True,
                       cl=collapse,
                       label="Render Layer Overrides")
        mc.columnLayout(name)
        mc.separator(height=4, style="none")

        mc.optionMenuGrp("renderLayer_comboBox",
                         label="Layer: ",
                         changeCommand=lambda *args: self.listOverrides())
        for rl in self.renderLayers:
            mc.menuItem(label=rl)
        mc.optionMenuGrp("renderLayer_comboBox",
                         edit=True,
                         value=self.currentLayer)

        mc.separator(height=2, style="none")
        mc.rowLayout(numberOfColumns=2,
                     columnAttach2=["left", "left"],
                     columnAlign2=["both", "both"],
                     columnOffset2=[4, 0])
        mc.iconTextScrollList("listView_overrides",
                              width=360,
                              height=108,
                              allowMultiSelection=True)
        # table = mc.scriptTable(rows=4, columns=2, label=[(1,"Column 1"), (2,"Column 2")], cellChangedCmd=self.editCell)

        mc.setParent(name)

        mc.separator(height=4, style="none")
        mc.setParent(parent)
Example #6
0
    def getMaterials():

        itemList = cmds.optionMenuGrp(Window_global.op_shaderType, q=1, ils=1)
        selIndex = cmds.optionMenuGrp(Window_global.op_shaderType,
                                      q=1,
                                      select=1)
        matType = cmds.menuItem(itemList[selIndex - 1], q=1, l=1)

        sels = cmds.ls(mat=1)
        sels = list(set(sels))
        sels.sort()

        newSels = []
        for sel in sels:
            if not cmds.listConnections(sel, s=0, d=1, type='shadingEngine'):
                continue
            newSels.append(sel)

        if matType == 'All':
            return newSels
        else:
            targetSels = []
            for sel in newSels:
                if cmds.nodeType(sel) == matType:
                    targetSels.append(sel)
            return targetSels
Example #7
0
def stretchyIkSplineFromUI(close=False):
	'''
	'''
	# Window
	window = 'stretchyIkSplineUI'
	if not mc.window(window,q=True,ex=1): raise UIError('StretchyIkSpline UI does not exist!!')
	
	# Get UI data
	ik = mc.textFieldButtonGrp('stretchyIkSplineTFB',q=True,text=True)
	pre = mc.textFieldGrp('stretchyIkSplinePrefixTFG',q=True,text=True)
	scaleAxis = str.lower(str(mc.optionMenuGrp('stretchyIkSplineAxisOMG',q=True,v=True)))
	scaleAttr = mc.textFieldButtonGrp('stretchyIkSplineScaleAttrTFB',q=True,text=True)
	blendCtrl = mc.textFieldButtonGrp('stretchyIkSplineBlendCtrlTFB',q=True,text=True)
	blendAttr = mc.textFieldGrp('stretchyIkSplineBlendAttrTFG',q=True,text=True)
	method = mc.optionMenuGrp('stretchyIkSplineMethodOMG',q=True,sl=True)-1
	minPercent = mc.floatSliderGrp('stretchyIkSplineMinPFSG',q=True,v=True)
	maxPercent = mc.floatSliderGrp('stretchyIkSplineMaxPFSG',q=True,v=True)
	
	# Execute command
	if method: # Parametric
		glTools.builder.stretchyIkSpline_parametric.StretchyIkSpline_parametric().build(ikHandle=ik,scaleAttr=scaleAttr,blendControl=blendCtrl,blendAttr=blendAttr,scaleAxis=scaleAxis,minPercent=minPercent,maxPercent=maxPercent,prefix=pre)
	else: # Arc Length
		glTools.builder.stretchyIkSpline_arcLength.StretchyIkSpline_arcLength().build(ikHandle=ik,scaleAttr=scaleAttr,blendControl=blendCtrl,blendAttr=blendAttr,scaleAxis=scaleAxis,prefix=pre)
	
	# Cleanup
	if close: mc.deleteUI(window)
Example #8
0
def gui() :
	import maya.cmds as m
	if m.window("peelMocap", ex=True) : m.deleteUI("peelMocap")
	win = m.window("peelMocap", width=400, height=400)
	form = m.formLayout()
	c1 = m.columnLayout()
	m.optionMenuGrp("peelMocapMarkerset", l="Markerset:")
	m.menuItem("motive")
	m.menuItem("mocapclub")
	m.textFieldButtonGrp("peelMocapMarkerPrefix", l="Marker Prefix:", bl="Verify", bc=gui_verify)
	m.textFieldGrp("peelMocapMarkerStatus", en=False, l="" )
	m.textScrollList("peelMocapTSL")
	m.button(l="Select Markers", c=gui_select)
	m.button(l="Draw Lines", c=gui_drawLines)
	m.button(l="Test Solver", c=gui_createSolverTest)
	m.button(l="Create Solver", c=gui_createSolver)

	m.setParent(form)
	c2 = m.columnLayout()
	m.optionMenuGrp("peelMocapBoneset", l="Boneset:")
	m.menuItem("fbx")
	m.textFieldButtonGrp("peelMocapBonePrefix", l="Bone Prefix:", bl="Verify", bc=gui_verifyBones)
	m.textFieldGrp("peelMocapBoneStatus", en=False, l="" )

	m.formLayout(form, e=True, attachForm=[ ( c1, "top", 1 ) , ( c1, "left",  1) , (c1, "bottom", 1),
						( c2, "top", 1 ) , ( c2, "right", 1) , (c2, "bottom", 1) ],
			attachControl= [ (c1, "right", 1, c2 ) ])

	m.showWindow(win)
Example #9
0
    def cmdCreate(self, *args):

        newSystemType = cmds.rowColumnLayout(self.columnNewSystem, q=1, vis=1)
        assignSystemType = cmds.rowColumnLayout(self.columnAssignSystem,
                                                q=1,
                                                vis=1)
        newCurve = cmds.checkBox(self.check, q=1, v=1)

        sels = self.popupCurves.getFieldTexts()

        if newSystemType:
            ctlName = self.popupController.getFieldText()
            addName = cmds.textFieldGrp(self.addName, q=1, tx=1)
            if not newCurve:
                hairSystem = sgRigCurve.makeDynamicCurveKeepSrc(sels, addName)
            else:
                hairSystem = sgRigCurve.makeDynamicCurve(sels, addName)
            sgRigAttribute.connectHairAttribute(ctlName, hairSystem)
        elif assignSystemType:
            addName = cmds.textFieldGrp(self.addName, q=1, tx=1)
            menuItems = cmds.optionMenuGrp(self.option, q=1, itemListLong=1)
            selectIndex = cmds.optionMenuGrp(self.option, q=1, sl=1) - 1
            menuItemLabel = cmds.menuItem(menuItems[selectIndex], q=1, label=1)
            if not newCurve:
                hairSystem = sgRigCurve.makeDynamicCurveKeepSrc(sels, addName)
            else:
                hairSystem = sgRigCurve.makeDynamicCurve(sels, addName)
Example #10
0
def pupMaya2mental(mentalVersion):
    destPath = os.getenv('DEST_PATH_WIN')
    rootPath, shadersPath = {
        3.8: ('c:/Program Files/Autodesk/mrstand3.8.1-adsk2011/bin',
              destPath + '/mental3.8.1'),
        3.11: ('c:/Program Files/Autodesk/mrstand3.11.1-adsk2014/bin',
               destPath + '/mental3.11.1')
    }[mentalVersion]

    os.putenv('RAY_COMMAND', '"' + rootPath + '/ray.exe"')

    os.putenv('MR_VERSION', str(mentalVersion))

    miModulesPaths, binModulesPaths = modulesPath.getMiBinString()
    #os.putenv('MI_RAY_INCPATH', shadersPath + '/mi;' +  miModulesPaths)
    #os.putenv('MI_LIBRARY_PATH', shadersPath + '/bin;' +  binModulesPaths)
    #os.putenv('MI_ROOT', rootPath)
    mel.eval('pup_maya_2_mental(3);')

    mc.checkBoxGrp('pup_m2mrOverrideEnv', e=True, v1=1)
    mc.textFieldGrp('pup_m2mrMiRoot', e=True, tx=rootPath)
    mc.textFieldGrp('pup_m2mrMiInclude',
                    e=True,
                    tx=shadersPath + '/mi;' + miModulesPaths)
    mc.textFieldGrp('pup_m2mrMiLib',
                    e=True,
                    tx=shadersPath + '/bin;' + binModulesPaths)
    mc.textFieldGrp('pup_m2mrMiDir', e=True, tx="C:/Temp/")
    mc.optionMenuGrp('pup_m2mrVerboseM', e=True, sl=5)
    #mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-finalgather_passes 0 -memory 1000000' )
    mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx='-memory 1000000')
    mc.checkBoxGrp('pup_m2mrUniqueMI', e=True, v1=1)
    mc.optionMenuGrp('pup_m2mrPriority', e=True, sl=3)
Example #11
0
 def __init__(s):
     s.data = {}
     s.win = cmds.window("Tracker to Attribute")
     col = cmds.columnLayout(adj=True)
     s.nuke = cmds.textFieldButtonGrp(l="Tracker File:",
                                      bl="Browse",
                                      adj=2,
                                      bc=s.browse,
                                      cc=s.load_tracker)
     s.tracker = cmds.optionMenuGrp(l="Tracker:", adj=2) + "|OptionMenu"
     s.stabalize = cmds.optionMenuGrp(l="Stabalize / Angle:",
                                      adj=2) + "|OptionMenu"
     s.outX = cmds.textFieldButtonGrp(l="Output X:",
                                      bl="<< CB",
                                      adj=2,
                                      bc=lambda: s.get_attr(s.outX))
     s.outY = cmds.textFieldButtonGrp(l="Output Y:",
                                      bl="<< CB",
                                      adj=2,
                                      bc=lambda: s.get_attr(s.outY))
     s.outA = cmds.textFieldButtonGrp(l="Angle:",
                                      bl="<< CB",
                                      adj=2,
                                      bc=lambda: s.get_attr(s.outA))
     s.scale = cmds.intFieldGrp(l="Scale X / Y:", v1=1, v2=1, nf=2)
     s.view = cmds.checkBoxGrp(l="Restrict to range:", v1=True)
     s.go = cmds.button(l="Keyframe!", en=False, c=s.run)
     cmds.showWindow()
Example #12
0
def nmOuterSpace_setSel():
    '''
	this function will set the current selected objects under the given
	namespace.
	'''
    # sel
    sel = cmds.ls(sl=True)
    # get
    curSel = cmds.optionMenuGrp('nmSAK_namespaceOMG', q=True, sl=True)
    if (curSel == 1):
        curName = ':'
    else:
        curName = cmds.optionMenuGrp('nmSAK_namespaceOMG', q=True,
                                     v=True) + ':'
    # check
    if (len(sel) > 0):
        # set
        for stuff in sel:
            split = stuff.split(':')[-1]
            cmds.rename(stuff, curName + split)
        # line
        nmGUI_func.nmGUI_runCheck(
            'complete', 'Selected objects have been set to "' + curName + '".')
    else:
        # line
        nmGUI_func.nmGUI_runCheck('error',
                                  'Please select one or more objects.')
Example #13
0
    def cmdCreate(self, *args ):

        newSystemType    = cmds.rowColumnLayout( self.columnNewSystem, q=1, vis=1 )
        assignSystemType = cmds.rowColumnLayout( self.columnAssignSystem, q=1, vis=1 )
        newCurve         = cmds.checkBox( self.check, q=1, v=1 )

        sels = self.popupCurves.getFieldTexts()

        if newSystemType:
            ctlName = self.popupController.getFieldText()
            addName = cmds.textFieldGrp( self.addName, q=1, tx=1 )
            if not newCurve:
                hairSystem = sgRigCurve.makeDynamicCurveKeepSrc( sels, addName )
            else:
                hairSystem = sgRigCurve.makeDynamicCurve( sels, addName )
            sgRigAttribute.connectHairAttribute( ctlName, hairSystem )
        elif assignSystemType:
            addName = cmds.textFieldGrp( self.addName, q=1, tx=1 )
            menuItems = cmds.optionMenuGrp( self.option, q=1, itemListLong=1 )
            selectIndex = cmds.optionMenuGrp( self.option, q=1, sl=1 )-1
            menuItemLabel = cmds.menuItem( menuItems[selectIndex], q=1, label=1 )
            if not newCurve:
                hairSystem = sgRigCurve.makeDynamicCurveKeepSrc( sels, addName )
            else:
                hairSystem = sgRigCurve.makeDynamicCurve( sels, addName )
Example #14
0
        def cmdFirst(*args):
            topObject = cmds.textField(self._uiInstTopObject._field, q=1, tx=1)
            if cmds.textField(self._uiInstEndObject._field, q=1, en=1):
                endObject = cmds.textField(self._uiInstEndObject._field,
                                           q=1,
                                           tx=1)
            else:
                endObject = cmds.listRelatives(topObject, c=1)[0]
            upObject = cmds.textField(self._uiInstUpObject._field, q=1, tx=1)
            aimIndex = cmds.optionMenuGrp(
                self._uiInstAimAxis._menu, q=1, select=1) - 1
            upIndex = cmds.optionMenuGrp(
                self._uiInstUpAxis._menu, q=1, select=1) - 1
            worldUpIndex = cmds.optionMenuGrp(
                self._uiInstWorldUpAxis._menu, q=1, select=1) - 1
            upTypeIndex = cmds.optionMenuGrp(
                self._uiInstUpType._menu, q=1, select=1) - 1

            indexOver = False
            if upIndex >= 2:
                indexOver = True
                upIndex %= 2
            if aimIndex % 3 <= upIndex:
                upIndex += 1
            if indexOver:
                upIndex += 3
            upType = ['object', 'objectRotation'][upTypeIndex]
            SetJointOrient(topObject, endObject, upObject, aimIndex, upIndex,
                           upType, worldUpIndex)
Example #15
0
def attachToSurfaceFromUI(close=True):
    """
    Execute attachToSurface() from UI
    @param close:
    """
    # Window
    window = 'attachToSurfaceUI'
    if not cmds.window(window, q=True, ex=1): raise UIError('AttachToSurface UI does not exist!!')
    # Get UI data
    surf = cmds.textFieldGrp('attachToSurfaceTFB', q=True, text=True)
    # Check surface
    if not glTools.utils.surface.isSurface(surf):
        raise UserInputError('Object "' + surf + '" is not a valid nurbs surface!!')
    trans = cmds.textFieldGrp('attachToSurfaceTransformTFB', q=True, text=True)
    pre = cmds.textFieldGrp('attachToSurfacePrefixTFG', q=True, text=True)
    uParam = cmds.floatFieldGrp('attachToSurfaceParamTFB', q=True, v1=True)
    vParam = cmds.floatFieldGrp('attachToSurfaceParamTFB', q=True, v2=True)
    closePnt = cmds.checkBoxGrp('attachToSurfaceClosePntCBG', q=True, v1=True)
    uAttr = cmds.textFieldGrp('attachToSurfaceUAttrTFG', q=True, text=True)
    vAttr = cmds.textFieldGrp('attachToSurfaceVAttrTFG', q=True, text=True)
    # Orient
    orient = cmds.checkBoxGrp('attachToSurfaceOrientCBG', q=True, v1=True)
    # Orient Options
    tanU = str.lower(str(cmds.optionMenuGrp('attachToSurfaceUAxisOMG', q=True, v=True)))
    tanV = str.lower(str(cmds.optionMenuGrp('attachToSurfaceVAxisOMG', q=True, v=True)))
    align = str.lower(str(cmds.optionMenuGrp('attachToSurfaceAlignToOMG', q=True, v=True)))

    # Execute command
    result = glTools.utils.attach.attachToSurface(surface=surf, transform=trans, uValue=uParam, vValue=vParam,
                                                  useClosestPoint=closePnt, orient=orient, uAxis=tanU, vAxis=tanV,
                                                  uAttr=uAttr, vAttr=vAttr, alignTo=align, prefix=pre)

    # Cleanup
    if close: cmds.deleteUI(window)
Example #16
0
def pupMaya2mental(mentalVersion):
        destPath = os.getenv('DEST_PATH_WIN')
        rootPath, shadersPath = {	
                3.8:('c:/Program Files/Autodesk/mrstand3.8.1-adsk2011/bin', destPath + '/mental3.8.1'),
                3.11:('c:/Program Files/Autodesk/mrstand3.11.1-adsk2014/bin', destPath + '/mental3.11.1')
                }[mentalVersion]

        os.putenv('RAY_COMMAND', '"' + rootPath + '/ray.exe"')

        os.putenv('MR_VERSION', str( mentalVersion ) )

        miModulesPaths, binModulesPaths = modulesPath.getMiBinString()
        #os.putenv('MI_RAY_INCPATH', shadersPath + '/mi;' +  miModulesPaths)
        #os.putenv('MI_LIBRARY_PATH', shadersPath + '/bin;' +  binModulesPaths)
        #os.putenv('MI_ROOT', rootPath)
        mel.eval('pup_maya_2_mental(3);')

        mc.checkBoxGrp('pup_m2mrOverrideEnv', e=True, v1=1)
        mc.textFieldGrp('pup_m2mrMiRoot', e=True, tx= rootPath )
        mc.textFieldGrp('pup_m2mrMiInclude', e=True, tx= shadersPath + '/mi;' +  miModulesPaths )
        mc.textFieldGrp('pup_m2mrMiLib', e=True, tx= shadersPath + '/bin;' +  binModulesPaths )
        mc.textFieldGrp('pup_m2mrMiDir', e=True, tx= "C:/Temp/" )
        mc.optionMenuGrp('pup_m2mrVerboseM', e=True, sl=5)
        #mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-finalgather_passes 0 -memory 1000000' )
        mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-memory 1000000' )
        mc.checkBoxGrp('pup_m2mrUniqueMI', e=True, v1=1)
        mc.optionMenuGrp('pup_m2mrPriority', e=True, sl=3)
Example #17
0
def applySplinify(jointChainOptions, startJointText, endJointText,
                  boneIntSlider, splineTypeOptions, controlIntSlider,
                  startColorSlider, endColorSlider, volumePrsvCheckbox, *args):

    jointChainOption = cmds.optionMenuGrp(jointChainOptions, q=1, value=1)
    startJoint = cmds.textFieldGrp(startJointText, q=1, text=1)
    endJoint = cmds.textFieldGrp(endJointText, q=1, text=1)
    boneCount = cmds.intSliderGrp(boneIntSlider, q=1, value=1)

    splineTypeOption = cmds.optionMenuGrp(splineTypeOptions, q=1, value=1)
    controlCount = cmds.intSliderGrp(controlIntSlider, q=1, value=1)
    startColor = cmds.colorSliderGrp(startColorSlider, q=1, rgbValue=1)
    endColor = cmds.colorSliderGrp(endColorSlider, q=1, rgbValue=1)
    preserveVolume = cmds.checkBoxGrp(volumePrsvCheckbox, q=1, value1=1)

    if startJoint == '' or endJoint == '':
        cmds.confirmDialog(title='Error',
                           message="Please fill in all text fields.")
        return

    if startJoint == endJoint:
        cmds.confirmDialog(title='Error',
                           message="Start and end joints are identical.")
        return

    wy_splinify.splinify(jointChainOption, startJoint, endJoint, boneCount,
                         splineTypeOption, controlCount, startColor, endColor,
                         preserveVolume)
Example #18
0
def setTwinMatchAttrsFromUI():
	'''
	UI method for Pose Match setup tools
	Setup pose twin attributes from UI
	'''
	# Get selection
	sel = mc.ls(sl=True,type=['transform','joint'])
	if not sel: return
	
	# Window
	win = 'matchRulesUI'
	if not mc.window(win,q=True,ex=True): raise UserInputError('Pose Match UI does not exist!!')
	
	# Pivot
	pivotObj = str(mc.textFieldButtonGrp('matchRulesPivotTFB',q=True,text=True))
	
	# Axis
	axis = str(mc.optionMenuGrp('matchRulesAxisOMG',q=True,v=True)).lower()
	
	# Mode
	mode = mc.optionMenuGrp('matchRulesModeOMG',q=True,sl=True) - 1
	
	# Search/Replace
	search = str(mc.textFieldGrp('matchRulesSearchTFG',q=True,text=True))
	replace = str(mc.textFieldGrp('matchRulesReplaceTFG',q=True,text=True))
	
	# Set match rules attributes
	glTools.common.match.Match().setTwinMatchAttrs(sel,pivotObj,axis,mode,search,replace)
Example #19
0
def makeDropDown( scrollListName ):
    """Creates file type selector"""
    cmds.optionMenuGrp(scrollListName+'TypeSelect', label='File Type  ' )#, changeCommand= lambda *args:changeFileType(), bgc=[1.0,1.0,0.0]
    cmds.menuItem(label='FBX')
    cmds.menuItem(label='OBJexport')
    cmds.menuItem(label='mayaAscii')
    cmds.menuItem(label='mayaBinary')
Example #20
0
def createCNCWindow(preFileDir): 
    """该函数实现创建布料窗体的创建

    Description:
        无
        
    Arguments:
        presetName:某个正确的布料预设路径

    Returns:
        无
    """
    createNClothWin = cmds.window(title = "Create NCloth", iconName = "CN", widthHeight = (420, 80))
    cNFormLayout = cmds.formLayout()
    nucleusButton  = mel.eval('nucleusSolverButton("")')
    cmds.optionMenuGrp(nucleusButton, edit = True, cw = [1,50])
    cButtonRowLayout = cmds.rowLayout(numberOfColumns = 2, columnAttach = [(1, "right", 0),(2, "right", 0)], columnWidth=[(1, 280), (2, 80)])
    createNButton = cmds.button(label = "Create", width = 75, command = (lambda x:createNClothP(preFileDir, createNClothWin)))
    closeNButton = cmds.button(label = "Close", width = 75, command = ('cmds.deleteUI(\"' + createNClothWin + '\", window=True)'))
    cmds.setParent("..")
    cmds.formLayout(cNFormLayout, edit=True, 
                    attachForm=[(nucleusButton, "top", 12), (nucleusButton, "left", 8), (nucleusButton, "right", 8),
                                (cButtonRowLayout, "bottom", 12),(cButtonRowLayout, "left", 24), (cButtonRowLayout, "right", 24)], 
                    attachControl=[(cButtonRowLayout, "top", 12, nucleusButton)])
    cmds.setParent("..")
    cmds.showWindow(createNClothWin)
Example #21
0
    def _setDropDown(self, nodeName):
        """
        Set the values of the shader drop down
        """
        nodeName = nodeName.split('.')[0]

        if cmds.columnLayout("foobar", query=True, exists=True):
            cmds.deleteUI("foobar")
        cmds.columnLayout("foobar")

        attrs = cmds.listAttr("%s.shaders" % nodeName, multi=True)
        shaderFrom = cmds.getAttr("%s.shaderFrom" % nodeName)
        shaderMenu = cmds.optionMenuGrp(label='Shader: ')

        if attrs:
            cmds.menuItem(label="None")

            for attr in attrs:
                index = attr.split('[')[1].replace(']', '')
                at = cmds.getAttr("%s.%s" % (nodeName, attr))
                cmds.menuItem(label=at)

        cmds.optionMenuGrp(shaderMenu,
                           edit=True,
                           changeCommand=functools.partial(
                               self._setDropDownAttr,
                               node=nodeName,
                               menu=shaderMenu))

        if attrs and shaderFrom != "":
            cmds.optionMenuGrp(shaderMenu, edit=True, value=shaderFrom)
Example #22
0
def autoUI(*args):
	global procressControl

	# Head UI
	ui = cmds.columnLayout(adj=True, enable=False)

	# Body UI
	cmds.frameLayout(l='Joint Labels', mh=mar, mw=mar, bgs=True, cl=True)
	a1 = cmds.button(l='Toggle Visibility', c=utils.toggleJointLabel)
	a2 = cmds.button(l='Show', c=lambda *x: mel.eval('displayJointLabels 4;'))
	a3 = cmds.button(l='Hide', c=lambda *x: mel.eval('displayJointLabels 3;'))
	autoRow([a1, a2, a3])

	# Add Label UI
	divider('Add Label')
	cmds.rowLayout(nc=2, adj=1, cat=[1, 'right', -4], rat=[1, 'both', 0])
	om1 = cmds.optionMenuGrp(adj=1, rat=[1, 'both', -2], cat=[1, 'right', 0],
	                         cc=lambda *x: utils.jointLabel().addTypeFromUI(cmds.optionMenuGrp(om1, q=True, sl=True)))
	for l in utils.jointLabel().masterList:
		cmds.menuItem(l=l, dtg=l)
	cmds.button(l='+', w=20, c=lambda *x: utils.jointLabel().addTypeFromUI(cmds.optionMenuGrp(om1, q=True, sl=True)))
	cmds.setParent('..')

	#cmds.button(l='Create Rig', c=parts.autoRig)

	cmds.setParent('..')

	# End UI
	cmds.setParent('..')

	return ui
Example #23
0
    def refresh(self):
        # PrimPath
        cmds.textFieldGrp(self.primPath,
                          edit=True,
                          text=str(self.prim.GetPath()))

        # Kind
        model = Usd.ModelAPI(self.prim)
        primKind = model.GetKind()
        if not primKind:
            # Special case to handle the empty string (for meta data value empty).
            cmds.optionMenuGrp(self.kind, edit=True, select=1)
        else:
            cmds.optionMenuGrp(self.kind, edit=True, value=primKind)

        # Active
        cmds.checkBoxGrp(self.active, edit=True, value1=self.prim.IsActive())

        # Instanceable
        cmds.checkBoxGrp(self.instan,
                         edit=True,
                         value1=self.prim.IsInstanceable())

        # All other metadata types
        for k in self.extraMetadata:
            v = self.prim.GetMetadata(
                k) if k != 'customData' else self.prim.GetCustomData()
            cmds.textFieldGrp(self.extraMetadata[k], edit=True, text=str(v))
Example #24
0
def updateBasicData():
    """
    """
    # Check SkinClusterData
    skinData = glTools.gl_global.glSkinClusterData
    if not skinData:
        print('No SkinClusterData to load...')
        return

    # Get Basic Data from UI
    skinMethod = cmds.optionMenuGrp('skinCluster_methodOMG', q=True, sl=True)
    useComponents = cmds.checkBoxGrp('skinCluster_componentCBG',
                                     q=True,
                                     v1=True)
    normalizeWt = cmds.optionMenuGrp('skinCluster_normalizeOMG',
                                     q=True,
                                     sl=True)
    deformNormal = cmds.checkBoxGrp('skinCluster_deformNorcmdsBG',
                                    q=True,
                                    v1=True)

    # Update Basic SkinCluster Data
    skinData._data['attrValueDict']['skinningMethod'] = skinMethod - 1
    skinData._data['attrValueDict']['useComponents'] = useComponents
    skinData._data['attrValueDict']['normalizeWeights'] = normalizeWt - 1
    skinData._data['attrValueDict']['deformUserNormals'] = deformNormal
Example #25
0
 def cmdCreateRivet(self, *args ):
     
     meshName = cmds.textFieldGrp( self.tf_meshName, q=1, tx=1 )
     centerIndicesStr = cmds.textFieldGrp( self.tf_centerIndices, q=1, tx=1 )
     aimIndicesStr = cmds.textFieldGrp( self.tf_aimIndices, q=1, tx=1 )
     upIndicesStr = cmds.textFieldGrp( self.tf_upIndices, q=1, tx=1 )
     aimPivIndicesStr = cmds.textFieldGrp( self.tf_aimPivIndices, q=1, tx=1 )
     upPivIndicesStr = cmds.textFieldGrp( self.tf_upPivIndices, q=1, tx=1 )
     
     centerIndices = []
     aimPivIndices = []
     aimIndices    = []
     upPivIndices  = []
     upIndices     = []
     
     for indexStr in centerIndicesStr.split( ',' ):
         centerIndices.append( int( indexStr ) )
     for indexStr in aimIndicesStr.split( ',' ):
         aimIndices.append( int( indexStr ) )
     for indexStr in upIndicesStr.split( ',' ):
         upIndices.append( int( indexStr ) )
     
     if aimPivIndicesStr:
         for indexStr in aimPivIndicesStr.split( ',' ):
             aimPivIndices.append( int( indexStr ) )
     if upPivIndicesStr:
         for indexStr in upPivIndicesStr.split( ',' ):
             upPivIndices.append( int( indexStr ) )
     
     aimIndex = cmds.optionMenuGrp( self.op_aimAxis, q=1, select=1 )-1
     upIndex  = cmds.optionMenuGrp( self.op_upAxis,  q=1, select=1 )-1
     
     print aimIndex, upIndex
     
     cmdModel.createRivet( meshName, centerIndices, aimPivIndices, aimIndices, upPivIndices, upIndices, aimIndex, upIndex )
Example #26
0
def _test_for_hik_issues(ref_):
    """Fix any human ik issues.

    Some MotionBurner files have been delivered with human ik left driving
    the MotionBurner skeleton. This will check for any human ik driver and
    disable it if it is found.

    Args:
        ref_ (FileRef): reference to update
    """
    _hip_rx = ref_.get_plug('Hip_L.rx')
    if _hip_rx.list_incoming(type='animCurve'):
        print 'NO HIK ISSUES'
        return

    print 'HIK ISSUES DETECTED'

    # Find source option menu
    mel.eval('HIKCharacterControlsTool')
    _hik_src_opt = None
    for _grp in cmds.lsUI(long=True, type='optionMenuGrp'):
        if _grp.endswith('|hikSourceList'):
            _hik_src_opt = _grp.split('|')[-1]
            break
    assert _hik_src_opt
    print 'HIK SOURCE OPTION', _hik_src_opt

    # Apply None
    cmds.optionMenuGrp(_hik_src_opt, edit=True, value=" None")
    mel.eval("hikUpdateCurrentSourceFromUI()")
    mel.eval("hikUpdateContextualUI()")

    # assert _hip_rx.list_incoming(type='animCurve')
    print 'DISABLED HUMAN IK'
Example #27
0
def setOptionMenuList(OMG,itemList,add=False):
	'''
	Set the list of items for the specified optionMenuGrp control
	@param OMG: OptionMenuGrp to set the item list for
	@type OMG: str
	@param itemList: List of items to add to optionMenuGrp
	@type itemList: list
	@param add: Add to existing menu items
	@type add: bool
	'''
	# Check optionMenuGrp
	if not mc.optionMenuGrp(OMG,q=True,ex=True):
		raise UIError('OptionMenu "'+OMG+'" does not exist!')

	# Get existing items
	exItemList = mc.optionMenuGrp(OMG,q=True,ill=True)

	# Add items
	for item in itemList:
		mc.setParent(OMG)
		mc.menuItem(l=item)

	# Remove previous items
	if exItemList:
		for item in exItemList:
			mc.deleteUI(item)
Example #28
0
def snapToSurfaceFromUI(close=False):
	'''
	Execute snapToSurface() from UI
	'''
	# Window
	window = 'snapToSurfaceUI'
	if not mc.window(window,q=True,ex=1): raise UIError('SnapToSurface UI does not exist!!')
	# Get UI data
	surface = mc.textFieldGrp('snapToSurfaceTFB',q=True,text=True)
	# Check surface
	if not glTools.utils.surface.isSurface(surface):
		raise UserInputError('Object "'+surface+'" is not a valid nurbs surface!!')
	# Orient
	orient = mc.checkBoxGrp('snapToSurfaceOrientCBG',q=True,v1=True)
	# Orient Options
	tanU = str.lower(str(mc.optionMenuGrp('snapToSurfaceUAxisOMG',q=True,v=True)))
	tanV = str.lower(str(mc.optionMenuGrp('snapToSurfaceVAxisOMG',q=True,v=True)))
	align = str.lower(str(mc.optionMenuGrp('snapToSurfaceAlignToOMG',q=True,v=True)))
	
	# Get User Selection
	sel = mc.ls(sl=True,fl=True)
	
	# Execute Command
	glTools.utils.surface.snapPtsToSurface(surface,sel)
	# Orient
	if orient:
		for obj in sel:
			try:
				glTools.utils.surface.orientToSurface(surface=surface,obj=obj,useClosestPoint=True,tangentUAxis=tanU,tangentVAxis=tanV,alignTo=align)
			except:
				print('Object "'+obj+'" is not a valid transform!! Unable to orient!')
	
	# Cleanup
	if close: mc.deleteUI(window)
Example #29
0
    def createUI(self):
        self._extensionsMenu = cmds.optionMenuGrp(
            ad2=2,
            label=maya.stringTable['y_inputSpaceRulesUI.kExtensionsMenuLabel'],
            changeCommand=self.onExtensionChange)

        # Fill in the extensions.
        for extension in FilePathRule._extensionsList:
            cmds.menuItem(label=extension)

        # Using the command, the user could select a file extension
        # which does not exist.
        try:
            cmds.optionMenuGrp(self._extensionsMenu,
                               edit=True,
                               value=self.extension)
        except RuntimeError, err:
            cmds.optionMenuGrp(self._extensionsMenu,
                               edit=True,
                               value=FilePathRule._extensionsList[0])
            err = maya.stringTable['y_inputSpaceRulesUI.kInvalidNode']
            msg = cmds.format(err,
                              stringArg=(self.extension,
                                         FilePathRule._extensionsList[0]))
            cmds.warning(msg)
Example #30
0
def attachToMeshFromUI(close=False):
	'''
	Execute attachToMesh() from UI
	'''
	# Window
	window = 'attachToMeshUI'
	if not mc.window(window,q=True,ex=1): raise UIError('SnapToSurface UI does not exist!!')
	# Get UI data
	mesh = mc.textFieldGrp('attachToMeshTFB',q=True,text=True)
	# Check surface
	if not glTools.utils.mesh.isMesh(mesh):
		raise Exception('Object "'+surface+'" is not a valid nurbs surface!!')
	# Transform
	obj = mc.textFieldGrp('attachToMeshTransformTFB',q=True,text=True)
	# Prefix
	pre = mc.textFieldGrp('attachToMeshPrefixTFG',q=True,text=True)
	# Orient
	orient = mc.checkBoxGrp('attachToMeshOrientCBG',q=True,v1=True)
	# Orient Options
	normAx = str.lower(str(mc.optionMenuGrp('attachToMeshNormOMG',q=True,v=True)))
	tanAx = str.lower(str(mc.optionMenuGrp('attachToMeshTanOMG',q=True,v=True)))
	
	# Execute command
	glTools.utils.attach.attachToMesh(mesh=mesh,transform=obj,useClosestPoint=True,orient=orient,normAxis=normAx,tangentAxis=tanAx,prefix=pre)
	
	# Cleanup
	if close: mc.deleteUI(window)
Example #31
0
    def attachWindow(self):

        item = cmds.ls('*Blend*JNT*', typ='joint')
        win = 'AttachWindow'
        if cmds.window(win, ex=True) is True:
            cmds.deleteUI(win)
        cmds.window(win, t=win, w=250, h=350, s=False)

        cmds.columnLayout(adj=True)
        cmds.optionMenuGrp('attachMenu', label='Select ', columnWidth=(1, 50))
        for e in item:
            cmds.menuItem(label=e)

        cmds.setParent('..')

        cmds.columnLayout()

        cmds.button(l='Build It!',
                    w=250,
                    ann='Build The Extra BipedRig',
                    c='eb=extraRig()\neb.build()')

        cmds.setParent('..')
        cmds.showWindow(win)

        return
Example #32
0
	def __init__(self) :

		#check to see if the window exists:
		if cmds.window("Box2DTool", exists = True):
			cmds.deleteUI("Box2DTool")

		#create the window:
		window = cmds.window("Box2DTool", title = 'Box2D Tool', sizeable = False)

		#create the main layout:
		cmds.columnLayout(columnWidth = 300, adjustableColumn = False, columnAttach = ('both', 10))

		#make dockable:
		allowedAreas = ['right', 'left']
		cmds.dockControl( 'Box2D Tool', area='left', content=window, allowedArea=allowedAreas )

		self.dim=cmds.floatFieldGrp('dim', numberOfFields=2, label='Dimension', extraLabel='pixel', value1=5, value2=1  )
		self.dim=cmds.floatFieldGrp('friction', numberOfFields=1, label='Friction',  value1=0.2 )
		self.dim=cmds.floatFieldGrp('restitution', numberOfFields=1, label='restitution',  value1=0.0 )
		self.dim=cmds.floatFieldGrp('density', numberOfFields=1, label='density',  value1=0.0 )
		cmds.separator()
		self.dim=cmds.floatFieldGrp('rotation', numberOfFields=1, label='rotation',  value1=0.0 )
		cmds.separator()
		cmds.optionMenuGrp( "bodyType",l='Body Type' )
		cmds.menuItem(label='b2_staticBody');
		cmds.menuItem(label='b2_kinematicBody');
		cmds.menuItem(label='b2_dynamicBody');


		cmds.button(label = "PlaceBlock", w = 100, h = 25, c = self.placeBlock)
		cmds.separator()
		cmds.button( label='Export', command=self.export )
Example #33
0
def attachToMeshFromUI(close=False):
	'''
	Execute attachToMesh() from UI
	'''
	# Window
	window = 'attachToMeshUI'
	if not mc.window(window,q=True,ex=1): raise UIError('SnapToSurface UI does not exist!!')
	# Get UI data
	mesh = mc.textFieldGrp('attachToMeshTFB',q=True,text=True)
	# Check surface
	if not glTools.utils.mesh.isMesh(mesh):
		raise UserInputError('Object "'+surface+'" is not a valid nurbs surface!!')
	# Transform
	obj = mc.textFieldGrp('attachToMeshTransformTFB',q=True,text=True)
	# Prefix
	pre = mc.textFieldGrp('attachToMeshPrefixTFG',q=True,text=True)
	# Orient
	orient = mc.checkBoxGrp('attachToMeshOrientCBG',q=True,v1=True)
	# Orient Options
	normAx = str.lower(str(mc.optionMenuGrp('attachToMeshNormOMG',q=True,v=True)))
	tanAx = str.lower(str(mc.optionMenuGrp('attachToMeshTanOMG',q=True,v=True)))
	
	# Execute command
	glTools.utils.attach.attachToMesh(mesh=mesh,transform=obj,useClosestPoint=True,orient=orient,normAxis=normAx,tangentAxis=tanAx,prefix=pre)
	
	# Cleanup
	if close: mc.deleteUI(window)
Example #34
0
    def procUI(self, name, parent, collapse=False):
        """Create panel UI controls - processing.
		"""
        mc.frameLayout(width=400,
                       collapsable=True,
                       cl=collapse,
                       borderStyle="etchedIn",
                       label="Processing")
        mc.columnLayout(name)

        mc.separator(height=4, style="none")
        mc.rowLayout(numberOfColumns=1,
                     columnAttach1="left",
                     columnAlign1="both",
                     columnOffset1=142)
        mc.checkBox("asset", label="Group into Asset Container", value=True)
        mc.setParent(name)

        mc.separator(width=396, height=12, style="in")
        mc.checkBoxGrp("vrayAttr",
                       label="Add Vray Attributes: ",
                       labelArray2=['Gamma', 'Negative Colours'],
                       valueArray2=[False, False],
                       numberOfCheckBoxes=2,
                       columnWidth3=[140, 78, 156])

        mc.separator(height=4, style="none")
        mc.optionMenuGrp("txType", label="Combined Texture: ")
        for item in self.txTypeItemList:
            mc.menuItem(label=item)

        mc.separator(height=8, style="none")
        mc.setParent(parent)
Example #35
0
	def commonOptUI(self, name, parent, collapse=False):
		""" Create common options panel UI controls.
		"""
		mc.frameLayout("commonOptRollout", width=400, collapsable=True, cl=collapse, borderStyle="etchedIn", label="Common Options")
		mc.columnLayout(name)
		mc.separator(height=4, style="none")

		mc.optionMenuGrp("cameraPresets", label="Camera Preset: ")
		mc.menuItem(label="Default")
		mc.menuItem(label=os.environ['IC_SHOT'])
		for item in self.cp.getPresets():
			mc.menuItem(label=item)
		mc.separator(width=396, height=12, style="in")

		mc.rowLayout(numberOfColumns=2, columnAttach2=["left", "left"], columnAlign2=["both", "both"], columnOffset2=[142, 8])
		mc.checkBox( "createRig",
		             label="Create Camera Rig",
		             value=mc.optionVar( q='icCreateCameraRig' ),
		             onCommand=lambda *args: mc.optionVar( iv=('icCreateCameraRig', 1) ),
		             offCommand=lambda *args: mc.optionVar( iv=('icCreateCameraRig', 0) )
		           )
		mc.setParent(name)
		mc.rowLayout(numberOfColumns=2, columnAttach2=["left", "left"], columnAlign2=["both", "both"], columnOffset2=[142, 8])
		mc.checkBox( "physicalCam",
		             label="Add V-Ray Physical Camera Attributes",
		             value=mc.optionVar( q='icAddVRayPhysicalCamera' ),
		             enable=mc.pluginInfo( "vrayformaya", query=True, loaded=True ),
		             onCommand=lambda *args: mc.optionVar( iv=('icAddVRayPhysicalCamera', 1) ),
		             offCommand=lambda *args: mc.optionVar( iv=('icAddVRayPhysicalCamera', 0) )
		           )
		mc.setParent(name)

		mc.separator(height=4, style="none")
		mc.setParent(parent)
Example #36
0
def stretchyIkLimbUI():
	'''
	UI for stretchyIkLimb()
	'''
	# Window
	window = 'stretchyIkLimbUI'
	if mc.window(window,q=True,ex=1): mc.deleteUI(window)
	window = mc.window(window,t='Stretchy IK Limb')
	# Layout
	FL = mc.formLayout()
	# UI Elements
	#---
	# IK Handle
	handleTFB = mc.textFieldButtonGrp('stretchyIkLimbTFB',label='IK Handle',text='',buttonLabel='Load Selected')
	# Prefix
	prefixTFG = mc.textFieldGrp('stretchyIkLimbPrefixTFG',label='Prefix', text='')
	# Control
	controlTFB = mc.textFieldButtonGrp('stretchyIkLimbControlTFB',label='Control Object',text='',buttonLabel='Load Selected')
	# Scale Axis
	axisList = ['X','Y','Z']
	scaleAxisOMG = mc.optionMenuGrp('stretchyIkLimbAxisOMG',label='Joint Scale Axis')
	for axis in axisList: mc.menuItem(label=axis)
	mc.optionMenuGrp(scaleAxisOMG,e=True,sl=1)
	# Scale Attr
	scaleAttrTFB = mc.textFieldButtonGrp('stretchyIkLimbScaleAttrTFB',label='Scale Attribute',text='',buttonLabel='Load Selected')
	
	# Separator
	SEP = mc.separator(height=10,style='single')
	
	# Buttons
	createB = mc.button('stretchyIkLimbCreateB',l='Create',c='glTools.ui.ik.stretchyIkLimbFromUI(False)')
	cancelB = mc.button('stretchyIkLimbCancelB',l='Cancel',c='mc.deleteUI("'+window+'")')
	
	# UI callback commands
	mc.textFieldButtonGrp(handleTFB,e=True,bc='glTools.ui.utils.loadTypeSel("'+handleTFB+'","'+prefixTFG+'",selType="ikHandle")')
	mc.textFieldButtonGrp(controlTFB,e=True,bc='glTools.ui.utils.loadObjectSel("'+controlTFB+'")')
	mc.textFieldButtonGrp(scaleAttrTFB,e=True,bc='glTools.ui.utils.loadChannelBoxSel("'+scaleAttrTFB+'")')
	
	# Form Layout - MAIN
	mc.formLayout(FL,e=True,af=[(handleTFB,'top',5),(handleTFB,'left',5),(handleTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(prefixTFG,'top',5,handleTFB)])
	mc.formLayout(FL,e=True,af=[(prefixTFG,'left',5),(prefixTFG,'right',5)])
	mc.formLayout(FL,e=True,ac=[(controlTFB,'top',5,prefixTFG)])
	mc.formLayout(FL,e=True,af=[(controlTFB,'left',5),(controlTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(scaleAxisOMG,'top',5,controlTFB)])
	mc.formLayout(FL,e=True,af=[(scaleAxisOMG,'left',5),(scaleAxisOMG,'right',5)])
	mc.formLayout(FL,e=True,ac=[(scaleAttrTFB,'top',5,scaleAxisOMG)])
	mc.formLayout(FL,e=True,af=[(scaleAttrTFB,'left',5),(scaleAttrTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(SEP,'top',5,scaleAttrTFB)])
	mc.formLayout(FL,e=True,af=[(SEP,'left',5),(SEP,'right',5)])
	mc.formLayout(FL,e=True,ac=[(createB,'top',5,SEP)])
	mc.formLayout(FL,e=True,af=[(createB,'left',5),(createB,'bottom',5)])
	mc.formLayout(FL,e=True,ap=[(createB,'right',5,50)])
	mc.formLayout(FL,e=True,ac=[(cancelB,'top',5,SEP)])
	mc.formLayout(FL,e=True,af=[(cancelB,'right',5),(cancelB,'bottom',5)])
	mc.formLayout(FL,e=True,ap=[(cancelB,'left',5,50)])
	
	# Show Window
	mc.showWindow(window)
Example #37
0
def stretchyIkLimbUI():
	'''
	UI for stretchyIkLimb()
	'''
	# Window
	window = 'stretchyIkLimbUI'
	if mc.window(window,q=True,ex=1): mc.deleteUI(window)
	window = mc.window(window,t='Stretchy IK Limb')
	# Layout
	FL = mc.formLayout()
	# UI Elements
	#---
	# IK Handle
	handleTFB = mc.textFieldButtonGrp('stretchyIkLimbTFB',label='IK Handle',text='',buttonLabel='Load Selected')
	# Prefix
	prefixTFG = mc.textFieldGrp('stretchyIkLimbPrefixTFG',label='Prefix', text='')
	# Control
	controlTFB = mc.textFieldButtonGrp('stretchyIkLimbControlTFB',label='Control Object',text='',buttonLabel='Load Selected')
	# Scale Axis
	axisList = ['X','Y','Z']
	scaleAxisOMG = mc.optionMenuGrp('stretchyIkLimbAxisOMG',label='Joint Scale Axis')
	for axis in axisList: mc.menuItem(label=axis)
	mc.optionMenuGrp(scaleAxisOMG,e=True,sl=1)
	# Scale Attr
	scaleAttrTFB = mc.textFieldButtonGrp('stretchyIkLimbScaleAttrTFB',label='Scale Attribute',text='',buttonLabel='Load Selected')
	
	# Separator
	SEP = mc.separator(height=10,style='single')
	
	# Buttons
	createB = mc.button('stretchyIkLimbCreateB',l='Create',c='glTools.ui.ik.stretchyIkLimbFromUI(False)')
	cancelB = mc.button('stretchyIkLimbCancelB',l='Cancel',c='mc.deleteUI("'+window+'")')
	
	# UI callback commands
	mc.textFieldButtonGrp(handleTFB,e=True,bc='glTools.ui.utils.loadTypeSel("'+handleTFB+'","'+prefixTFG+'",selType="ikHandle")')
	mc.textFieldButtonGrp(controlTFB,e=True,bc='glTools.ui.utils.loadObjectSel("'+controlTFB+'")')
	mc.textFieldButtonGrp(scaleAttrTFB,e=True,bc='glTools.ui.utils.loadChannelBoxSel("'+scaleAttrTFB+'")')
	
	# Form Layout - MAIN
	mc.formLayout(FL,e=True,af=[(handleTFB,'top',5),(handleTFB,'left',5),(handleTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(prefixTFG,'top',5,handleTFB)])
	mc.formLayout(FL,e=True,af=[(prefixTFG,'left',5),(prefixTFG,'right',5)])
	mc.formLayout(FL,e=True,ac=[(controlTFB,'top',5,prefixTFG)])
	mc.formLayout(FL,e=True,af=[(controlTFB,'left',5),(controlTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(scaleAxisOMG,'top',5,controlTFB)])
	mc.formLayout(FL,e=True,af=[(scaleAxisOMG,'left',5),(scaleAxisOMG,'right',5)])
	mc.formLayout(FL,e=True,ac=[(scaleAttrTFB,'top',5,scaleAxisOMG)])
	mc.formLayout(FL,e=True,af=[(scaleAttrTFB,'left',5),(scaleAttrTFB,'right',5)])
	mc.formLayout(FL,e=True,ac=[(SEP,'top',5,scaleAttrTFB)])
	mc.formLayout(FL,e=True,af=[(SEP,'left',5),(SEP,'right',5)])
	mc.formLayout(FL,e=True,ac=[(createB,'top',5,SEP)])
	mc.formLayout(FL,e=True,af=[(createB,'left',5),(createB,'bottom',5)])
	mc.formLayout(FL,e=True,ap=[(createB,'right',5,50)])
	mc.formLayout(FL,e=True,ac=[(cancelB,'top',5,SEP)])
	mc.formLayout(FL,e=True,af=[(cancelB,'right',5),(cancelB,'bottom',5)])
	mc.formLayout(FL,e=True,ap=[(cancelB,'left',5,50)])
	
	# Show Window
	mc.showWindow(window)
Example #38
0
    def layoutForLayer(self, layer):
        """
		Build the UI for the specified layer. We need to access the
		UI data later in callbacks. So we store the data inside
		a dictionary for reference layer. 
		"""
        ui = {}
        #frlt = cmds.frameLayout( collapsable=True, borderStyle="out", label="Layer %d" % layer )
        locLayer = maya.stringTable['y_cameraSetTool.kLayerNumberString']
        frlt = cmds.frameLayout(collapsable=True,
                                label=locLayer + " %d" % layer)
        ui['frame'] = frlt
        self._layerFrameUI.append(ui)

        cmds.columnLayout(adjustableColumn=True)
        ui['layerPrefix'] = cmds.textFieldGrp(
            label=maya.stringTable['y_cameraSetTool.kLabelPrefix'],
            text=self._template.layerPrefixForLayer(layer))
        ui['menuGrp'] = cmds.optionMenuGrp(
            label=maya.stringTable['y_cameraSetTool.kRigType'])
        opValue = rigTypeLayer = self._template.rigTypeForLayer(layer)
        rigs = cmds.stereoRigManager(listRigs=True)
        for r in rigs:
            cmds.menuItem(label=r)
        if not opValue in rigs:
            cmds.menuItem(label=opValue)

        cmds.optionMenuGrp(ui['menuGrp'], edit=True, value=opValue)

        # For some reason, the only way I can get the check box to line
        # up is if I embed it in a form layout.
        #
        form = cmds.formLayout()
        ui['ckbox'] = cmds.checkBox(
            label=maya.stringTable['y_cameraSetTool.kAutoCreate'])
        ui['icon'] = cmds.iconTextButton(
            style="iconOnly",
            image="removeRenderable.png",
            annotation=maya.stringTable['y_cameraSetTool.kDelete'],
            width=20,
            height=20)
        cmds.checkBox(ui['ckbox'],
                      edit=True,
                      value=self._template.autoCreateSet(layer))
        cmds.formLayout(form,
                        edit=True,
                        attachForm=[(ui['ckbox'], "left", 125),
                                    (ui['ckbox'], "top", 0),
                                    (ui['ckbox'], "bottom", 0),
                                    (ui['icon'], "top", 0),
                                    (ui['icon'], "bottom", 0),
                                    (ui['icon'], "right", 5)],
                        attachNone=[(ui['ckbox'], "right"),
                                    (ui['icon'], "left")])
        self._setCallbacks(layer)
        cmds.setParent('..')
        cmds.setParent('..')
        cmds.setParent('..')
    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)
Example #40
0
	def assetUi(self, prntLo):
		'''
		Build ui for switching texture for asset.
		'''

		self.assetWdgNameDic['assetOptMenuGrp'] = cmds.optionMenuGrp(p = prntLo, label = self.assetNamespace)
		cmds.optionMenuGrp(self.assetWdgNameDic['assetOptMenuGrp'], e = True, cc = partial(self.texResOptCC, self.assetWdgNameDic['assetOptMenuGrp']), columnWidth = [(1, 120)], columnAttach = [(1, 'left', 5), (2, 'left', 5)])
		cmds.menuItem(label = 'high')
		cmds.menuItem(label = 'low')
Example #41
0
 def toggleComponentControls(self, componentType, option):
     mc.optionMenuGrp("%sItems" % componentType, edit=True, enable=option)
     if option == True:
         self.toggleComponentSubControls(componentType)
     else:
         mc.textField("%sInstObj" % componentType, edit=True, enable=False)
         mc.symbolButton("%sLoadSel" % componentType,
                         edit=True,
                         enable=False)
Example #42
0
 def importLocatorPoint(self):
     ployName = rig.textField(self.ploygonTF, q=True, tx=True)
     col = rig.intField(self.columnIF, q=True, v=True)
     row = rig.intField(self.rowIF, q=True, v=True)
     conPre = rig.textField(self.inputName, q=True, tx=True)
     size = rig.floatSliderGrp(self.inputSizeFSG, q=True, v=True)
     shape = rig.optionMenuGrp(self.inputShapeOM, q=True, sl=True)
     color = rig.optionMenuGrp(self.inputColorOM, q=True, sl=True)
     SM_importControllerTem(ployName, col, row, conPre, size, shape, color)
Example #43
0
File: UI.py Project: LuoOu/fc_Pro
 def __switchMaterial():
     global convertFrom
     global convertTo
     temp = ''
     temp = convertTo
     convertTo = convertFrom
     convertFrom = temp
     convertFromOptionMenu
     mc.optionMenuGrp('convertFromOptionMenu', e=1, v=convertFrom)
     mc.optionMenuGrp('convertToOptionMenu', e=1, v=convertTo)
Example #44
0
def setCurrentCharacter(char):
    if not isCharacterDefinition(char):
        raise Exception('%s is not a valid HIKCharacterNode!' % char)

    cmds.optionMenuGrp("hikCharacterList", e=True, v=char)
    mel.eval('hikUpdateCurrentCharacterFromUI()')
    mel.eval('hikUpdateContextualUI()')

    current_char = getCurrentCharacter()
    return current_char
def resetOrientJointVariables(*args):
    #Fixup options
    cmds.optionVar(iv=("orientJointHeirarchyOV", 1))
    cmds.checkBox("heirarchyCB", e=True, v=1)

    cmds.optionVar(iv=("OV_upVectorType", 3))
    cmds.optionMenuGrp("OMG_upVectorType", e=True, sl=3)

    cmds.optionVar(iv=("OV_aimVectorType", 1))
    cmds.optionMenuGrp("OMG_aimVectorType", e=True, sl=1)
Example #46
0
def exportPointDataUI():
    """
    Main UI for the exportPointData module
    """
    # Get current frame range
    startFrame = cmds.playbackOptions(q=True, min=True)
    endFrame = cmds.playbackOptions(q=True, max=True)

    # Window
    window = 'exportPointDataUI'
    if cmds.window(window, q=True, ex=True): cmds.deleteUI(window)
    window = cmds.window(window, t='Export Point Data', s=False)

    # Layout
    CL = cmds.columnLayout(adj=True)

    # UI Elements
    pathTBG = cmds.textFieldButtonGrp('exportPoint_pathTBG', label='Path', buttonLabel='...')
    camTBG = cmds.textFieldButtonGrp('exportPoint_camTBG', label='Camera (2D only)', buttonLabel='Select')
    rangeIFG = cmds.intFieldGrp('exportPoint_rangeIFG', nf=2, label='Frame Range', v1=startFrame, v2=endFrame)
    resIFG = cmds.intFieldGrp('exportPoint_resIFG', nf=2, label='Resolution', v1=2348, v2=1152)
    refIFG = cmds.intFieldGrp('exportPoint_refIFG', nf=1, label='Offset Base Frame', v1=startFrame)
    resOMG = cmds.optionMenuGrp('exportPoint_resOMG', label='Resolution Preset')
    export2DB = cmds.button('exportPoint_export2DB', label='Export 2D Point Data',
                          c='glTools.ui.exportPointData.export2DFromUI()')
    export2DOffsetB = cmds.button('exportPoint_export2DOffsetB', label='Export 2D Offset Data',
                                c='glTools.ui.exportPointData.export2DOffsetFromUI()')
    export3DB = cmds.button('exportPoint_export3DB', label='Export 3D Point Data',
                          c='glTools.ui.exportPointData.export3DFromUI()')
    export3DRotB = cmds.button('exportPoint_export3DRotB', label='Export 3D Rotate Data',
                             c='glTools.ui.exportPointData.export3DRotationFromUI()')
    closeB = cmds.button('exportPoint_closeB', label='Close', c='cmds.deleteUI("' + window + '")')

    # Resolution presets
    cmds.setParent(resOMG)
    cmds.menuItem(label='WIDE(full)')
    cmds.menuItem(label='WIDE(half)')
    cmds.menuItem(label='WIDE(quarter)')

    # UI Callbacks
    cmds.textFieldButtonGrp(pathTBG, e=True, bc='glTools.ui.utils.exportFolderBrowser("' + pathTBG + '")')
    cmds.textFieldButtonGrp(camTBG, e=True, bc='glTools.ui.utils.loadTypeSel("' + camTBG + '",selType="transform")')
    cmds.optionMenuGrp(resOMG, e=True, cc='glTools.tools.exportPointData.setResolution()')

    # Popup menu
    cmds.popupMenu(parent=camTBG)
    for cam in cmds.ls(type='camera'):
        if cmds.camera(cam, q=True, orthographic=True): continue
        camXform = cmds.listRelatives(cam, p=True, pa=True)[0]
        cmds.menuItem(l=camXform, c='cmds.textFieldButtonGrp("exportPoint_camTBG",e=True,text="' + camXform + '")')

    # Show Window
    cmds.window(window, e=True, w=435, h=275)
    cmds.showWindow(window)
Example #47
0
def getAttachDir(projectOptionMenu, cameraOptionMenu):
    """得到服务器上传路径"""
    projectName = cmds.optionMenuGrp(projectOptionMenu, query = True, value = True)
    cameraName = cmds.optionMenuGrp(cameraOptionMenu, query = True, value = True)
    if projectName == "None" or projectName == "Can't Find " + serverLetter or cameraName == "None":
        return ""
    else:
        tFolder = serverLetter + projectName + "/Data/" + cameraName + "/solCache/"  #服务器项目文件路径
        if os.path.exists(tFolder):
            return tFolder
        else:
            return ""
Example #48
0
File: miUV.py Project: minoue/miUV
    def takeUvSnapshot(self, *args):
        fileName = cmds.textField(self.uvImagePath, q=True, text=True)
        resolution = cmds.optionMenuGrp(
            self.uvImageResolution,
            q=True,
            value=True)
        imageFormat = cmds.optionMenuGrp(
            self.uvImageFormat,
            q=True, value=True)
        tileNumber = cmds.optionMenuGrp(
            self.uvImageTileNumber,
            q=True,
            value=True)
        if (tileNumber[3] == "0" or tileNumber[3] == 0):
            uMin = 9.0
            vMin = float(int(tileNumber[2]) - 1)
        else:
            uMin = float(int(tileNumber[3]) - 1)
            vMin = float(tileNumber[2])
        uMax = float(uMin + 1.0)
        vMax = float(vMin + 1.0)

        if resolution == "8k":
            xRes = 8192
            yRes = 8192
        elif resolution == "4k":
            xRes = 4096
            yRes = 4096
        elif resolution == "2k":
            xRes = 2048
            yRes = 2048
        elif resolution == "1k":
            xRes = 1024
            yRes = 1024
        elif resolution == "512":
            xRes = 512
            yRes = 512

        cmds.uvSnapshot(
            name=fileName,
            aa=True,
            fileFormat=imageFormat,
            xResolution=xRes,
            yResolution=yRes,
            overwrite=True,
            redColor=255,
            greenColor=255,
            blueColor=255,
            uMax=uMax,
            uMin=uMin,
            vMax=vMax,
            vMin=vMin)
 def updateUICondition( *args ):
     
     autoAxis = cmds.checkBox( WinA_Global.chk_autoAxis, q=1, v=1 )
     if autoAxis:
         cmds.optionMenuGrp( WinA_Global.omg_aimAxis, e=1, en=0 )
     else:
         cmds.optionMenuGrp( WinA_Global.omg_aimAxis, e=1, en=1 )
     
     createUp = cmds.checkBox( WinA_Global.chk_createUp, q=1, v=1 )
     if createUp:
         cmds.checkBox( WinA_Global.chk_editUp, e=1, en=1 )
     else:
         cmds.checkBox( WinA_Global.chk_editUp, e=1, en=0 )
Example #50
0
 def create(self):
     
     if cmds.window( self.winName, ex=1 ):
         cmds.deleteUI( self.winName, wnd=1 )
     cmds.window( self.winName, title= self.title )
     
     cmds.columnLayout()
     columnWidth = self.width -2
     firstWidth = ( columnWidth - 2 ) * 0.4
     secondWidth = ( columnWidth -2 ) - firstWidth
     cmds.rowColumnLayout( nc=1, cw=[(1,self.width-2)])
     tf_meshName = cmds.textFieldGrp( l='Target Mesh : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_meshPopup()
     tf_centerIndices = cmds.textFieldGrp( l='Center Indices : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_indicesPopup( tf_meshName )
     tf_aimIndices = cmds.textFieldGrp( l='Aim Indices : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_indicesPopup( tf_meshName )
     tf_upIndices = cmds.textFieldGrp( l='Up Indices : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_indicesPopup( tf_meshName )
     cmds.separator()
     tf_aimPivIndices = cmds.textFieldGrp( l='Aim Piv Indices : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_indicesPopup( tf_meshName )
     tf_upPivIndices = cmds.textFieldGrp( l='Up Piv Indices : ', cw=[(1,firstWidth),(2,secondWidth)] ); UI_indicesPopup( tf_meshName )
     cmds.setParent( '..' )
     
     firstWidth = ( columnWidth - 2 ) * 0.5
     secondWidth = ( columnWidth -2 ) - firstWidth
     textWidth = firstWidth*0.6
     menuWidth = firstWidth - textWidth
     cmds.rowColumnLayout( nc=2, cw=[(1,firstWidth),(2,secondWidth)])
     optionAimAxis = cmds.optionMenuGrp( l= 'Aim Axis : ' , cw=[(1,textWidth),(2,menuWidth)])
     cmds.menuItem( l='X' );cmds.menuItem( l='Y' );cmds.menuItem( l='Z' );
     cmds.menuItem( l='-X' );cmds.menuItem( l='-Y' );cmds.menuItem( l='-Z' );
     optionUpAxis = cmds.optionMenuGrp( l= 'Up Axis : ' , cw=[(1,textWidth),(2,menuWidth)])
     cmds.menuItem( l='X' );cmds.menuItem( l='Y' );cmds.menuItem( l='Z' );
     cmds.menuItem( l='-X' );cmds.menuItem( l='-Y' );cmds.menuItem( l='-Z' );
     cmds.optionMenuGrp( optionUpAxis, e=1, select=2 )
     cmds.setParent( '..' )
     
     cmds.rowColumnLayout( nc=2, cw=[(1,firstWidth),(2,secondWidth)])
     cmds.button( l='Create', h=25, c=self.cmdCreateRivet )
     cmds.button( l='Cancel', h=25, c=self.cmdCancel )
     
     cmds.window( self.winName, e=1,
                  w = self.width, h = self.height )
     cmds.showWindow( self.winName )
     
     self.tf_meshName      = tf_meshName
     self.tf_centerIndices = tf_centerIndices
     self.tf_aimIndices    = tf_aimIndices
     self.tf_upIndices     = tf_upIndices
     self.tf_aimPivIndices    = tf_aimPivIndices
     self.tf_upPivIndices     = tf_upPivIndices
     
     self.op_aimAxis = optionAimAxis
     self.op_upAxis  = optionUpAxis
def variantSets_changeCommmand(unused, omg, node, variantSetName):
    val = cmds.optionMenuGrp(omg, q=True, value=True)
    variantAttr = 'usdVariantSet_%s'%variantSetName
    if not cmds.attributeQuery(variantAttr, node=node, exists=True):
        cmds.addAttr(node, ln=variantAttr, dt='string', internalSet=True)
    cmds.setAttr('%s.%s'%(node,variantAttr), val, type='string')

    # Add the resolved variant selection as a UI label
    resolvedVariant = ''
    usdPrim = UsdMaya.GetPrim(node)
    if usdPrim:
        variantSet = usdPrim.GetVariantSet(variantSetName)
        if variantSet:
            resolvedVariant = variantSet.GetVariantSelection()
    cmds.optionMenuGrp(omg, edit=True, extraLabel=resolvedVariant)
Example #52
0
 def resetIShatterGUI(self, *args):
     '''
     
     '''
     self._IScontextTool.resetVoronoiParameters()        
     cmds.button(self._ISaddBtn, edit = True, label = 'Select an Object')
     cmds.button(self._ISdelBtn, edit = True, enable = False)
     cmds.text(self._ISiterationsTxt, edit = True, label = ' Iterations ')
     cmds.button(self._ISprocessBtn, edit = True, enable = False)
     cmds.optionMenuGrp(self._ISmethodGrp, edit = True, select = 1)
     cmds.intField(self._ISiterationsLoopField, edit = True, value = 50, enable = True)
     cmds.intField(self._ISiterationsRingField, edit = True, value = 1, enable = False)
     cmds.floatField(self._ISoffsetField, edit = True, value = 0.00, enable = False)
     cmds.checkBox(self._ISborderEdgesCbx, edit = True, value = False, enable = False)
     cmds.checkBox(self._IShideObjectsCbx, edit = True, value = False, enable = False)      
Example #53
0
def changeAttachProject(attachDirTextField, projectOptionMenu, cameraOptionMenu):
    """通过选择不同的项目文件修改目标路径"""

    cameraNameList = getCameraName(projectOptionMenu)  #拿到cameraOptionMenu的项
    cMenuItemList = getCameraItems(cameraOptionMenu)  #拿到cameraOptionMenu的item

    for each in cMenuItemList:  #删除旧项    
        cmds.deleteUI(each)    

    cmds.optionMenuGrp(cameraOptionMenu, edit = True)
    for cameraName in cameraNameList:  #添加新项
        cmds.menuItem(label = cameraName)
    
    tFolder = getAttachDir(projectOptionMenu, cameraOptionMenu)
    cmds.textField(attachDirTextField, edit = True, text = tFolder, editable = False)
Example #54
0
    def createUI(self):
        cmds.scrollLayout(childResizable=True,)
        cmds.columnLayout(adjustableColumn=True)
        #cmds.setParent("..")
        cmds.rowLayout(numberOfColumns=1, columnAlign1='left')        
        cmds.textFieldButtonGrp('outputFolder', label='Output Folder', cw3=(90,320, 50), text="", buttonLabel='...', buttonCommand=lambda *args: self.browseObjFilename())

        cmds.setParent("..")
        cmds.rowLayout(numberOfColumns=2, columnAlign2=('left', 'right'))
        cmds.intFieldGrp('resolution', label='Resolution', value1=512, ct2=('left', 'left'),  cw2=(90,110), w=230)  
        cmds.intFieldGrp('aa_samples', label='Camera Samples (AA)', cw2=(150,60), value1=3, w=200)
        cmds.setParent("..")

        cmds.rowLayout(numberOfColumns=2, columnAlign2=('left', 'right')) 
        cmds.optionMenuGrp('filter', label='Filter ')
        cmds.menuItem( label='blackman_harris' )
        cmds.menuItem( label='box' )
        cmds.menuItem( label='catrom' )
        cmds.menuItem( label='catrom2d' )
        cmds.menuItem( label='closest' )
        cmds.menuItem( label='cone' )
        cmds.menuItem( label='cook' )
        cmds.menuItem( label='cubic' )
        cmds.menuItem( label='disk' )
        cmds.menuItem( label='farthest' )
        cmds.menuItem( label='gaussian' )
        cmds.menuItem( label='heatmap' )
        cmds.menuItem( label='mitnet' )
        cmds.menuItem( label='sync' )
        cmds.menuItem( label='triangle' )
        cmds.menuItem( label='variance' )
        cmds.menuItem( label='video' )

        cmds.optionMenuGrp('filter', e=True, w=230, ct2=('left', 'left'), cw2=(90,110), v='gaussian')

        cmds.floatFieldGrp('filterWidth', label='Filter Width', w=200, ct2=('left', 'left'), cw2=(150,60), value1=2.0)
        cmds.setParent("..")
        cmds.rowLayout(numberOfColumns=1, columnAlign1='both')        
        cmds.textFieldGrp('shader', label='Shader Override', ct2=('left', 'left'), cw2=(90,110), text="", w=400)
        cmds.setParent("..")

        cmds.rowLayout(numberOfColumns=4, columnAlign4=('left', 'left', 'left', 'right'))     
        cmds.text( '                                             ')
        
        cmds.button(label='Render', al='right', w=85, h=25, command=lambda *args: self.doExport())  
        cmds.text( '              ')
        cmds.button(label='Cancel', al='right', w=85, h=25, command=lambda *args: self.doCancel())              
        cmds.setParent("..")
Example #55
0
 def copyAndLayout(self):
     self.currentMap = cmds.optionMenuGrp(self.uvSetChoice, q=True, v=True)
     cmds.polyCopyUV(self.selFace, cm=True, uvi=self.currentMap, uvs=self.inputLightmap)
     cmds.polyMultiLayoutUV(scale=1, rotateForBestFit=2, layout=2, ps=3.2, uvs=self.inputLightmap)
     cmds.TextureViewWindow()    #opens uv texture editor
     cmds.select(self.sel)        #selects original objects to get out of face selection
     cmds.deleteUI(self.optionWindow)
Example #56
0
 def populateBrowse(self):
     # Make sure the path exists and access is permitted
     if os.path.isdir(self.path) and os.access(self.path, os.R_OK):
         # Clear the textScrollList
         cmds.textScrollList(self.browseForm.scroll, edit=True, ra=True)
         # Append the '..'(move up a director) as the first item
         cmds.textScrollList(self.browseForm.scroll, edit=True, append='..')
         # Populate the directories and non-directories for organization
         dirs = []
         nonDir = []
         # list the files in the path
         files = os.listdir(str(self.path))
         if len(files) > 0:
             # Sort the directory list based on the names in lowercase
             # This will error if 'u' objects are fed into a list
             files.sort(key=str.lower)
             # pick out the directories
             for i in files:
                 if i[0] != '.':
                     if os.path.isdir(os.path.join(self.path, i)):
                         dirs.append(i)
                     else:
                         nonDir.append(i)
             # Add the directories first
             for i in dirs:
                 cmds.textScrollList(self.browseForm.scroll, edit=True, append=self.dirStr + i)
             # Add the files next
             for i in nonDir:
                 # print i
                 # show the files based on the current filter
                 if fnmatch.fnmatch(i, '*' + cmds.optionMenuGrp(self.actionForm.opt, query=True, v=True)):
                     cmds.textScrollList(self.browseForm.scroll, edit=True, append=i)
Example #57
0
 def buildFilter(self):
     self.opt = cmds.optionMenuGrp(self.opt, label='Filter:', cc=self.cmdFilter, cw2=[40, 75], height=20)
     for i, item in enumerate(self.filters):
         itm = (item + '_%02d_menuItem' % i)
         cmds.menuItem(itm, l=item)
     attachForm = [(self.opt, 'bottom', 5), (self.opt, 'left', 0)]
     cmds.formLayout(self.form, edit=True, attachForm=attachForm)
Example #58
0
def makeRelativeUI():
	'''
	User Interface for skinCluster.makeRelative()
	'''
	# Window
	win = 'makeRelativeUI'
	if mc.window(win,q=True,ex=True): mc.deleteUI(win)
	win = mc.window(win,t='SkinCluster - Make Relative')
	# Form Layout
	makeRelativeFL = mc.formLayout(numberOfDivisions=100)
	
	# SkinCluster option menu
	skinClusterOMG = mc.optionMenuGrp('makeRelativeSkinClusterOMG',label='SkinCluster')
	for skin in mc.ls(type='skinCluster'): mc.menuItem(label=skin)
	
	# Relative To TextField
	makeRelativeTFB = mc.textFieldButtonGrp('makeRelativeToTFB',label='RelativeTo',text='',buttonLabel='Load Selected')
	
	# Button
	makeRelativeBTN = mc.button(l='Make Relative',c='glTools.ui.skinCluster.makeRelativeFromUI()')
	
	# UI Callbacks
	mc.textFieldButtonGrp(makeRelativeTFB,e=True,bc='glTools.ui.utils.loadTypeSel("'+makeRelativeTFB+'","transform")')
	
	# Form Layout - MAIN
	mc.formLayout(makeRelativeFL,e=True,af=[(skinClusterOMG,'left',5),(skinClusterOMG,'top',5),(skinClusterOMG,'right',5)])
	mc.formLayout(makeRelativeFL,e=True,af=[(makeRelativeTFB,'left',5),(makeRelativeTFB,'right',5)])
	mc.formLayout(makeRelativeFL,e=True,ac=[(makeRelativeTFB,'top',5,skinClusterOMG)])
	mc.formLayout(makeRelativeFL,e=True,af=[(makeRelativeBTN,'left',5),(makeRelativeBTN,'right',5),(makeRelativeBTN,'bottom',5)])
	mc.formLayout(makeRelativeFL,e=True,ac=[(makeRelativeBTN,'top',5,makeRelativeTFB)])
	
	# Open window
	mc.showWindow(win)