Maya Python质量.obj导入如何关闭obj导入警告?

时间:2017-11-29 17:39:34

标签: python maya

嘿我正在通过python将文件列表导入到maya场景中。

每次导入.obj时,maya都会给我以下警告:

Warning: Option "Use legacy vertex order" will only take effect when option "Multiple Objects" is enabled.

我的问题:是否可以关闭此警告?还是一种不首先显示警告的方法?

编辑:问题是此警告将显示在从列表导入的每个文件中。我添加了玛雅的截图。

enter image description here

我正在加载这样的文件:

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

感谢您的时间,祝您度过愉快的一天!

2 个答案:

答案 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