MEL to Python
MEL:$foo="Hi"Python:
import maya.mel as mel
foo=mel.eval("$temp=$foo")
Python to MEL
Python:bar="Hi"MEL:
$bar=python("bar") Python to/from MEL
Plugin:import maya.OpenMaya as om
import maya.OpenMayaMPx as omMPx
nodeId = om.MTypeId(0x101118)
#node data
class user(omMPx.MPxNode):
INPUT = om.MObject()
def __init__(self):
omMPx.MPxNode.__init__(self)
def userCreator():
return omMPx.asMPxPtr( user() )
def userIniter():
numAttr = om.MFnNumericAttribute()
user.x = numAttr.create("x","x",om.MFnNumericData.kFloat,0.0)
numAttr.setStorable(1)
numAttr.setWritable(1)
user.addAttribute(user.x)
#plugin requires
def initializePlugin(mobject):
mplugin = omMPx.MFnPlugin(mobject)
try:
mplugin.registerNode("user", nodeId, userCreator, userIniter)
except:
print "Error loading"
raise
def uninitializePlugin(mobject):
mplugin = omMPx.MFnPlugin(mobject)
try:
mplugin.deregisterNode( nodeId )
except:
print "Error removing"
raise
MEL:if(!size(`ls "userData"`)){
createNode "user" -name "userData";
}
setAttr "userData.x" 5;
getAttr "userData.x";
Python:import maya.cmds as cmds
if not cmds.ls("userData"):
myUser=cmds.createNode("user", name="userData")
cmds.setAttr("userData.x", 5)
print cmds.getAttr("userData.x")