Download:
---------------
Available for free download here :
http://www.creativecrash.com/maya/script/asnode-one-node-for-most-of-the-general-process-in-maya-rigging
Purpose:
------------
This node is the key module in maya rigging process. One node for the most of the rigging process.
asNode is still going to include many general methods required for rigging / animation process. 
It played key role in hyper skinning system as shown in below video:
asNode was developed with the inspiration from PyNode in PyMel, But with extended support to Rigging process.
And this doesn't depend on PyNode in PyMel. Its purely depends only on Maya api and maya.cmds.
Features:
---------
1. One node for most of the general process in Maya Rigging
2. asNode was developed with the inspiration from PyNode in PyMel
3. It has extensive support to Rigging and  General Pipeline.
4. Doesn't depend on any external modules like PyMel
5. Purely depends on maya.cmds and maya python api
6. Increase programming speed in rigging & pipeline upto 3-4 times
7. A Node with true Object Oriented Programming (OOP)
8. Auto completion list varies with change in node type 
9. Tight Integration With All Auto Rig tools like (as_EasyBird, as_EasyRig, as_EasyQuad etc.)
Updates:
----------
2014.09.08 -- Updated asNode.rar with help file on all methods by adding 'asNode.pypredef'. Open it with wordpad
2014.09.21 -- Test files are added in asNode.rar for asN.addChild, asN.mConstrain etc
2015.02.05 -- Auto completion methods will update and change according the selection type of object
2015.02.06 -- Fixed the method : asN.jntOrient and added new methods : asN.get_2PosExtn, asN.get_2PosVect.
                   And added new example maya files
Future Updates:
---------------------
1. More rigging and pipeline related methods will be added to asNode
Usage:
--------
Apply asNode on any maya node and then start using following methods:
[ '_selected', 'addAttr', 'addAttrDivider', 'addChild', 'addPrefix', 'addSuffix', 'applyCtrlColor', 'asObj', 'attr', 'capitalize', 'center', 
'centerPivot', 'child', 'connectAttr', 'connectionInfo', 'connections', 'constrainTo', 'contains', 'count', 'decode', 'delete', 'deleteAttr',
 'deleteHistory', 'deleteKey', 'deleteNode', 'deselect', 'disconnectAttr', 'distanceTo', 'dupeNVersionUp', 'duplicate', 'encode',
 'endswith', 'expandtabs', 'extendToParent', 'extendToShape', 'extractNum', 'find', 'format', 'freeze', 'fullName', 'getAttr', 
'getChildren', 'getDirPos', 'getDirVect', 'getFaceList', 'getInputs', 'getNearestVtx_OnMesh', 'getOutputs', 'getPos', 'getPosJnt',
 'getPosLoc', 'getPos_Old', 'getPos_Vtx', 'getRot', 'getShape', 'getSibIndex', 'getVtxList', 'grpIt', 'grpIt_Old', 'hasAttr', 
'hasAttrLocked', 'hasChild', 'hasParent', 'hasShape', 'hasUniqueName', 'hide', 'index', 'intersects', 'isChildOf', 'isCurv', 
'isJnt', 'isLastJnt', 'isLoc', 'isMesh', 'isNodeType', 'isParentOf', 'isShape', 'isSkinMesh', 'isTrans', 'isalnum', 'isalpha', 'isdecimal', 
'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isupper', 'jntAxis', 'jntDist', 'jntOrient', 'jntOrientTo', 'jntRadius', 'join',
 'listConstraints', 'listHistory', 'listLockedAttrs', 'listRelatives', 'ljust', 'lockAttrs', 'longName', 'longestObj', 'lower', 'lstrip', 
'mConstrain', 'mDistance_BB', 'mDistance_Vtx', 'moveAnimTo', 'moveAnimToGrp', 'moveValuesFromGrps', 'moveValuesToGrp', 
'name', 'nearestObj', 'nearestPointOn', 'nextSeriesNode', 'nextUniqueName', 'nextVar', 'nodeType', 'numChildren', 'obj', 
 'openAttrs', 'parent', 'parentTo', 'partition', 
'pickWalkDown', 'pickWalkLeft', 'pickWalkRight', 'pickWalkUp', 'prefixHI', 'rename', 'reorderDeformers', 'replace', 'reverseConnect',
 'rfind', 'rindex', 'rjust', 'root', 'rotateBy', 'rpartition', 'rsplit', 'rstrip', 'scaleBy', 'searchReplaceAll', 'select', 'selectHI', 
'selectSeries', 'selectSiblings', 'setAttr', 'setName', 'setPos', 'setRot', 'setSibIndex', 'shape', 'shapeCtrl', 'shortName', 'show', 
'snapPivTo', 'snapPosTo', 'snapRotTo', 'snapShpTo', 'split', 'splitlines', 'startswith', 'strip', 'stripNum', 'swapcase', 'template',
 'title', 'transferAnimTo', 'transferAnimToGrp', 'translate', 'translateBy', 'unfreezeRotation', 'unfreezeTrans', 'unparent', 'untemplate']
Testing the asNode:
---------------------------
create two spheres named 'pSphere1' and 'pSphere2'
And then, Run these commands from python window
from asNode import *
p2 =asNode('pSphere2')
p2.select()
p2.snapPosTo([5,0,0])
asN =asNode('pSphere1')
#_ That's it, then start using:
asN.snapPivTo(p2)   #_ Now pSphere1's pivot is at 'pSphere2'
or 
Create any maya poly object or locator then try this command
from asNode import *
node =asN._selected()[0]   #_ asN is short form for selecting selected objects..
node.rename('Ball')            #_ Rename to 'Ball'
node.addSuffix('_Sph')       #_ Now it adds '_Sph' suffix to the ball, But still node is updated with all these changes

