Я пытаюсь получить значения для вращения суставов в Maya во внешнюю IDE. Я успешно смог отправить команды, и Maya отвечает правильно, но у меня возникают проблемы с пониманием того, как получить результаты обратно в IDE.
Я пытался использовать socket.recv и socket.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 для открытия команды Port
import maya.cmds as cmds
if not cmds.commandPort(':7720', q=True, echoOutput=True, noreturn=False):
cmds.commandPort(name=':7720')
Ожидаемый результат равен [43.74], как показано в Maya, но фактический результат в PyCharm