leixingyu / mayaConnector

Send command to Maya and stream its output

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maya Connector

An external tool capable of sending command to Maya and stream its output
Demo

About The Project


maya-connector

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:

  1. command port: sending commands to maya to execute
  2. output streaming: actively listening/receiving maya outputs

Getting Started

Prerequisites

  • 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

Launch

  1. Unzip the maya-connector package

  2. 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))
  3. Run main.py through mayapy or python externally

  4. Click the connect button to establish streaming connection

  5. Use the tool like an external script editor

Features

  • code editor with syntax highlighting and line counter
  • save/open script
  • execute selected script or all
  • clear viewport

Reference

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

Google Groups - Extracting data from Output Window

Github - MayaCharm

Github - MayaSublime

About

Send command to Maya and stream its output

License:MIT License


Languages

Language:Python 100.0%