Download:---------------Available for free download here :http://www.creativecrash.com/maya/script/asnode-one-node-for-most-of-the-general-process-in-maya-rigging
Purpose:------------This node is the key module in maya rigging process. One node for the most of the rigging process.asNode is still going to include many general methods required for rigging / animation process. It played key role in hyper skinning system as shown in below video:asNode was developed with the inspiration from PyNode in PyMel, But with extended support to Rigging process.And this doesn't depend on PyNode in PyMel. Its purely depends only on Maya api and maya.cmds.
Features:---------1. One node for most of the general process in Maya Rigging2. asNode was developed with the inspiration from PyNode in PyMel3. It has extensive support to Rigging and  General Pipeline.4. Doesn't depend on any external modules like PyMel5. Purely depends on maya.cmds and maya python api6. Increase programming speed in rigging & pipeline upto 3-4 times7. A Node with true Object Oriented Programming (OOP)8. Auto completion list varies with change in node type 9. Tight Integration With All Auto Rig tools like (as_EasyBird, as_EasyRig, as_EasyQuad etc.)
Updates:----------2014.09.08 -- Updated asNode.rar with help file on all methods by adding 'asNode.pypredef'. Open it with wordpad2014.09.21 -- Test files are added in asNode.rar for asN.addChild, asN.mConstrain etc2015.02.05 -- Auto completion methods will update and change according the selection type of object2015.02.06 -- Fixed the method : asN.jntOrient and added new methods : asN.get_2PosExtn, asN.get_2PosVect.                   And added new example maya files
Future Updates:---------------------1. More rigging and pipeline related methods will be added to asNode
Usage:--------Apply asNode on any maya node and then start using following methods:
[ '_selected', 'addAttr', 'addAttrDivider', 'addChild', 'addPrefix', 'addSuffix', 'applyCtrlColor', 'asObj', 'attr', 'capitalize', 'center', 'centerPivot', 'child', 'connectAttr', 'connectionInfo', 'connections', 'constrainTo', 'contains', 'count', 'decode', 'delete', 'deleteAttr', 'deleteHistory', 'deleteKey', 'deleteNode', 'deselect', 'disconnectAttr', 'distanceTo', 'dupeNVersionUp', 'duplicate', 'encode', 'endswith', 'expandtabs', 'extendToParent', 'extendToShape', 'extractNum', 'find', 'format', 'freeze', 'fullName', 'getAttr', 'getChildren', 'getDirPos', 'getDirVect', 'getFaceList', 'getInputs', 'getNearestVtx_OnMesh', 'getOutputs', 'getPos', 'getPosJnt', 'getPosLoc', 'getPos_Old', 'getPos_Vtx', 'getRot', 'getShape', 'getSibIndex', 'getVtxList', 'grpIt', 'grpIt_Old', 'hasAttr', 'hasAttrLocked', 'hasChild', 'hasParent', 'hasShape', 'hasUniqueName', 'hide', 'index', 'intersects', 'isChildOf', 'isCurv', 'isJnt', 'isLastJnt', 'isLoc', 'isMesh', 'isNodeType', 'isParentOf', 'isShape', 'isSkinMesh', 'isTrans', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isupper', 'jntAxis', 'jntDist', 'jntOrient', 'jntOrientTo', 'jntRadius', 'join', 'listConstraints', 'listHistory', 'listLockedAttrs', 'listRelatives', 'ljust', 'lockAttrs', 'longName', 'longestObj', 'lower', 'lstrip', 'mConstrain', 'mDistance_BB', 'mDistance_Vtx', 'moveAnimTo', 'moveAnimToGrp', 'moveValuesFromGrps', 'moveValuesToGrp', 'name', 'nearestObj', 'nearestPointOn', 'nextSeriesNode', 'nextUniqueName', 'nextVar', 'nodeType', 'numChildren', 'obj',  'openAttrs', 'parent', 'parentTo', 'partition', 'pickWalkDown', 'pickWalkLeft', 'pickWalkRight', 'pickWalkUp', 'prefixHI', 'rename', 'reorderDeformers', 'replace', 'reverseConnect', 'rfind', 'rindex', 'rjust', 'root', 'rotateBy', 'rpartition', 'rsplit', 'rstrip', 'scaleBy', 'searchReplaceAll', 'select', 'selectHI', 'selectSeries', 'selectSiblings', 'setAttr', 'setName', 'setPos', 'setRot', 'setSibIndex', 'shape', 'shapeCtrl', 'shortName', 'show', 'snapPivTo', 'snapPosTo', 'snapRotTo', 'snapShpTo', 'split', 'splitlines', 'startswith', 'strip', 'stripNum', 'swapcase', 'template', 'title', 'transferAnimTo', 'transferAnimToGrp', 'translate', 'translateBy', 'unfreezeRotation', 'unfreezeTrans', 'unparent', 'untemplate']
Testing the asNode:---------------------------create two spheres named 'pSphere1' and 'pSphere2'And then, Run these commands from python window
from asNode import *p2 =asNode('pSphere2')p2.select()p2.snapPosTo([5,0,0])asN =asNode('pSphere1')
#_ That's it, then start using:asN.snapPivTo(p2)   #_ Now pSphere1's pivot is at 'pSphere2'
or 
Create any maya poly object or locator then try this commandfrom asNode import *node =asN._selected()[0]   #_ asN is short form for selecting selected objects..node.rename('Ball')            #_ Rename to 'Ball'node.addSuffix('_Sph')       #_ Now it adds '_Sph' suffix to the ball, But still node is updated with all these changes

 

Comment