Example #1
0
def particleLocatorsFromUI():
    '''
	'''
    # Define window
    particleLocatorsUI = 'particleLocatorsWindow'
    if not mc.window(particleLocatorsUI, q=True, ex=True): return

    # Get Particle
    particle = mc.textFieldGrp('partiLoc_particleTFG', q=True, text=True)
    if not particle:
        raise Exception('Particle "' + particle + '" does not exist!!')

    # Get Options
    prefix = mc.textFieldGrp('partiLoc_prefixTFG', q=True, text=True)
    bake = mc.checkBoxGrp('partiLoc_bakeAnimCBG', q=True, v1=True)
    st = mc.intFieldGrp('partiLoc_startEndISG', q=True, v1=True)
    en = mc.intFieldGrp('partiLoc_startEndISG', q=True, v2=True)
    rotate = mc.checkBoxGrp('partiLoc_rotateCBG', q=True, v1=True)
    scale = mc.checkBoxGrp('partiLoc_scaleCBG', q=True, v1=True)

    # Create Locators
    particleLocators(particle,
                     bakeSimulation=bake,
                     rotate=rotate,
                     scale=scale,
                     start=st,
                     end=en,
                     prefix=prefix)
def ui():
	winName = 'setSpcSwc'

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

	cmds.window(winName, title = 'Set Up Space Switching', mnb = False, mxb = False)
	
	cmds.columnLayout(adj = True, rs = 3)

	cmds.rowColumnLayout(numberOfColumns = 2, columnOffset = [2, 'left', 5])
	cmds.frameLayout(label = 'Objects', w = 150)
	cmds.textScrollList('objTxtScrLs', sc = partial(tak_mayaUiUtils.txtScrLsSC, 'objTxtScrLs'), allowMultiSelection = True)
	cmds.popupMenu()
	cmds.menuItem(label = 'Load Sels', c = partial(tak_mayaUiUtils.populateTxtScrList,'textScrollList', 'objTxtScrLs'))
	cmds.setParent('..') # Move to parent layout that is rowColumnLayout.
	cmds.frameLayout(label = 'Target Spaces', w = 150)
	cmds.textScrollList('trgSpcTxtScrLs', sc = partial(tak_mayaUiUtils.txtScrLsSC, 'trgSpcTxtScrLs'), allowMultiSelection = True)
	cmds.popupMenu()
	cmds.menuItem(label = 'Load Sels', c = partial(tak_mayaUiUtils.populateTxtScrList,'textScrollList', 'trgSpcTxtScrLs'))
	cmds.setParent('..') # Move to parent layout that is rowColumnLayout.
	cmds.setParent('..') # Move to parent layout that is columnLayout.

	cmds.checkBoxGrp('cnstChkBoxGrp', label = 'Constraint: ', numberOfCheckBoxes = 3, v1 = True, labelArray3 = ['Parent', 'Point', 'Orient'], columnAlign = [1, 'left'], columnWidth = [(1, 70), (2, 80), (3, 80), (4, 80)], on1 = prntCnstChkBoxOn, on2 = posOriCnstChkBoxOn, on3 = posOriCnstChkBoxOn)

	cmds.button(label = 'Apply', c = main, h = 30)

	cmds.window(winName, e = True, w = 300, h = 100)
	cmds.showWindow(winName)
Example #3
0
def locatorParticlesFromUI():
    '''
	'''
    # Define window
    locParticleUI = 'locatorParticleWindow'
    if not mc.window(locParticleUI, q=True, ex=True): return

    # Get user selection
    sel = mc.ls(sl=True)
    if len(sel) == 1:
        if not mc.objExists(sel[0] + '.localScale'):
            sel = mc.listRelatives(sel[0], c=True, pa=True)
    locList = [i for i in sel if mc.objExists(i + '.localScale')]

    # Get Particle
    particle = mc.textFieldGrp('locParticle_particleTFG', q=True, text=True)
    if not particle: particle = 'nParticle1'
    radius = mc.floatSliderGrp('locParticle_radiusFSG', q=True, v=True)
    selfCollide = mc.checkBoxGrp('locParticle_selfCollideCBG', q=True, v1=True)
    rt = mc.checkBoxGrp('locParticle_rotateCBG', q=True, v1=True)
    sc = mc.checkBoxGrp('locParticle_scaleCBG', q=True, v1=True)

    # Execute generate particle command
    locatorParticles(locList,
                     particle,
                     radius,
                     selfCollide,
                     rotatePP=rt,
                     scalePP=sc)
Example #4
0
	def init(self):
		window = c.window(title='WeatherViz',widthHeight=(400,600));
		#form = c.formLayout(numberOfDivisions=100);
		c.rowColumnLayout(numberOfColumns=1);
		c.checkBoxGrp('weatherPanel', label='Weather');
		c.checkBox('snowCheck', label='Snow', onc=self.snow.init, ofc=self.snow.remove, p='weatherPanel');
		c.checkBox('rainCheck', label='Rain', onc=self.rain.init, ofc=self.rain.remove, p='weatherPanel');
		c.checkBox('windCheck', label='Wind', onc=self.wind.init, ofc=self.wind.remove, p='weatherPanel');
		c.button('collButton', label='Add collision', c=self.addCollision);


		#s1 = c.floatSliderGrp('snowTurb',label='Snow turbulence', field=True, value=5, dc=self.slider_drag_callback, min=0, max=10);
		c.floatSliderGrp('snowIntens',label='Snow Intencity', field=True, value=200, dc=self.slider_drag_callback, min=0, max=1000, en=False);
		c.floatSliderGrp('rainIntens',label='Rain Intencity', field=True, value=200, dc=self.slider_drag_callback, min=0, max=1000, en=False);
		c.floatSliderGrp('snowTurbSlider',label='Turbulence', field=True, value=1, dc=self.slider_drag_callback, min=0, max=100, en=False);
		c.floatSliderGrp('airMSlider',label='Wind Magnitude', field=True, value=30, dc=self.slider_drag_callback, min=0, max=100, en=False);
		c.floatSliderGrp('airMxdSlider',label='Wind Distance', field=True, value=20, dc=self.slider_drag_callback, min=0, max=100, en=False);
		#c.formLayout(form, edit=True, attachPosition=[(s1, 'top', 20, 1)]);
		#c.formLayout(form, edit=True, attachPosition=[(s2, 'top', 20, 1)]);
		
		c.textField("WeatherViz_HDR_Path_textField", cc=_WeatherViz_HDR_Path_textField__changeCommand)
		c.button("WeatherViz_HDR_Path_button", label="...", al="center", command=_WeatherViz_HDR_Path_button__command)
		
		WeatherViz_HDR_Path = c.optionVar(q="WeatherViz_HDR_Path")
		if WeatherViz_HDR_Path:
			c.textField("WeatherViz_HDR_Path_textField", edit=True, text=WeatherViz_HDR_Path)
			
		c.showWindow(window);
		c.windowPref(enableAll=True)
Example #5
0
def settingsUI():
    """Populate a parent form layout with UI controls for our traversal set.
    """
    
    readFromGlobalsNode()
    
    global renderRepName
    global renderRepLabel
    global renderRepType    
    global useRegularExpression    
    
    # Get our parent layout, which will be a form layout.
    traversalSetLayout = cmds.setParent(query=True)
   
    repName = cmds.textFieldGrp(ad2=2, label=maya.stringTable['y_adskPrepareRender.kSceneAssemblyRenderSettingRepName'], text=renderRepName)    
    repLabel = cmds.textFieldGrp(ad2=2, label=maya.stringTable['y_adskPrepareRender.kSceneAssemblyRenderSettingRepLabel'],text=renderRepLabel)
    repType = cmds.textFieldGrp(ad2=2, label=maya.stringTable['y_adskPrepareRender.kSceneAssemblyRenderSettingRepType'],text=renderRepType)
    useRegExp = cmds.checkBoxGrp(numberOfCheckBoxes=1, label=maya.stringTable['y_adskPrepareRender.kSceneAssemblyRenderSettingRgEx'], label1='', value1=useRegularExpression)
    cmds.textFieldGrp(repName, edit=True, changeCommand=('maya.app.sceneAssembly.adskPrepareRender.repNameChanged(\"' + repName + '\")'))    
    cmds.textFieldGrp(repLabel, edit=True, changeCommand=('maya.app.sceneAssembly.adskPrepareRender.repLabelChanged(\"' + repLabel + '\")'))
    cmds.textFieldGrp(repType, edit=True, changeCommand=('maya.app.sceneAssembly.adskPrepareRender.repTypeChanged(\"' + repType + '\")'))
    cmds.checkBoxGrp(useRegExp, edit=True, changeCommand=('maya.app.sceneAssembly.adskPrepareRender.useRegExChkBoxChanged(\"' + useRegExp + '\")'))

    cmds.formLayout(
        traversalSetLayout, edit=True,
        attachForm=[(repName,  'top',  0),
                    (repName,  'left', 0), (repName,  'right', 0),
                    (repLabel, 'left', 0), (repLabel, 'right', 0),
                    (repType,  'left', 0), (repType,  'right', 0),
                    (useRegExp, 'left', 135), (useRegExp, 'right', 0)],
        attachControl=[(repLabel,  'top', 0, repName),
                       (repType, 'top', 0, repLabel),
                       (useRegExp, 'top', 0, repType)])

    return
