scMirrorBlend.mel how to mirror blendShape !

Its been a month since i updated in here, i been working on few automation process for my rig setup.
i did almost six month ago. Well we do have some excellent scripts written by brendan ross
(a real hard working guy!)named abSymMesh but math behind both the scripts is different.
This proc came out as idea thrown out in cgTalk community.
Do let me know if you face any problem! Just a note script will itself duplicate the mesh and mirror shape.
I tried to catch things and did a mel script. Its a trick based on wrap deformer to mirror the one sided blend to other side.
You really become rusty if you leave something for long. so just to groove in i am posting one of my script
do modify closest distance in script if you need some adjustment .

ScMirrorBlend

scMirrorBlend.mel

Removing blendShape targets from blendShape node

Its really irritating that maya doesn’t allow any simple way of removing blendshape target (the attribute itself and Information stored) from blendShape node that already has his targets removed. The remove blendShape option only allow to remove those blendshape target index that already has there targets. If you see through hyperGraph connections you will see there is connection from shape node of targetShape.worldMesh[0] to your blendShape node to inputTarget multi index that will something like blendShape1.inputTarget[0].inputTargetGroup[0].inputTargetItem[6000].inputGeomTarget (a multiElement) all further targets you add will have something called weight index which is equivalent to inputTargetGroup[#] number. you can also query index number using this mel command aliasAttr -rm blendShape1.targetNameAttr; it will remove the alias name out of blendShape attribute and give you weight index number.

WeightIndex

in above example 0 is the weight index. I hope i am able to explain how maya is storing blendShape in multiElement. I have written a script to remove blendshape targets with blendshape and target name as input. download it

scPurgeShapes.mel