我正在尝试获取Maya中关节旋转到外部IDE的值。我已经成功地发送了命令,并且Maya做出了正确的响应,但是我很难理解如何在IDE中接收结果。你知道吗
我试过使用插座.recv以及套接字.recvmsg但两者都有错误。你知道吗
在PyCharm中运行的代码
import socket
host = 'localhost'
port = 7720
code1 = ("servo_1 = [cmds.getAttr('joint2.rotateY')]\\n"
"print servo_1")
try:
# Connect to Maya Command Port
maya = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
maya.connect( (host,port) )
# Send Command Through Socket --> Can Only Send MEL Commands
message = 'python("{}")'.format(code1)
print message
maya.send(message)
reply = maya.recv(4096)
print reply
except:
raise Exception, 'Connection Failed To : %s:%s' % (host, port)
finally:
#Close Socket Connection
maya.close()
在Maya中编写代码以打开commandPort
import maya.cmds as cmds
if not cmds.commandPort(':7720', q=True, echoOutput=True, noreturn=False):
cmds.commandPort(name=':7720')
预期输出为[43.74],如Maya中所示,但实际输出为PyCharm
我建立了一个从Maya到PyCharm的客户端套接字连接,创建了一个python套接字服务器,将Maya设置为客户端,并使用pickle模块发送一个列表。你知道吗
Python服务器
Maya客户端
相关问题 更多 >
编程相关推荐