From 9a26200542b7d617f14d0381dd1f6b7e619c35d5 Mon Sep 17 00:00:00 2001 From: jeffreytsai1004 Date: Sun, 30 Nov 2025 14:36:56 +0800 Subject: [PATCH] Update --- template_plugins/maya/2023/README.md | 42 ---- template_plugins/maya/2023/RELOAD_SHELF.py | 117 --------- .../2023/icons/.alg_meta/batchextrusion.png | Bin 184 -> 0 bytes .../maya/2023/icons/.alg_meta/nexus_test.png | Bin 184 -> 0 bytes .../maya/2023/icons/batchextrusion.png | Bin 13822 -> 0 bytes .../maya/2023/icons/nexus_test.png | Bin 10637 -> 0 bytes .../2023/plug-ins/nexus_example_plugin.py | 55 ----- .../maya/2023/scripts/nexus_test.py | 30 --- .../maya/2023/scripts/userSetup.py | 222 ------------------ .../maya/2023/shelves/shelf_NexusLauncher.mel | 78 ------ 10 files changed, 544 deletions(-) delete mode 100644 template_plugins/maya/2023/README.md delete mode 100644 template_plugins/maya/2023/RELOAD_SHELF.py delete mode 100644 template_plugins/maya/2023/icons/.alg_meta/batchextrusion.png delete mode 100644 template_plugins/maya/2023/icons/.alg_meta/nexus_test.png delete mode 100644 template_plugins/maya/2023/icons/batchextrusion.png delete mode 100644 template_plugins/maya/2023/icons/nexus_test.png delete mode 100644 template_plugins/maya/2023/plug-ins/nexus_example_plugin.py delete mode 100644 template_plugins/maya/2023/scripts/nexus_test.py delete mode 100644 template_plugins/maya/2023/scripts/userSetup.py delete mode 100644 template_plugins/maya/2023/shelves/shelf_NexusLauncher.mel diff --git a/template_plugins/maya/2023/README.md b/template_plugins/maya/2023/README.md deleted file mode 100644 index 4ae4dec..0000000 --- a/template_plugins/maya/2023/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# Maya 2023 Plugin Directory Structure - -## Directory Description - -- **shelves/** - Shelf files (.mel format) - - shelf_NexusLauncher.mel - NexusLauncher shelf - -- **scripts/** - Python/MEL scripts - - userSetup.py - Automatically executed when Maya starts - - nexus_test.py - Test script - -- **plug-ins/** - Maya plugin files (.py or .mll) - - Place Maya plugin files here - -- **icons/** - Tool icons - - Place icon files used by shelf buttons here - -## Usage - -1. Configure in NexusLauncher's config.json: - ```json - "maya_plugin_path": "E:/Zoroot/Dev/NexusLauncher/template/plugins/maya" - ``` - -2. Start Maya 2023, the system will automatically: - - Load NexusLauncher shelf - - Execute userSetup.py - - Set correct environment variables - -3. Testing: - - Check if "NexusLauncher" shelf appears - - Click the "Test" button - - A confirmation dialog should appear - -## Environment Variables - -Automatically set on startup: -- MAYA_SHELF_PATH - Points to shelves directory -- MAYA_SCRIPT_PATH - Points to scripts directory -- PYTHONPATH - Points to scripts directory -- MAYA_PLUG_IN_PATH - Points to plug-ins directory -- XBMLANGPATH - Points to icons directory diff --git a/template_plugins/maya/2023/RELOAD_SHELF.py b/template_plugins/maya/2023/RELOAD_SHELF.py deleted file mode 100644 index 3337d20..0000000 --- a/template_plugins/maya/2023/RELOAD_SHELF.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -""" -Shelf Reload Script -Run this script in Maya Script Editor to reload NexusLauncher shelf -""" -import maya.cmds as cmds -import maya.mel as mel - - -def reload_shelf(): - """Reload NexusLauncher shelf""" - print("\n" + "=" * 60) - print("Reloading NexusLauncher Shelf") - print("=" * 60) - - # 1. Delete old shelf - if cmds.shelfLayout('NexusLauncher', exists=True): - old_buttons = cmds.shelfLayout('NexusLauncher', query=True, childArray=True) or [] - print(f"[1/4] Deleting old shelf (had {len(old_buttons)} button(s))...") - cmds.deleteUI('NexusLauncher', layout=True) - print(" ✓ Old shelf deleted") - else: - print("[1/4] No existing shelf found") - - # 2. Reload shelf (using new method) - import os - shelf_paths = os.environ.get('MAYA_SHELF_PATH', '') - - # Find shelf file - shelf_file_found = None - if shelf_paths: - path_separator = ';' if os.name == 'nt' else ':' - for shelf_path in shelf_paths.split(path_separator): - shelf_file = os.path.join(shelf_path.strip(), "shelf_NexusLauncher.mel") - if os.path.exists(shelf_file): - shelf_file_found = shelf_file.replace("\\", "/") - break - - if not shelf_file_found: - print("[2/4] ✗ Could not find shelf_NexusLauncher.mel in MAYA_SHELF_PATH") - return False - - print(f"[2/4] Loading shelf from: {shelf_file_found}") - - try: - # Disable auto-save - mel.eval('optionVar -intValue "saveLastLoadedShelf" 0;') - - # Create shelf layout - mel.eval(''' - global string $gShelfTopLevel; - setParent $gShelfTopLevel; - shelfLayout -cellWidth 35 -cellHeight 34 NexusLauncher; - ''') - - # Set parent and execute shelf script - mel.eval('setParent NexusLauncher;') - mel.eval(f'source "{shelf_file_found}";') - mel.eval('shelf_NexusLauncher();') - - print(" ✓ Shelf loaded (temporary, won't be saved)") - except Exception as e: - print(f" ✗ Failed to load shelf: {e}") - import traceback - traceback.print_exc() - return False - - # 3. Verify shelf - if cmds.shelfLayout('NexusLauncher', exists=True): - print("[3/4] Verifying shelf...") - buttons = cmds.shelfLayout('NexusLauncher', query=True, childArray=True) or [] - - if buttons: - print(f" ✓ Shelf has {len(buttons)} button(s)") - - # Display button details - for i, btn in enumerate(buttons, 1): - try: - label = cmds.shelfButton(btn, query=True, label=True) - annotation = cmds.shelfButton(btn, query=True, annotation=True) - source_type = cmds.shelfButton(btn, query=True, sourceType=True) - print(f" Button {i}: {label} ({source_type})") - print(f" {annotation}") - except Exception as e: - print(f" ✗ Error querying button {i}: {e}") - else: - print(" ⚠ Warning: Shelf exists but has no buttons!") - return False - else: - print("[3/4] ✗ Shelf not found after loading!") - return False - - # 4. Test button command - print("[4/4] Testing button command...") - try: - import nexus_test - print(" ✓ nexus_test module imported") - - # Run test - print(" Running test...") - nexus_test.run_test() - print(" ✓ Test executed successfully!") - except Exception as e: - print(f" ✗ Test failed: {e}") - import traceback - traceback.print_exc() - return False - - print("=" * 60) - print("✓ Shelf reload complete!") - print("=" * 60 + "\n") - return True - - -if __name__ == '__main__': - reload_shelf() diff --git a/template_plugins/maya/2023/icons/.alg_meta/batchextrusion.png b/template_plugins/maya/2023/icons/.alg_meta/batchextrusion.png deleted file mode 100644 index 3f8b3fee45a6f7a6fe01391b7df52809a1dbe6b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmY+6Jqp4=5QU#<^$;T1N!Z^cwUuYEk?dxbpeB%@XypmKkhPVac$d_^wR7Mx!^isu zKmuTa16p{L+#8(G;EaF{J!Q>-+N6KfivkCdL2& diff --git a/template_plugins/maya/2023/icons/.alg_meta/nexus_test.png b/template_plugins/maya/2023/icons/.alg_meta/nexus_test.png deleted file mode 100644 index 963f304deea6c50d8f6a9e36d119b9c0cefa96e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmY+6u?oU46h*IH^&>=ZlVZ|HlGVv?aFLRx608lhC_4EC{*beioA@uCy>auwS%ex{!a9_!QG4q=#OP(lF>iEF3_OAky)XcR|g)OaG x8L4dHjINE)PF6yz+6$?cvML-|9**VSkEo=~Z?ll}&EuU7m-y+1?S1{~pI?UDCm;X- diff --git a/template_plugins/maya/2023/icons/batchextrusion.png b/template_plugins/maya/2023/icons/batchextrusion.png deleted file mode 100644 index e74527dd0778430ea6f5c325182ea8e758827f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13822 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 diff --git a/template_plugins/maya/2023/icons/nexus_test.png b/template_plugins/maya/2023/icons/nexus_test.png deleted file mode 100644 index e5c01910425b4c78be2f171749667b202ccab41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10637 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