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 EndFrameImage Formats
$maya/scripts/others/createImageFormatsSeems to be a list of all maya's image-formats, and imf-keys. $maya/scripts/others/buildImageFormatsMenuCreates 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" ## ArnoldNote 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;