## MakeControlSplines

### Introduced

v4.0

### Description

Attaches controllers to a curve or curves, giving layered deformation with precise control over evenly distributed slides and offsets. Especially useful for spline based facial setups.
Three controllers are created for each control point on the curve. Point controllers move the control points of the curve. Path controllers are path constrained to the curve at evenly spaced length percentages. Offset controls are used for additional translation (like pinching of wrinkes in facial expressions) or twising along a curve.

### Scripting Syntax

    oControlSpline = MakeControlSplines( CurveCollection, [NbDivisions], [Scale], Parent, [PointMarkerType], [PathMarkerType], [OffsetMarkerType], [PointColor], [PathColor], [OffsetColor], [InputFromUI] );

### Return Value

Returns a ControlSpline JScript object.

### Parameters

Parameter | Type | Description
--- | --- | ---
CurveCollection | String | A collection of curves to attach controllers to. A single curve can also be passed. If multilple curves are passed they are searched for matching start and end points to share point markers.
NbDivisions | Integer | The number of equally spaced divisions along the curve to place path markers. Default Value: 6
Scale | Double | The scale at which to draw the controllers. Default Value: 1.0
Parent | String | The parent for the point marker objects. If empty the scene root is used.
PointMarkerType | Integer | The type of control object for the points of the curves. Default Value: 5 (diamond)
Possible Values: | Description:
0 | No controller
1 | Null Controller
2 | Cube Controller
3 | Square Controller
4 | Pyramid Controller
5 | Diamond Controller
PathMarkerType | Integer | The type of control object divided along the curve. Default Value: 1 (null)
Possible Values: | Description:
0 | No controller
1 | Null Controller
2 | Cube Controller
3 | Square Controller
4 | Pyramid Controller
5 | Diamond Controller
OffsetMarkerType | Integer | The type of control object which is a child of the PathMarkers for position and roll offsets. Offsets are not be made if the PathMakerType is set to 0. Default Value: 2 (cube)
Possible Values: | Description:
0 | No controller
1 | Null Controller
2 | Cube Controller
3 | Square Controller
4 | Pyramid Controller
5 | Diamond Controller
PointColor | Integer | The type of shadow rig to constrain to the spine. Default Value: 377 (light green)
PathColor | Integer | The type of shadow rig to constrain to the spine. Default Value: 65 (dark green)
OffsetColor | Integer | The color of the offset control objects. Default Value: 560 (blue)
InputFromUI | Integer | Allows the above parameters to be selected from a dialog box. Default Value: false

### Examples

#### JScript Example

    var curve = SICreateCurve("crvlist", 3, 0);
    SIAddPointOnCurveAtEnd("crvlist", -5, 0, 0, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", -3, 0, -4, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", 2, 0, -6, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", 5, 0, -3, false, 0);
    SIAddPointOnCurveAtEnd("crvlist", 5, 0, 2, false, 0);
    MakeControlSplines(curve);