Example #6
0
def pref_ui():
    if cmds.window("pref", exists=True):
        cmds.deleteUI("pref")
    cmds.window("pref", title="Generate Pref v1.0", width=200, height=250)
    cmds.columnLayout(adjustableColumn=True)
    cmds.text(label='')
    cmds.text(label='Bhavesh Budhkar    ', align='right')
    cmds.text(label='[email protected]    ', align='right')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='Generate Pref for Arnold')
    cmds.text(label='')
    cmds.text(label='    1. Drag and select mesh on viewport', align='left')
    cmds.text(label='    2. Select one or both DCCs', align='left')
    cmds.text(label='    3. Type frame number', align='left')
    cmds.text(label='    4. Generate Pref', align='left')
    cmds.text(label='')
    cmds.checkBoxGrp("dcc",
                     numberOfCheckBoxes=2,
                     label='DCC:',
                     labelArray2=['MtoA', 'HtoA/Alembic'],
                     columnAlign=(1, "center"),
                     value1=True,
                     columnWidth3=(50, 70, 130))
    cmds.intFieldGrp("frame",
                     label="Frame:",
                     value1=cmds.currentTime(query=True),
                     columnAlign=(1, "center"),
                     columnWidth2=(50, 180))
    cmds.text(label='')
    cmds.button(label='Generate Pref', command="generate_pref()")
    cmds.button(label='Delete Pref', command="delete_pref(shape())")
    cmds.button(label='Close',
                command=('cmds.deleteUI(\"' + "pref" + '\", window=True)'))
    cmds.showWindow("pref")
Example #7
0
def jpmAutoClusterCurve():
    winName = "jpAutoClusterCurve"
    if (cmds.window(winName, exists=True)):
        cmds.deleteUI(winName)
    cmds.window(winName, t="Auto Cluster Curve v1.1", wh=(200, 70), rtf=1)

    cmds.rowColumnLayout(nc=1, w=210, cw=(1, 210))
    cmds.text(label="Manipulator Type")
    cmds.radioButtonGrp("manipulatorType",
                        w=300,
                        h=25,
                        nrb=3,
                        cw=((1, 60), (2, 50), (3, 100)),
                        cal=((1, "left"), (2, "left"), (3, "left")),
                        l1="Locator",
                        l2="Circle",
                        l3="Last Selected",
                        sl=2)
    cmds.text(label="Control Type")
    cmds.radioButtonGrp("parentConstrainGrp",
                        w=300,
                        h=25,
                        nrb=3,
                        cw=((1, 60), (2, 75), (3, 60)),
                        l1="Parent",
                        l2="Constrain",
                        l3="Connect",
                        sl=1)
    cmds.checkBoxGrp("groupResultsGrp", ncb=1, label="Group Results")
    cmds.button("clusterizeButton",
                w=50,
                l="Clusterize",
                c="jpmACcollectAndCall()")

    cmds.showWindow(winName)
Example #8
0
    def refresh(self):
        # PrimPath
        cmds.textFieldGrp(self.primPath,
                          edit=True,
                          text=str(self.prim.GetPath()))

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

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

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

        # All other metadata types
        for k in self.extraMetadata:
            v = self.prim.GetMetadata(
                k) if k != 'customData' else self.prim.GetCustomData()
            cmds.textFieldGrp(self.extraMetadata[k], edit=True, text=str(v))
Example #9
0
def attachToCurveFromUI(close=False):
    """
    Execute attachToCurve() from UI
    """
    # Window
    window = 'attachToCurveUI'
    if not cmds.window(window, q=True, ex=1): raise UIError('AttachToCurve UI does not exist!!')
    # Get UI data
    curve = cmds.textFieldGrp('attachToCurveTFB', q=True, text=True)
    transform = cmds.textFieldGrp('attachToCurveTransformTFB', q=True, text=True)
    prefix = cmds.textFieldGrp('attachToCurvePrefixTFG', q=True, text=True)
    closestPoint = cmds.checkBoxGrp('attachToCurveClosestPointCBG', q=True, v1=True)
    param = cmds.floatSliderGrp('attachToCurveParamFSG', q=True, v=True)
    paramAttr = cmds.textFieldGrp('attachToCurveParamAttrTFG', q=True, text=True)
    orient = cmds.checkBoxGrp('attachToCurveOrientCBG', q=True, v1=True)
    upVec = (cmds.floatFieldGrp('attachToCurveUpVecFFG', q=True, v1=True),
             cmds.floatFieldGrp('attachToCurveUpVecFFG', q=True, v2=True),
             cmds.floatFieldGrp('attachToCurveUpVecFFG', q=True, v3=True))
    upVecObj = cmds.textFieldButtonGrp('attachToCurveUpVecObjTFG', q=True, text=True)
    # Check curve
    if not glTools.utils.curve.isCurve(curve):
        raise UserInputError('Object "' + curve + '" is not a valid nurbs curve!!')
    glTools.utils.attach.attachToCurve(curve=curve, transform=transform, uValue=param, useClosestPoint=closestPoint,
                                       orient=orient, upVector=upVec, worldUpObject=upVecObj, uAttr=paramAttr,
                                       prefix=prefix)
    # Cleanup
    if close: cmds.deleteUI(window)
def doOptions(input_referenceObject, input_rotateOrder, input_axis, input_referenceAxis, input_normalizeAxes):
	"""This is the function called when the apply or create button is clicked"""
	try:
		# validate selection
		utils.dg.validateSelection(type='transform', exact=1)
		
		# validate reference object
		referenceObject = cmds.textFieldGrp(input_referenceObject, q=True, tx=True)
		if len(referenceObject) > 0: utils.dg.verifyNode(referenceObject)
		
		# call the command
		if len(referenceObject) > 0:
			cmds.am_exposeTransform(
				ref=referenceObject, 
				ro=utils.kRotateOrderMapping[cmds.optionMenuGrp(input_rotateOrder, q=True, v=True)], 
				a=cmds.floatFieldGrp(input_axis, q=True, v=True), 
				ra=cmds.floatFieldGrp(input_referenceAxis, q=True, v=True), 
				na=cmds.checkBoxGrp(input_normalizeAxes, q=True, v1=True))
		else:
			cmds.am_exposeTransform(
				ro=utils.kRotateOrderMapping[cmds.optionMenuGrp(input_rotateOrder, q=True, v=True)], 
				a=cmds.floatFieldGrp(input_axis, q=True, v=True), 
				ra=cmds.floatFieldGrp(input_referenceAxis, q=True, v=True), 
				na=cmds.checkBoxGrp(input_normalizeAxes, q=True, v1=True))
	except: raise
Example #11
0
def defaultButtonPush(args):
    '''
    Calls the procedure cityGenerator.city(...) with the user specified 
    arguments.
    
    args: Dummy argument needed to satisfy the command interface.
    On exit: The cityGenerator.city(...) procedure has been called with
             the arguments specified by the user. 
    '''
    Name_ = cmds.textField("cityName", query = True, text = True)
    if Name_ == "":
        Name_ = "Helsinki"
    cityWidth = cmds.intSliderGrp("cityWidth", query = True, value = True)
    cityDepth = cmds.intSliderGrp("cityDepth", query = True, value = True)
    minHeight = cmds.intSliderGrp("minHeight", query = True, value = True)
    maxHeight = cmds.intSliderGrp("maxHeight", query = True, value = True)
    minWidth = cmds.intSliderGrp("minWidth", query = True, value = True)
    maxWidth = cmds.intSliderGrp("maxWidth", query = True, value = True)
    windows = cmds.checkBoxGrp("features", query = True, v1 = True)
    booleans = cmds.checkBoxGrp("features", query = True, v2 = True)
    deformers = cmds.checkBoxGrp("features", query = True, v3 = True)
    dayTime = cmds.checkBoxGrp("time", query = True, v1=True)
    glow = cmds.checkBoxGrp("time", query = True, v3=True)
    environment = cmds.colorSliderGrp("environment", query = True, rgbValue = True)
    colourRangeStart = (cmds.intSliderGrp("hue1", query = True, value = True),
    cmds.floatSliderGrp("saturation1", query = True, value = True), 
    cmds.floatSliderGrp("value1", query = True, value = True))
    colourRangeEnd = (cmds.intSliderGrp("hue2", query = True, value = True),
    cmds.floatSliderGrp("saturation2", query = True, value = True), 
    cmds.floatSliderGrp("value2", query = True, value = True))
    cityGenerator.city(Name_, (cityWidth,cityDepth),(minHeight,maxHeight),
    (minWidth,maxWidth), windows, booleans, deformers, dayTime, glow, environment,(colourRangeStart,colourRangeEnd))    
Example #12
0
def locatorParticlesUI():
    """
    """
    # Define window
    locParticleUI = 'locatorParticleWindow'
    if cmds.window(locParticleUI, q=True, ex=True): cmds.deleteUI(locParticleUI)
    locParticleUI = cmds.window(locParticleUI, t='Generate Particles')

    # UI Layout
    cmds.columnLayout(adj=False, cal='left')
    partiTFG = cmds.textFieldGrp('locParticle_particleTFG', label='Particle', text='', cw=[(1, 100)])
    radiusFFG = cmds.floatSliderGrp('locParticle_radiusFSG', label='radius', f=True, min=0.1, max=10.0, fmn=0.01,
                                  fmx=100.0, pre=2, v=1.0, cw=[(1, 100)])
    rotateLocCBG = cmds.checkBoxGrp('locParticle_rotateCBG', label='Add rotatePP', ncb=1, v1=0, cw=[(1, 100)])
    scaleLocCBG = cmds.checkBoxGrp('locParticle_scaleCBG', label='Add scalePP', ncb=1, v1=0, cw=[(1, 100)])
    selfCollideCBG = cmds.checkBoxGrp('locParticle_selfCollideCBG', label='self collide', ncb=1, v1=0, cw=[(1, 100)])

    cmds.button(l='Create Particles', c='glTools.tools.generateParticles.locatorParticlesFromUI()')

    # Popup menu
    cmds.popupMenu(parent=partiTFG)
    for p in cmds.ls(type=['particle', 'nParticle']):
        cmds.menuItem(p, c='cmds.textFieldGrp("' + partiTFG + '",e=True,text="' + p + '")')

    # Show Window
    cmds.showWindow(locParticleUI)
