我想知道有没有办法通过python套接字和maya自己的"commandPort“命令向Maya发送多行命令?
我使用下面的代码将代码发送到maya("message“value是命令):
import socket
#HOST = '192.168.1.122' # The remote host
HOST = '127.0.0.1' # the local host
PORT = 54321 # The same port as used by the server
ADDR=(HOST,PORT)
def SendCommand():
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ADDR)
command = 'import maya.cmds as mc mc.polyCube()' # the commang from external editor to maya
MyMessage = command
client.send(MyMessage)
data = client.recv(1024) #receive the result info
client.close()
print 'The Result is %s'%data
if __name__=='__main__':
SendCommand()
当我发送一个像'polyCube()‘这样的命令时,它可以工作,但例如发送一个python命令,比如:
import maya.cmds as mc
mc.polyCube()
引发“无效语法错误”!
发布于 2011-06-27 00:12:35
尝试:
command = 'import maya.cmds as mc\n mc.polyCube()'
发布于 2011-07-07 07:34:26
对于向Maya发送小命令,@pajton的方法有效,或者您可以使用;
作为分隔符:
command = "import maya.cmds as mc; mc.polyCube()"
如果可能,一次发送多行的最简单方法是创建Maya可以访问的单独.py
文件。
command = "import sys; sys.append(r'c:\path to my_script');"
command += "import my_script; my_script.run()"
https://stackoverflow.com/questions/6485059
复制相似问题