OCCNurbsCurve

class compas_occ.geometry.OCCNurbsCurve(*args, **kwargs)

Bases: OCCCurve, NurbsCurve

Class representing a NURBS curve based on the BSplineCurve of the OCC geometry kernel.

Parameters:
namestr, optional

The name of the curve.

Examples

Curve from points…

>>> from compas.geometry import Point
>>> from compas_occ.geometry import OCCNurbsCurve
>>> points = [Point(0, 0, 0), Point(3, 6, 0), Point(6, -3, 3), Point(10, 0, 0)]
>>> curve = OCCNurbsCurve.from_points(points)

Curve from parameters…

>>> from compas.geometry import Point
>>> from compas_occ.geometry import OCCNurbsCurve
>>> points = [Point(0, 0, 0), Point(3, 6, 0), Point(6, -3, 3), Point(10, 0, 0)]
>>> curve = OCCNurbsCurve.from_parameters(points=points, weights=[1.0, 1.0, 1.0, 1.0], knots=[0.0, 1.0], multiplicities=[4, 4], degree=3)
Attributes:
continuityint, read-only

The degree of continuity of the curve.

degreeint, read-only

The degree of the curve.

is_rationalbool, read-only

Flag indicating that the curve is rational.

knotslist[float], read-only

The knots of the curve, without multiplicities.

knotsequencelist[float], read-only

The full vector of knots of the curve.

multiplicitieslist[int], read-only

The multiplicities of the knots of the curve.

orderint, read-only

The order of the curve (= degree + 1).

pointslist[Point], read-only

The control points of the curve.

weightslist[float], read-only

The weights of the control points of the curve.

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_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_native

Construct a NURBS curve from an existing OCC BSplineCurve.

from_parameters

Construct a NURBS curve from explicit curve parameters.

from_points

Construct a NURBS curve from control points.

join

Modifies this curve by joining it with another curve.

joined

Returns a new curve that is the result of joining this curve with another.

segment

Modifies this curve by segmenting it between the parameters u and v.

segmented

Returns a copy of this curve by segmenting it between the parameters u and v.

Inherited Methods

ToString

Converts the instance to a string.

aabb

Compute the axis aligned bounding box of the curve.

closest_parameters_curve

Computes the curve parameters where the curve is the closest to another given curve.

closest_point

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

closest_points_curve

Computes the points on curves where the curve is the closest to another given curve.

compute_aabb

Compute the axis-aligned bounding box of the geometry.

compute_obb

Compute the oriented bounding box of the geometry.

curvature_at

Compute the curvature vector at a curve parameter.

divide

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

divide_by_count

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

divide_by_length

Divide the curve into segments of a given length.

elevate_degree

embedded

Return a new curve embedded in the parameter space of the surface.

fair

frame_at

Compute the local frame at a curve parameter.

from_json

Construct an object of this type from a JSON file.

from_jsonstring

Construct an object of this type from a JSON string.

from_obj

Load a curve from an OBJ file.

from_occ

Construct a curve from an existing OCC BSplineCurve.

from_step

Load a NURBS curve from an STP file.

insert_knot

length

Compute the length of the curve.

normal_at

Compute the normal of the curve at a parameter.

offset

Return a new curve that is the offset of this curve over the specified distance in the given direction.

parameter_at_distance

Compute the parameter of a point on the curve at a given distance along the curve from a point at a given parameter.

point_at

Compute the point at a curve parameter.

projected

Return a copy of the curve projected onto a surface.

reduce_degree

refine_knot

remove_knot

reverse

Reverse the parametrisation of the curve.

reversed

Reverse a copy of the curve.

rotate

Rotate the geometry.

rotated

Returns a rotated copy of this geometry.

scale

Scale the geometry.

scaled

Returns a scaled copy of this geometry.

sha256

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

smooth

split

tangent_at

Compute the tangent vector at a curve parameter.

to_json

Convert an object to its native data representation and save it to a JSON file.

to_jsonstring

Convert an object to its native data representation and save it to a JSON string.

to_obj

Write the curve geometry to an OBJ file.

to_points

Convert the curve to a list of points.

to_polygon

Convert the curve to a polygon.

to_polyline

Convert the curve to a polyline.

to_step

Write the curve geometry to a STP file.

transform

Transform this curve.

transformed

Returns a transformed copy of this geometry.

translate

Translate the geometry.

translated

Returns a translated copy of this geometry.

trim

validate_data

Validate the data against the object's data schema.