Maya Python mass.obj导入如何关闭obj导入警告?
嘿,我正在通过python将文件列表导入maya场景 每次导入.obj时,maya都会向我发出以下警告:Maya Python mass.obj导入如何关闭obj导入警告?,python,maya,Python,Maya,嘿,我正在通过python将文件列表导入maya场景 每次导入.obj时,maya都会向我发出以下警告: Warning: Option "Use legacy vertex order" will only take effect when option "Multiple Objects" is enabled. 我的问题:是否可以关闭此警告?或者一开始就不显示警告的方式 编辑:问题是此警告将显示在从列表导入的每个文件上。我添加了一个来自maya的屏幕截图 我加载的文件如下所示: cmd
Warning: Option "Use legacy vertex order" will only take effect when option "Multiple Objects" is enabled.
我的问题:是否可以关闭此警告?或者一开始就不显示警告的方式
编辑:问题是此警告将显示在从列表导入的每个文件上。我添加了一个来自maya的屏幕截图
我加载的文件如下所示:
cmds.file(filePath, i = True)
edit2:这是我的函数,它循环遍历目录中的文件
def loadFiles(*args):
# load References into scene from savefile
files = 'c:/testfolder'
if os.path.exists(files):
filesInFolder = [f for f in listdir(files) if isfile(join(files, f))]
for file in filesInFolder:
filePath = files + '/' + file
#cmds.file(filePath, i = True)
mel.eval("catchQuiet(`python(\"cmds.file(filePath, i=True)\")`)")
#print filePath
谢谢你抽出时间,祝你度过愉快的一天 尝试此操作以关闭脚本编辑器中的错误、警告和信息:
import maya.cmds as cmds
filePath="/Users/swift/Desktop/file.ma"
cmds.file(filePath,i=True)
cmds.scriptEditorInfo(suppressErrors=True)
cmds.scriptEditorInfo(suppressWarnings=True)
cmds.scriptEditorInfo(suppressInfo=True)
或者尝试此方法仅用于警告:
cmds.warning()
print '',
然后,再次打开它们:
cmds.scriptEditorInfo(se=False,sw=False,si=False)
Maya有一个名为
catchQuiet
的函数,这是抑制警告/错误消息的最简单方法。如果表达式抛出错误,它将返回1
,否则0
catchQuiet(python("cmds.file(\"/drive/myfile.obj\", i=True)"))
不幸的是,此函数只存在于mel
中,但您可以使用maya.cmds.mel
将其包装在python中执行
Python包装器
Python变体看起来有点令人讨厌,但这应该是可行的
mel.eval("catchQuiet(`python(\"cmds.file('/drive/myfile.obj', i=1)\")`)")
尽管这可能是一种解决方案,但关闭警告是一种不好的做法。这对我来说并不适用@andy。我知道这是一种不好的做法,但当出现此错误时,文件导入器在导入多个文件时节省时间并不能真正节省时间。谢谢您的回复。是的,在梅尔,我会用这个。但遗憾的是,我真的不知道如何将这个命令包装到python中。你能给我一个完整的例子吗?还添加了python包装器,谢谢你,但这对我不起作用。它不会导入我的文件。它是否会为您返回
0
或1
?当我在代码中使用它时,不会返回任何内容。当我将它粘贴到scripteditor中时,它返回1L。我会用我的代码编辑我的帖子,也许这会有帮助。