Skip to main content

A Python3/PySide2 marking menu style toolkit for Maya, 3ds Max, and Blender.

Project description

License: LGPL v3 Version

Tentacle: A Python3/PySide2 Marking Menu and DCC Toolkit

Tentacle is a Python3/PySide2 marking menu implemented using Qt's QStackedWidget. It is designed for use with Maya, 3ds Max, Blender, and any other DCC app that supports the PySide2 framework. It allows easy management of various user interfaces (UIs) and provides functionality related to key events and mouse interactions. This is an ongoing personal project and is currently a work in progress. At the moment, I have stopped developing for Max and Blender and am solely focused on Maya, as it proved too much of an undertaking at this stage to support all three apps, especially since I am still somewhat in the experimental stage. However, this can be easily extended to work with those apps. If you have any questions or thoughts about that, feel like collaborating on something, or anything else, just drop me message.

Design

Tentacle runs on top of the uitk, a dynamic UI loader and management package which supports multiple UI, custom widget, and slot locations.

Example

The following example demonstrates re-opening the last scene, renaming a material, and selecting geometry by that material.

Example

Structure

The structure of the project is as follows:

Structure

Module Description
tcl Handles main GUI construction for the marking menu.
overlay Tracks cursor position and UI hierarchy to generate paint events that overlay its parent widget.
ui Location of the dynamic UI files.
slots Location of the various slot modules.

Installation

Add the tentacle folder to a directory on your Python path, or install via pip in a command line window using:

python -m pip install tentacletk

Usage

To launch the marking menu:

For Maya, add a macro to a hotkey similar to the following:

from tentacle import tcl_maya
tcl_maya.show(key_show='Key_F12')  # Change 'Z' to match your desired hotkey.

For 3ds Max, add a macro to a hotkey similar to the following:

macroScript main_max
category: "_macros.ui"
silentErrors: false
autoUndoEnabled: false
(
	python.Execute "from tentacle import tcl_max"
	python.Execute "tcl_max.show(key_show='Key_F12')"  // Change 'Z' to match your desired hotkey.
)

Again, please note that this is a personal project and is currently a work in progress. Contributions are welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tentacletk-0.9.5.tar.gz (70.6 kB view hashes)

Uploaded Source

Built Distribution

tentacletk-0.9.5-py3-none-any.whl (89.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page