Python 启动maya时自定义工具架脚本未运行-错误
我想在Maya 2018中启动时创建自定义工具架。我正在调用一个脚本来在userSetup.py文件中构建工具架。如果在启动后在脚本编辑器中运行,脚本将创建工具架,但在启动时调用时会抛出错误Python 启动maya时自定义工具架脚本未运行-错误,python,maya,Python,Maya,我想在Maya 2018中启动时创建自定义工具架。我正在调用一个脚本来在userSetup.py文件中构建工具架。如果在启动后在脚本编辑器中运行,脚本将创建工具架,但在启动时调用时会抛出错误 #userSetup.py #----- import maya.cmds as cmds import sys sys.path.append('/Users/alfredwinters/Desktop/python/scripts/') import lighting_tools_shelf cmds.
#userSetup.py
#-----
import maya.cmds as cmds
import sys
sys.path.append('/Users/alfredwinters/Desktop/python/scripts/')
import lighting_tools_shelf
cmds.evalDeferred("lighting_tools_shelf")
#lighting_tools_shelf.py
#----
import maya.cmds as cmds
cmds.shelfLayout("lighting_shelf", p="ShelfLayout")
这是我在启动时调用脚本时遇到的错误。
无法执行userSetup.py
回溯(最近一次呼叫最后一次):
文件“/Users/alfredwinets/Library/Preferences/Autodesk/maya/2018/scripts/userSetup.py”,第8行,在
导入照明工具工具工具架
文件“/Users/alfredwinets/Desktop/python/scripts/lighting\u tools\u shelf.py”,第19行,在自定义工具架中
cmds.shelfLayout(名称,p=“shelfLayout”)
RuntimeError:shelfLayout:找不到对象“shelfLayout”。因为调用
cmds.shelfLayout(name,p=“shelfLayout”)
它只是说,ShelfLayout对象在给定上下文中不可用。
ShelfLayout表示包含所有Maya工具架的主布局。但它不应该按原样使用。你应该从全局变量中得到它
例如:
import maya.mel as mel
main_shelf = mel.eval('$tempMelVar=$gShelfTopLevel')
# Now main_shelf holds complete path the the layout
# Now you can use it as parent for other shelf layouts
cmds.shelfLayout(name, p=main_shelf)
希望这能解决你的问题。
谢谢
import maya.mel as mel
main_shelf = mel.eval('$tempMelVar=$gShelfTopLevel')
# Now main_shelf holds complete path the the layout
# Now you can use it as parent for other shelf layouts
cmds.shelfLayout(name, p=main_shelf)