예제 #1
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
    row = cmds.rowColumnLayout(nc=3,
                               cw=[[1, 280], [2, 50], [3, 50]],
                               parent=curParent)
    slider = cmds.floatSliderGrp(label=attrLabel,
                                 field=True,
                                 min=minVal,
                                 max=maxVal,
                                 cw=[[1, 60], [2, 60], [3, 100]])

    # attribute needs to be sent to the function.
    cmds.button(label="Key", command=scriptName + ".key( '" + attr + "')")
    '''
	# Python's string concatination (adding strings)
	cmds.button(label="Key", 
		command=scriptName + ".key('%s')" %attr)  
		# The %s means its a stand in for a string.  
		# %attr is the value being placed inside the string.
		# %(attr, ??? ) for multiple strings.
	'''
    # attribute and reset value need to sent to the function.
    cmds.button(label="Reset",
                command=scriptName + ".reset( '" + attr + "', " + str(reset) +
                ")")
    '''
	cmds.button(label="Reset",
		command=scriptName + ".reset('%s', %s)" %(attr, reset))
	# Multiple strings can be inputted
	# %( attr, reset ) places values by order.
	'''
    cmds.connectControl(slider, attr)

    cmds.setParent(curParent)
    return row
예제 #2
0
def sliderBld(labelName, attr, currParent, minVal=0, maxVal=1, resetVal=0, cw1=60):
	frm = cmds.formLayout(parent=currParent)
	'''
	slider = cmds.floatSliderGrp( label=labelName, field=True, min=minVal, max=maxVal,
		cw=[[1,cw1],[2,60], [3,70]], co3=[0, 0, 10], cat=[3,"left",0])
	'''
	text = cmds.text( width=cw1, label=labelName, align="center" )
	field = cmds.floatField( min=minVal, max=maxVal, w=60 )
	slider = cmds.floatSlider( min=minVal, max=maxVal, w=100 )
	cmds.connectControl(field, attr)
	cmds.connectControl(slider, attr)
	btn1 = cmds.button( label="Key",
		command=scriptName + ".key('" + attr + "')")
	btn2 = cmds.button( label="Reset",
		command=scriptName + ".reset('" + attr + "', " + str(resetVal) +")" )

	# text position
	cmds.formLayout( frm, e=1, attachForm=[[text, "left", 0],[text, "top", 0]])
	# field position
	cmds.formLayout( frm, e=1, attachForm=[field, "top", 0], attachControl=[field, "left", 0, text])
	# slider position
	cmds.formLayout( frm, e=1, attachForm=[slider, "top", 0], attachControl=[slider, "left", 0, field])
	# buttons position
	cmds.formLayout( frm, e=1, attachForm=[btn1, "top", 0], attachControl=[btn1, "left", 0, slider])
	cmds.formLayout( frm, e=1, attachForm=[btn2, "top", 0], attachControl=[btn2, "left", 0, btn1])
	cmds.setParent( currParent )
	return frm
예제 #3
0
def visCntrls(curParent):
	'''
	Different visibility controls for character.
	'''

	imgDef = lambda x: os.path.join( iconPath, x )
	
	visRC = cmds.rowColumnLayout( nc=5, cw=[[1,60],[2,50],[3,50],[4,50],[5,50]], parent=curParent)
	jointVis = cmds.symbolCheckBox(image=imgDef("JointVis_On.xpm"), w=60, h=45,
		oni=imgDef("JointVis_On.xpm") ,
		ofi=imgDef("JointVis_Off.xpm") )
	cmds.connectControl( jointVis, "rig.v")
	
	ctrlVis = cmds.symbolCheckBox(image=imgDef("ctrlVis_On.xpm"), w=60, h=45,
		oni=imgDef("ctrlVis_On.xpm") ,
		ofi=imgDef("ctrlVis_Off.xpm") )
	cmds.connectControl( ctrlVis, "move_all_control.visibility")
	
	# Row and High Rez
	
	# Dress
	
	# Face Controls
	
	# T-Pose

	cmds.setParent(curParent)
예제 #4
0
    def expose_driver_unit(self, anchor, writeData, index, root):
        mc.frameLayout(collapsable=True,
                       labelVisible=True,
                       borderStyle='out',
                       l='driver%s' % index,
                       mw=2,
                       mh=2,
                       p=anchor)

        if writeData[5] == True:
            mc.textField(tx=writeData[0], ed=False, font='boldLabelFont')
        else:
            mc.textField(tx=writeData[0], ed=False)
        mc.separator()
        mc.text(l='label')
        lblFld = mc.textField(ed=True)
        mc.connectControl(lblFld, writeData[3])

        mc.text(l='widgetID')
        wdgFld = mc.textField(ed=True)
        mc.connectControl(wdgFld, writeData[4])
        mc.separator()
        rmBtn = mc.button(l='remove',
                          c=partial(self.validate_driver_deletion, root,
                                    index))
예제 #5
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
    frm = cmds.formLayout(parent=curParent)

    text = cmds.text(label=attrLabel, w=60)
    field = cmds.floatField(w=60, min=minVal, max=maxVal)
    slider = cmds.floatSlider(w=100, min=minVal, max=maxVal)

    # attribute needs to be sent to the function.
    btn1 = cmds.button(
        label="Key",
        # command=scriptName + ".key( '" + attr + "')")
        command="%s.key( '%s' )" % (scriptName, attr),
    )

    # attribute and reset value need to sent to the function.
    btn2 = cmds.button(
        label="Reset",
        # command=scriptName + ".reset( '" + attr + "', " + str(reset) + ")")
        command="%s.reset( '%s', %s )" % (scriptName, attr, reset),
    )

    # attach Form (text control)
    cmds.formLayot(frm, edit=True, attachForm=[[text, "left", 0], [text, "top", 0]])
    # attachForm and attachControl
    cmds.formLayout(frm, edit=True, attachForm=[field, "top", 0], attachControl=[field, "left", 0, text])
    cmds.formLayout(frm, edit=True, attachForm=[slider, "top", 0], attachControl=[slider, "left", 0, field])
    cmds.formLayout(frm, edit=True, attachForm=[btn1, "top", 0], attachControl=[btn1, "left", 0, slider])
    cmds.formLayout(frm, edit=True, attachForm=[btn2, "top", 0], attachControl=[btn2, "left", 0, btn1])

    cmds.connectControl(slider, attr)
    cmds.connectControl(field, attr)

    cmds.setParent(curParent)
    return row
예제 #6
0
    def expose_component(self,tabAnchor,rootData):
        attrib_link = rootData[0]
        ctrlHgt = 24
        nodeData = attrib_link.split('.') 
        typeChk = mc.attributeQuery(  nodeData[-1], node=nodeData[0], attributeType=True  )
        numericType = ['float','double','short','long','int','bool','enum','string']
        clm = mc.columnLayout( adjustableColumn=True, rs=5 ,p=tabAnchor, w=420 -30 )
        
        stringType = mc.getAttr(attrib_link,type=True)
        fildCaption = mc.textField(  tx=rootData[1],ed=False,w=410 -30 ,p=clm , font="boldLabelFont",bgc=[0.8,0.8,0.8])    
        mc.popupMenu( button=3 ,p=fildCaption)
        mc.menuItem(l='Open in connection Editor' )


        if stringType == 'string':  
            attrFld = mc.textField(  ed=True,w=410 -30 ,p=clm )              
            mc.connectControl( attrFld, attrib_link )

        else:
            if typeChk in numericType:
                mc.attrFieldSliderGrp( attribute=rootData[0],p=clm )
            else:        
                flw = mc.flowLayout( columnSpacing=4  , p=clm )
                fldLnk = mc.textField(  tx=rootData[0],ed=False ,w=385,h=ctrlHgt,p=flw)
                mc.button( label='<',p=flw)
