﻿Curve.IsPolyline Method

Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Since: 5.0
Syntax
`public bool IsPolyline()`

#### Return Value

Type: Boolean
true if this curve can be represented as a polyline; otherwise, false.
Examples
```using Rhino;
using Rhino.DocObjects;
using Rhino.Commands;
using Rhino.Geometry;
using Rhino.Input;

namespace examples_cs
{
{
public override string EnglishName
{
}

protected override Result RunCommand(RhinoDoc doc, RunMode mode)
{
ObjRef obj_ref;
var rc = RhinoGet.GetOneObject("Select curve for radius dimension",
true, ObjectType.Curve, out obj_ref);
if (rc != Result.Success)
return rc;
double curve_parameter;
var curve = obj_ref.CurveParameter(out curve_parameter);
if (curve == null)
return Result.Failure;

if (curve.IsLinear() || curve.IsPolyline())
{
RhinoApp.WriteLine("Curve must be non-linear.");
return Result.Nothing;
}

// in this example just deal with planar curves
if (!curve.IsPlanar())
{
RhinoApp.WriteLine("Curve must be planar.");
return Result.Nothing;
}

var point_on_curve = curve.PointAt(curve_parameter);
var curvature_vector = curve.CurvatureAt(curve_parameter);
var len = curvature_vector.Length;
if (len < RhinoMath.SqrtEpsilon)
{
RhinoApp.WriteLine("Curve is almost linear and therefore has no curvature.");
return Result.Nothing;
}

var center = point_on_curve + (curvature_vector/(len*len));
Plane plane;
curve.TryGetPlane(out plane);
new RadialDimension(center, point_on_curve, plane.XAxis, plane.Normal, 5.0);
doc.Views.Redraw();
return Result.Success;
}
}
}```
Python
```from Rhino import *
from Rhino.DocObjects import *
from Rhino.Commands import *
from Rhino.Geometry import *
from Rhino.Input import *
from scriptcontext import doc

def RunCommand():
rc, obj_ref = RhinoGet.GetOneObject("Select curve for radius dimension",
True, ObjectType.Curve)
if rc != Result.Success:
return rc
curve, curve_parameter = obj_ref.CurveParameter()
if curve == None:
return Result.Failure

if curve.IsLinear() or curve.IsPolyline():
print "Curve must be non-linear."
return Result.Nothing

# in this example just deal with planar curves
if not curve.IsPlanar():
print "Curve must be planar."
return Result.Nothing

point_on_curve = curve.PointAt(curve_parameter)
curvature_vector = curve.CurvatureAt(curve_parameter)
len = curvature_vector.Length
if len < RhinoMath.SqrtEpsilon:
print "Curve is almost linear and therefore has no curvature."
return Result.Nothing

center = point_on_curve + (curvature_vector/(len*len))
_, plane = curve.TryGetPlane()