NextDesign would probably be your best bet to answer this.
The problem is for unlocking the vertex normals and to set the normal angle per vertex for a selected object you are going to need a vertex or vertex face selection. so you will have to write mel code to do that.
Freezing transforms and setting the edge normals to 90 can be done per object selection and so can be copied from the scrpt editor directly. Here is the mel for that...
FreezeTransformations;
polySoftEdge -angle 90;
For setting per vertex or vertex face normals and to unlock the them for a selected polygon object you'll need code that looks kinda like this...
string $selection[] `ls -sl`;
int $count1[] = `polyEvaluate -v $selection[0]`;
select -r ($selection[0] + ".vtx[0:" + ($count1[0] - 1) + "]");
polyNormalPerVertex -ufn 1; -xyz (float) (float) (float)
select -r $selection;
The first line, saves the current selection.
The next two lines look at only the first object selected and selects all the vertex components. Note - for all objects in the selection you will need a foreach loop over all the objects in the $selection. I can't help you there.
The -xyz sets the per vertex normal angle in the x y and z directions but I am not sure what the float value for 90 degree in x, y, and z is though. The -ufn 1 says unlock all the vertex or vertex faces selected.
The last line restores the original selection and for this is probebly not needed but rather a way to unselect all the vertexes that will now be selected.
"If I have seen further it is by standing on the shoulders of giants." Sir Isaac Newton, 1675
Last edited by ctbram; 29-02-2012 at 11:44 AM.