144 lines
3.6 KiB
Markdown
144 lines
3.6 KiB
Markdown
# aTools Wrapper Module
|
|
|
|
## Overview
|
|
|
|
This is a simplified wrapper module for aTools that allows direct launching without installation.
|
|
|
|
## Features
|
|
|
|
- ✅ **No Installation Required**: Launch aTools directly without modifying `userSetup.py`
|
|
- ✅ **Multi-Version Support**: Works with Maya 2017-2026+
|
|
- ✅ **Simple API**: Easy to use `show()` function
|
|
- ✅ **Shelf Integration**: Included in Nexus Animation shelf
|
|
|
|
## Usage
|
|
|
|
### From Python
|
|
|
|
```python
|
|
import animation_tools.atools
|
|
animation_tools.atools.show()
|
|
```
|
|
|
|
### From Maya Shelf
|
|
|
|
Click the **aTools** button on the Nexus Animation shelf.
|
|
|
|
### From MEL
|
|
|
|
```mel
|
|
python("import animation_tools.atools; animation_tools.atools.show()");
|
|
```
|
|
|
|
## Requirements
|
|
|
|
1. **Python Path**: The `animation_tools` folder must be in `sys.path`
|
|
- Automatically configured if using the standard plugin structure
|
|
|
|
## File Structure
|
|
|
|
```
|
|
animation_tools/
|
|
└── atools/ # aTools integrated module (flattened structure)
|
|
├── __init__.py # Main entry module
|
|
├── setup.py # Setup module
|
|
├── README.md # This file
|
|
├── TEST_ATOOLS.py # Test script
|
|
├── CHECKLIST.md # Feature checklist
|
|
├── FINAL_STRUCTURE.md # Structure documentation
|
|
├── MIGRATION_COMPLETE.md # Migration notes
|
|
├── animTools/ # Animation tools (22 files)
|
|
│ ├── animBar/
|
|
│ │ ├── animBarUI.py # Main UI
|
|
│ │ └── subUIs/ # Sub UI modules
|
|
│ └── ...
|
|
├── commonMods/ # Common modules (6 files)
|
|
│ ├── animMod.py
|
|
│ ├── utilMod.py
|
|
│ └── ...
|
|
├── generalTools/ # General tools (7 files)
|
|
│ ├── aToolsGlobals.py
|
|
│ └── ...
|
|
└── img/ # UI icons (159 files)
|
|
```
|
|
|
|
## API Reference
|
|
|
|
### Functions
|
|
|
|
#### `show(*args, **kwargs)`
|
|
Launch aTools Animation Bar
|
|
|
|
**Returns:** Animation Bar window instance
|
|
|
|
**Example:**
|
|
```python
|
|
import animation_tools.atools
|
|
animation_tools.atools.show()
|
|
```
|
|
|
|
#### `launch(*args, **kwargs)`
|
|
Alias for `show()`. Launch aTools Animation Bar
|
|
|
|
**Returns:** Animation Bar window instance
|
|
|
|
#### `version()`
|
|
Get aTools wrapper version
|
|
|
|
**Returns:** Version string (e.g., "2.0.0")
|
|
|
|
#### `isMaya()`
|
|
Check if running in Maya environment
|
|
|
|
**Returns:** `True` if in Maya, `False` otherwise
|
|
|
|
## Shelf Button Configuration
|
|
|
|
The aTools button is configured in `shelf_Nexus_Animation.mel`:
|
|
|
|
```mel
|
|
shelfButton
|
|
-annotation "aTools - Animation tools collection"
|
|
-label "aTools"
|
|
-image "aTools.png"
|
|
-command "import animation_tools.atools\nanimation_tools.atools.show()"
|
|
-sourceType "python"
|
|
;
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Import Error: "No module named 'animTools'"
|
|
|
|
**Solution:** Ensure `animTools`, `commonMods`, and `generalTools` folders exist in the `atools` directory.
|
|
|
|
### Import Error: "No module named 'animation_tools'"
|
|
|
|
**Solution:** Add the scripts folder to `sys.path` in `userSetup.py`:
|
|
|
|
```python
|
|
import sys
|
|
import os
|
|
scripts_path = r'h:\Workspace\Raw\Tools\Plugins\Maya\2023\scripts'
|
|
if scripts_path not in sys.path:
|
|
sys.path.insert(0, scripts_path)
|
|
```
|
|
|
|
### aTools doesn't launch
|
|
|
|
**Solution:** Run the test script to diagnose:
|
|
|
|
```python
|
|
execfile(r'h:\Workspace\Raw\Tools\Plugins\Maya\2023\scripts\animation_tools\atools\TEST_ATOOLS.py')
|
|
```
|
|
|
|
## Credits
|
|
|
|
- **Original aTools**: Alan Camilo (www.alancamilo.com)
|
|
- **Wrapper Module**: Created for Nexus Animation Tools
|
|
- **Modified by**: Michael Klimenko
|
|
|
|
## License
|
|
|
|
This wrapper follows the same license as the original aTools package.
|