예제 #7
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
	frm = cmds.formLayout(parent=curParent)
	
	text = cmds.text( label=attrLabel, w=60 )
	field = cmds.floatField( w=60, min=minVal, max=maxVal)
	slider = cmds.floatSlider( w=100, min=minVal, max=maxVal )
	
	# attribute needs to be sent to the function.
	btn1 = cmds.button(label="Key", 
		# command=scriptName + ".key( '" + attr + "')")
		command="%s.key( '%s' )" %(scriptName, attr))

	# attribute and reset value need to sent to the function.
	btn2 = cmds.button(label="Reset",
		# command=scriptName + ".reset( '" + attr + "', " + str(reset) + ")")
		command="%s.reset( '%s', %s )" %(scriptName, attr, reset))

	# attach Form (text control)
	cmds.formLayot( frm, edit=True, attachForm=[[text, "left", 0], [text, "top", 0]] )
	# attachForm and attachControl
	cmds.formLayout( frm, edit=True, attachForm=[field, "top", 0], attachControl=[field, "left", 0, text] )
	cmds.formLayout( frm, edit=True, attachForm=[slider, "top", 0], attachControl=[slider, "left", 0, field] )
	cmds.formLayout( frm, edit=True, attachForm=[btn1, "top", 0], attachControl=[btn1, "left", 0, slider] )
	cmds.formLayout( frm, edit=True, attachForm=[btn2, "top", 0], attachControl=[btn2, "left", 0, btn1] )


	cmds.connectControl( slider, attr )
	cmds.connectControl( field, attr )
	
	cmds.setParent(curParent)
	return row
    def bulge_button( self, *args  ):
        if( cmds.objExists( "ZBend" ) ):
            cmds.confirmDialog( title="Error", message="First delete the bulge history on the previously\ndeformed object before bulging another.", button="Okie Dokie" )
            return 0

        latestSelection = cmds.ls( selection=True )
        if( len( latestSelection ) == 0 ):
            return 0

        if( len( latestSelection ) == 1 ):
            self.relatives = cmds.listRelatives( children=True )

            if( len(self.relatives) == 1 ):
                self.bbox = cmds.exactWorldBoundingBox( latestSelection )

                cmds.nonLinear( type='bend', curvature=cmds.intSliderGrp( "x_bulge_slider", value=True, query=True ) )
                cmds.rename( "XBend" )
                cmds.move((self.bbox[0] + self.bbox[3])/2, self.bbox[1], (self.bbox[2] + self.bbox[5])/2, "XBend", rpr=True )
                cmds.setAttr( "XBend.rotateZ", -90 )

                cmds.select( latestSelection )

                cmds.nonLinear( type='bend', curvature=cmds.intSliderGrp( "z_bulge_slider", value=True, query=True ) )
                cmds.rename( "ZBend" )
                cmds.move((self.bbox[0] + self.bbox[3])/2, self.bbox[1], (self.bbox[2] + self.bbox[5])/2, "ZBend", rpr=True )
                cmds.setAttr( "ZBend.rotateZ", -90 )
                cmds.setAttr( "ZBend.rotateX", 90 )
                cmds.connectControl( "x_bulge_slider", "bend1.curvature" )
                cmds.connectControl( "z_bulge_slider", "bend2.curvature" )
                cmds.select( latestSelection )
예제 #9
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
	row = cmds.rowColumnLayout(nc=3, cw=[[1,220],[2,50],[3,50]],
		parent=curParent)
	slider = cmds.floatSliderGrp( label=attrLabel, field=True, min=0, max=1, 
		cw=[[1,60], [2,60], [3,100]], min=minVal, max=maxVal)
	
	# attribute needs to be sent to the function.
	cmds.button(label="Key", 
		command=scriptName + ".key( '" + attr + "')")
	'''
	# Python's string concatination (adding strings)
	cmds.button(label="Key", 
		command=scriptName + ".key('%s')" %attr)  
		# The %s means its a stand in for a string.  
		# %attr is the value being placed inside the string.
		# %(attr, ??? ) for multiple strings.
	'''
	# attribute and reset value need to sent to the function.
	cmds.button(label="Reset",
		command=scriptName + ".reset( '" + attr + "', " + str(reset) + ")")
	'''
	cmds.button(label="Reset",
		command=scriptName + ".reset('%s', %s)" %(attr, reset))
	# Multiple strings can be inputted
	# %( attr, reset ) places values by order.
	'''
	cmds.connectControl( slider, attr )
	
	cmds.setParent(curParent)
	return row
def ArnoldGpuCacheTemplateReplace(plugName) :
    AttrName = plugName.split('.')[-1]
    cmds.connectControl('GpuCache%sPath'%AttrName,plugName,fileName=True )

    cmds.textField( 'GpuCache%sPath'%AttrName, edit=True, changeCommand=lambda *args: ArnoldGpuCacheEdit(plugName, *args))
    cmds.textField( 'GpuCache%sPath'%AttrName, edit=True, text=cmds.getAttr(plugName) )
    
    cmds.symbolButton('GpuCache%sPathButton'%AttrName, edit=True, command=lambda *args: LoadGpuCacheButtonPush(plugName))
예제 #11
0
def slider_listener(*args):
    bsn = get_blend_shape_node()
    attrs = cmds.textScrollList(BSM_TEXT_SCROLL_LIST,
                                query=True,
                                selectItem=True)
    # list compression
    attrs_array = [bsn + "." + attr for attr in attrs]
    # con "*" spacchetto la lista mettendo "," tra gli elementi
    cmds.connectControl(BSM_FLOAT_SLIDER_GRP, *attrs_array)
예제 #12
0
        def __init__(self, node, label="Max Distance", collapse=True):

            self.controls = []
            self.connectControls = []

            def attr(attr):
                return "%s.%s" % (node, attr)

            self.node = node

            if cmds.frameLayout(label=label,
                                collapse=collapse,
                                collapsable=True):
                if cmds.columnLayout(adj=True):

                    self.use_max_dist = cmds.checkBoxGrp(
                        label="",
                        label1="Use Max Distance",
                        columnWidth=columnWidthData,
                        cc=self.value_changed)
                    self.connectControls.append(
                        ("use_max_dist", self.use_max_dist, 2))
                    cmds.connectControl(self.use_max_dist,
                                        attr("use_max_dist"),
                                        index=2)

                    self.max_dist = cmds.attrFieldSliderGrp(
                        attribute=attr("max_dist"),
                        label="Max Dist",
                        columnWidth=columnWidthData)
                    self.controls.append(
                        ("max_dist", self.max_dist, cmds.attrFieldSliderGrp))

                    self.use_color = cmds.checkBoxGrp(
                        label="",
                        label1="Use Color",
                        columnWidth=columnWidthData,
                        cc=self.value_changed)
                    self.connectControls.append(
                        ("use_max_dist_color", self.use_color, 2))
                    cmds.connectControl(self.use_color,
                                        attr("use_max_dist_color"),
                                        index=2)

                    self.color = cmds.attrColorSliderGrp(
                        attribute=attr("max_dist_color"),
                        label="Color",
                        columnWidth=columnWidthData)
                    self.controls.append(("max_dist_color", self.color,
                                          cmds.attrColorSliderGrp))

                cmds.setParent("..")
            cmds.setParent("..")

            self.value_changed()
