These little tools were created by Jennifer Hoffman for her own convenience.
They just so happen to be small enough to share around easily, so have fun!
Please give credit where credit is due, and if you redistribute them leave
a link to the original source at www.jenniferhoffman.net 


INSTALLING
----------------------------
1. Drop the jenTools folder into your preferred scripts directory (most people use
    something like C:/username/documents/maya/scripts)
2. Drop the shelf_JenTools.mel file into your shelves folder (usually found at
    C:/username/documents/maya/version/prefs/shelves)


TROUBLESHOOTING
----------------------------
If you run into a "No module named..." error, make sure that your maya knows
where to look for python scripts:

1: Open up your Maya.env file located in documents/maya/version/scripts
2: Add a new line at the end of the file as follows:

PYTHONPATH = C:/path/to/your/scripts

Make sure the path matches where you dropped the jenTools folder above and
that there is no trailing slash.  If you need to add multiple paths, separate them
by semicolons:

PYTHONPATH = C:/path/to/my/scripts;C:/other/path/I/like;D:/path/on/another/drive


USER GUIDE
----------------------------

The Lock / Unlock Set
----------------------
To lock and unlock nodes in order to prevent their deletion.
Very useful for riggers who are handing off files and just know someone will
hit delete at the wrong time!

LkS  - Lock selected nodes
ULkS - Unlock selected nodes
LkH  - Lock selected nodes and their children
ULkH - Unlock selected nodes and their children
UULk - Double unlock!  Unlock the nodes as well as their t/r/s/v attributes
       and all children

The Rename Set
----------------------
Some basic renaming functions that are quick and accessible 

F/R   - Do a find/replace rename on the selected nodes and all their children.
        A blank field can be used to delete text from the names.
F/R S - Same as above, but acts only on child nodes which are the same type
        as the node you selected
Pfx   - Add a prefix to the selected nodes and all their children
Pfx S - Same as above, but acts only on child nodes which are the same type
        as the node you selected
Sfx   - Add a suffix to the selected nodes and all their children
Sfx S - Same as above, but acts only on child nodes which are the same type
        as the node you selected

The Pivot Snapping Set
----------------------
Snapping / alignment controls that will adhere to an object's pivot point rather
than any external feature.  Very useful for making control objects while rigging

OtoP - Objects to pivot: snap all selected objects to the last object's pivot
PtoP - Pivots to pivot: snap the pivot points of the selected objects to the
       last object's pivot point

Curve Merge
----------------------
MRG - Collects shape nodes of all the selected nurbs curves under the transform
      node of the last curve.
      Useful in rigging for applying different effects to different parts of a
      control object while keeping it functionally a single object

Null Group 
----------------------
NullG - Creates a null group above each of the selected objects which will
        maintain their orientations while zeroing their values.
        Extremely useful in rigging when creating FK control objects

Roll Joint Alignment
----------------------
RollA - Will create a perfectly aligned roll joint from the given bones.
        No more guessing at median values or trying to eyeball things!

Piston Creator
----------------------
Piston - Will create the bones and rigging for a modeled piston.  Quickly create
         tons of pistons on your complicated robotic characters!
         Requires 4 or 6 selected objects:
         	- A parent joint or object for each end of the piston
         	- A location joint or object for each end of the piston
         	  The Y axis will act as a pin to limit motion when the piston moves
         	  Thus the Y axis should be pointing up out of and perpendicular
         	  to the primary plane of rotation
         	- (optional) A group containing rigid geometry for that end
         	  of the piston 

Massive Attribute Connector
----------------------
AttCo - Will connect the given source and target attributes of all selected
        nodes, with the final selection being the driver.
        Works via text input so that hidden attributes and non-data types are
        still accessible

Mirror Set Driven Keys
----------------------
mrSD - Finds any driven keys inputting into the selected nodes and attempts
       to mirror their functionality via name, such as "left" to "right"
       Very useful when a large number of driven keys need to be duplicated
       quickly, as in fingers and toes of rigs.

The Grabby Set 
----------------------
Creates a selection trigger so that one object may be used as a helper to
select many others

Grab  - Creates the grab effect on the selected objects.
        The last object will be the grabber, all other objects will be grabbed.
Tggle - Toggles the grab effect on and off temporarily, so grabber objects may
        be selected for editing
Delet - Deletes the grab effect permanently off of the selected objects.
        If no objects are selected, the grab effect is cleanly removed from the
        entire scene.