Example #13
0
def copyTransform():
    if mc.window("IC_copyTransforms", exists=1):
        mc.deleteUI("IC_copyTransforms")

    _winID = mc.window("IC_copyTransforms",
                       title="IC_copyTransforms",
                       wh=[240, 240],
                       s=0,
                       mxb=0)
    mc.columnLayout(columnAttach=('both', 5), rowSpacing=5, columnWidth=230)
    _translateCB = mc.checkBoxGrp("tCB",
                                  ncb=3,
                                  l="Translate",
                                  la3=["x", "y", "z"],
                                  cl4=["left", "left", "left", "left"],
                                  cw4=[70, 50, 50, 50])
    _rotateCB = mc.checkBoxGrp("rCB",
                               ncb=3,
                               l="Rotate",
                               la3=["x", "y", "z"],
                               cl4=["left", "left", "left", "left"],
                               cw4=[70, 50, 50, 50])
    _scaleCB = mc.checkBoxGrp("sCB",
                              ncb=3,
                              l="Scale",
                              la3=["x", "y", "z"],
                              cl4=["left", "left", "left", "left"],
                              cw4=[70, 50, 50, 50])
    _btn1 = mc.button("ok",
                      label="copy 1 -=> 2",
                      command="OCT_generel.copyIt()")
    mc.showWindow(_winID)
Example #14
0
def ui():
    """
    user interface for ml_copyAnim
    """

    with utl.MlUi(
        "ml_copyAnim",
        "Copy Animation",
        width=400,
        height=120,
        info="""Copy animation across single nodes, or hierarchies based on name.
Highlight the timeline to copy just that part of the animation.""",
    ) as win:

        mc.checkBoxGrp(
            "ml_copyAnim_layer_checkBox",
            label="Copy To New Layer",
            annotation="Create a new animation layer to copy the curves into, preserving the original animation.",
        )
        win.ButtonWithPopup(
            label="Copy Single",
            command=copySingle,
            annotation="Copy animation from one object to another.",
            shelfLabel="cpAn",
            shelfIcon="defaultTwoStackedLayout",
            readUI_toArgs={"addToLayer": "ml_copyAnim_layer_checkBox"},
        )
        win.ButtonWithPopup(
            label="Copy Hierarchy",
            command=copyHierarchy,
            annotation="Uses name matching to copy animation across hierarchies.",
            shelfLabel="cpAn",
            shelfIcon="defaultTwoStackedLayout",
            readUI_toArgs={"addToLayer": "ml_copyAnim_layer_checkBox"},
        )
Example #15
0
def edgeLoopCurveUI():
	'''
	UI for edgeLoopCurve()
	'''
	# Window
	window = 'edgeLoopCurveUI'
	if mc.window(window,q=True,ex=1): mc.deleteUI(window)
	window = mc.window(window,t='Edge Loop Curve')
	
	# Layout
	CL = mc.columnLayout()
	# Prefix
	prefixTFG = mc.textFieldGrp('edgeLoopCurvePrefixTFG',label='Prefix',text='')
	# Rebuild
	rebuildCBG = mc.checkBoxGrp('edgeLoopCurveRebuildCBG',numberOfCheckBoxes=1,label='Rebuild Curve',v1=True)
	# Span Count
	spanISG = mc.intSliderGrp('edgeLoopCurveSpanISG',field=True,label='Rebuild Spans',minValue=0,maxValue=10,fieldMinValue=0,fieldMaxValue=100,value=0,en=1)
	
	# Toggle UI element
	mc.checkBoxGrp('edgeLoopCurveRebuildCBG',e=True,cc='mc.intSliderGrp("edgeLoopCurveSpanISG",e=1,en=(not mc.intSliderGrp("edgeLoopCurveSpanISG",q=1,en=1)))')
	
	# Buttons
	createB = mc.button('edgeLoopCurveCreateB',l='Create',c='glTools.ui.curve.edgeLoopCurveFromUI(False)')
	createCloseB = mc.button('edgeLoopCurveCreateCloseB',l='Create and Close',c='glTools.ui.curve.edgeLoopCurveFromUI(True)')
	cancelB = mc.button('edgeLoopCurveCancelB',l='Cancel',c='mc.deleteUI("'+window+'")')
	
	# Show Window
	mc.showWindow(window)
Example #16
0
 def cancelUI(self, *args):
     self.dict["note"] = "__CANCEL__"
     self.dict["cam"] = cmds.checkBoxGrp(self.cam, q=True, v1=True)
     self.dict["shd"] = cmds.checkBoxGrp(self.shd, q=True, v1=True)
     # self.dict["rig"] = cmds.checkBoxGrp(self.rig, q=True, v1=True)
     # self.dict["freeze"] = cmds.checkBoxGrp(self.freeze, q=True, v1=True)
     cmds.layoutDialog(dismiss="cancel")
Example #17
0
def get_ui_values():
    global engine_path, folder, file_name, export_batch, resolution_x, resolution_y, exposure, gamma, \
        ray_number, time, seed, export_animation, start_frame, end_frame, export_normals, invert_normals, check_Z, materials
        
    engine_path = cmds.textFieldButtonGrp(engine_field, query=True, text=True)
    folder = cmds.textFieldButtonGrp(directory_field, query=True, text=True)
    file_name = cmds.textFieldGrp(file_field, query=True, text=True)
    
    export_batch = cmds.checkBoxGrp(batch_field, query=True, value1=True)
    
    resolution_x = cmds.intFieldGrp(resolution_field, query=True, value1=True)
    resolution_y = cmds.intFieldGrp(resolution_field, query=True, value2=True)
    exposure = cmds.floatSliderGrp(exposure_field, query=True, value=True)
    gamma = cmds.floatSliderGrp(gamma_field, query=True, value = True)
    ray_number = cmds.intSliderGrp(rays_field, query=True, value=True)
    seed = cmds.intSliderGrp(seed_field, query=True, value=True)
    time = cmds.intSliderGrp(time_field, query=True, value=True)
    export_animation = cmds.checkBoxGrp(animation_field, query=True, value1=True)
    start_frame =  cmds.intFieldGrp(frame_range_field, query=True, value1=True)
    end_frame =  cmds.intFieldGrp(frame_range_field, query=True, value2=True)
    export_normals = cmds.checkBoxGrp(normals_export_field, query=True, value1=True)
    invert_normals = cmds.checkBoxGrp(normals_invert_field, query=True, value1=True)
    check_Z = cmds.checkBoxGrp(check_Z_field, query = True, value1=True)
    
    materials = []
    for mat in range(5):
        materials.append(cmds.floatFieldGrp(eval('material_%i_field' % (mat)), query=True, value=True))
Example #18
0
    def switchFromUI(self, ctrl):
        """
        Switch a spaces nodes to the specified target from the spaces UI
        @param ctrl: Control whose spaces target will be switched
        @type ctrl: str
        """
        # Determine spaces node
        spacesNode = self.getSpacesNode(ctrl)
        tag = cmds.getAttr(spacesNode + '.nameTag')

        # Query Target
        # !!! optionMenu command no longer allows access to attrEnumOptionMenu !!!
        # target = cmds.optionMenu(tag+'_switchAEO',q=True,v=True)
        targetIndex = cmds.getAttr(cmds.attrEnumOptionMenu(tag + '_switchAEO', q=True, dtg=True))
        target = self.targetList(spacesNode)[targetIndex]

        # Check keyframe options
        key = cmds.checkBoxGrp(self.uiKeyCBG, q=True, v1=True)
        keyPrevious = cmds.checkBoxGrp(self.uiKeyPreviousCBG, q=True, v1=True)

        # Check offset options
        maintainPos = cmds.checkBoxGrp(self.uiMaintainPosCBG, q=True, v1=True)

        # Do switch
        self.switch(ctrl, target, key, keyPrevious, maintainPos)
Example #19
0
def particleLocatorsUI():
    """
    """
    # Get current frame range
    start = cmds.playbackOptions(q=True, min=True)
    end = cmds.playbackOptions(q=True, max=True)

    # Define window
    particleLocatorsUI = 'particleLocatorsWindow'
    if cmds.window(particleLocatorsUI, q=True, ex=True): cmds.deleteUI(particleLocatorsUI)
    particleLocatorsUI = cmds.window(particleLocatorsUI, t='Generate Locators')

    # UI Layout
    cmds.columnLayout(adj=False, cal='left')
    partiTFG = cmds.textFieldGrp('partiLoc_particleTFG', label='Particle', text='', cw=[(1, 120)])
    prefixTFG = cmds.textFieldGrp('partiLoc_prefixTFG', label='Prefix', text='', cw=[(1, 120)])
    bakeAnicmdsBG = cmds.checkBoxGrp('partiLoc_bakeAnicmdsBG', label='Bake Animation', ncb=1, v1=0, cw=[(1, 120)])
    startEndIFG = cmds.intFieldGrp('partiLoc_startEndISG', nf=2, label='Frame Range', v1=start, v2=end, cw=[(1, 120)])

    rotateLocCBG = cmds.checkBoxGrp('partiLoc_rotateCBG', label='Rotate (rotatePP)', ncb=1, v1=0, cw=[(1, 120)])
    scaleLocCBG = cmds.checkBoxGrp('partiLoc_scaleCBG', label='Scale (scalePP)', ncb=1, v1=0, cw=[(1, 120)])

    cmds.button(l='Create Locators', c='glTools.tools.generateParticles.particleLocatorsFromUI()')

    # Popup menu
    cmds.popupMenu(parent=partiTFG)
    for p in cmds.ls(type=['particle', 'nParticle']):
        cmds.menuItem(p, c='cmds.textFieldGrp("' + partiTFG + '",e=True,text="' + p + '")')

    # Show Window
    cmds.showWindow(particleLocatorsUI)
