Mel: Maya Internals

From wikinotes

TimeSlider

currentTime -query;                           ## Current Frame on timeSlider

playbackOptions -q -animationStartTime;       ## Time Slider Minimum
playbackOptions -q -animationEndTime;         ## Time Slider Maximum

playbackOptions -q -minTime;                  ## Time Slider Visible Minimum
playbackOptions -q -maxTime;                  ## Time Slider Visible Maximum

RenderGlobals

Render Nodes

renderer -q -globalsNodes "mentalRay"			## List the nodes that manage the renderer

getAttr defaultRenderGlobals.startFrame		## Render StartFrame
getAttr defaultRenderGlobals.endFrame			## Render EndFrame

Image Formats

$maya/scripts/others/createImageFormats
Seems to be a list of all maya's image-formats, and imf-keys.
$maya/scripts/others/buildImageFormatsMenu
Creates imageLabels to add to an optionMenu for all Maya ImageFormats
global string $imgExt[];
global array of image extensions (with indexes corresponding to the imfKey array)
global string $imfKey[];
global array of imfkeys (with indexes corresponding to the imgExt array)
import pymel.core as pm

pm.melGlobals['imgExt']																									## Access Mel Global Variables from Python
cmds.setAttr( 'defaultRenderGlobals.imageFormat',   pm.melGlobals['imfKey'].index( 'png' ) )		## Conveniently set image-type


getAttr defaultRenderGlobals.imageFormat     ## Number Corresponding with image.
getAttr defaultRenderGlobals.imfkey           # Some renderers, and image formats are considered to be 'imf plugins', or 
imfPlugins -ext "tif"                         # store an associative array elsewhere with id_numbers-to-extension-type.
                                              # if the imageFormat ## is 50 or 51, the actual imageformat sees to be stored in
                                              # an imfkey. Changing the attribute is not permanent, I believe the image extension
                                              # is changed with the imfPlugins command.
import maya.cmds as cmds


setAttr type="string" "defaultArnoldDriver.ai_translator" "png"		## Arnold

Note that non-default renderers have their own hanlders for image formats (and other settings). Fortunately, the RenderGlobals window is entirely MEL, and custom-renderers need to implement their Render Globals interface in MEL or Python.

ViewPort

string $selPanel       = `getPanel -withFocus`;					## Get Selected Panel (in this case modelPanel)
string $selModelEditor = `modelPanel -q -me $selPanel`;		## Get Selected modelEditor

modelEditor -e -shadows 0 $selModelPanel;							## Change ModelPanel Settings
setAttr hardwareRenderingGlobals.multiSampleEnable 1;			## Change Hardware Shader Settings (scripts/others/updateModelPanelBar)

RenderLayers

find selected renderlayers

rl_treeview  = 'RenderLayerTabRenderLayerEditor'
renderlayers = cmds.treeView( rl_treeview , q=1, children=1 )

sel_renderlayers = []
for renderlayer in renderlayers:
    if cmds.treeView( rl_treeview, query=1, itemSelected=renderlayer ):
        sel_renderlayers.append( renderlayer )

Objects

xform -q -rp											## query object's pivot
xform -cp												## center pivot on multi objects
move -rpr 0 0 0										## Move Object to origin, based on pivot

HyperShade

// show material in hypershade
connectAttr -na blinn1.msg defaultShaderList1.s;

// hide material in hypershade
disconnectAttr -na blinn1.msg defaultShaderList1.s;