Constructs a 3D NURBS curve from a list of control points.
Namespace:
Rhino.Geometry
Assembly:
RhinoCommon (in RhinoCommon.dll)
Since: 5.0
Syntax public static NurbsCurve Create(
bool periodic,
int degree,
IEnumerable<Point3d> points
)
Public Shared Function Create (
periodic As Boolean,
degree As Integer,
points As IEnumerable(Of Point3d)
) As NurbsCurve
Parameters
- periodic
- Type: SystemBoolean
If true, create a periodic uniform curve. If false, create a clamped uniform curve. - degree
- Type: SystemInt32
(>=1) degree=order-1. - points
- Type: System.Collections.GenericIEnumerablePoint3d
control vertex locations.
Return Value
Type:
NurbsCurve
new NURBS curve on success
null on error.
Examples using System;
partial class Examples
{
public static Rhino.Commands.Result AddNurbsCurve(Rhino.RhinoDoc doc)
{
Rhino.Collections.Point3dList points = new Rhino.Collections.Point3dList(5);
points.Add(0, 0, 0);
points.Add(0, 2, 0);
points.Add(2, 3, 0);
points.Add(4, 2, 0);
points.Add(4, 0, 0);
Rhino.Geometry.NurbsCurve nc = Rhino.Geometry.NurbsCurve.Create(false, 3, points);
Rhino.Commands.Result rc = Rhino.Commands.Result.Failure;
if (nc != null && nc.IsValid)
{
if (doc.Objects.AddCurve(nc) != Guid.Empty)
{
doc.Views.Redraw();
rc = Rhino.Commands.Result.Success;
}
}
return rc;
}
}
Partial Class Examples
Public Shared Function AddNurbsCurve(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result
Dim points As New Rhino.Collections.Point3dList(5)
points.Add(0, 0, 0)
points.Add(0, 2, 0)
points.Add(2, 3, 0)
points.Add(4, 2, 0)
points.Add(4, 0, 0)
Dim nc As Rhino.Geometry.NurbsCurve = Rhino.Geometry.NurbsCurve.Create(False, 3, points)
Dim rc As Rhino.Commands.Result = Rhino.Commands.Result.Failure
If nc IsNot Nothing AndAlso nc.IsValid Then
If doc.Objects.AddCurve(nc) <> Guid.Empty Then
doc.Views.Redraw()
rc = Rhino.Commands.Result.Success
End If
End If
Return rc
End Function
End Class
import Rhino
import scriptcontext
import System.Guid
def AddNurbsCurve():
points = Rhino.Collections.Point3dList(5)
points.Add(0, 0, 0)
points.Add(0, 2, 0)
points.Add(2, 3, 0)
points.Add(4, 2, 0)
points.Add(4, 0, 0)
nc = Rhino.Geometry.NurbsCurve.Create(False, 3, points)
rc = Rhino.Commands.Result.Failure
if nc and nc.IsValid:
if scriptcontext.doc.Objects.AddCurve(nc)!=System.Guid.Empty:
scriptcontext.doc.Views.Redraw()
rc = Rhino.Commands.Result.Success
return rc
if __name__=="__main__":
AddNurbsCurve()
See Also