예제 #13
0
def currentRendererChanged():
    newRenderer = mel.eval("currentRenderer()")

    logger.debug("currentRendererChanged called, new renderer = %s", newRenderer)

    if newRenderer != "appleseed":
        return

    # Make sure our render globals node exists.
    createGlobalNodes()

    # If the render globals window does not exist, create it.
    if not mc.window("unifiedRenderGlobalsWindow", exists=True):
        mel.eval("unifiedRenderGlobalsWindow")
        mc.window("unifiedRenderGlobalsWindow", edit=True, visible=False)

    # "Customize" the image formats menu.
    mc.setParent("unifiedRenderGlobalsWindow")
    mel.eval("setParentToCommonTab;")
    mc.setParent("imageFileOutputSW")
    mc.setParent("imageMenuMayaSW")
    mc.setParent("..")
    parent = mc.setParent(q=True)

    # Remove the menu callback and the menu items.
    mel.eval('optionMenuGrp -e -changeCommand "" imageMenuMayaSW;')
    items = mc.optionMenuGrp("imageMenuMayaSW", q=True, itemListLong=True)
    for item in items:
        mc.deleteUI(item)

    # Add the formats we support.
    menu = parent + "|imageMenuMayaSW|OptionMenu"
    mc.menuItem(parent=menu, label="OpenEXR (.exr)", data=0)
    mc.menuItem(parent=menu, label="PNG (.png)", data=1)

    # Connect the control to one internal attribute in our globals node
    # so that we can add a changed callback to it.
    mc.connectControl(
        "imageMenuMayaSW", "appleseedRenderGlobals.imageFormat", index=1)
    mc.connectControl(
        "imageMenuMayaSW", "appleseedRenderGlobals.imageFormat", index=2)

    # Add a callback when our internal attribute changes.
    # This callback gets the current value from our internal attribute and
    # uses it to update the original image format attribute (closing the circle.)
    mc.scriptJob(
        parent=parent,
        replacePrevious=True,
        attributeChange=[
            "appleseedRenderGlobals.imageFormat",
            "import appleseedMaya.renderGlobals; appleseedMaya.renderGlobals.imageFormatChanged()"]
    )

    # Update the image format controls now.
    imageFormatChanged()
 def create_world_button( self, *args  ):
     if( cmds.objExists( "OurSampleWorld" ) ):
         return 0
     else:
         cmds.sphere( r=10, sections=40, spans=30, name="OurSampleWorld" )
         cmds.setAttr( "OurSampleWorld.scale", 9.599, 9.599, 9.599 )
         cmds.makeIdentity( apply=True, t=1, r=1, s=1 )
         self.wbbox = cmds.exactWorldBoundingBox( "OurSampleWorld" )
         cmds.move((self.wbbox[0] + self.wbbox[3])/2, self.wbbox[4], (self.wbbox[2] + self.wbbox[5])/2, "OurSampleWorld.scalePivot", "OurSampleWorld.rotatePivot", absolute=True)
         cmds.move( 0, 0, 0, "OurSampleWorld", rpr=True )
         cmds.connectControl( "world_size_slider", "OurSampleWorld.scaleX", "OurSampleWorld.scaleY", "OurSampleWorld.scaleZ" )
def stereoPlayblastUI():
    global txtf
    win = 'StereoPlayblastWin'
    core = None
    Title = 'StereoPlayblastWin'
    cams = checkCam()
    heightB = len( cams )
    modifyWin = heightB*25
    #m = len( checkCam() )*25   
    if mc.windowPref(win,exists=1):mc.windowPref(win,remove=1)
    if mc.window(win, exists=1):mc.deleteUI(win)
    mc.window(win, title = Title, wh=(470,220 + modifyWin))
    mc.scrollLayout( 'scrollLayout' )
    cl1 = mc.columnLayout( cat=( 'left', 3 ), cw=200, rs=5, adj=1  )
    mc.button( l='Creat 3D camera', c="creatStereo();winNewH( len( checkCam() )*25 );stereoPlayblastUI()" )
    mc.rowLayout( 'stereoRow', numberOfColumns=3, adjustableColumn=3 )
            #mc.text( l='interaxial Separation', w=100, al='right' )
    mc.floatSliderGrp( 'interaxialSleder', label='interaxial Separation', w= 450, cal=[100, 'right'], field=True, minValue=-0.000, maxValue=1000.000, fieldMinValue=0.000, fieldMaxValue=1000.000, ss=1.000, value=6.3500, precision=3 )
    mc.setParent('..')
    mc.rowLayout( 'zeroRow', numberOfColumns=3, adjustableColumn=3 )
            #mc.text( l='Zero Parallax', w=100, al='right' )
            #mc.floatField( 'zeroField', w=80, h=20, value=254.000 )
            #mc.floatSlider( 'zeroSleder', w=200, h=2 0, min=0, max=100000, step=0.1)
    mc.floatSliderGrp( 'zeroSleder', label='Zero Parallax', w= 450, cal=[100, 'right'], field=True, minValue=-0.000, maxValue=1000.000, fieldMinValue=0.000, fieldMaxValue=1000.000, ss=1.00, value=254.000,precision=3 )
    camListStereo = mc.ls( type='stereoRigTransform' )
    if camListStereo == []:
            mc.floatSliderGrp( 'interaxialSleder', e=1, enable=False )
            mc.floatSliderGrp( 'zeroSleder', e=1, enable=False )
    else:
            stereoShape = mc.listRelatives( camListStereo[0],s=1 )[0]
            mc.connectControl( 'interaxialSleder', stereoShape+'.interaxialSeparation' )
            mc.connectControl( 'zeroSleder', stereoShape+'.zeroParallax' )
            #mc.floatField( 'interaxialField', w=80, h=20, value=6.350 )
            #mc.floatSlider( 'interaxialSleder', w=200, h=20, min=0, max=100000, step=0.1 )
    mc.setParent('..')
    mc.frameLayout(l = 'Camera List', borderStyle='etchedIn')
    cl2 = mc.columnLayout()
    updateCamList(cams)
            #mc.frameLayout(l = 'button', borderStyle='etchedIn')
            #cl3 = mc.columnLayout( cat=( 'left', 3 ), cw=200, rs=5, adj=1  )
    mc.setParent('..')
    rl1 = mc.rowLayout( 'camShow', numberOfColumns=4, adjustableColumn=3, p=cl1 )
    mc.button( l='Hide some',w=150, c="activeSome()", p=rl1 )
    mc.button( l='playblast', w=150, c="playBlastUser( '' )", p=rl1 )
    mc.button(l = 'export camera',w=150, c="exportCam()", p=rl1)
    mc.setParent('..')

    txtf = mc.textFieldButtonGrp( label='Path', text='', buttonLabel='Browse', cw3 = (40,295,50), adjustableColumn3 = 2, cl3 = ('left', 'center', 'right'),p=cl1,bc = browse, cc = getPath )
    rl2 = mc.rowLayout( 'cameraShow', numberOfColumns=4, adjustableColumn=3, p=cl1 )
    mc.button( l='path save',w=150, c="saveP()", p=rl2 )
    mc.button( l='left',w=150, c="playBlastUser( 'left' )",p= rl2 )
    mc.button( l='right',w=150, c="playBlastUser( 'right' )", p=rl2 )
    mc.showWindow( win )
    loadpreV()
예제 #16
0
파일: picker.py 프로젝트: Owacle/picker
 def connect_face(self):
     '''
     This runs through the sliders and the controls and connects them
     It's dynamic to allow for the change of 'who'
     '''
     for to_connect in self._face_sliders:
         to_con_attribs = []
         for one_who in self._who:
             # BOOM!
             for one_attr in to_connect[1]:
                 to_con_attribs.append(one_who+':'+one_attr)
         cmds.connectControl(to_connect[0], to_con_attribs)
예제 #17
0
def run():
    global job_link_slider
    global ctrl_attr
    # Scriptjob command does not accept class instance.
    # Thats why have taken gui out of class
    gui()
    ctrl_attr = 'tmp_connection_object'
    cmds.sphere(name=ctrl_attr)
    cmds.hide(ctrl_attr)
    job_link_slider = cmds.scriptJob(
        attributeChange=['%s.ty' % ctrl_attr, 'sb.process_blend()'])
    cmds.connectControl(sb.blend_sl, '%s.ty' % ctrl_attr)
