Maya到截止日期作业提交python命令

时间:2016-05-24 03:55:43

标签: python subprocess maya deadlines

我正在尝试通过Deadline Software发送maya渲染来渲染场。

用于手动作业提交的Python命令Maya到截止日期。

import sys
import subprocess
import maya.cmds as cmds

deadline = "C:\\Program Files\\Thinkbox\\Deadline\\bin\\deadlinecommand.exe"
maya_exe = "C:\\Program Files\\Autodesk\\Maya2015\\bin\\render.exe"

file_path = cmds.file(q=True, location=True)

command = '%s ' \
          '-SubmitCommandLineJob ' \
          '-executable "%s" ' \
          '-name "File Name" ' \
          '"%s" ' % (deadline, maya_exe, file_path)
process = subprocess.Popen(command, stdout=subprocess.PIPE)
lines_iterator = iter(process.stdout.readline, b"")
for line in lines_iterator:
    print(line)
    sys.stdout.flush()

任何python方式添加maya渲染到截止日期..?

2 个答案:

答案 0 :(得分:1)

我为玛雅内部的核工作写了一个出口商。它也应该和maya一起工作(即使我不理解你没有使用截止日期脚本 - 注意nuke的截止日期是.py中的提交者):

我用xml编辑了两个部分文件: nuke_submit_info.job nuke_plugin_info.job 为maya找到相同的文件,它应该可以做到这一点

然后使用' deadlinecommand'

提交它们
def sumbit2deadline():
    FileName = "nuke_submit_info"
    JobInfo = PathSaveFiles + FileName + ".job"
    FileName = "nuke_plugin_info"
    JobPlugIn = PathSaveFiles + FileName + ".job"
    FileName = "NukeTemplate"
    JobFile = PathSaveFiles + FileName + ".nk"
    command = "deadlinecommand" + " " + JobInfo + " " + JobPlugIn + " " + JobFile
    subprocess.Popen(command)

答案 1 :(得分:0)

最后,我找到了将maya渲染作业发送到截止日期渲染农场软件的方法。 我们需要做的就是为截止日期编写2个作业文件。 1. maya_deadline_job.job 2. maya_deadline_info.job

并将这些文件作为参数传递给deadlinecommand.exe 例如:

Image

这是我的python代码

deadlinecommand.exe "maya_deadline_info.job"  "maya_deadline_info.job"

修改信息 -

请勿在renderer_name变量中使用cmds.getAttr(" defaultRenderGlobals.currentRenderer"请使用将采用图层覆盖渲染器的文件。