compas_brep.curves.nurbs
¤
This is an attempt at Pure-Python rational NURBS curve built on scipy.interpolate.BSpline.
This is a replacement for the compas.geometry.NurbsCurve pluggable but need to be evaluated for completness.
Classes¤
NurbsCurve
¤
NurbsCurve(name: str | None = None)
A rational NURBS curve.
Parameters:
-
name(str | None, default:None) –The name of the curve.
Returned by:
-
API Reference
-
compas_brep Classes - Geometry
-
Topology
trim ClassesBrepTrim Attributes
-
- API Reference
Attributes¤
Methods:¤
frame_at
¤
from_circle
classmethod
¤
from_circle(circle: Circle) -> NurbsCurve
Create a rational NURBS circle (degree 2, 9 control points).
Parameters:
-
circle(Circle) –The circle.
from_ellipse
classmethod
¤
from_ellipse(ellipse: Ellipse) -> NurbsCurve
Create a rational NURBS ellipse (degree 2, 9 control points).
Parameters:
-
ellipse(Ellipse) –The ellipse.
from_interpolation
classmethod
¤
from_interpolation(points: list[Point], degree: int = 3) -> NurbsCurve
from_line
classmethod
¤
from_line(line: Line) -> NurbsCurve
from_parameters
classmethod
¤
from_parameters(
points: list[Point],
weights: list[float],
knots: list[float],
mults: list[int] | None = None,
degree: int = 3,
multiplicities: list[int] | None = None,
) -> NurbsCurve
Create a NURBS curve from explicit parameters.
Parameters:
from_points
classmethod
¤
from_points(points: list[Point], degree: int = 3) -> NurbsCurve
point_at
¤
tangent_at
¤
Tangent vector at parameter t (unnormalized).
Uses finite differences on the rational curve.
Parameters:
-
t(float) –Parameter value.
to_linesegments
¤
to_polyline
¤
transform
¤
transform(transformation: Transformation) -> None
Transform all control points in-place.
Parameters:
-
transformation(Transformation) –The transformation to apply.