Example #20
0
def get_reference_list_UI(versionUp=True, origScene=None, *args):
    """
    make a little ui to select references to export
    """    
    if cmds.window("getRefWin", exists=True):
        cmds.deleteUI("getRefWin")
    h=200
    win = cmds.window("getRefWin", t=" References to Export", w=400, h=h+50, rtf=True)
    mainCLO = cmds.columnLayout(w=400, h=300,)
    cmds.text("Current References in the scene. Check the ones you'd like to export", al="left")
    cmds.separator(h=10)
    cmds.frameLayout(w=400, h=h+20, cll=False, l="References to Export")
    floCLO = cmds.columnLayout(h=h)
    cmds.scrollLayout(w=400, h=h)
    column = cmds.columnLayout(w=395, bgc=(.3, .3, .3))
    for ref in sorted(cmds.file(q=True, reference=True)):
        rfn = cmds.referenceQuery(ref, rfn=True)
        cmds.checkBoxGrp(l=rfn, v1=True, cal=[(1, "left"), (2, "left")], cw=[(1, 350),(2, 25)])

    cmds.setParent(mainCLO)
    cmds.separator(h=20)
    cmds.rowColumnLayout(nc=2, w=400)
    selAllBut = cmds.button(l="Select All", w=200, h=20, bgc=(.5,.5,.5), c=partial(select_all_cbs, column, 1))
    deselAllBut = cmds.button(l="Deselect All", w=200, h=20, bgc=(.5,.5,.5), c=partial(select_all_cbs, column, 0))
    cmds.setParent(mainCLO)
    expBut = cmds.button(l="Publish Files to MB and FBX!", w=400, h=40, bgc=(.5,.7,.5), c=partial(pull_refs_from_ui, column, versionUp, origScene))

    cmds.window(win, e=True, w=5, h=5, rtf=True)
    cmds.showWindow(win)
Example #21
0
 def simpleTemplateEditorNodeNameEnable(*args):
     x = cmds.checkBoxGrp(chkBox2, q=1, v1=1)
     cmds.textField(textFld2,
                    e=1,
                    enable=(cmds.checkBoxGrp(chkBox2, q=1, v1=1)))
     if x == 1:
         cmds.textField(textFld2, e=1, enable=1)
Example #22
0
def updateBasicData():
    """
    """
    # Check SkinClusterData
    skinData = glTools.gl_global.glSkinClusterData
    if not skinData:
        print('No SkinClusterData to load...')
        return

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

    # Update Basic SkinCluster Data
    skinData._data['attrValueDict']['skinningMethod'] = skinMethod - 1
    skinData._data['attrValueDict']['useComponents'] = useComponents
    skinData._data['attrValueDict']['normalizeWeights'] = normalizeWt - 1
    skinData._data['attrValueDict']['deformUserNormals'] = deformNormal
Example #23
0
def get_reference_list_UI(versionUp=True, origScene=None, *args):
    if cmds.window("getRefWin", exists=True):
        cmds.deleteUI("getRefWin")

    win = cmds.window("getRefWin",
                      t=" References to Export",
                      w=400,
                      h=300,
                      rtf=True)
    cmds.scrollLayout(w=400, h=300)
    column = cmds.columnLayout(w=380, h=600)
    for ref in cmds.file(q=True, reference=True):
        rfn = cmds.referenceQuery(ref, rfn=True)
        cmds.checkBoxGrp(l=rfn,
                         v1=True,
                         cal=[(1, "left"), (2, "left")],
                         cw=[(1, 350), (2, 25)])

    cmds.separator(h=20)
    but = cmds.button(l="Publish Files to MB and FBX!",
                      w=380,
                      h=30,
                      c=partial(pull_refs_from_ui, column, versionUp,
                                origScene))
    cmds.showWindow(win)
Example #24
0
def options_pass(*args):
    xfersDo, shpsDo = cmds.checkBoxGrp(widgets["shapeCBG"],
                                       q=True,
                                       valueArray2=True)
    inputs, outputs = cmds.checkBoxGrp(widgets["inOutCBG"],
                                       q=True,
                                       valueArray2=True)

    sel = cmds.ls(sl=True)
    if len(sel) != 2:
        cmds.warning(
            "You don't have two things selected! (source, then target)")
        return ()

    srcX = sel[0]
    tgtX = sel[1]

    if xfersDo:
        transfer_connections_do(srcX, tgtX, inputs, outputs)

    if shpsDo:
        # options for checkbox would go here. . .
        srcShp = cmds.listRelatives(srcX, s=True)[0]
        tgtShp = cmds.listRelatives(tgtX, s=True)[0]
        transfer_connections_do(srcShp, tgtShp, inputs, outputs)
Example #25
0
def match(*args):
    # get the state of options
    modeOpt = cmds.optionMenu('modeOptMenu', q=True, v=True)
    tOpt = cmds.checkBoxGrp('optChkGrp', q=True, v1=True)
    rOpt = cmds.checkBoxGrp('optChkGrp', q=True, v2=True)
    sOpt = cmds.checkBoxGrp('optChkGrp', q=True, v3=True)
    mOpt = cmds.checkBox('mirChk', q=True, v=True)
    loOpt = cmds.checkBox('loChk', q=True, v=True)
    rvrsOpt = cmds.checkBox('rvrsSel', q=True, v=True)

    selList = cmds.ls(orderedSelection=True)
    # if first selected item is component, trackSlectionOrder
    if '[' in selList[0]: cmds.selectPref(trackSelectionOrder=True)
    src = selList[0]
    trg = selList[1]

    if rvrsOpt:
        src, trg = trg, src

    if modeOpt == 'Xform':
        matchWithXfrom(tOpt, rOpt, sOpt, mOpt, src, trg, loOpt)
    else:
        matchWithConst(tOpt, rOpt, sOpt, src, trg)

    cmds.select(trg, r=True)
Example #26
0
 def update_stored_values(): 
     settings["custom_node"] = cmds.optionMenu(custom_node_menu, q=True, value=True)
     settings["status_use_reverse_node"] = cmds.checkBoxGrp(rev_disc_check_box_grp, q=True, value1=True)
     settings["status_disconnect"] = cmds.checkBoxGrp(rev_disc_check_box_grp, q=True, value2=True)
     settings["input_node_type"] = cmds.optionMenu(ctrl_node_output, q=True, value=True)
     settings["status_add_input"] = cmds.checkBox(add_ctrl_node, q=True, value=True)
     settings["status_force_connection"] = cmds.checkBox(forcing_connection_checkbox, q=True, value=True)
Example #27
0
def transfer_connections_UI(*args):
    if cmds.window("xferConWin", exists=True):
        cmds.deleteUI("xferConWin")

    widgets["win"] = cmds.window("xferConWin", w=200, rtf=True)
    widgets["clo"] = cmds.columnLayout()
    cmds.separator(h=10)
    widgets["shapeCBG"] = cmds.checkBoxGrp(ncb=2,
                                           labelArray2=("transforms?",
                                                        "shapes?"),
                                           cw=[(1, 100), (2, 100)],
                                           valueArray2=(1, 1),
                                           cal=[(1, "left"), (2, "left")])
    cmds.separator(h=10)
    widgets["inOutCBG"] = cmds.checkBoxGrp(ncb=2,
                                           labelArray2=("inputs?", "outputs?"),
                                           cw=[(1, 100), (2, 100)],
                                           valueArray2=(0, 1),
                                           cal=[(1, "left"), (2, "left")])
    cmds.separator(h=10)
    widgets["xferBut"] = cmds.button(l="Transfer Connections",
                                     w=200,
                                     h=40,
                                     bgc=(.7, .5, .5),
                                     c=options_pass)

    cmds.window(widgets["win"], e=True, w=5, h=5, rtf=True)
    cmds.showWindow(widgets["win"])
Example #28
0
def ui():
    '''
    User interface for stopwatch
    '''

    with utl.MlUi('ml_stopwatch',
                  'Stopwatch',
                  width=400,
                  height=175,
                  info='''Press the start button to start recording.
Continue pressing to set marks.
When finished, press the stop button and the report will pop up.''') as win:

        mc.checkBoxGrp('ml_stopwatch_round_checkBox',
                       label='Round to nearest frame',
                       value1=True,
                       annotation='Only whole number frames')

        mc.text('ml_stopwatch_countdown_text', label='Ready...')

        mc.button('ml_stopwatch_main_button', label='Start', height=80)
        _setButtonStart()
        mc.button(label='Stop',
                  command=_stopButton,
                  annotation='Stop the recording.')
Example #29
0
def ui():
    '''
    user interface for ml_copyAnim
    '''

    with utl.MlUi(
            'ml_copyAnim',
            'Copy Animation',
            width=400,
            height=120,
            info=
            '''Copy animation across single nodes, or hierarchies based on name.
Highlight the timeline to copy just that part of the animation.''') as win:

        mc.checkBoxGrp(
            'ml_copyAnim_layer_checkBox',
            label='Copy To New Layer',
            annotation=
            'Create a new animation layer to copy the curves into, preserving the original animation.'
        )
        win.ButtonWithPopup(
            label='Copy Single',
            command=copySingle,
            annotation='Copy animation from one object to another.',
            shelfLabel='cpAn',
            shelfIcon='defaultTwoStackedLayout',
            readUI_toArgs={'addToLayer': 'ml_copyAnim_layer_checkBox'})
        win.ButtonWithPopup(
            label='Copy Hierarchy',
            command=copyHierarchy,
            annotation=
            'Uses name matching to copy animation across hierarchies.',
            shelfLabel='cpAn',
            shelfIcon='defaultTwoStackedLayout',
            readUI_toArgs={'addToLayer': 'ml_copyAnim_layer_checkBox'})
