コード例 #1
0
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)
コード例 #2
0
ファイル: utils.py プロジェクト: auqeyjf/glTools
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)
コード例 #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)
コード例 #4
0
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
コード例 #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)
コード例 #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
コード例 #7
0
ファイル: ik.py プロジェクト: RiggingDojoAdmin/glTools
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)
コード例 #8
0
ファイル: mocap.py プロジェクト: mocap-ca/cleanup
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)
コード例 #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)
コード例 #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)
コード例 #11
0
ファイル: gui_OLD.py プロジェクト: sid1980/track2attr
 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()
コード例 #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.')
コード例 #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 )
コード例 #14
0
ファイル: view.py プロジェクト: jonntd/mayadev-1
        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)
コード例 #15
0
ファイル: surface.py プロジェクト: bennymuller/glTools
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)
コード例 #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)
コード例 #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)
コード例 #18
0
ファイル: poseMatch.py プロジェクト: jonntd/glTools
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)
コード例 #19
0
ファイル: exporter_7.py プロジェクト: RawMeat3000/MkTools
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')
コード例 #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)
コード例 #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)
コード例 #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
コード例 #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))
コード例 #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
コード例 #25
0
ファイル: view.py プロジェクト: jonntd/mayadev-1
 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 )
コード例 #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'
コード例 #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)
コード例 #28
0
ファイル: surface.py プロジェクト: RiggingDojoAdmin/glTools
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)
コード例 #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)
コード例 #30
0
ファイル: mesh.py プロジェクト: auqeyjf/glTools
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)
コード例 #31
0
ファイル: extraRig.py プロジェクト: mappp7/tools
    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
コード例 #32
0
ファイル: Box2DTool.py プロジェクト: NCCA/Box2DExport
	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 )
コード例 #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)
コード例 #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)
コード例 #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)
コード例 #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)
コード例 #37
0
ファイル: ik.py プロジェクト: RiggingDojoAdmin/glTools
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)
コード例 #38
0
ファイル: cameraSetTool.py プロジェクト: lovejunjie1/mayaAPI
    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('..')
コード例 #39
0
    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)
コード例 #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')
コード例 #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)
コード例 #42
0
ファイル: simulationUI.py プロジェクト: yazici/fromGod
 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)
コード例 #43
0
ファイル: UI.py プロジェクト: 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)
コード例 #44
0
ファイル: HIKHelper.py プロジェクト: jazzboysc/SERiggingTools
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
コード例 #45
0
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)
コード例 #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)
コード例 #47
0
ファイル: cacheAllMag.py プロジェクト: chloechan/clothAndHair
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 ""
コード例 #48
0
ファイル: miUV.py プロジェクト: 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)
コード例 #49
0
 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 )
コード例 #50
0
ファイル: view.py プロジェクト: jonntd/mayadev-1
 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
コード例 #51
0
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)
コード例 #52
0
ファイル: IShatterGUI.py プロジェクト: jeffhong21/scripts
 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)      
コード例 #53
0
ファイル: cacheAllMag.py プロジェクト: chloechan/clothAndHair
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)
コード例 #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("..")
コード例 #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)
コード例 #56
0
ファイル: characterUI_macro_lib.py プロジェクト: boochos/work
 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)
コード例 #57
0
ファイル: ui_micro_lib.py プロジェクト: boochos/work
 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)
コード例 #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)