AddThickPipe

Creates a double-walled surface with a circular profile around a curve.

Syntax

Rhino.AddThickPipe (strCurve, arrParameters, arrRadii0, arrRadii1 [, intType [, intCap [, blnFit]]])

Parameters

strCurve

Required.  String.  The identifier of the path curve object.

arrParameters

Required.  Array.  An array of one or more curve parameters where changes in radius occur.

arrRadii0

Required.  Array.  An array of radii for the first wall; one at each curve parameter in arrParameters.

arrRadii1

Required.  Array.  An array of radii for the second wall; one at each curve parameter in arrParameters.

intType

Optional.  Number.  The type of shape blending, where:

Value

Description

0 (Default)

Local.  The pipe radius stays constant at the ends and changes more rapidly in the middle.

1

Global.  The radius is linearly blended from one end to the other, creating pipes that taper from one radius to the other.

intCap

Optional.  Number.  The end cap mode, where:

Value

Description

0 (Default)

None.

1 (Default)

Flat.  Capped with a planar surface.

2

Round.  Capped with hemispherical surface.

blnFit

Optional.  Boolean.  If the curve is a polycurve of lines and arcs, the curve is fit and a single surface is created; otherwise the result is a polysurface with joined surfaces created from the polycurve segments.  The default is not to fit (False).

Returns

Array

The identifier of the new objects if successful.  If strCurve is a line segment, arrParameters contains two curve parameters, arrRadii0 and arrRadii1 contain two identical values, and intCap is 1 (Flat), then an extrusion object will be returned. Otherwise, a polysurface object will be returned.  Note, it is possible for more than one object to be returned (if intCap is 0 (None) or when it is not possible to miter sharp corners, for example).

Null

If not successful, or on error.

Example

Dim strCurve, arrDomain

strCurve = Rhino.GetObject("Select curve to create pipe around", 4, True)

If Not IsNull(strCurve) Then

  arrDomain = Rhino.CurveDomain(strCurve)

  Rhino.AddThickPipe strCurve, Array(arrDomain(0)), Array(4), Array(2)

End If

Also See

AddPipe