Example #30
0
	def EditBlendShape(self):
		targetBlendShape=cmds.listAttr(self.BlendShape[0]+'.weight',multi=True)
		#[cmds.setAttr(self.BlendShape[0] +'.'+ i,0) for i in targetBlendShape]
		InbetweenField = cmds.getAttr(self.BlendShape[0] +'.'+self.tragetBlendShape)

		if cmds.checkBoxGrp('Inbetween',query=True,v1=True) == 1:		
			set = float(InbetweenField)
		else:
			set = float(self.targetInbetween[0])

		if cmds.checkBoxGrp('Inbetween',query=True,v1=True) == 1:		
			BindPose = self.blendShapeMesh+'_inbetweenBindPose_'+self.tragetBlendShape
		else:
			BindPose = self.blendShapeMesh+'_inBindPose_'+self.tragetBlendShape

		duplicateMesh(self.blendShapeMesh,BindPose)

		cmds.setAttr(self.BlendShape[0] +'.'+self.tragetBlendShape,set)

		vertex = cmds.polyEvaluate(self.blendShapeMesh,vertex=True)
		int(vertex)
		for v in range(vertex) :
			ployPosition=cmds.pointPosition(self.blendShapeMesh +'.vtx[%d]' %v,w =True)
			cmds.move(ployPosition[0],ployPosition[1],ployPosition[2],BindPose+'.vtx[%d]' %v)
		SculptGeometryTool = "SculptGeometryTool"
		mel.eval(SculptGeometryTool)
		cmds.setAttr(self.blendShapeMesh+'.v',0)
		cmds.select(BindPose)
Example #31
0
def get_ui_values():
    global engine_path, folder, file_name, export_batch, resolution_x, resolution_y, exposure, gamma, \
        ray_number, time, seed, export_animation, start_frame, end_frame, export_normals, invert_normals, check_Z, materials
        
    engine_path = cmds.textFieldButtonGrp(engine_field, query=True, text=True)
    folder = cmds.textFieldButtonGrp(directory_field, query=True, text=True)
    file_name = cmds.textFieldGrp(file_field, query=True, text=True)
    
    export_batch = cmds.checkBoxGrp(batch_field, query=True, value1=True)
    
    resolution_x = cmds.intFieldGrp(resolution_field, query=True, value1=True)
    resolution_y = cmds.intFieldGrp(resolution_field, query=True, value2=True)
    exposure = cmds.floatSliderGrp(exposure_field, query=True, value=True)
    gamma = cmds.floatSliderGrp(gamma_field, query=True, value = True)
    ray_number = cmds.intSliderGrp(rays_field, query=True, value=True)
    seed = cmds.intSliderGrp(seed_field, query=True, value=True)
    time = cmds.intSliderGrp(time_field, query=True, value=True)
    export_animation = cmds.checkBoxGrp(animation_field, query=True, value1=True)
    start_frame =  cmds.intFieldGrp(frame_range_field, query=True, value1=True)
    end_frame =  cmds.intFieldGrp(frame_range_field, query=True, value2=True)
    export_normals = cmds.checkBoxGrp(normals_export_field, query=True, value1=True)
    invert_normals = cmds.checkBoxGrp(normals_invert_field, query=True, value1=True)
    check_Z = cmds.checkBoxGrp(check_Z_field, query = True, value1=True)
    
    materials = []
    for mat in range(5):
        materials.append(cmds.floatFieldGrp(eval('material_%i_field' % (mat)), query=True, value=True))
Example #32
0
    def procUI(self, name, parent, collapse=False):
        """Create panel UI controls - processing.
		"""
        mc.frameLayout(width=400,
                       collapsable=True,
                       cl=collapse,
                       borderStyle="etchedIn",
                       label="Processing")
        mc.columnLayout(name)

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

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

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

        mc.separator(height=8, style="none")
        mc.setParent(parent)
Example #33
0
def pupMaya2mental(mentalVersion):
    destPath = os.getenv('DEST_PATH_WIN')
    rootPath, shadersPath = {
        3.8: ('c:/Program Files/Autodesk/mrstand3.8.1-adsk2011/bin',
              destPath + '/mental3.8.1'),
        3.11: ('c:/Program Files/Autodesk/mrstand3.11.1-adsk2014/bin',
               destPath + '/mental3.11.1')
    }[mentalVersion]

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

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

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

    mc.checkBoxGrp('pup_m2mrOverrideEnv', e=True, v1=1)
    mc.textFieldGrp('pup_m2mrMiRoot', e=True, tx=rootPath)
    mc.textFieldGrp('pup_m2mrMiInclude',
                    e=True,
                    tx=shadersPath + '/mi;' + miModulesPaths)
    mc.textFieldGrp('pup_m2mrMiLib',
                    e=True,
                    tx=shadersPath + '/bin;' + binModulesPaths)
    mc.textFieldGrp('pup_m2mrMiDir', e=True, tx="C:/Temp/")
    mc.optionMenuGrp('pup_m2mrVerboseM', e=True, sl=5)
    #mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-finalgather_passes 0 -memory 1000000' )
    mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx='-memory 1000000')
    mc.checkBoxGrp('pup_m2mrUniqueMI', e=True, v1=1)
    mc.optionMenuGrp('pup_m2mrPriority', e=True, sl=3)
Example #34
0
    def quickSelection(self, *args):
        selected = cmds.radioButtonGrp(self.quickSelectionGrp,
                                       query=True,
                                       select=True)

        # Set appropriate bools for lock/hide based on selected radioButton
        if selected == 1:
            self.setAllCheckBoxes(self.translateCheckBoxGrp, True)
            self.setAllCheckBoxes(self.rotateCheckBoxGrp, False)
            self.setAllCheckBoxes(self.scaleCheckBoxGrp, True)

        elif selected == 2:
            self.setAllCheckBoxes(self.translateCheckBoxGrp, False)
            self.setAllCheckBoxes(self.rotateCheckBoxGrp, True)
            self.setAllCheckBoxes(self.scaleCheckBoxGrp, True)

        elif selected == 3:
            self.setAllCheckBoxes(self.translateCheckBoxGrp, True)
            self.setAllCheckBoxes(self.rotateCheckBoxGrp, True)
            self.setAllCheckBoxes(self.scaleCheckBoxGrp, True)
            cmds.checkBoxGrp(self.visibilityCheckBoxGrp,
                             edit=True,
                             value1=True)

        elif selected == 4:
            self.setAllCheckBoxes(self.translateCheckBoxGrp, False)
            self.setAllCheckBoxes(self.rotateCheckBoxGrp, False)
            self.setAllCheckBoxes(self.scaleCheckBoxGrp, False)
            cmds.checkBoxGrp(self.visibilityCheckBoxGrp,
                             edit=True,
                             value1=False)
Example #35
0
def attachToSurfaceFromUI(close=True):
    """
    Execute attachToSurface() from UI
    @param close:
    """
    # Window
    window = 'attachToSurfaceUI'
    if not cmds.window(window, q=True, ex=1): raise UIError('AttachToSurface UI does not exist!!')
    # Get UI data
    surf = cmds.textFieldGrp('attachToSurfaceTFB', q=True, text=True)
    # Check surface
    if not glTools.utils.surface.isSurface(surf):
        raise UserInputError('Object "' + surf + '" is not a valid nurbs surface!!')
    trans = cmds.textFieldGrp('attachToSurfaceTransformTFB', q=True, text=True)
    pre = cmds.textFieldGrp('attachToSurfacePrefixTFG', q=True, text=True)
    uParam = cmds.floatFieldGrp('attachToSurfaceParamTFB', q=True, v1=True)
    vParam = cmds.floatFieldGrp('attachToSurfaceParamTFB', q=True, v2=True)
    closePnt = cmds.checkBoxGrp('attachToSurfaceClosePntCBG', q=True, v1=True)
    uAttr = cmds.textFieldGrp('attachToSurfaceUAttrTFG', q=True, text=True)
    vAttr = cmds.textFieldGrp('attachToSurfaceVAttrTFG', q=True, text=True)
    # Orient
    orient = cmds.checkBoxGrp('attachToSurfaceOrientCBG', q=True, v1=True)
    # Orient Options
    tanU = str.lower(str(cmds.optionMenuGrp('attachToSurfaceUAxisOMG', q=True, v=True)))
    tanV = str.lower(str(cmds.optionMenuGrp('attachToSurfaceVAxisOMG', q=True, v=True)))
    align = str.lower(str(cmds.optionMenuGrp('attachToSurfaceAlignToOMG', q=True, v=True)))

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

    # Cleanup
    if close: cmds.deleteUI(window)
Example #36
0
def edgeLoopCurveUI():
	'''
	UI for edgeLoopCurve()
	'''
	# Window
	window = 'edgeLoopCurveUI'
	if mc.window(window,q=True,ex=1): mc.deleteUI(window)
	window = mc.window(window,t='Edge Loop Curve')

	# Layout
	CL = mc.columnLayout()
	# Prefix
	prefixTFG = mc.textFieldGrp('edgeLoopCurvePrefixTFG',label='Prefix',text='')
	# Rebuild
	rebuildCBG = mc.checkBoxGrp('edgeLoopCurveRebuildCBG',numberOfCheckBoxes=1,label='Rebuild Curve',v1=True)
	# Span Count
	spanISG = mc.intSliderGrp('edgeLoopCurveSpanISG',field=True,label='Rebuild Spans',minValue=0,maxValue=10,fieldMinValue=0,fieldMaxValue=100,value=0,en=1)

	# Toggle UI element
	mc.checkBoxGrp('edgeLoopCurveRebuildCBG',e=True,cc='mc.intSliderGrp("edgeLoopCurveSpanISG",e=1,en=(not mc.intSliderGrp("edgeLoopCurveSpanISG",q=1,en=1)))')

	# Buttons
	createB = mc.button('edgeLoopCurveCreateB',l='Create',c='glTools.ui.curve.edgeLoopCurveFromUI(False)')
	createCloseB = mc.button('edgeLoopCurveCreateCloseB',l='Create and Close',c='glTools.ui.curve.edgeLoopCurveFromUI(True)')
	cancelB = mc.button('edgeLoopCurveCancelB',l='Cancel',c='mc.deleteUI("'+window+'")')

	# Show Window
	mc.showWindow(window)
