Trying to get the name of a newly created node without having to use a 
certain workaround. Im adding a light shader with DL_createSurfaceShader. 
This creates uber_surfaceN depending on whats in the scene. Then Im doing 
more stuff in the same loop. How do I capture the name?


import maya.cmds as cmds 
import maya.mel as mel

def checkGeo():
    objNames = cmds.ls(sl=1)
    if objNames:
        geoShapes = cmds.ls(geometry=1)
        if geoShapes:
            geoTransforms = cmds.listRelatives(geoShapes, p=1)
            if 'lockedGeo1' in geoTransforms:
                for i in objNames:
                    cmds.select(i)
                    createSurfaceShader()
                    cmds.select(clear=1)

def createSurfaceShader():
    mel.eval('$selected_geo = `ls -sl`')
    mel.eval('$selected_geo_shape = `listRelatives -children -shapes 
$selected_geo[0]`')
    mel.eval('DL_setObjectAttrib(DL_createSurfaceShader("uber_surface", 0), 
"surface", $selected_geo_shape)')

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to