usingSystem;partialclassExamples{publicstaticRhino.Commands.ResultAddNurbsCircle(Rhino.RhinoDoc doc){// The easy way to get a NURBS curve from a circle is with// the following two lines of code.//// Rhino.Geometry.Circle c = new Rhino.Geometry.Circle(20);// Rhino.Geometry.NurbsCurve nc = c.ToNurbsCurve();//// This sample demonstrates creating a NURBS curve from scratch.constint dimension =3;constbool isRational =true;constint order =3;constint cv_count =9;Rhino.Geometry.NurbsCurve nc =newRhino.Geometry.NurbsCurve(dimension, isRational, order, cv_count);
nc.Points.SetPoint(0,1.0,0.0,0.0,1.0);
nc.Points.SetPoint(1,0.707107,0.707107,0.0,0.707107);
nc.Points.SetPoint(2,0.0,1.0,0.0,1.0);
nc.Points.SetPoint(3,-0.707107,0.707107,0.0,0.707107);
nc.Points.SetPoint(4,-1.0,0.0,0.0,1.0);
nc.Points.SetPoint(5,-0.707107,-0.707107,0.0,0.707107);
nc.Points.SetPoint(6,0.0,-1.0,0.0,1.0);
nc.Points.SetPoint(7,0.707107,-0.707107,0.0,0.707107);
nc.Points.SetPoint(8,1.0,0.0,0.0,1.0);
nc.Knots[0]=0.0;
nc.Knots[1]=0.0;
nc.Knots[2]=0.5*Math.PI;
nc.Knots[3]=0.5*Math.PI;
nc.Knots[4]=Math.PI;
nc.Knots[5]=Math.PI;
nc.Knots[6]=1.5*Math.PI;
nc.Knots[7]=1.5*Math.PI;
nc.Knots[8]=2.0*Math.PI;
nc.Knots[9]=2.0*Math.PI;if(nc.IsValid){
doc.Objects.AddCurve(nc);
doc.Views.Redraw();returnRhino.Commands.Result.Success;}returnRhino.Commands.Result.Failure;}}
using System;
partial classExamples{
public static Rhino.Commands.ResultAddNurbsCircle(Rhino.RhinoDoc doc){//The easy way to get a NURBS curve from a circle iswith// the following two lines of code.////Rhino.Geometry.Circle c = new Rhino.Geometry.Circle(20);//Rhino.Geometry.NurbsCurve nc = c.ToNurbsCurve();////This sample demonstrates creating a NURBS curve from scratch.
int dimension =3;
bool isRational = true;
int order =3;
int cv_count =9;Rhino.Geometry.NurbsCurve nc = new Rhino.Geometry.NurbsCurve(dimension, isRational, order, cv_count);
nc.Points.SetPoint(0,1.0,0.0,0.0,1.0);
nc.Points.SetPoint(1,0.707107,0.707107,0.0,0.707107);
nc.Points.SetPoint(2,0.0,1.0,0.0,1.0);
nc.Points.SetPoint(3,-0.707107,0.707107,0.0,0.707107);
nc.Points.SetPoint(4,-1.0,0.0,0.0,1.0);
nc.Points.SetPoint(5,-0.707107,-0.707107,0.0,0.707107);
nc.Points.SetPoint(6,0.0,-1.0,0.0,1.0);
nc.Points.SetPoint(7,0.707107,-0.707107,0.0,0.707107);
nc.Points.SetPoint(8,1.0,0.0,0.0,1.0);
nc.Knots[0]=0.0;
nc.Knots[1]=0.0;
nc.Knots[2]=0.5*Math.PI;
nc.Knots[3]=0.5*Math.PI;
nc.Knots[4]=Math.PI;
nc.Knots[5]=Math.PI;
nc.Knots[6]=1.5*Math.PI;
nc.Knots[7]=1.5*Math.PI;
nc.Knots[8]=2.0*Math.PI;
nc.Knots[9]=2.0*Math.PI;if(nc.IsValid){
doc.Objects.AddCurve(nc);
doc.Views.Redraw();returnRhino.Commands.Result.Success;}returnRhino.Commands.Result.Failure;}}
PartialClassExamplesPublicSharedFunctionAddNurbsCircle(ByVal doc AsRhino.RhinoDoc)AsRhino.Commands.Result' The easy way to get a NURBS curve from a circle is with' the following two lines of code.'' Dim c As New Rhino.Geometry.Circle(20)' Dim nc As Rhino.Geometry.NurbsCurve = c.ToNurbsCurve()'' This sample demonstrates creating a NURBS curve from scratch.Const dimension AsInteger=3Const isRational AsBoolean=TrueConst order AsInteger=3Const cv_count AsInteger=9Dim nc AsNewRhino.Geometry.NurbsCurve(dimension, isRational, order, cv_count)
nc.Points.SetPoint(0,1.0,0.0,0.0,1.0)
nc.Points.SetPoint(1,0.707107,0.707107,0.0,0.707107)
nc.Points.SetPoint(2,0.0,1.0,0.0,1.0)
nc.Points.SetPoint(3,-0.707107,0.707107,0.0,0.707107)
nc.Points.SetPoint(4,-1.0,0.0,0.0,1.0)
nc.Points.SetPoint(5,-0.707107,-0.707107,0.0,0.707107)
nc.Points.SetPoint(6,0.0,-1.0,0.0,1.0)
nc.Points.SetPoint(7,0.707107,-0.707107,0.0,0.707107)
nc.Points.SetPoint(8,1.0,0.0,0.0,1.0)
nc.Knots(0)=0.0
nc.Knots(1)=0.0
nc.Knots(2)=0.5*Math.PI
nc.Knots(3)=0.5*Math.PI
nc.Knots(4)=Math.PI
nc.Knots(5)=Math.PI
nc.Knots(6)=1.5*Math.PI
nc.Knots(7)=1.5*Math.PI
nc.Knots(8)=2.0*Math.PI
nc.Knots(9)=2.0*Math.PIIf nc.IsValidThen
doc.Objects.AddCurve(nc)
doc.Views.Redraw()ReturnRhino.Commands.Result.SuccessEndIfReturnRhino.Commands.Result.FailureEndFunctionEndClass