Example #37
0
def pupMaya2mental(mentalVersion):
        destPath = os.getenv('DEST_PATH_WIN')
        rootPath, shadersPath = {	
                3.8:('c:/Program Files/Autodesk/mrstand3.8.1-adsk2011/bin', destPath + '/mental3.8.1'),
                3.11:('c:/Program Files/Autodesk/mrstand3.11.1-adsk2014/bin', destPath + '/mental3.11.1')
                }[mentalVersion]

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

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

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

        mc.checkBoxGrp('pup_m2mrOverrideEnv', e=True, v1=1)
        mc.textFieldGrp('pup_m2mrMiRoot', e=True, tx= rootPath )
        mc.textFieldGrp('pup_m2mrMiInclude', e=True, tx= shadersPath + '/mi;' +  miModulesPaths )
        mc.textFieldGrp('pup_m2mrMiLib', e=True, tx= shadersPath + '/bin;' +  binModulesPaths )
        mc.textFieldGrp('pup_m2mrMiDir', e=True, tx= "C:/Temp/" )
        mc.optionMenuGrp('pup_m2mrVerboseM', e=True, sl=5)
        #mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-finalgather_passes 0 -memory 1000000' )
        mc.textFieldGrp('pup_m2mrCommandLine', e=True, tx= '-memory 1000000' )
        mc.checkBoxGrp('pup_m2mrUniqueMI', e=True, v1=1)
        mc.optionMenuGrp('pup_m2mrPriority', e=True, sl=3)
Example #38
0
def boolAttribute(mainSetting, setting):
    cmds.checkBoxGrp(str(setting.keys()[0])+'_attribute',
                        numberOfCheckBoxes=1,
                        label=str(setting.keys()[0]).replace('_', ' '),
                        v1=setting.values()[0],
                        cc="import dmptools.setup.settingsWindow as settingsWindow;settingsWindow.updateBoolAttribute('"+mainSetting+"')"
                        )
Example #39
0
def select_all_cbs(ui=None, value=0, *args):
    """
    called from buttons, will select or deselect all the ui checkboxes
    """
    cbs = cmds.columnLayout(ui, q=True, ca=True)
    for cb in cbs:
        cmds.checkBoxGrp(cb, e=True, v1=value)
Example #40
0
def display_cvwrap_options(*args, **kwargs):
    cmds.loadPlugin('cvwrap', qt=True)
    layout = mel.eval('getOptionBox')
    cmds.setParent(layout)
    cmds.columnLayout(adj=True)

    for widget in [
            NAME_WIDGET, RADIUS_WIDGET, BIND_FILE_WIDGET, NEW_BIND_MESH_WIDGET
    ]:
        # Delete the widgets so we don't create multiple controls with the same name
        try:
            cmds.deleteUI(widget, control=True)
        except:
            pass

    cmds.textFieldGrp(NAME_WIDGET, label='Node name', text='cvWrap#')
    radius = cmds.optionVar(q=RADIUS_WIDGET)
    cmds.floatSliderGrp(RADIUS_WIDGET,
                        label='Sample radius',
                        field=True,
                        minValue=0.0,
                        maxValue=100.0,
                        fieldMinValue=0.0,
                        fieldMaxValue=100.0,
                        value=radius,
                        step=0.01,
                        precision=2)
    cmds.textFieldButtonGrp(BIND_FILE_WIDGET,
                            label='Binding file ',
                            text='',
                            buttonLabel='Browse',
                            bc=display_bind_file_dialog)
    use_new_bind_mesh = cmds.optionVar(q=NEW_BIND_MESH_WIDGET)
    cmds.checkBoxGrp(NEW_BIND_MESH_WIDGET,
                     numberOfCheckBoxes=1,
                     label='Create new bind mesh',
                     v1=use_new_bind_mesh)
    mel.eval('setOptionBoxTitle("cvWrap Options");')
    mel.eval('setOptionBoxCommandName("cvWrap");')
    apply_close_button = mel.eval('getOptionBoxApplyAndCloseBtn;')
    cmds.button(apply_close_button, e=True, command=apply_and_close)
    apply_button = mel.eval('getOptionBoxApplyBtn;')
    cmds.button(apply_button, e=True, command=create_cvwrap)
    reset_button = mel.eval('getOptionBoxResetBtn;')
    # For some reason, the buttons in the menu only accept MEL.
    cmds.button(
        reset_button,
        e=True,
        command='python("import cvwrap.menu; cvwrap.menu.reset_to_defaults()");'
    )
    close_button = mel.eval('getOptionBoxCloseBtn;')
    cmds.button(close_button, e=True, command=close_option_box)
    save_button = mel.eval('getOptionBoxSaveBtn;')
    cmds.button(
        save_button,
        e=True,
        command=
        'python("import cvwrap.menu; cvwrap.menu.get_create_command_kwargs()");'
    )
    mel.eval('showOptionBox')
Example #41
0
 def cmdCreate(self, *args ):
     
     axisIndex = cmds.optionMenuGrp( self.optionMenu, q=1, sl=1 )-1
     inverseAim = cmds.checkBoxGrp( self.checkInverseAim, q=1, value1=1 )
     displayAxis = cmds.checkBoxGrp( self.checkDisplayAxis, q=1, value1=1 )
     #worldPosition = cmds.checkBoxGrp( self.checkWorldPosition, q=1, value1=1 )
     cmdModel.uiCmd_createAimObject(axisIndex, inverseAim, displayAxis, True )
Example #42
0
def _uiArgs():

    selected = mc.checkBoxGrp('ml_deleteKey_selectedKey_checkBox',
                              query=True,
                              value1=True)
    chanBox = mc.checkBoxGrp('ml_deleteKey_chanBox_checkBox',
                             query=True,
                             value1=True)
    graphVis = mc.checkBoxGrp('ml_deleteKey_graphVis_checkBox',
                              query=True,
                              value1=True)
    current = mc.checkBoxGrp('ml_deleteKey_currentFrame_checkBox',
                             query=True,
                             value1=True)
    subFrames = mc.checkBoxGrp('ml_deleteKey_subFrames_checkBox',
                               query=True,
                               value1=True)

    kwargs = dict()
    if selected:
        kwargs['selectedKeys'] = True
    if chanBox:
        kwargs['selectedChannels'] = True
    if graphVis:
        kwargs['visibleInGraphEditor'] = True
    if current:
        kwargs['currentFrame'] = True
    if subFrames:
        kwargs['deleteSubFrames'] = True

    return kwargs
Example #43
0
def evenEdgeSpacingUI():
    """
    Even Edge Spacing UI
    """
    # Window
    window = 'evenEdgeSpacingUI'
    if cmds.window(window, q=True, ex=1): cmds.deleteUI(window)
    window = cmds.window(window, t='Even Edge Spacing', s=True)

    # Layout
    CL = cmds.columnLayout()

    # UI Elements
    cmds.intSliderGrp('evenEdgeSpacing_smoothISG', label='Smooth', field=True, minValue=0, maxValue=20, fieldMinValue=0,
                    fieldMaxValue=100, value=4)
    cmds.floatSliderGrp('evenEdgeSpacing_influenceFSG', label='Influence', field=True, minValue=0.0, maxValue=1.0,
                      fieldMinValue=0.0, fieldMaxValue=1.0, value=1.0)
    cmds.checkBoxGrp('evenEdgeSpacing_snapToOrigCBG', label='Maintain Shape', numberOfCheckBoxes=1,
                   v1=False)  # columnWidth2=[100,165]
    cmds.checkBoxGrp('evenEdgeSpacing_deleteHistoryCBG', label='Delete History', numberOfCheckBoxes=1, v1=False)
    cmds.button('evenEdgeSpacingB', l='Even Edge Spacing', w=390,
              c='glTools.model.straightenVerts.evenEdgeSpacingFromUI()')

    # Show Window
    cmds.window(window, e=True, wh=[392, 99])
    cmds.showWindow(window)
Example #44
0
	def enable_distributed(self, arg) :
		"""enable_distributed

		:param arg: Missing documentation about arg argument
		:return:
		"""
		ar_distr_frame = self.winMain + '|f0|t0|tc2|fr2'
		ar_distr = ar_distr_frame + '|fc2|'
		setDefaultIntValue(
			self_prefix,
			'ar_distributed',
			self.ar_param,
			arg
		)
		cmds.checkBoxGrp(
			ar_distr + 'ar_nomaster',
			edit=True,
			enable=arg
		)

		# cmds.intFieldGrp(
		#     ar_distr + 'ar_port',
		#     edit=True,
		#     enable=arg
		# )

		cmds.intFieldGrp(
			ar_distr + 'ar_hosts_min',
			edit=True,
			enable=arg
		)

		cmds.intFieldGrp(
			ar_distr + 'ar_hosts_max',
			edit=True,
			enable=arg
		)

		# cmds.intFieldGrp(
		#     ar_distr + 'ar_threads_limit',
		#     edit=True,
		#     enable=arg
		# )

		cmds.textFieldGrp(
			ar_distr + 'ar_hosts',
			edit=True,
			enable=arg
		)

		bg_color = self.save_frame_bgc
		if arg:
			bg_color = self.def_frame_bgc

		cmds.frameLayout(
			ar_distr_frame,
			edit=True,
			bgc=bg_color
		)  # , enableBackground=False
    def dimScaleFields( self):
        status = 1 - mc.checkBoxGrp( self.uniformScale, q=1, v1=1)
        mc.floatFieldGrp( self.sScale, e=1, en=status)

        status = 1 - mc.checkBoxGrp( self.cmpAlongNormal, q=1, v1=1)
        mc.floatFieldGrp( self.tCmpScale, e=1, en=status)

        status = mc.checkBoxGrp( self.cmpUseDnoise, q=1, v1=1)
        mc.floatFieldGrp( self.cmpDnoiseScale, e=1, en=status)
