RhinoCommon API
NurbsCurveCreateSpiral Method (Point3d, Vector3d, Point3d, Double, Double, Double, Double) |
Creates a C1 cubic NURBS approximation of a helix or spiral. For a helix,
you may have radius0 == radius1. For a spiral radius0 == radius0 produces
a circle. Zero and negative radii are permissible.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)

public static NurbsCurve CreateSpiral( Point3d axisStart, Vector3d axisDir, Point3d radiusPoint, double pitch, double turnCount, double radius0, double radius1 )
Public Shared Function CreateSpiral ( axisStart As Point3d, axisDir As Vector3d, radiusPoint As Point3d, pitch As Double, turnCount As Double, radius0 As Double, radius1 As Double ) As NurbsCurve
Parameters
- axisStart
- Type: Rhino.GeometryPoint3d
Helix's axis starting point or center of spiral. - axisDir
- Type: Rhino.GeometryVector3d
Helix's axis vector or normal to spiral's plane. - radiusPoint
- Type: Rhino.GeometryPoint3d
Point used only to get a vector that is perpedicular to the axis. In particular, this vector must not be (anti)parallel to the axis vector. - pitch
- Type: SystemDouble
The pitch, where a spiral has a pitch = 0, and pitch > 0 is the distance between the helix's "threads". - turnCount
- Type: SystemDouble
The number of turns in spiral or helix. Positive values produce counter-clockwise orientation, negitive values produce clockwise orientation. Note, for a helix, turnCount * pitch = length of the helix's axis. - radius0
- Type: SystemDouble
The starting radius. - radius1
- Type: SystemDouble
The ending radius.
Return Value
Type: NurbsCurveNurbsCurve on success, null on failure.

Rhino for Mac
Supported in: 5.4Rhino for Windows
Supported in: 6.14