嘿我正在通过python将文件列表导入到maya场景中。
每次导入.obj时,maya都会给我以下警告:
Warning: Option "Use legacy vertex order" will only take effect when option "Multiple Objects" is enabled.
我的问题:是否可以关闭此警告?还是一种不首先显示警告的方法?
编辑:问题是此警告将显示在从列表导入的每个文件中。我添加了玛雅的截图。
我正在加载这样的文件:
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
感谢您的时间,祝您度过愉快的一天!
答案 0 :(得分:1)
尝试此操作以关闭脚本编辑器中的错误,警告和信息:
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)
答案 1 :(得分:1)
Maya有一个名为$plan = App\person::find(1)->plan;
$plan->description = 'something';
$plan->save();
的函数,它是抑制警告/错误消息的最简单方法。如果表达式抛出错误,则会返回catchQuiet
,否则为1
。
0
不幸的是,这个函数只存在于catchQuiet(python("cmds.file(\"/drive/myfile.obj\", i=True)"))
中,但你可以使用mel
将它包装在python中来执行它。
Python Wrapper
Python变体看起来有点讨厌,但这应该有效。
maya.cmds.mel