RhinoNurbsCurve
- class compas_rhino.geometry.RhinoNurbsCurve(*args, **kwargs)[source]
Bases:
compas.geometry.curves.nurbs.NurbsCurve
Class representing a NURBS curve based on the NurbsCurve of Rhino.Geometry.
- Attributes
points (list of
compas.geometry.Point
) – The control points of the curve.weights (list of float) – The weights of the control points.
knots (list of float) – The knot vector, without duplicates.
multiplicities (list of int) – The multiplicities of the knots in the knot vector.
knotsequence (list of float) – The knot vector, with repeating values according to the multiplicities.
degree (int) – The degree of the polynomials.
order (int) – The order of the curve.
domain (tuple of float) – The parameter domain.
start (
compas.geometry.Point
) – The point corresponding to the start of the parameter domain.end (
compas.geometry.Point
) – The point corresponding to the end of the parameter domain.is_closed (bool) – True if the curve is closed.
is_periodic (bool) – True if the curve is periodic.
is_rational (bool) – True is the curve is rational.
References
- 2
https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Geometry_NurbsCurve.htm
- 3
- 4
https://developer.rhino3d.com/guides/opennurbs/nurbs-geometry-overview/
Methods
aabb
()Compute the axis aligned bounding box of the curve.
closest_point
(point[, return_parameter])Compute the closest point on the curve to a given point.
copy
()Make an independent copy of the current curve.
curvature_at
(t)Compute the curvature at a point on the curve.
divide_by_count
(count[, return_points])Divide the curve into a specific number of equal length segments.
divide_by_length
(length[, return_points])Divide the curve into segments of specified length.
fair
()frame_at
(t)Compute the local frame at a point on the curve.
from_arc
(arc)Construct a NURBS curve from an arc.
from_circle
(circle)Construct a NURBS curve from a circle.
from_data
(data)Construct a NURBS curve from its data representation.
from_ellipse
(ellipse)Construct a NURBS curve from an ellipse.
from_interpolation
(points[, precision])Construct a NURBS curve by interpolating a set of points.
from_json
(filepath)Construct an object from serialized data contained in a JSON file.
from_jsonstring
(string)Construct an object from serialized data contained in a JSON string.
from_line
(line)Construct a NURBS curve from a line.
from_parameters
(points, weights, knots, ...)Construct a NURBS curve from explicit curve parameters.
from_points
(points[, degree, is_periodic])Construct a NURBS curve from control points.
from_rhino
(rhino_curve)Construct a NURBS curve from an existing Rhino curve.
from_step
(filepath)Load a NURBS curve from an STP file.
length
([precision])Compute the length of the curve.
locus
([resolution])Compute the locus of the curve.
obb
([precision])Compute the oriented bounding box of the curve.
point_at
(t)Compute a point on the curve.
reverse
()Reverse the parametrisation of the curve.
segment
(u, v[, precision])Modifies this curve by segmenting it between the parameters u and v.
segmented
(u, v[, precision])Returns a copy of this curve by segmenting it between the parameters u and v.
space
([n])Compute evenly spaced parameters over the curve domain.
tangent_at
(t)Compute the tangent vector at a point on the curve.
to_data
()Convert an object to its native data representation.
to_json
(filepath[, pretty])Serialize the data representation of an object to a JSON file.
to_jsonstring
([pretty])Serialize the data representation of an object to a JSON string.
to_line
()Convert the NURBS curve to a line.
Convert the NURBS curve to a polyline.
to_step
(filepath[, schema])Write the curve geometry to a STP file.
transform
(T)Transform this curve.
transformed
(T)Transform a copy of the curve.
Validate the object's data against its data schema (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).
xyz
([n])Compute point locations corresponding to evenly spaced parameters over the curve domain.