Python 是否可以使用CMD在活动Maya窗口中发送命令?

Python 是否可以使用CMD在活动Maya窗口中发送命令?,python,cmd,maya,mel,Python,Cmd,Maya,Mel,我是Maya的初学者,我想在Maya的活动窗口中运行cmd命令来修改场景中的内容,例如在python中放置球体 from pymel.all import * sphere() 还是梅尔 polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1; 我找到了mayapi,还找到了一些与“headless”(没有GUI)相关的内容,但我还没有发现任何可以在打开的窗口中运行的内容,可能是因为我不太了解这些术语。我希望它是python的,但是如果你知道

我是Maya的初学者,我想在Maya的活动窗口中运行cmd命令来修改场景中的内容,例如在python中放置球体

from pymel.all import *
sphere()
还是梅尔

polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1;
我找到了mayapi,还找到了一些与“headless”(没有GUI)相关的内容,但我还没有发现任何可以在打开的窗口中运行的内容,可能是因为我不太了解这些术语。我希望它是python的,但是如果你知道MEL中的任何解决方案,你也可以把它放在这里


有没有办法在不指定打开文档路径的情况下执行此操作?

maya的编程控制有四个基本选项

  • 在Maya中的脚本编辑器中运行脚本。这要求您运行一个开放的GUI maya实例,您可以自己键入命令,也可以通过在脚本编辑器中加载和执行命令来启动脚本。这对于自动化重复性任务很好,但需要您手动干预

  • 您可以使用TCP连接将单个命令发送到Maya。这基本上类似于通过telnet连接到另一台计算机:您可以控制Maya会话,但您将完全通过文本进行通信。例如,它通常被

  • 只能运行Maya的命令行副本。这使您可以在Maya中执行python命令,而根本不需要GUI——这是自动化任务的常用工具

  • 你可以。Maya将打开并运行该脚本。出于传统原因,这些命令仅为MEL,而不是python,但您可以通过使用MEL命令“python”以及引号中的python命令来解决这一问题


  • 所有这些都是有用的,正确的选择取决于你需要做什么。但是,对于长时间运行的任务,3可能是最可靠的方法,因为它很容易迭代和测试

    maya的编程控制有四个基本选项

  • 在Maya中的脚本编辑器中运行脚本。这要求您运行一个开放的GUI maya实例,您可以自己键入命令,也可以通过在脚本编辑器中加载和执行命令来启动脚本。这对于自动化重复性任务很好,但需要您手动干预

  • 您可以使用TCP连接将单个命令发送到Maya。这基本上类似于通过telnet连接到另一台计算机:您可以控制Maya会话,但您将完全通过文本进行通信。例如,它通常被

  • 只能运行Maya的命令行副本。这使您可以在Maya中执行python命令,而根本不需要GUI——这是自动化任务的常用工具

  • 你可以。Maya将打开并运行该脚本。出于传统原因,这些命令仅为MEL,而不是python,但您可以通过使用MEL命令“python”以及引号中的python命令来解决这一问题


  • 所有这些都是有用的,正确的选择取决于你需要做什么。但是,对于长时间运行的任务,3可能是最可靠的方法,因为它很容易迭代和测试

    也许您应该使用来控制鼠标/键盘,并将按键发送到活动窗口。我想为任何计算机自动执行一些复杂而长的任务,这些计算机可以有多个屏幕,甚至在窗口焦点更改时保持运行,仅在Maya中运行。但是如果是为了更简单的事情,那将是一个好主意,谢谢你的建议!请查看
    mayaCommandPort
    maya命令。通过这种方式,外部应用程序可以向maya发送命令。也许您应该使用来控制鼠标/键盘,并将按键发送到活动窗口。我想为任何计算机自动执行一些复杂而长的任务,这些计算机可以有多个屏幕,甚至在窗口焦点更改时保持运行,仅在maya中运行。但是如果是为了更简单的事情,那将是一个好主意,谢谢你的建议!请查看
    mayaCommandPort
    maya命令。通过这种方式,外部应用程序可以向maya发送命令。非常感谢!由于我需要与开放用户界面(复杂的自定义工具)交互,我想我会使用MayaCommand端口,它甚至允许我用其他语言编写!!您仍然可以通过TCP端口发送MEL或Python,但maya不会在意您如何到达那里。我在这里没有列出的第五个选项是使用在Maya中运行的RDP服务器(我很喜欢)并与之交谈。您需要注意的是,Maya不喜欢从其他线程运行任何触摸场景的内容。非常感谢!由于我需要与开放用户界面(复杂的自定义工具)交互,我想我会使用MayaCommand端口,它甚至允许我用其他语言编写!!您仍然可以通过TCP端口发送MEL或Python,但maya不会在意您如何到达那里。我在这里没有列出的第五个选项是使用在Maya中运行的RDP服务器(我很喜欢)并与之交谈。您需要注意的是,Maya不喜欢从另一个线程运行任何触摸场景的内容。