Gets the dimension of the object. The dimension is typically three. For parameter space trimming curves the dimension is two. In rare cases the dimension can be one or greater than three.
Gets or sets the domain of the curve.
Returns true if the NURBS curve has Bezier spans (all distinct knots have multiplicity = degree)
Returns true if the Brep.TryConvertBrep function will be successful for this object
Gets a value indicating whether or not this curve is a closed curve.
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
Gets a value indicating whether or not this curve is considered to be Periodic.
Gets a value indicating whether or not the curve is rational. Rational curves have control-points with custom weights.
Tests an object to see if it is valid.
...
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
Gets the order of the curve. Order = Degree + 1.
Evaluates point at the end of the curve.
Evaluates point at the start of the curve.
Gets the number of non-empty smooth (c-infinity) spans in the curve.
Evaluate unit tangent vector at the end of the curve.
Evaluates the unit tangent vector at the start of the curve.
Gets the amount of user strings.
The desired dimension.
true if the curve's dimension was already desiredDimension or if the curve's dimension was successfully changed to desiredDimension; otherwise false.
Changes the dimension of a curve.
The orientation of this curve with respect to world XY plane.
Determines the orientation (counterclockwise or clockwise) of a closed, planar curve in the world XY plane. Only works with simple (no self intersections) closed, planar curves.
The plane in which to solve the orientation.
The orientation of this curve with respect to world XY plane.
Determines the orientation (counterclockwise or clockwise) of a closed, planar curve in a given plane. Only works with simple (no self intersections) closed, planar curves.
The span index, where (0 <= spanIndex <= Points.Count - Order).
Bezier curve if successful, null otherwise.
Converts a span of the NURBS curve into a Bezier.
Curve parameter to evaluate.
Number of derivatives to evaluate, must be at least 0.
An array of vectors that represents all the derivatives starting at zero.
Evaluate the derivatives at the specified curve parameter.
Curve parameter to evaluate.
Number of derivatives to evaluate, must be at least 0.
Side of parameter to evaluate. If the parameter is at a kink, it makes a big difference whether the evaluation is from below or above.
An array of vectors that represents all the derivatives starting at zero.
Evaluate the derivatives at the specified curve parameter.
An object of the same type as this, with the same properties and behavior.
Constructs a deep (full) copy of this object.
If true, a physically accurate bounding box will be computed. If not, a bounding box estimate will be computed. For some geometry types there is no difference between the estimate and the accurate bounding box. Estimated bounding boxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes.
The bounding box of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
true if this curve can be represented as a polyline; otherwise, false.
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.
...
false if object cannot be converted to a deformable object. true if object was already deformable or was converted into a deformable object.
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
If true and the first or last weight is not one, then the first and last spans are re-parameterized so that the end weights are one.
true on success, false on failure.
Clamps ends and adds knots so the NURBS curve has Bezier spans (all distinct knots have multiplicity = degree).
...
re-parameterization constant (generally speaking, c should be > 0). The control points and knots are adjusted so that output_nurbs(t) = input_nurbs(lambda(t)), where lambda(t) = c*t/( (c-1)*t + 1 ). Note that lambda(0) = 0, lambda(1) = 1, lambda'(t) > 0, lambda'(0) = c and lambda'(1) = 1/c.
true if successful.
Use a linear fractional transformation to re-parameterize the NURBS curve. This does not change the curve's domain.
Angle of rotation in radians.
Direction of the axis of rotation.
Point on the axis of rotation.
true if geometry successfully rotated.
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
NURBS representation of the curve on success, null on failure.
Constructs a NURBS curve representation of this curve.
The NURBS representation for this portion of the curve is returned.
NURBS representation of the curve on success, null on failure.
Constructs a NURBS curve representation of this curve.
Transformation to apply to geometry.
true if geometry successfully transformed.
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
Start of the trimming interval. Portions of the curve before curve(t0) are removed.
End of the trimming interval. Portions of the curve after curve(t1) are removed.
Trimmed portion of this curve is successful, null on failure.
Removes portions of the curve outside the specified interval.
[boolean, Polyline] (boolean) true if this curve can be represented as a polyline; otherwise, false. (Polyline) If true is returned, then the polyline form is returned here.
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.
Static
createIf true, create a periodic uniform curve. If false, create a clamped uniform curve.
(>=1) degree=order-1.
control vertex locations as an array of points or a Point3dList.
new NURBS curve on success null on error.
Constructs a 3D NURBS curve from a list of control points.
Static
createControl points as an array of arrays containing three numbers or a Point3dList.
Degree of curve. The number of control points must be at least degree+1.
Constructs a curve from a set of control-point locations.
Static
createCurve on success, null on failure.
Gets a rational degree 2 NURBS curve representation of the arc. Note that the parameterization of NURBS curve does not match arc's transcendental parameterization.
Static
createCurve on success, null on failure.
Gets a rational degree 2 NURBS curve representation of the circle. Note that the parameterization of NURBS curve does not match circle's transcendental parameterization. Use GetRadianFromNurbFormParameter() and GetParameterFromRadian() to convert between the NURBS curve parameter and the transcendental parameter.
Static
createA NURBS curve representation of this ellipse or null if no such representation could be made.
Gets a rational degree 2 NURBS curve representation of the ellipse. Note that the parameterization of the NURBS curve does not match with the transcendental parameterization of the ellipsis.
Static
createCurve on success, null on failure.
Gets a non-rational, degree 1 NURBS curve representation of the line.
Static
decodeA json formatted object in the following format (values are orientative):
{
version: 10000,
archive3dm: 60,
opennurbs: -1877964208,
data: 'encoded 3dm object data'
}
Decodes a Rhino Object
Generated using TypeDoc
Gets the maximum algebraic degree of any span or a good estimate if curve spans are not algebraic.