ZenTools for Maya


Download: http://github.com/downloads/davebelais/zentools/zenTools_1.6.2.zip

Issue Tracking: http://github.com/davebelais/zentools/issues

Installation

  • First Time Installation

    1. Bonus tools for Maya is required  to use ZenTools. Bonus Tools can be found at http://area.autodesk.com/index.php/misc/bonus_tools/.
    2. If maya is open, close Maya. Unzip the contents of the downloaded archive to your user scripts directory. Inside Maya, enter
      python("import zen");
      evalDeferred("zenTools");

      into the mel command line or script editor.

  • Upgrading From Versions Previous to 1.6.1

    1. Delete the directory zenScripts in your user scripts directory & delete the file zenTools.mel from your user scripts directory.
    2. Locate userSetup.mel . If you have not created a userSetup.mel file in your user scripts directory or elsewhere, this will be in your BonusTools installation directory under /scripts.
    3. Look for the line
      source zenTools;

      and replace it with

      python("import zen");

      if present, otherwise, add

      python("import zen");

      to the last line of userSetup.mel.

    4. Unzip the attached package to your user scripts directory. * Restart Maya. Enter
       zenTools

      into the ( mel ) command line.

Tools by Menu

  • Select

    • Vert Loop

      Selects an edge path between selected vertices. Q: Maya already has a Select Shortest Edge Path tool, how is this different? A: Maya’s  Select Shortest Edge Path tool delivers unintuitive results on irregular surfaces. ZenTools Vert Loop function always retrieves the connecting edge path containing the fewest number of edges possible to make the connection, as illustrated below.

      Input Selection

      “Select Shortest Edge Path” Results

      ZenTools “Vert Loop” Results

    • Flood Select

      Select polygon edges defining a desired selection perimeter, then a vertex or a face indicating the region which should be filled. “Flood Fill” will select the vertices or faces contained within.

      Input SelectionResults
      Input SelectionResults
    • Transfer Component Selection
      Select components on one object, then [right click > Object Mode] and shift-select one or more similar objects, “Transfer Component Selection” will select the corresponding components on the selected objects.
  • Model

    • Cut Edges

      Splits the mesh at selected edges.

    • Curve Distribute Between Vertices

      Select 2 or more vertices. This command will align the vertices between them along an arc, ep curve , or cv curve based on current options.

    • Loft Distribute Between Edge Loops

      Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. This command will distribute the vertices between them along a loft.

    • Transfer Vertex/CV Positions

      Select vertices or control vertices on one object, then [right click > Object Mode] and shift-select one or more similar objects. This command will transfer the positions of the selected cv’s or vertices onto the selected object(s).

    • Curve Distribute Between UVs

      Select 2 or more uv points. This command will align the uv points between them along an arc, ep curve , or cv curve based on current options.

    • UV Mirror

      Select the source faces you which to mirror. This command will position the uv’s which are opposite the selected faces in object space to be similarly opposite in texture space. The reference axis is determined by the object?s rotation axis.

    • UV Patch Between Edge Loops

      Select 2 aligned, equal length, parallel edge loops lying on a polygon surface. This command will create a nurbs-style uv-patch with the selected edges defining it’s u borders.

    • UV Layout Proportionate

      This command will layout selected UV shells proportionately in relation to their 3d surface area.

  • Rig

    • Surface Between Edge Loops

      Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. This command will create a surface from the portion of the mesh sandwiched between your selections.

    • Curve Spans Between Edge Loops

      Select 2 or more edge loops of equal edge count which are parallel in orientation and aligned such as to share edge rings. With “spans” set to 0 ( the default ), this command will create a curve on each parallel edge loop sandwiched between your selection. If the span count is greater than 0, this command will create the specified number of curves.

    • Curves From Contiguous Edges

      This command will create a curve from selected edges, or multiple curves if the selection is not contiguous.

    • Mirror Smooth Skin Influence Weights

      Select a smooth skinned object. This command will mirror skin influence weights. Opposite vertices will be identified by closest vertex. Opposite influences will be matched according to a number of matching methods, narrowing matches in the following order:

      1. Node Type: only the same node type will be considered as a possible match.
      2. Joint Labels: For nodes which are joints, narrows down possible candidates to opposingly labeled joints.
      3. Naming: Matches any object containing the string “left” to an opposing object containing the string “right” and vice-versa, capitalization is OK but must match for both influences.
      4. Transform: Matches objects according to their bounding box and rotation pivots.
    • Confine Skin Weights to Selected Objects
      Select vertices on a smooth skinned object. Then select all of the joints or influence objects you want to affect the selected vertices. All other influences will be set to zero and the selected influences proportionately normalized.
  • Etc

    • Scripts Menus From Folders

      This command recursively searches given directories and creates menus for executing contained scripts based on folder hierarchy.

      Each folder in the given directory, and each sub-folder will be added to Maya?s script path. Each sub-directory will correspond to a sub-menu, and each MEL script a menu item. Each menu item will execute the command corresponding to the script name, per internal convention, so a global procedure with the same name as the MEL script must be present in each script.

      In the “Remove Prefixes” text field you may enter a list of prefixes which you wish to have excluded from menu labels. This list should be separated by a semicolon for Windows users, or a colon for Linux and OS X users.

      After pressing save, ZenTools stores your options in a file called “zenTools_userOptions.mel” in your user scripts directory, along with the rest of your options. These folders are not removed from your options file by using the Help>Reset Options command. In order to remove these menus, open ZenTools, select “Create>Scripts Menus From Folders?” and press the delete button below the folder you wish to remove, then press save.

      If debugging a script which is in-progress, it may be desirable to have ZenTools source the script each time you execute, thereby reflecting recent changes. In this case, open ZenTools, navigate to the “Help” menu, and select “Debugging Mode”. This will cause scripts in all ZenTools-created menu?s to be sourced upon execution.

    • Set Attributes On Multiple Objects
      Attempts to set the attribute value given on each selected object and (optionally) its descendants. Objects which do not have the selected attribute are skipped. Input can be of any type which can be set using the setAttr command, and format should follow the same conventions.