This is a macroscript, to install it extract this file in the UI\macroScripts folder of your 3ds max root directory, restart max, then go to Customize->Customize interface, in the category Custom tools select chain Tools and assign it a shortcut or a toolbar button or a menu place or a quat place. Once executed a dialog box is displayed where you can setup the rig, select a spline and press OK.
With this tool you can create a chain of bones attached to a spline, useful to make bendy limbs or IK chains for tails or spines. It uses position and lookat constraints or scripted controllers from the bones to helpers which have path constraints with the spline as target, offset values can be aplied. It can create an extra chain with a spline ik solver to control stretching. The spline can also be constrained to helper objects using the Spline IK Control or the skin Modifier.
Bones Settings: Some of the bones properties can be edited here.
Bones: The number of bones to create in the chain.
Width: The width of the chain bones.
Taper: The Taper of the chain bones.
Squash: Set the stretch option to squash in the the chain bones.
LookAt: This is the way that the bones will be orientated to look their targets (the helpers attached to the spline).
LookAt Constraint: If this option is set the bones will have standard lookat constraints assigned having the control point helpers as targets
Quaternion Aim: Is this option is set the bones will have rotation script instead of lookat constraint, the advantage is that the script controllers have a lookat algorithm that finds the rotation value by building a quaternion, this prevent undesirable flips, unless the bone overlaps its parent (the x axis are looking to opposite directions).
Chain Points Settings: The chain points are the helpers that are going to be attached to the spline via path constraint, here you can setup their behavior
Roll Average: The chain points will have an orientation average (x-rotation) regards to control points or a spinner depending on the chosen option.
First and Last Controls: The Control Point helpers equivalent to the first and last vertex of the spline will control the Roll average.(the Control points are helpers that control the spline vertices position).
All Controls: All the Control Points will be considered to calculate the roll average.
Spinner: The Roll average will be controlled by a spinner stored in an attribute modifier held by the control points.
Quat Constraint: The roll average will be calculated using quat calculation. it useful if the control points will held any constraint or controller different than an Euler Angles.
Euler Angles: The roll average will be calculated using the x track of the Control Points rotation. It is useful to twist the chain beyond 180 degrees without flipping, the disadvantage is that the roll average are taken from the local euler controller of the control points, that means that you can't assign them any constrain, or rotation controller different than euler angles.
Manipulation Controllers: If this option is checked a list controller with active editable controllers will be assigned to the chain points in order to edit their transform independently, the chain points will have both position, the path constraint and the active controller.
Extra IK Solver Constraint: The stretch of the chain can be controlled if this option is active, a spinner will be created and assigned to the control points.
Spline Control Settings: The way that the spline vertices are controlled is defined by these properties
Spline IK Control: The spline vertices position are controlled by the Control Points using a Spline IK control modifier. the disadvantage of this method is that you cannot control the tangents handles position. The only way is using the control Points rotation.
Skin: The spline vertices position are controlled by the Control Points using a Skin modifier. the advantage of this method is that you can control the tangents handles position using helpers.
Tangents: If this option is active Helpers will be created to control the tangent handles of the spline vertices.