예제 #18
0
def stereoOr():
    global interaxialSleder
    global zeroSleder
    camListStereo = mc.ls( type='stereoRigTransform' )
    if camListStereo == []:
            mc.floatSliderGrp( interaxialSleder, e=1, enable=False )
            mc.floatSliderGrp( zeroSleder, e=1, enable=False )
    else:
            stereoShape = mc.listRelatives( camListStereo[0],s=1 )[0]
            mc.floatSliderGrp( interaxialSleder, e=1, enable=True )
            mc.floatSliderGrp( zeroSleder, e=1, enable=True )
            mc.connectControl( interaxialSleder, stereoShape+'.interaxialSeparation' )
            mc.connectControl( zeroSleder, stereoShape+'.zeroParallax' )
예제 #19
0
    def update(self, node):

        self.setNode(node)

        nodeType = cmds.nodeType(self.node)

        # Connect all attributes of the current node to the corresponding control
        for item in self.connectControls:

            attr, control = item[:2]
            index = None

            try:
                index = item[2]
            except IndexError:
                pass

            attribute = self.attr(attr)

            enable = cmds.objExists(attribute)

            if enable:
                if index:
                    cmds.connectControl(control, attribute, index=index)
                else:
                    cmds.connectControl(control, attribute)

            cmds.control(control, edit=True, manage=enable)

        for item in self.controls:
            attr, control, cmd = item[:3]
            index = None

            attribute = self.attr(attr)

            enable = cmds.objExists(attribute)

            if enable:
                cmd(control, edit=True, attribute=attribute)

            cmds.control(control, edit=True, manage=enable)

        # Update all scriptJob to target the correct node
        for item in self.scriptJobs:

            attr, parentControl, scriptJobArg, cmd = item
            attribute = self.attr(attr)

            kargs = {scriptJobArg: (attribute, cmd)}

            cmds.scriptJob(replacePrevious=True, parent=parentControl, **kargs)
def creatStereo():
    camL = mc.ls(sl=1)
    if camL == []:
        mc.confirmDialog(title="Missing", message="Please select a camera!", button=["Ok"])
        return
    cam = camL[0]
    camShape = mc.listRelatives(cam, s=1)[0]
    FL = mc.camera(cam, q=1, fl=1)
    NCP = mc.camera(cam, q=1, ncp=1)
    FCP = mc.camera(cam, q=1, fcp=1)
    cam3d = maya.app.stereo.stereoCameraRig.createStereoCameraRig()
    mc.parent(cam3d[0], cam)
    mc.setAttr(cam3d[0] + ".translate", 0, 0, 0, lock=1)
    mc.setAttr(cam3d[0] + ".rotate", 0, 0, 0, lock=1)
    mc.setAttr(cam3d[0] + ".scale", 1, 1, 1, lock=1)
    cam3dShape = mc.listRelatives(cam3d[0], s=1)[0]
    mc.connectControl("interaxialSleder", stereoShape + ".interaxialSeparation")
    mc.connectControl("zeroSleder", stereoShape + ".zeroParallax")
    mc.setAttr(cam3dShape + ".focalLength", FL)
    mc.setAttr(cam3dShape + ".nearClipPlane", NCP)
    mc.setAttr(cam3dShape + ".farClipPlane", FCP)
    mc.setAttr(cam3dShape + ".zeroParallaxPlane", 1)
    mc.setAttr(cam3dShape + ".safeViewingVolume", 1)
    for i in cam3d:
        mc.rename(i, cam + "_" + i)
    camListStereo = mc.ls(type="stereoRigTransform")
    if camListStereo == []:
        mc.floatSliderGrp(interaxialSleder, e=1, enable=False)
        mc.floatSliderGrp(zeroSleder, e=1, enable=False)
    else:
        stereoShape = mc.listRelatives(camListStereo[0], s=1)[0]
        mc.floatSliderGrp(interaxialSleder, e=1, enable=True)
        mc.floatSliderGrp(zeroSleder, e=1, enable=True)
        mc.connectControl(interaxialSleder, cam3dShape + ".interaxialSeparation")
        mc.connectControl(zeroSleder, cam3dShape + ".zeroParallax")
예제 #21
0
def ArnoldGpuCacheTemplateReplace(plugName):
    AttrName = plugName.split('.')[-1]
    cmds.connectControl('GpuCache%sPath' % AttrName, plugName, fileName=True)

    cmds.textField(
        'GpuCache%sPath' % AttrName,
        edit=True,
        changeCommand=lambda *args: ArnoldGpuCacheEdit(plugName, *args))
    cmds.textField('GpuCache%sPath' % AttrName,
                   edit=True,
                   text=cmds.getAttr(plugName))

    cmds.symbolButton('GpuCache%sPathButton' % AttrName,
                      edit=True,
                      command=lambda *args: LoadGpuCacheButtonPush(plugName))
예제 #22
0
    def doConnectAttrSpinner(self, theAttr):
        self.theAttr = theAttr
        if cmds.objExists(self.theAttr):
            cmds.connectControl(self.floatField, self.theAttr)
            minValue, maxValue = -16777214, 16777215

            listAtt = theAttr.split(".")
            att = listAtt[-1]
            node = ".".join(listAtt[:-1])

            if cmds.attributeQuery(att, node=node, maxExists=True):
                maxValue, = cmds.attributeQuery(att, node=node, maximum=True)
            if cmds.attributeQuery(att, node=node, minExists=True):
                minValue, = cmds.attributeQuery(att, node=node, minimum=True)

            self.theSpinner.setRange(minValue, maxValue)
예제 #23
0
 def expose_driver_unit(self, anchor, writeData,index,root ):
     mc.frameLayout( collapsable=True,labelVisible=True,  borderStyle='out' ,l='driver%s'%index ,mw=2,mh=2 ,p=anchor )
     
     if writeData[5] == True:
         mc.textField(tx=writeData[0],ed=False ,font='boldLabelFont')
     else:
         mc.textField(tx=writeData[0],ed=False )
     mc.separator()
     mc.text(l='label')
     lblFld = mc.textField( ed=True )
     mc.connectControl( lblFld, writeData[3])
     
     mc.text(l='widgetID')
     wdgFld = mc.textField( ed=True )
     mc.connectControl( wdgFld, writeData[4] )
     mc.separator()
     rmBtn = mc.button(l='remove',c=partial(self.validate_driver_deletion,root , index))
예제 #24
0
def sliderBld(labelName,
              attr,
              currParent,
              minVal=0,
              maxVal=1,
              resetVal=0,
              cw1=60):
    frm = cmds.formLayout(parent=currParent)
    '''
	slider = cmds.floatSliderGrp( label=labelName, field=True, min=minVal, max=maxVal,
		cw=[[1,cw1],[2,60], [3,70]], co3=[0, 0, 10], cat=[3,"left",0])
	'''
    text = cmds.text(width=cw1, label=labelName, align="center")
    field = cmds.floatField(min=minVal, max=maxVal, w=60)
    slider = cmds.floatSlider(min=minVal, max=maxVal, w=100)
    cmds.connectControl(field, attr)
    cmds.connectControl(slider, attr)
    btn1 = cmds.button(label="Key",
                       command=scriptName + ".key('" + attr + "')")
    btn2 = cmds.button(label="Reset",
                       command=scriptName + ".reset('" + attr + "', " +
                       str(resetVal) + ")")

    # text position
    cmds.formLayout(frm, e=1, attachForm=[[text, "left", 0], [text, "top", 0]])
    # field position
    cmds.formLayout(frm,
                    e=1,
                    attachForm=[field, "top", 0],
                    attachControl=[field, "left", 0, text])
    # slider position
    cmds.formLayout(frm,
                    e=1,
                    attachForm=[slider, "top", 0],
                    attachControl=[slider, "left", 0, field])
    # buttons position
    cmds.formLayout(frm,
                    e=1,
                    attachForm=[btn1, "top", 0],
                    attachControl=[btn1, "left", 0, slider])
    cmds.formLayout(frm,
                    e=1,
                    attachForm=[btn2, "top", 0],
                    attachControl=[btn2, "left", 0, btn1])
    cmds.setParent(currParent)
    return frm
