I have this script in Python which I'm running into a maya file from a command line:
import maya.standalone
maya.standalone.initialize("Python")
import maya.cmds as cmds
from maya import cmds
import maya.mel as mel
import glob
def importFile(i):
cmds.file(i, i=True, groupReference=True, groupName="myobj")
def materialFile():
if cmds.objExists('Panel*'):
cmds.select("Panel*", replace=True)
myMaterial = "BlueGlass"
cmds.sets( e=True, forceElement= myMaterial + 'SG' )
if cmds.objExists('Body*'):
cmds.select("Body*", replace=True)
myMaterial3 = "Silver"
cmds.sets( e=True, forceElement= myMaterial3 + 'SG' )But I get this error when I try to run the batch file:
File "/Users/../Scripts/MayaVectorScript.py", line 23, in materialFile
cmds.sets( e=True, forceElement= myMaterial + 'SG' )
TypeError: No object matches name: BlueGlassSGIn the Hypershade, the shader BlueGlass is connected to a shader group (SG) with the same name BlueglassSG and the script works from the UI inside maya.
Do I need to load a plugin or something in the script to make it run in the batch file?
If you show us which commands you use, along with a complete example we could run on our end, it would make it a little easier pinpointing the problem for you.
For example, are you running it like this?
$ python my_script.py
Or like this?
$ maya my_script.py
Or like this?
$ mayapy my_script.py
And what does the scene look like, like this?
from maya import cmds
cmds.polyCube(name="BlueGlass")
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/53f3453e-e7c8-41fb-9d07-7114bd08f603%40googlegroups.com.--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.