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.
is_rational (bool, read-only) – Flag indicating that the curve is rational.
- Other Attributes
occ_curve (
Geom_BSplineCurve
) – The underlying OCC curve.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
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.
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.
Load a NURBS curve from an STP file.
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.
Convert the geometry to a line.
Convert the geometry to a polyline.
Write the curve geometry to a STP file.
Inherited Methods
Compute the axis aligned bounding box of the curve.
Make an independent copy of the current curve.
Compute the curvature vector at a curve parameter.
Divide the curve into a specific number of equal length segments.
Divide the curve into segments of specified length.
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.
Construct a NURBS curve from an existing OCC BSplineCurve.
Compute the length of the curve.
Compute the locus of all points on the curve.
Compute the point at a curve parameter.
Reverse the parametrisation of the curve.
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.
Transform this curve.
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).
Compute point locations corresponding to evenly spaced parameters over the curve domain.