I've been using this script that I threw together for unwrapping cylinders quickly in max. Basically combined a couple of frequently used commands together so that it is just one keypress. As well as solving an issue I run into often in max cylinder unwrap where it staggers the edge along a seam or doesn't weld a vert. Thought you guys might appreciate it or get some use out of it. Also combined a context sensitive function in it to select poly ring while in edit_poly. I believe the relax function is just
@renderhjs relax function from TexTools just stacked a couple more times. So all credit to him for the quick 200 iteration relax.
macroScript ContextRingUnwrap<br>category: "Pendragon"<br>ButtonText: "RingUnwrap"<br>(<br><br>if selection.count == 1 and isKindOf $ Editable_Poly or validModifier $ Edit_Poly do --check if valid edit poly/editable poly<br>(<br> macros.run "PolyTools" "Ring"<br>)<br><br>if selection.count ==1 and validModifier $ Unwrap_UVW do --check if Unwrap mod is applied<br>(<br> actionMan.executeAction 2077580866 "40178"<br> actionMan.executeAction 2077580866 "40162"<br> actionMan.executeAction 2077580866 "40015"<br> if classof (modPanel.getCurrentObject()) == Unwrap_UVW then(<br> undo on(<br> local uv = modPanel.getCurrentObject();<br> <br> local gRi = uv.unwrap3.getRelaxIteration();<br> local gRa = uv.unwrap3.getRelaxAmount();<br> <br> case uv.gettvsubobjectmode() of(<br> 1: (<br> uv.unwrap3.setRelaxIteration 200;--default 100<br> uv.unwrap3.setRelaxAmount 1;--default 0.1<br> uv.unwrap3.relax2();<br> )<br> 2: (<br> --edge selection<br> uv.relaxByEdgeAngle 1000 0 1 false;<br> )<br> 3: (<br> <br> uv.unwrap5.relaxByFaceAngle 1000 0 1 false;<br> )<br> )<br> <br> --restore previous settings<br> uv.unwrap3.setRelaxIteration gRi;<br> uv.unwrap3.setRelaxAmount gRa;<br> )<br> )<br> actionMan.executeAction 0 "50027" -- Selection: Select Object<br> macros.run "Modifier Stack" "SubObject_2"<br> macros.run "Modifier Stack" "SubObject_3"<br>)<br>)