예제 #25
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
	row = cmds.rowColumnLayout(nc=3, cw=[[1,280],[2,50],[3,50]],
		parent=curParent)
	slider = cmds.floatSliderGrp( label=attrLabel, field=True, min=minVal, max=maxVal,
		cw=[[1,60], [2,60], [3,100]])
	
	# attribute needs to be sent to the function.
	cmds.button(label="Key", 
		command=scriptName + ".key( '" + attr + "')")

	# attribute and reset value need to sent to the function.
	cmds.button(label="Reset",
		command=scriptName + ".reset( '" + attr + "', " + str(reset) + ")")

	cmds.connectControl( slider, attr )
	
	cmds.setParent(curParent)
	return row
예제 #26
0
    def setNode(self, node, forceUpdate=False):
        #print('setNode: ' + node)
        self._ignoreCodeChange = False
        self._node = node
        cmds.connectControl(self._inputsAPI1, node + '.inputsAsApi1Object')

        self._jid_codeAttrChange = cmds.scriptJob(p=self.path,
                                                  rp=True,
                                                  ac=(node + '.cd',
                                                      self._codeAttrChanged))
        #print('NEW JOB (cd)', self._jid_codeAttrChange)
        cmds.scriptJob(p=self._inputsAPI1,
                       rp=True,
                       nd=(node, self._nodeDeleted))

        if not UINodeTracker.getInstance(
                self._trackerPath).setNode(node) and forceUpdate:
            self._refresh(node)
def creatStereo():
    global interaxialSleder
    global zeroSleder
    global interFloatField
    global interFloatSlider
    global zeroFloatField
    global zeroFloatSlider
    camL = mc.ls(sl=1)
    camListStereo = mc.ls( type='stereoRigTransform' )
    if camListStereo != []:
        mc.confirmDialog( title='Error',
							message='The scene have being a 3D camera, do not create again!',
							button=['Ok'])
        return 
    if camL == []:
        mc.confirmDialog( title='Missing',
							message='Please select a camera!',
							button=['Ok'])
        return
       
    cam = camL[0]
    camShape = mc.listRelatives(cam,s=1)[0]
    FL = mc.camera(cam,q=1,fl=1)
    NCP = mc.camera(cam,q=1,ncp=1)
    FCP = mc.camera(cam,q=1,fcp=1)
    cam3d = maya.app.stereo.stereoCameraRig.createStereoCameraRig()
    mc.parent(cam3d[0],cam)
    mc.setAttr(cam3d[0]+'.translate',0,0,0,lock=1)
    mc.setAttr(cam3d[0]+'.rotate',0,0,0,lock=1)
    mc.setAttr(cam3d[0]+'.scale',1,1,1,lock=1)
    cam3dShape = mc.listRelatives(cam3d[0],s=1)[0]
    mc.setAttr(cam3dShape+'.focalLength',FL)
    mc.setAttr(cam3dShape+'.nearClipPlane',NCP)
    mc.setAttr(cam3dShape+'.farClipPlane',FCP)
    mc.setAttr( cam3dShape+'.zeroParallaxPlane', 1  )
    mc.setAttr( cam3dShape+'.safeViewingVolume', 1  )
    mc.floatField( interFloatField, e=1, enable=True )
    mc.floatSlider( interFloatSlider, e=1, enable=True )
    mc.floatField( zeroFloatField, e=1, enable=True )
    mc.floatSlider( zeroFloatSlider, e=1, enable=True )
                #mc.floatSliderGrp( interaxialSleder, e=1, enable=True )
                #mc.floatSliderGrp( zeroSleder, e=1, enable=True )
    mc.connectControl( interFloatField, cam3dShape+'.interaxialSeparation' )
    mc.connectControl( interFloatSlider, cam3dShape+'.interaxialSeparation' )
    mc.connectControl( zeroFloatField, cam3dShape+'.zeroParallax' )
    mc.connectControl( zeroFloatSlider, cam3dShape+'.zeroParallax' )
    #mc.floatSliderGrp( interaxialSleder, e=1, enable=True )
    #mc.floatSliderGrp( zeroSleder, e=1, enable=True )
    #mc.connectControl( interaxialSleder, cam3dShape+'.interaxialSeparation' )
    #mc.connectControl( zeroSleder, cam3dShape+'.zeroParallax' )
    for i in cam3d:
        mc.rename(i,cam+'_'+i)
예제 #28
0
def switches():
    # IK FK Switches
    ltIKFK = cmds.floatSliderGrp(label="Left IKFK",
                                 field=True,
                                 min=0,
                                 max=10,
                                 step=.1)
    rtIKFK = cmds.floatSliderGrp(label="Left IKFK",
                                 field=True,
                                 min=0,
                                 max=10,
                                 step=.1)
    cmds.connectControl(ltIKFK, "lt_hand_controls.IK_FK_Switch")
    cmds.connectControl(rtIKFK, "rt_hand_controls.IK_FK_Switch")

    # Face Shapes
    rtPuff = cmds.floatSliderGrp(label='Right Puff',
                                 field=True,
                                 min=0,
                                 max=2,
                                 step=.1)
    cmds.connectControl(
        rtPuff,
        "mouth_control_group|control_slider_curves|puff_marker_r_curve.translateX"
    )
def creatSphere(*args):
    circleSel = mc.ls(sl=1)[0]
    radiusCircle = mc.circle(circleSel, q=1, r=1)
    radiusSpere = radiusCircle*.75
    particleSphere = mc.polySphere(n='%s_Sphere'%circleSel, r=radiusSpere, sx=float(radiusSpere), sy=float(radiusSpere), ax=[0, 1, 0])[0]
    mc.parentConstraint(circleSel, particleSphere, mo=0, w=1)
    #mc.parent(particleSphere, circleSel)
    mc.setAttr('%s.tx'%particleSphere, 0)
    mc.setAttr('%s.ty'%particleSphere, 0)
    mc.setAttr('%s.tz'%particleSphere, 0)
    mc.setAttr('%s.rx'%particleSphere, 0)
    mc.setAttr('%s.ry'%particleSphere, 0)
    mc.setAttr('%s.rz'%particleSphere, 0)
    mc.setAttr('%s.v'%particleSphere, 0)
    mc.select(particleSphere, r=1) 
    mc.emitter(type='surface', r=4, dx=1, dy=0, dz=0, n='%s_emitter'%circleSel )
    mc.particle( n='%s_Particles'%circleSel )
    mc.connectDynamic( '%s_Particles'%circleSel, em='%s_emitter'%circleSel )
    particlesShape = mc.listRelatives('%s_Particles'%circleSel, s=1)[0]
    mc.setAttr('%s.lifespanMode'%particlesShape, 1)
    mc.setAttr('%s.lifespan'%particlesShape, 0.4)
    mc.setAttr('%s.startFrame'%particlesShape, 1001)
    mc.connectControl( 'numText', '%s.rate'%('%s_emitter'%circleSel) )
    mc.shadingNode('blinn', n='%s_blinn'%circleSel, asShader=1)
    mc.sets( n='%s_blinnSG'%circleSel, renderable=True, noSurfaceShader=True, empty=1)
    mc.connectAttr('%s.outColor'%('%s_blinn'%circleSel), '%s.surfaceShader'%('%s_blinnSG'%circleSel))
    mc.connectControl( 'myColorIndex', '%s.color'%('%s_blinn'%circleSel) )
    mc.connectControl( 'lifeText', '%s.lifespan'%particlesShape )
    mc.sets('%s_Particles'%circleSel, e=1, forceElement='%s'%('%s_blinnSG'%circleSel))
