A Python3/PySide2 marking menu style toolkit for Maya, 3ds Max, and Blender.
Project description
*A Python3/PySide2 marking menu style toolkit for Maya, 3ds Max, and Blender.
personal project. work in progress..
Design:
This is a dynamic and modular marking menu style ui, with a QStackedWidget at it's core. The switchboard module provides convenience methods that allow quick and easy lookups when getting/setting relevant ui and widget data across modules.
*Example re-opening the last scene, renaming a material, and selecting geometry by that material.
Structure:
tcl:
handles main gui construction.
childEvents:
event handling for child widgets.
overlay:
tracks cursor position and ui hierarchy to generate paint events that overlay the main widget.
switchboard:
loads dynamic ui and any custom widgets and contains convenience methods for interacting with the ui.
slots:
parent class housing methods that are inherited across all app specific slot class modules.
Installation:
For Maya: add these lines to a startup script:
sys.path.append('your path to /tentacle') --append the dir containing 'append_to_path.py' to the python path.
import append_to_path as ap
ap.appendPaths('maya', verbose=0)
and to launch the menu, add a macro to a hotkey like the following:
def hk_tentacle_show():
'''Display the tentacle marking menu.
'''
if 'tcl' not in globals():
from tcl_maya import Tcl_maya
global tcl
tcl = Tcl_maya(key_show='Key_F12', profile=False)
tcl.sendKeyPressEvent(tcl.key_show)
For 3ds Max: add these lines to a startup script:
python.Init() --initalize python
python.Execute("import sys; sys.path.append('your path to /tentacle')") --append the dir containing 'append_to_path.py' to the python path.
python.Execute("import append_to_path as ap; ap.appendPaths('max', verbose=0)")
and to launch the menu, add a macro to a hotkey like the following:
macroScript main_max
category: "_macros.ui"
silentErrors: false
autoUndoEnabled: false
(
python.Execute "if 'tcl' not in globals(): from tcl_max import Tcl_max; global tcl; tcl = Tcl_max(key_show='Key_Z')" --create an instance.
python.Execute "tcl.sendKeyPressEvent(tcl.key_show);" --show the instance.
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file m3trik-0.501-py3-none-any.whl
.
File metadata
- Download URL: m3trik-0.501-py3-none-any.whl
- Upload date:
- Size: 441.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca7d66de0c8397a9331c9032e476f522dbab3528921d6ab1dc99e48b28a87a09 |
|
MD5 | ddee7731b8d82301903545a3c4905b8e |
|
BLAKE2b-256 | d7a069bef0d7a15d64644ca51bec4634a6fff613489d61f26741e93727e58966 |