Example #46
0
def uiSetCheckBox(*args):

    if mc.checkBoxGrp('ml_goToKeyframe_selected_checkBox', query=True, value1=True):
        mc.checkBoxGrp('ml_goToKeyframe_selectKeys_checkBox', edit=True, value1=False, enable=False)
    elif mc.checkBoxGrp('ml_goToKeyframe_selectKeys_checkBox', query=True, value1=True):
        mc.checkBoxGrp('ml_goToKeyframe_selected_checkBox', edit=True, value1=False, enable=False)
    else:
        mc.checkBoxGrp('ml_goToKeyframe_selectKeys_checkBox', edit=True, enable=True)
        mc.checkBoxGrp('ml_goToKeyframe_selected_checkBox', edit=True, enable=True)
def enableChannel(source, target, *args):
	"""This function enables or disables the indiv channel checkboxes when attr is toggled"""

	CBG = widgets[target]
	on = cmds.checkBox(widgets[source], q=True, v=True)
	if on:
		cmds.checkBoxGrp(CBG, e=True, en=True, va3=(1,1,1))
	else:
		cmds.checkBoxGrp(CBG, e=True, en=False, va3=(0,0,0))
Example #48
0
 def flags(self,value):#Attribute Render Flag Assigner
     if value=='Apply':
         for sel in mc.ls(sl=1,dag=1):
             objType=mc.nodeType(sel)
             if objType== 'mesh' or objType == 'nurbsSurface' or objType == 'subdiv':
                 for att in ls.renderAtts():
                     if not mc.getAttr(sel + '.' + att) == mc.checkBoxGrp(att,q=1, v1=1):
                         mc.setAttr( sel + '.' + att , mc.checkBoxGrp(att,q=1, v1=1))
     else:
         for each in ls.renderAtts(): mc.checkBoxGrp(each,e=1,v1=value)
Example #49
0
 def atomOpts(name='leg', limbName=4, size=1.0, distance=20, suffix=1, flip=[0, 0, 0], rot=1, aim=2, up=3):
     cmds.textField('atom_prefix_textField', e=True, tx=name)
     cmds.floatField('atom_bls_scale_floatField', e=True, v=size)
     cmds.floatField('atom_bls_ldf_floatField', e=True, v=distance)
     cmds.optionMenu('atom_bls_limb_optionMenu', e=True, sl=limbName)
     cmds.optionMenu('atom_suffix_optionMenu', e=True, sl=suffix)
     cmds.checkBoxGrp('atom_bls_flip_checkBoxGrp', e=True, va3=flip)
     cmds.radioButtonGrp('atom_bls_limbRot_radioButtonGrp', e=True, sl=rot)
     cmds.radioButtonGrp('atom_bls_limbAim_radioButtonGrp', e=True, sl=aim)
     cmds.radioButtonGrp('atom_bls_limbUp_radioButtonGrp', e=True, sl=up)
def printNodeEditAttributes():
    """
    Print list of node attributes that have reference edits.
    """
    # Get Reference and Node Selection
    refList = cmds.textScrollList('refEdits_refListTSL', q=True, si=True) or []
    nodeList = cmds.textScrollList('refEdits_nodeListTSL', q=True, si=True) or []

    # Get Show Details
    showNamespace = cmds.checkBoxGrp('refEdits_showNamespaceCBG', q=True, v1=True)
    showDagPath = cmds.checkBoxGrp('refEdits_showLongNamesCBG', q=True, v1=True)
    successfulEdits = cmds.checkBoxGrp('refEdits_showSuccessEditsCBG', q=True, v1=True)
    failedEdits = cmds.checkBoxGrp('refEdits_showFailedEditsCBG', q=True, v1=True)

    # Get Edit Commands
    editCmd_parent = cmds.checkBoxGrp('refEdits_parentCBG', q=True, v1=True)
    editCmd_setAttr = cmds.checkBoxGrp('refEdits_setAttrCBG', q=True, v1=True)
    editCmd_addAttr = cmds.checkBoxGrp('refEdits_addAttrCBG', q=True, v1=True)
    editCmd_delAttr = cmds.checkBoxGrp('refEdits_delAttrCBG', q=True, v1=True)
    editCmd_conAttr = cmds.checkBoxGrp('refEdits_conAttrCBG', q=True, v1=True)
    editCmd_disconAttr = cmds.checkBoxGrp('refEdits_disconAttrCBG', q=True, v1=True)

    # Get Edit Commands
    for refNode in refList:

        # Get Reference Namespace
        ns = ''
        if showNamespace: ns = glTools.utils.reference.getNamespace(refNode) + ':'

        for node in nodeList:

            # Get Edit Attributes
            attrList = glTools.utils.reference.getEditAttrs(refNode,
                                                            node,
                                                            showNamespace=showNamespace,
                                                            showDagPath=showDagPath,
                                                            successfulEdits=successfulEdits,
                                                            failedEdits=failedEdits,
                                                            parent=editCmd_parent,
                                                            setAttr=editCmd_setAttr,
                                                            addAttr=editCmd_addAttr,
                                                            deleteAttr=editCmd_delAttr,
                                                            connectAttr=editCmd_conAttr,
                                                            disconnectAttr=editCmd_disconAttr)

            # Append Output List
            if attrList:

                # Remove Duplicates and Sort
                attrList = list(set(attrList))
                attrList.sort()

                # Print Result
                print('\n=== Edit Attributes: ' + node + ' ===\n')
                for attr in attrList: print attr
def loadNodeList():
    """
    """
    # Get Selected Ref Node
    refNode = cmds.textScrollList('refEdits_refListTSL', q=True, si=True) or []

    # Check Ref Node
    if not refNode:
        # No Reference Selected, Clear Node List
        cmds.textScrollList('refEdits_nodeListTSL', e=True, ra=True)
        return

    # Get Show Details
    showNamespace = cmds.checkBoxGrp('refEdits_showNamespaceCBG', q=True, v1=True)
    showDagPath = cmds.checkBoxGrp('refEdits_showLongNamesCBG', q=True, v1=True)
    successfulEdits = cmds.checkBoxGrp('refEdits_showSuccessEditsCBG', q=True, v1=True)
    failedEdits = cmds.checkBoxGrp('refEdits_showFailedEditsCBG', q=True, v1=True)

    # Get Edit Commands
    editCmd_parent = cmds.checkBoxGrp('refEdits_parentCBG', q=True, v1=True)
    editCmd_setAttr = cmds.checkBoxGrp('refEdits_setAttrCBG', q=True, v1=True)
    editCmd_addAttr = cmds.checkBoxGrp('refEdits_addAttrCBG', q=True, v1=True)
    editCmd_delAttr = cmds.checkBoxGrp('refEdits_delAttrCBG', q=True, v1=True)
    editCmd_conAttr = cmds.checkBoxGrp('refEdits_conAttrCBG', q=True, v1=True)
    editCmd_disconAttr = cmds.checkBoxGrp('refEdits_disconAttrCBG', q=True, v1=True)
    if not (
                        editCmd_parent or editCmd_setAttr or editCmd_addAttr or editCmd_delAttr or editCmd_conAttr or editCmd_disconAttr):
        # No Edit Commands Checked, Clear Node List
        cmds.textScrollList('refEdits_nodeListTSL', e=True, ra=True)
        return

    # Get Reference Edit Nodes
    nodeList = glTools.utils.reference.getEditNodes(refNode[0],
                                                    showNamespace=showNamespace,
                                                    showDagPath=showDagPath,
                                                    successfulEdits=successfulEdits,
                                                    failedEdits=failedEdits,
                                                    parent=editCmd_parent,
                                                    setAttr=editCmd_setAttr,
                                                    addAttr=editCmd_addAttr,
                                                    deleteAttr=editCmd_delAttr,
                                                    connectAttr=editCmd_conAttr,
                                                    disconnectAttr=editCmd_disconAttr)

    # Remove Duplicates and Sort
    nodeList = list(set([i for i in nodeList])) or []
    nodeList.sort()

    # Apply Node List
    cmds.textScrollList('refEdits_nodeListTSL', e=True, ra=True)
    for node in nodeList: cmds.textScrollList('refEdits_nodeListTSL', e=True, a=node)

    # Filter List
    filterNodeList()
Example #52
0
    def resetFromUI(self, ctrl):
        """
        Reset spaces constraint offsets for the specified control from the spaces UI
        @param ctrl: Control whose spaces target offset values will be rest
        @type ctrl: str
        """
        # Get reset options
        key = cmds.checkBoxGrp(self.uiKeyCBG, q=True, v1=True)
        keyPrevious = cmds.checkBoxGrp(self.uiKeyPreviousCBG, q=True, v1=True)

        # Reset
        self.reset(ctrl, key, keyPrevious)
Example #53
0
def ui():
    '''
    user interface for ml_copyAnim
    '''

    with utl.MlUi('ml_copyAnim', 'Copy Animation', width=400, height=120, info='''Copy animation across single nodes, or hierarchies based on name.
Highlight the timeline to copy just that part of the animation.''') as win:
        
        mc.checkBoxGrp('ml_copyAnim_layer_checkBox', label='Copy To New Layer', annotation='Create a new animation layer to copy the curves into, preserving the original animation.')
        win.ButtonWithPopup(label='Copy Single', command=copySingle, annotation='Copy animation from one object to another.', shelfLabel='cpAn', shelfIcon='defaultTwoStackedLayout',
                            readUI_toArgs={'addToLayer':'ml_copyAnim_layer_checkBox'})
        win.ButtonWithPopup(label='Copy Hierarchy', command=copyHierarchy, annotation='Uses name matching to copy animation across hierarchies.', shelfLabel='cpAn', shelfIcon='defaultTwoStackedLayout',
                            readUI_toArgs={'addToLayer':'ml_copyAnim_layer_checkBox'})
