OCCNurbsCurve
- class compas_occ.geometry.OCCNurbsCurve(*args, **kwargs)[source]
Bases:
compas_occ.geometry.curves.curve.OCCCurve
,compas.geometry.curves.nurbs.NurbsCurve
Class representing a NURBS curve based on the BSplineCurve of the OCC geometry kernel.
- Parameters
name (str, optional) – The name of the curve.
- Attributes
points (list[
Point
], read-only) – The control points of the curve.weights (list[float], read-only) – The weights of the control points of the curve.
knots (list[float], read-only) – The knots of the curve, without multiplicities.
knotsequence (list[float], read-only) – The full vector of knots of the curve.
multiplicities (list[int], read-only) – The multiplicities of the knots of the curve.
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).
is_rational (bool, read-only) – Flag indicating that the curve is rational.
- Other Attributes
occ_shape (
TopoDS_Shape
, read-only) – The underlying OCC curve embedded in an edge and converted to a shape.occ_edge (
TopoDS_Edge
, read-only) – The underlying OCC curve embedded in an edge.occ_points (
TColgp_Array1OfPnt
, read-only) – The control points of the curve.occ_weights (
TColStd_Array1OfReal
, read-only) – The weights of the control points of the curve.occ_knots (
TColStd_Array1OfReal
, read-only) – The knots of the curve, without multiplicities.occ_knotsequence (
TColStd_Array1OfReal
, read-only) – The full vector of knots of the curve.occ_multiplicities (
TColStd_Array1OfInteger
, read-only) – The multiplicities of the knots 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)
Methods
Make an independent copy of the current curve.
Construct a NURBS curve from an arc.
Construct a NURBS curve from a circle.
Construct a NURBS curve from an existing OCC TopoDS_Edge.
Construct a NURBS curve from an ellipse.
Construct a NURBS curve by interpolating a set of points.
Construct a NURBS curve from a line.
Construct a NURBS curve from explicit curve parameters.
Construct a NURBS curve from control points.
Modifies this curve by joining it with another curve.
Returns a new curve that is the result of joining this curve with another.
Modifies this curve by segmenting it between the parameters u and v.
Returns a copy of this curve by segmenting it between the parameters u and v.
Inherited Methods
Converts the instance to a string.
Compute the axis aligned bounding box of the curve.
Computes the curve parameters where the curve is the closest to another given curve.
Compute the closest point on the curve to a given point.
Computes the points on curves where the curve is the closest to another given curve.
Compute the curvature vector at a curve parameter.
Divide the curve into a specific number of equal length segments.
Divide the curve into a specific number of equal length segments.
Return a copy of the curve embedded in the parameter space of the surface.
Compute the local frame at a curve parameter.
Construct a NURBS curve from its data representation.
Construct an object from serialized data contained in a JSON file.
Construct an object from serialized data contained in a JSON string.
Load a curve from an OBJ file.
Construct a NURBS curve from an existing OCC BSplineCurve.
Load a NURBS curve from an STP file.
Compute the length of the curve.
Compute the locus of points on the curve.
Offset the curve over the specified distance in the given direction.
Compute the point at a curve parameter.
Return a copy of the curve projected onto a surface.
Reverse the parametrisation of the curve.
Reverse a copy of the curve.
Compute a hash of the data for comparison during version control using the sha256 algorithm.
Compute evenly spaced parameters over the curve domain.
Compute the tangent vector at a curve parameter.
Convert an object to its native data representation.
Serialize the data representation of an object to a JSON file.
Serialize the data representation of an object to a JSON string.
Write the curve geometry to an OBJ file.
Convert the curve to a polyline.
Write the curve geometry to a STP file.
Compute the torsion of the curve at a parameter.
Transform this curve.
Returns a transformed copy of this geometry.
Validate the object's data against its data schema.
Validate the object's data against its json schema.