예제 #30
0
def createArnoldMotionBlurRange(*args):

    pm.text("textArnoldMBAngle", font="smallBoldLabelFont", align="left", enable=False)

    pm.text("textArnoldMBAngle", edit=True, label=u"  Shutter Angle : %i°" % 180)

    cmds.optionMenuGrp("mb_position", label="Position")
    cmds.optionMenuGrp("mb_position", edit=True, changeCommand=pm.Callback(arnoldMotionBlurPositionChanged))
    cmds.menuItem(label="Start On Frame", data=0)
    cmds.menuItem(label="Center On Frame", data=1)
    cmds.menuItem(label="End On Frame", data=2)
    cmds.menuItem(label="Custom", data=3)

    cmds.connectControl("mb_position", "defaultArnoldRenderOptions.range_type", index=1)
    cmds.connectControl("mb_position", "defaultArnoldRenderOptions.range_type", index=2)

    pm.attrFieldSliderGrp(
        "mb_motion_frames",
        label="Length",
        ann="Motion Range in Frames",
        attribute="defaultArnoldRenderOptions.motion_frames",
        cc=arnoldMotionFramesChanged,
    )

    pm.attrFieldSliderGrp(
        "mb_motion_range_start",
        label="Start",
        ann="Motion Range Start in Frames",
        attribute="defaultArnoldRenderOptions.motion_start",
        cc=arnoldMotionCustomChanged,
    )

    pm.attrFieldSliderGrp(
        "mb_motion_range_end",
        label="End",
        ann="Motion Range End in Frames",
        attribute="defaultArnoldRenderOptions.motion_end",
        cc=arnoldMotionCustomChanged,
    )
예제 #31
0
def sliderBld(attrLabel, attr, curParent, minVal=0, maxVal=1, reset=0):
    row = cmds.rowColumnLayout(nc=3,
                               cw=[[1, 280], [2, 50], [3, 50]],
                               parent=curParent)
    slider = cmds.floatSliderGrp(label=attrLabel,
                                 field=True,
                                 min=minVal,
                                 max=maxVal,
                                 cw=[[1, 60], [2, 60], [3, 100]])

    # attribute needs to be sent to the function.
    cmds.button(label="Key", command=scriptName + ".key( '" + attr + "')")

    # attribute and reset value need to sent to the function.
    cmds.button(label="Reset",
                command=scriptName + ".reset( '" + attr + "', " + str(reset) +
                ")")

    cmds.connectControl(slider, attr)

    cmds.setParent(curParent)
    return row
예제 #32
0
def switches():
    # IK FK Switches
    ltIKFK = cmds.floatSliderGrp(label="Left IKFK", field=True, min=0, max=10, step=0.1)
    rtIKFK = cmds.floatSliderGrp(label="Left IKFK", field=True, min=0, max=10, step=0.1)
    cmds.connectControl(ltIKFK, "lt_hand_controls.IK_FK_Switch")
    cmds.connectControl(rtIKFK, "rt_hand_controls.IK_FK_Switch")

    # Face Shapes
    rtPuff = cmds.floatSliderGrp(label="Right Puff", field=True, min=0, max=2, step=0.1)
    cmds.connectControl(rtPuff, "mouth_control_group|control_slider_curves|puff_marker_r_curve.translateX")
예제 #33
0
    def refreshControls(self):
        if cmds.columnLayout(self.column, exists=True):
            cmds.setParent(self.column)

            for rowChild in cmds.columnLayout(self.column, query=True, childArray=True) or []:
                row = self.column+"|"+rowChild
                cmds.deleteUI(rowChild)
                
            for element in self.listElements:
                elementName = element[1]
                cmds.rowLayout(numberOfColumns=6, adjustableColumn=2, columnWidth6=[50, 160, 160, 180, 180, 110], columnAttach=[(1, 'both', 5), (2, 'both', 5), (3, 'both', 5), (4, 'both', 5), (5, 'both', 5), (6, 'both', -5)] )
                selectCommand='import maya.cmds as cmds\ncmds.select(\''+elementName+'\')'
                cmds.nodeIconButton( style='iconOnly', command=selectCommand, image1=element[0]+'.png' )
                cmds.text(label=elementName, align='left')
                
                cmds.attrColorSliderGrp(label='C:', at=elementName+'.color', columnWidth4=[15,30,70,40], columnAlign=[1,"center"])
                
                if element[0] == 'MeshLightShelf':
                    cmds.attrFieldSliderGrp(label='I:', at=elementName+'.intensity', columnWidth2=[15,45], columnAlign=[1,"center"])
                    cmds.attrFieldSliderGrp(label='E:', at=elementName+'.aiExposure', columnWidth3=[15,45,70], columnAlign=[1,"center"])
                else:
                    cmds.attrFieldSliderGrp(label='I:', at=elementName+'.intensity', columnWidth4=[15,45,70,40], columnAlign=[1,"center"])
                    cmds.attrFieldSliderGrp(label='E:', at=elementName+'.aiExposure', columnWidth4=[15,45,70,40], columnAlign=[1,"center"])
                
                
                cmds.rowLayout(numberOfColumns=2, columnWidth2=[60, 50], columnAttach=[(1, 'both', 0), (2, 'both', 5)] )
                
                
                cmds.intFieldGrp('lightManager_samples_'+elementName, label='S:', columnWidth2=[20,30], columnAlign2=['center','center'])
                cmds.connectControl('lightManager_samples_'+elementName, elementName+'.aiSamples', index=1)
                cmds.connectControl('lightManager_samples_'+elementName, elementName+'.aiSamples', index=2)
                
                cmds.checkBoxGrp('lightManager_visibility_'+elementName, label="E:", columnWidth2=[18,22])
                try:
                    cmds.connectControl('lightManager_visibility_'+elementName, elementName+'.visibility', index=1)
                    cmds.connectControl('lightManager_visibility_'+elementName, elementName+'.visibility', index=2)
                except:
                    pass
                    
                
                cmds.setParent('..')
                
                cmds.setParent('..')
예제 #34
0
    def widget(self, item):
        with forms.HorizontalExpandForm(tag=item) as root:
            delete_button = gui.IconTextButton(width=48,
                                               style='iconOnly',
                                               image='deleteShader')
            name_field = gui.NameField(object=item, width=256)
            gui.Separator(style='none', width=16)

            tx = gui.FloatField(width=48, pre=2)
            ty = gui.FloatField(width=48, pre=2)
            tz = gui.FloatField(width=48, pre=2)
            gui.Separator(style='none', width=16)

            # using 'connectControl' here is a good alternative to binding
            cmds.connectControl(tx, item + ".tx")
            cmds.connectControl(ty, item + ".ty")
            cmds.connectControl(tz, item + ".tz")

        delete_button.tag = root
        return lists.Templated(item,
                               root,
                               request_delete=delete_button.command)
        mc.confirmDialog( title='Missing',
							message='Please select a camera!',
							button=['Ok'])
        return
    cam = camL[0]
    camShape = mc.listRelatives(cam,s=1)[0]
    FL = mc.camera(cam,q=1,fl=1)
    NCP = mc.camera(cam,q=1,ncp=1)
    FCP = mc.camera(cam,q=1,fcp=1)
    cam3d = maya.app.stereo.stereoCameraRig.createStereoCameraRig()
    mc.parent(cam3d[0],cam)
    mc.setAttr(cam3d[0]+'.translate',0,0,0,lock=1)
    mc.setAttr(cam3d[0]+'.rotate',0,0,0,lock=1)
    mc.setAttr(cam3d[0]+'.scale',1,1,1,lock=1)
    cam3dShape = mc.listRelatives(cam3d[0],s=1)[0]
    mc.connectControl( 'interaxialSleder', stereoShape+'.interaxialSeparation' )
    mc.connectControl( 'zeroSleder', stereoShape+'.zeroParallax' )
    mc.setAttr(cam3dShape+'.focalLength',FL)
    mc.setAttr(cam3dShape+'.nearClipPlane',NCP)
    mc.setAttr(cam3dShape+'.farClipPlane',FCP)
    mc.setAttr( cam3dShape+'.zeroParallaxPlane', 1  )
    mc.setAttr( cam3dShape+'.safeViewingVolume', 1  )
    for i in cam3d:
        mc.rename(i,cam+'_'+i)
    #mc.connectControl( 'interaxialSleder', cam3dShape+'.interaxialSeparation' )
