NurbsCurve

class compas.geometry.NurbsCurve(*args, **kwargs)[source]

Bases: Curve

A NURBS curve is defined by control points, weights, knots, and a degree.

Parameters

name (str, optional) – The name of the curve.

Attributes
  • points (list[Point], read-only) – The control points.

  • weights (list[float], read-only) – The weights of the control points.

  • knots (list[float], read-only) – The knots, without multiplicity.

  • knotsequence (list[float], read-only) – The complete knot vector.

  • multiplicity (list[int], read-only) – The multiplicities of the knots.

  • continuity (int, read-only) – The degree of continuity of the curve.

  • degree (int, read-only) – The degree of the curve.

  • order (int, read-only) – The order of the curve (degree + 1).

Methods

copy

Make an independent copy of the current curve.

from_arc

Construct a NURBS curve from an arc.

from_circle

Construct a NURBS curve from a circle.

from_data

Construct a NURBS curve from its data representation.

from_ellipse

Construct a NURBS curve from an ellipse.

from_interpolation

Construct a NURBS curve by interpolating a set of points.

from_line

Construct a NURBS curve from a line.

from_parameters

Construct a NURBS curve from explicit curve parameters.

from_points

Construct a NURBS curve from control points.

from_step

Load a NURBS curve from an STP file.

Inherited Methods

ToString

Converts the instance to a string.

aabb

Compute the axis aligned bounding box of the curve.

closest_point

Compute the closest point on the curve to a given point.

curvature_at

Compute the curvature of the curve at a parameter.

divide_by_count

Divide the curve into a specific number of equal length segments.

divide_by_length

Divide the curve into segments of specified length.

fair

frame_at

Compute the local frame of the curve at a parameter.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

from_obj

Load a curve from an OBJ file.

length

Compute the length of the curve.

locus

Compute the locus of points on the curve.

offset

point_at

Compute a point of the curve at a parameter.

reverse

Reverse the parametrisation of the curve.

reversed

Reverse a copy of the curve.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

smooth

space

Compute evenly spaced parameters over the curve domain.

split

tangent_at

Compute the tangent vector of the curve at a parameter.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

to_obj

Write the curve geometry to an OBJ file.

to_step

Write the curve geometry to a STP file.

torsion_at

Compute the torsion of the curve at a parameter.

transform

Transform the geometry.

transformed

Returns a transformed copy of this geometry.

trim

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.