# GetCurve class

Namespace: [Rhino.Input.Custom](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.input.custom.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public class GetCurve : IDisposable
```

Use to interactively get a control point curve or an interpolated curve. These are the getters behind the Rhino Curve and InterpCrv commands.

## Constructors

- [GetCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/ctor.md): Initializes a new instance with the default prompts and options.

## Finalizer

- [~GetCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/finalize.md): Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

## Properties

- [Degree](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/degree.md): Degree of the resulting curve. Default is 3. Setting any value other than 3 clears SubDFriendly.
- [EndTangent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/endtangent.md): End tangent of an interpolated curve. Only used when UseEndTangent is true.
- [FirstPointPrompt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/firstpointprompt.md): Prompt used when getting the first point. The default is the localized "Start of curve".
- [KnotSpacing](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/knotspacing.md): Knot spacing used when interpolating. Default is Chord. Only Uniform, Chord and ChordSquareRoot are accepted. Closing the curve selects the periodic form of the value set here, so passing a periodic value would take the knot style out of range. Ignored when SubDFriendly is true.
- [Points](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/points.md): The points picked during the most recent call to GetControlPointCurve or GetInterpolatedCurve. Empty before the first call. When the curve was closed, the first point is repeated at the end.
- [SecondPointPrompt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/secondpointprompt.md): Prompt used when getting the second point. The default is the localized "Next point".
- [Sharp](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/sharp.md): When true, closing the curve produces a sharp corner at the seam instead of a periodic curve. Default is false.
- [StartTangent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/starttangent.md): Start tangent of an interpolated curve. Only used when UseStartTangent is true.
- [SubDFriendly](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/subdfriendly.md): When true, the result is a cubic, uniform, non-rational curve that is either periodic or has zero second derivatives at both ends. Default is false. Setting this to true sets Degree to 3, because a SubD friendly curve is always cubic. While this is true, KnotSpacing, StartTangent and EndTangent are ignored.
- [ThirdPointPrompt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/thirdpointprompt.md): Prompt used when getting the third and following points. The default is the localized "Next point. Press Enter when done".
- [UseActiveLayerLinetype](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/useactivelayerlinetype.md): When true, the linetype of the active layer is used for the dynamic drawing. Default is false.
- [UseEndTangent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/useendtangent.md): When true, an interpolated curve ends tangent to EndTangent. Default is false. Ignored on a closed curve unless Sharp is true, and ignored while SubDFriendly is true. The getter offers its EndTangent option to the user only at degree 3 with SubDFriendly off; a tangent set here still applies at any degree.
- [UseStartTangent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/usestarttangent.md): When true, an interpolated curve starts tangent to StartTangent. Default is false. Ignored on a closed curve unless Sharp is true, and ignored while SubDFriendly is true. The getter offers its StartTangent option to the user only at degree 3 with SubDFriendly off; a tangent set here still applies at any degree.

## Methods

- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/dispose.md): (2 overloads) Actively reclaims unmanaged resources that this instance uses.
- [GetControlPointCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/getcontrolpointcurve.md): Interactively picks the control points of a curve. This is what the Rhino Curve command uses.
- [GetInterpolatedCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.custom.getcurve/getinterpolatedcurve.md): Interactively picks the points an interpolated curve passes through. This is what the Rhino InterpCrv command uses.

## See Also

- [RhinoGet.GetInterpolatedCurveOnSurface(Surface, Curve)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.input.rhinoget/getinterpolatedcurveonsurface.md)