#def checkStereo():
def playBlastUser( which ):
    vision = mayaVision()
    if vision == '2011 x64':
        if which =='':
            userPlayblast( which, code, size[0],size[1],perfect )
예제 #36
0
	def gui(self):
		'''
		Generates the interface for the AttrGUISingle object.
		'''
				
		btnWidth = 30
		btnSep = 2
		# textWidth = 70
		# fieldWidth
		# if( cmds.about( os=True ) == "mac" ):
			
		self.mainLayout = cmds.rowColumnLayout(parent=self.parent, nc=7, h=20, 
			rat=[[1,"both", btnSep ],[2,"both", btnSep ],[3,"both", btnSep ],[4,"both", btnSep ],[5,"both", btnSep ],[6,"both", btnSep ],[7,"both", btnSep ]],
			cw=[[1,100],[2,70],[3,125],[4, btnWidth ],[5,btnWidth ],[6,btnWidth ],[7,btnWidth ]])
		cmds.text(label=self.text, w=70, al="center")
		self.fieldGui = cmds.floatField( w=100, pre=2 )	
		pop = cmds.popupMenu(parent=self.fieldGui)
		cmds.menuItem(parent=pop, label="0 - 1", c=Callback( self.setMinMax, 0, 1))
		cmds.menuItem(parent=pop, label="0 - 10", c=Callback( self.setMinMax, 0, 10))
		cmds.menuItem(parent=pop, label="-10 - 10", c=Callback( self.setMinMax, -10, 10))		
		cmds.menuItem(parent=pop, label="Set Min/Max")
		cmds.menuItem( divider=1)
		cmds.menuItem(label="Step 1", c=Callback( self.setStep, 1 ))
		cmds.menuItem(label="Step .1", c=Callback( self.setStep, .1 ))
		cmds.menuItem(label="Step .01", c=Callback( self.setStep, .01 ))

		
		self.sliderGui = cmds.floatSlider( w=100, h=20)

		cmds.popupMenu(parent=self.sliderGui)
		cmds.menuItem(label="0 - 1", c=Callback( self.setMinMax, 0, 1))
		cmds.menuItem(label="0 - 10", c=Callback( self.setMinMax, 0, 10))
		cmds.menuItem(label="-10 - 10", c=Callback( self.setMinMax, -10, 10))		
		cmds.menuItem(label="Set Min/Max")
		cmds.menuItem( divider=1)
		cmds.menuItem(label="Step 1", c=Callback( self.setStep, 1 ))
		cmds.menuItem(label="Step .1", c=Callback( self.setStep, .1 ))
		cmds.menuItem(label="Step .01", c=Callback( self.setStep, .01 ))

		
		print("Min Value: " + str(self.attrs.min))
		print("Max Value: " + str(self.attrs.max))
		
		if( self.attrs.min != None ):
			cmds.floatField( self.fieldGui, e=1, min=self.attrs.min )
			cmds.floatSlider( self.sliderGui, e=1, min=self.attrs.min )
		if( self.attrs.max != None ):
			cmds.floatField( self.fieldGui, e=1, max=self.attrs.max )
			cmds.floatSlider( self.sliderGui, e=1, max=self.attrs.max )
			
		cmds.connectControl( self.fieldGui, self.attrNames )
		cmds.connectControl( self.sliderGui, self.attrNames )
		
		cmds.symbolButton(image='MENUICONKEYS.XPM', h=20,
			ann="Keyframe",
			command=Callback(self.key))
		cmds.symbolButton(image='REDRAWPAINTEFFECTS.XPM', h=20,
			ann="Reset to Default",
			command=Callback(self.reset))
		self.symGUI = cmds.symbolCheckBox( image='ONRADIOBTNICON.XPM', h=20,
			oni='ONRADIOBTNICON.XPM',
			ofi='OFFRADIOBTNICON.XPM',
			ann="Set Offset",
			onc=Callback(self.setOffset))
		self.resOffName = cmds.symbolButton(image='AUTOLOAD.XPM', h=20,
			ann="Reset Offset", 
			command=Callback( self.resetOffset ) )
		
		cmds.setParent(self.parent)
예제 #37
0
 def _shadersConnect(self, json):
     """
     Connect the new control to existing control
     """
     cmds.connectControl("shaderspathNameField", self.shaders)
 def patternCoverageControlConnect(self, fullAttributeName):
     cmds.connectControl(self.patternCoverageControlID, fullAttributeName)
     self.patternCoverageControlDimming()
 def twistControlConnect(self, fullAttributeName):
     cmds.connectControl(self.twistControlID, fullAttributeName)
 def scaleProfileControlConnect(self, fullAttributeName):
     cmds.connectControl(self.scaleProfileControlID, fullAttributeName)
예제 #41
0
    def refreshControls(self):
        if cmds.columnLayout(self.column, exists=True):
            cmds.setParent(self.column)

            for rowChild in cmds.columnLayout(
                    self.column, query=True, childArray=True) or []:
                row = self.column + "|" + rowChild
                cmds.deleteUI(rowChild)

            for element in self.listElements:
                elementName = element[1]
                cmds.rowLayout(numberOfColumns=6,
                               adjustableColumn=2,
                               columnWidth6=[50, 160, 160, 180, 180, 110],
                               columnAttach=[(1, 'both', 5), (2, 'both', 5),
                                             (3, 'both', 5), (4, 'both', 5),
                                             (5, 'both', 5), (6, 'both', -5)])
                selectCommand = 'import maya.cmds as cmds\ncmds.select(\'' + elementName + '\')'
                cmds.nodeIconButton(style='iconOnly',
                                    command=selectCommand,
                                    image1=element[0] + '.png')
                cmds.text(label=elementName, align='left')

                cmds.attrColorSliderGrp(label='C:',
                                        at=elementName + '.color',
                                        columnWidth4=[15, 30, 70, 40],
                                        columnAlign=[1, "center"])

                if element[0] == 'MeshLightShelf':
                    cmds.attrFieldSliderGrp(label='I:',
                                            at=elementName + '.intensity',
                                            columnWidth2=[15, 45],
                                            columnAlign=[1, "center"])
                    cmds.attrFieldSliderGrp(label='E:',
                                            at=elementName + '.aiExposure',
                                            columnWidth3=[15, 45, 70],
                                            columnAlign=[1, "center"])
                else:
                    cmds.attrFieldSliderGrp(label='I:',
                                            at=elementName + '.intensity',
                                            columnWidth4=[15, 45, 70, 40],
                                            columnAlign=[1, "center"])
                    cmds.attrFieldSliderGrp(label='E:',
                                            at=elementName + '.aiExposure',
                                            columnWidth4=[15, 45, 70, 40],
                                            columnAlign=[1, "center"])

                cmds.rowLayout(numberOfColumns=2,
                               columnWidth2=[60, 50],
                               columnAttach=[(1, 'both', 0), (2, 'both', 5)])

                cmds.intFieldGrp('lightManager_samples_' + elementName,
                                 label='S:',
                                 columnWidth2=[20, 30],
                                 columnAlign2=['center', 'center'])
                cmds.connectControl('lightManager_samples_' + elementName,
                                    elementName + '.aiSamples',
                                    index=1)
                cmds.connectControl('lightManager_samples_' + elementName,
                                    elementName + '.aiSamples',
                                    index=2)

                cmds.checkBoxGrp('lightManager_visibility_' + elementName,
                                 label="E:",
                                 columnWidth2=[18, 22])
                try:
                    cmds.connectControl('lightManager_visibility_' +
                                        elementName,
                                        elementName + '.visibility',
                                        index=1)
                    cmds.connectControl('lightManager_visibility_' +
                                        elementName,
                                        elementName + '.visibility',
                                        index=2)
                except:
                    pass

                cmds.setParent('..')

                cmds.setParent('..')
