An external tool capable of sending command to Maya and stream its output
Demo
Although there are a lot of tools that can run internally in Maya which facilitate the pipeline. The capability of communicating (monitor and control) with Maya externally is very handy.
I covered the development of this tool in more detailed here: Part 1 | Part 2.
This tool has two major components:
- command port: sending commands to maya to execute
- output streaming: actively listening/receiving maya outputs
-
Qt: a module that supports different python qt bindings
or alternatively, change the code below to whatever qt binding you have on your machine.
from Qt import QtWidgets, QtCore, QtGui from Qt import _loadUi
-
Unzip the maya-connector package
-
Launch Maya and open port
5050
:import maya.cmds as cmds port = 5050 if not cmds.commandPort(":{}".format(port), query=True): cmds.commandPort(name=":{}".format(port))
-
Run
main.py
throughmayapy
orpython
externally -
Click the connect button to establish streaming connection
-
Use the tool like an external script editor
- code editor with syntax highlighting and line counter
- save/open script
- execute selected script or all
- clear viewport
Google Group - Receiving data from commandPort
Stack Overflow - c socket programming, only receiving one line at a time
CG Talk - Telnet or Socket: no result back from Maya
Youtube - Python Socket Programming Tutorial
Maya Help - OpenMaya.MCommandMessage Class Reference