AddInterpCurveEx

Adds an interpolated curve object to  the document similar to Rhino's InterpCrv command.

Syntax

Rhino.AddInterpCurveEx (arrPoints [, intDegree [, intKnotStyle [, blnSharp [, arrStartTangent [, arrEndTangent]]]]])

Parameters

arrPoints

Required.  Array.  An array containing 3-D points to interpolate. Note, the number of control points must be >= (intDegree+1).

intDegree

Optional.  Number.  The degree of the curve.  If omitted, degree = 3 is used.  The degree of the curve must be >=1.  Periodic curves must have a degree >= 2.  For intKnotStyle = 1 or 2, the degree must be 3.

intKnotStyle

Optional.  Number. The knot style, or spacing to use.  If omitted, uniform knots (0) are created.

Value

Description

0

Uniform spacing (k[i+1] - k[i] = 1).  Parameter spacing between consecutive knots is 1.0.  Use this when input points are evenly spaced.

1

Chord length spacing (k[i+1] - k[i] = |P[i-1] - P[i-2]|).  Requires intDegree = 3.  When in doubt, use this spacing.

2

Sqrt chord length spacing (k[i+1] - k[i] = sqrt(|P[i-1] - P[i-2]|).  Requires intDegree = 3.  Use with care, as it is easy to produce self-intersecting curves.

blnSharp

Optional.  Boolean.  If True, when you create a closed curve, it will have a kink at the start/end point. If False (default), a smooth closure will be created.

arrStartTangent

Optional.  Array.  A 3-D vector that specifies a tangency condition at the beginning of the curve.

arrEndTangent

Optional.  Array.  A 3-D vector that specifies a tangency condition at the end of the curve.

Returns

String

The identifier of the new object if successful.

Null

If not successful, or on error.

Example

Dim arrPoints

arrPoints = Rhino.GetPoints(True, , "Pick curve point")

If IsArray(arrPoints) Then

Rhino.AddInterpCurveEx arrPoints

End If

Also See

AddCurve

AddInterpCurve

CurvePointCount

IsCurve