J'ai implémenté une application C# qui communique avec Autodesk Maya en utilisant une connexion TCP. Maya agit en tant que serveur et mon application agit en tant qu'hôte.Envoyer des données d'Autodesk Maya à une application externe en utilisant commandPort (script python)
Le script python qui est exécuté dans Maya est -
import socket
import maya.cmds as cmds
flag = None
cmds.commandPort(name = "localhost:7777", stp = "python")
def start():
global flag
flag = True
def stop():
global flag
flag = False
def close():
cmds.commandPort(name = "localhost:7777", close = True)
windowZ = cmds.window(title="Object Navigate", w= 350)
cmds.columnLayout(adjustableColumn = True)
startbtn= cmds.button(label = "Start", c = "start()")
stopbtn= cmds.button(label = "Stop", c = "stop()")
closebtn= cmds.button(label = "close", c = "close()")
cmds.showWindow(windowZ)
J'ai écrit une application TCPClient C# (qui fonctionne parfaitement bien). Les données envoyées par l'application ressemblent à ceci. Le problème avec cette instruction est que la variable d'indicateur qui a été déclarée dans le script python n'est pas reconnue ici. Quand je dis simplement cmds.dolly (10,20,30) cette commande est parfaitement exécutée. Maintenant, ma question est de savoir comment rendre la variable flag visible à mon application C# OU y a-t-il un moyen d'envoyer la valeur de flag de Maya à l'application C# via commandPort?
Toutes les idées seraient appréciées!