예제 #42
0
 def _jsonConnect(self, json):
     """
     Connect the new control to existing control
     """
     cmds.connectControl("jsonpathNameField", self.json)
 def rPolygonInnerRadiusControlConnect(self, fullAttributeName):
     cmds.connectControl(self.rPolygonInnerRadiusControlID, fullAttributeName)
     self.rPolygonInnerRadiusControlDimming()
 def patternScaleSubprofilesControlConnect(self, fullAttributeName):
     cmds.connectControl(self.patternScaleSubprofilesControlID, fullAttributeName)
     self.patternScaleSubprofilesControlDimming()
xscale = cmds.intSliderGrp(f=True, label="Scale X")
zscale = cmds.intSliderGrp(f=True, label="Scale Z")
#Move
ymove = cmds.intSliderGrp(f=True, label="Move Y")
xmove = cmds.intSliderGrp(f=True, label="Move X")
zmove = cmds.intSliderGrp(f=True, label="Move Z")
#Rotate
yrotate = cmds.intSliderGrp(f=True, label="Rotate Y")
xrotate = cmds.intSliderGrp(f=True, label="Rotate X")
zrotate = cmds.intSliderGrp(f=True, label="Rotate Z")
#Layout
cmds.rowColumnLayout(nc=1)
cmds.button(label="Create Box", width=100, c=userBox)
#ScaleEdit
cmds.floatFieldGrp('scale', l='Scale', numberOfFields=3)
cmds.connectControl('scale', '%s.sy' % selected, index=2)
cmds.connectControl('scale', '%s.sx' % selected, index=3)
cmds.connectControl('scale', '%s.sz' % selected, index=4)
#MoveEdit
cmds.floatFieldGrp('move', l='Translate', numberOfFields=3)
cmds.connectControl('move', '%s.ty' % selected, index=2)
cmds.connectControl('move', '%s.tx' % selected, index=3)
cmds.connectControl('move', '%s.tz' % selected, index=4)
#RotateEdit
cmds.floatFieldGrp('rotate', l='Rotate', numberOfFields=3)
cmds.connectControl('rotate', '%s.ry' % selected, index=2)
cmds.connectControl('rotate', '%s.rx' % selected, index=3)
cmds.connectControl('rotate', '%s.rz' % selected, index=4)
#Return to the Main Menu
cmds.button(label="Main Menu", width=100, c=cubeWinVis)
#Close all windows
 def interpolationDistanceControlConnect(self, fullAttributeName):
     cmds.connectControl(self.iterpolationDistanceControlID, fullAttributeName)
     self.interpolationDistanceControlDimming()
예제 #47
0
 def _abcConnect(self, cacheName):
     """
     Connect the new control to existing control
     """
     cmds.connectControl("abcpathNameField", self.cache)
 def rotateProfileControlConnect(self, fullAttributeName):
     cmds.connectControl(self.rotateProfileControlID, fullAttributeName)
예제 #49
0
cmds.formLayout(model_tab, e=True, af=[[resetall_btn,"right", 10],[resetall_btn,"bottom",   10]])
cmds.formLayout(model_tab, e=True, af=[[togctrls_btn,"left",  10],[togctrls_btn,"top",      10]])
cmds.formLayout(model_tab, e=True, af=[[togjoint_btn,"right", 10],[togjoint_btn,"top",      10]])
update_vis_buttons()

## Setup the foot tab ##
cmds.setParent( tab_layout )
feet_tab = cmds.columnLayout( width=WIDTH(), adjustableColumn=True, columnAttach=('both', 5) )

# Left foot title
cmds.separator(style="in", height=10)
cmds.text(label="Left Foot", align="center", height=20)
cmds.separator(style="out", height=10)

slider = cmds.floatSliderGrp( l='Heel Lift', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Heel_Lift' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Heel Roll', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Heel_Roll' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Heel Twist', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Heel_Twist' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Toe Lift', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Toe_Lift' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Toe Roll', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Toe_Roll' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Toe Twist', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Toe_Twist' % 'ctrl_L_leg_ankle' )
slider = cmds.floatSliderGrp( l='Spur Lift', field=True, min=-90, max=90, value=0, cw=[(1,80),(2,60),(3,WIDTH()-160)] )
cmds.connectControl( slider, '%s.Spur_Lift' % 'ctrl_L_leg_ankle' )

# Right foot title
cmds.separator(style="in", height=10)
 def normalsSmoothingControlConnect(self, fullAttributeName):
     cmds.connectControl(self.normalsSmoothingControlID, fullAttributeName)
    def applyBtnCmd(self, *args):
            """
            Overridden from base class
            """
            # determine the type of object to create from radio button index
            self.objIndAsCmd = {1:cmds.polyCube, 2:cmds.polyCone, 
                                3:cmds.polyCylinder, 4:cmds.polySphere}
            # determine the selected radio button from radioButtonGrp self.objType
            objIndex = cmds.radioButtonGrp(self.objType, query=True, select=True)
            # create the selected new poly object
            newObject = self.objIndAsCmd[objIndex]()
            # From this point, you can apply transformation using the float field
            # in an absolute (relative to parent) or as initial transformation at creation

            # Absolute transformation
            # Connecting the translates
            # index 1 is the label, so it begins from index=2
            cmds.connectControl(self.position, '%s.translateX' % newObject[0], index=2) 
            cmds.connectControl(self.position, '%s.translateY' % newObject[0], index=3)
            cmds.connectControl(self.position, '%s.translateZ' % newObject[0], index=4)
            # Connecting the rotations
            cmds.connectControl(self.rotation, '%s.rotateX' % newObject[0], index=2) 
            cmds.connectControl(self.rotation, '%s.rotateY' % newObject[0], index=3)
            cmds.connectControl(self.rotation, '%s.rotateZ' % newObject[0], index=4)
            # Connecting the scales
            cmds.connectControl(self.scale, '%s.scaleX' % newObject[0], index=2) 
            cmds.connectControl(self.scale, '%s.scaleY' % newObject[0], index=3)
            cmds.connectControl(self.scale, '%s.scaleZ' % newObject[0], index=4)
            
            # Initial transformation
#            # Query the values from the fields
#            pos = cmds.floatFieldGrp(self.position, query=True, value=True)
#            rot = cmds.floatFieldGrp(self.rotation, query=True, value=True)
#            scale = cmds.floatFieldGrp(self.scale, query=True, value=True)
#            # apply the transformation
#            cmds.xform(newObject[0], translation=pos, rotation=rot, scale=scale)
            
            # apply vertex colours to the new object, from the color picker of 
            # colorSliderGrp, self.color
            # First, query the colour from self.color
            col = cmds.colorSliderGrp(self.color, query=True, rgbValue=True)
            # Then apply the color to the new object. 
            cmds.polyColorPerVertex(newObject[0], colorRGB=col, 
                                    # enable the mesh to display vertex colors
                                    colorDisplayOption=True)