Example #54
0
    def resetAllFromUI(self, char):
        """
        Reset spaces constraint offsets for all controls in the specified character namespace
        @param char: Namespace of the character to reset spaces node offsets for
        @type char: str
        """
        # Get key options
        key = cmds.checkBoxGrp(self.uiKeyCBG, q=True, v1=True)
        keyPrevious = cmds.checkBoxGrp(self.uiKeyPreviousCBG, q=True, v1=True)

        # Reset Spaces Nodes
        for spacesNode in cmds.ls(char + '*_spn'):
            self.reset(spacesNode, key, keyPrevious)
Example #55
0
def createGUI(): 
    '''
    Creates a user interface for the city generator script.
    
    On exit: A window with the user interface has been created.
    '''    
    GUIwindow = cmds.window( title = "City Generator")
    layout0 = cmds.columnLayout()
    imageNum = random.randint(1,19)
    cmds.image("cityImage", image="cityImages/dayImage" + str(imageNum) + ".jpg", width = 800, height = 288 )
    layout1 = cmds.rowLayout(nc = 2, parent = layout0)
    layout2 = cmds.columnLayout(parent = layout1, rs = 3)
    cmds.rowLayout(nc = 2, parent = layout2, cw2 = [140,250])
    cmds.text(label = "City name")
    cmds.textField("cityName", width = 240)
    cmds.intSliderGrp("cityWidth", field=True, label="City width", minValue=50, maxValue=200, fieldMinValue=50, fieldMaxValue=200, value=100, cal = [1,"left"],parent = layout2)
    cmds.intSliderGrp("cityDepth", field=True, label="City depth", minValue=50, maxValue=200, fieldMinValue=50, fieldMaxValue=200, value=100, cal = [1,"left"],parent = layout2)
    cmds.intSliderGrp("minHeight", field=True, label="Minimum house height", minValue=4, maxValue=40, fieldMinValue=4, fieldMaxValue=40, value=4, cal = [1,"left"],parent = layout2, dc = changeMaxHeight)
    cmds.intSliderGrp("maxHeight", field=True, label="Maximum house height", minValue=4, maxValue=40, fieldMinValue=4, fieldMaxValue=40, value=30, cal = [1,"left"],parent = layout2, dc = changeMinHeight)
    cmds.intSliderGrp("minWidth", field=True, label="Minimum house width", minValue=2, maxValue=20, fieldMinValue=2, fieldMaxValue=20, value=5, cal = [1,"left"],parent = layout2, dc = changeMaxWidth)
    cmds.intSliderGrp("maxWidth", field=True, label="Maximum house width", minValue=12, maxValue=30, fieldMinValue=12, fieldMaxValue=30, value=20, cal = [1,"left"],parent = layout2, dc = changeMinWidth)
    cmds.checkBoxGrp("features", numberOfCheckBoxes=3, label1="Windows", label2 = "Booleans", label3="Deformers", v1=True, v2 = False, v3 = True, cc1 =  windows, cc2 = booleans, cal = [1,"left"],parent = layout2,cw = [1,140])
    cmds.checkBoxGrp("time", numberOfCheckBoxes=3, label1="Daytime", label2="Nighttime", label3 = "All windows glow", v1=True, v2 = False, v3 = False, enable3 = False, cal = [1,"left"], parent = layout2,cw = [1,140], cc1 = daytime, cc2 = nighttime )
    cmds.colorSliderGrp("environment", label="Environment colour", hsv=(204, 0.451, 1), parent = layout2, cal = [1,"left"] )
    layout3 = cmds.columnLayout(parent = layout1)
    cmds.text("Set the colour range for the houses by selecting the ranges separately for hue,\nsaturation and value.", align  = "left")
    cmds.text("\nStart of range:", align = "left")
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("hueCanvas1", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.intSliderGrp("hue1", field=True, label="Hue", minValue=0, maxValue=360, fieldMinValue=0, fieldMaxValue=360, value=0,cw3 = [70,70,170], dc = hueChange1 )
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("saturationCanvas1", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.floatSliderGrp("saturation1", field=True, label="Saturation", minValue=0, maxValue=1, fieldMinValue=0, fieldMaxValue=1, value=1,cw3 = [70,70,170], dc = saturationChange1, step = 0.01)
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("valueCanvas1", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.floatSliderGrp("value1", field=True, label="Value", minValue=0, maxValue=1, fieldMinValue=0, fieldMaxValue=1, value=1,cw3 = [70,70,170], dc = valueChange1, step = 0.01)
    cmds.text("End of range:", align =  "left", parent = layout3)
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("hueCanvas2", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.intSliderGrp("hue2", field=True, label="Hue", minValue=0, maxValue=360, fieldMinValue=0, fieldMaxValue=360, value=0,cw3 = [70,70,170], dc = hueChange2 )
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("saturationCanvas2", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.floatSliderGrp("saturation2", field=True, label="Saturation", minValue=0, maxValue=1, fieldMinValue=0, fieldMaxValue=1, value=1,cw3 = [70,70,170], dc = saturationChange2, step = 0.01)
    cmds.rowLayout( numberOfColumns=2, parent = layout3, cw2 = [70,200])
    cmds.canvas("valueCanvas2", hsvValue=(0, 1, 1), width=70, height=15)
    cmds.floatSliderGrp("value2", field=True, label="Value", minValue=0, maxValue=1, fieldMinValue=0, fieldMaxValue=1, value=1,cw3 = [70,70,170], dc = valueChange2, step = 0.01)
    cmds.button(label = "Randomize", command = randomize, parent = layout3)
    layout4 = cmds.rowLayout(numberOfColumns=2, parent = layout0, cw2 = [690,110])
    cmds.button(label="Generate City", command = defaultButtonPush, parent = layout4, w = 685, h = 50)
    cmds.button(label="Clear Scene", command = clearScene, parent = layout4, w = 110, h = 50)
    cmds.showWindow()
def softDeformerUI():
    """UI for the whole thing"""

    if cmds.window("softModWin", exists = True):
        cmds.deleteUI("softModWin")
    widgets["window"] = cmds.window("softModWin", t="zbw_softDeformer", w=300, h=130)
    widgets["tabLO"] = cmds.tabLayout()
    widgets["smCLO"] = cmds.columnLayout("SoftModDeformer", w=300)

    cmds.separator(h=10)
    widgets["smdTFG"] = cmds.textFieldGrp(l="Deformer Name", w=300, cw=[(1,100),(2,190)], cal=[(1,"left"), (2, "left")], tx="softMod_DEF")
    widgets["firstVertCBG"] = cmds.checkBoxGrp(l="Use only 1st vert (vs. avg pos)", v1=0, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["parentCBG"] = cmds.checkBoxGrp(l="Parent Ctrl Under Geo?", v1=0, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["incrCBG"] = cmds.checkBoxGrp(l="Increment name after creation?", v1=1, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["checkCBG"] = cmds.checkBoxGrp(l="AutoCheck if there are deformers?", v1=1, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["scaleFFG"] = cmds.floatFieldGrp(l="Control Scale", v1=1, pre=2, cw=[(1,100),(2,50)], cal=[(1,"left"),(2,"left")])

    cmds.separator(h=10, style="single")
    widgets["button"] = cmds.button(l="Create Deformer", w=300, h=40, bgc=(.6,.8,.6), c=softModDeformerDo)

    #second tab to softselect deformer
    cmds.setParent(widgets["tabLO"])
    widgets["ssCLO"] = cmds.columnLayout("SoftSelectDeformer", w=300)
    widgets["ssdTFG"] = cmds.textFieldGrp(l="Deformer Name", w=300, cw=[(1,100),(2,190)], cal=[(1,"left"), (2, "left")], tx="softSelect_DEF")
    widgets["ssCPOMCBG"] = cmds.checkBoxGrp(l="Control to closest point on mesh?", v1=1, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["ssParentCBG"] = cmds.checkBoxGrp(l="Parent Ctrl Under Geo?", v1=0, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["ssIncrCBG"] = cmds.checkBoxGrp(l="Increment name after creation?", v1=1, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["ssCheckCBG"] = cmds.checkBoxGrp(l="AutoCheck if there are deformers?", v1=1, cw=[(1,200)], cal=[(1,"left"), (2,"left")])
    widgets["ssScaleFFG"] = cmds.floatFieldGrp(l="Control Scale", v1=1, pre=2, cw=[(1,100),(2,50)], cal=[(1,"left"),(2,"left")])
    cmds.separator(h=10, style="single")
    widgets["button"] = cmds.button(l="Create Deformer", w=300, h=40, bgc=(.6,.8,.6), c=softSelectDef)


    cmds.showWindow(widgets["window"])
Example #57
0
def windows(args):
    '''
    Changes the booleans checkbox to be disabled and unchecked when the windows 
    checkbox is unchecked.
    
    args: Dummy argument needed to satisfy the command interface.
    On exit: If the windows checkbox is checked the booleans checkbox has been enabled.
             If it is unchecked, the booleans checkbox has been unchecked and disabled.
    '''
    windows = cmds.checkBoxGrp("features", query = True, v1 = True)
    if windows == False:
        cmds.checkBoxGrp("features", edit = True, v2 = False, enable2 = False)
    else:
        cmds.checkBoxGrp("features", edit = True, enable2 = True)
Example #58
0
def getCheckBoxSelectionAsList(control):
    '''
    Name        :getCheckBoxSelectionAsList
    Arguements  :<control>: checkBoxGro
    Description :Queries the checkBoxGrp for which buttons are on returns a 3 element array
    #            :0 is not selected, 1 is selected
    Notes       :For some reason maya doesn't want to return this, all though it seems to be
    #             available in the docs
    '''
    checked = []
    checked.append(cmds.checkBoxGrp(control, query=True, v1=True))
    checked.append(cmds.checkBoxGrp(control, query=True, v2=True))
    checked.append(cmds.checkBoxGrp(control, query=True, v3=True))

    return checked