Skip to content

BSplineSurface3D

Canonical path: NemAll_Python_Geometry.BSplineSurface3D

class for 3D (non uniform, rational) B-spline surface geometry

CenterPoint property

CenterPoint: Point3D

Get center point

Planar property writable

Planar: bool

Check if surface is planar

Points property

Points: void

Get control points

Rational property writable

Rational: bool

Check if the surface is rational

UClosed property writable

UClosed: bool

Check if the surface is closed in U direction

UDegree property writable

UDegree: int

Get surface u-degree

UKnots property writable

UKnots: VecDoubleList

Get u-knot vector

UPeriodic property writable

UPeriodic: bool

Check if the surface is periodic in U direction

UPointsCount property

UPointsCount: int

Get control points count in u-direction

VClosed property writable

VClosed: bool

Check if the surface is closed in V direction

VDegree property writable

VDegree: int

Get surface v-degree

VKnots property writable

VKnots: VecDoubleList

Get v-knot vector

VPeriodic property writable

VPeriodic: bool

Check if the surface is periodic in V direction

VPointsCount property

VPointsCount: int

Get control points count in v-direction

Valid property writable

Valid: bool

Check surface validity

Weights property writable

Weights: VecDoubleList

Get control points weights

Clear

Clear()

Clear data, getting invalid state

Get

Get() -> tuple[
    Point3DList,
    VecDoubleList,
    VecDoubleList,
    VecDoubleList,
    int,
    int,
    bool,
    bool,
    bool,
    bool,
]

Get all surface members

Returns:

  • tuple[Point3DList, VecDoubleList, VecDoubleList, VecDoubleList, int, int, bool, bool, bool, bool]

    tuple(all control points, all control points weights, knots in u direction, knots in v direction, degree in u direction, degree in v direction, periodic in u direction, periodic in v direction, closed in u direction, closed in v direction)

GetCenterPoint

GetCenterPoint() -> Point3D

Get center point

Returns:

GetNormalVector

GetNormalVector(uv: Point2D) -> tuple[eGeometryErrorCode, Vector3D]

Evaluate normal vector for given parameters

Parameters:

Returns:

GetPoints

GetPoints() -> Point3DList

Get control points

Returns:

GetUDegree

GetUDegree() -> int

Get surface u-degree

Returns:

  • int

    surface degree

GetUKnots

GetUKnots() -> VecDoubleList

Get u-knot vector

Returns:

GetUPointsCount

GetUPointsCount() -> int

Get control points count in u-direction

Returns:

  • int

    size_t control points count

GetVDegree

GetVDegree() -> int

Get surface v-degree

Returns:

  • int

    surface degree

GetVKnots

GetVKnots() -> VecDoubleList

Get v-knot vector

Returns:

GetVPointsCount

GetVPointsCount() -> int

Get control points count in v-direction

Returns:

  • int

    size_t control points count

GetWeights

GetWeights() -> VecDoubleList

Get control points weights

Returns:

IsPlanar

IsPlanar() -> bool

Check if surface is planar

Returns:

  • bool

    bool true = yes

IsRational

IsRational() -> bool

Check if the surface is rational

Returns:

  • bool

    bool true = rational

IsUClosed

IsUClosed() -> bool

Check if the surface is closed in U direction

Returns:

  • bool

    bool true = closed

IsUPeriodic

IsUPeriodic() -> bool

Check if the surface is periodic in U direction

Returns:

  • bool

    bool true = periodic

IsVClosed

IsVClosed() -> bool

Check if the surface is closed in V direction

Returns:

  • bool

    bool true = closed

IsVPeriodic

IsVPeriodic() -> bool

Check if the surface is periodic in V direction

Returns:

  • bool

    bool true = periodic

IsValid

IsValid() -> bool

Check surface validity

Returns:

  • bool

    bool valid = true

Set

Set(
    points: Point3DList,
    weights: VecDoubleList,
    uknots: VecDoubleList,
    vknots: VecDoubleList,
    udegree: int,
    vdegree: int,
    isUPeriodic: bool,
    isVPeriodic: bool,
    isUClosed: bool,
    isVClosed: bool,
)

Set all surface members

Parameters:

  • points (Point3DList) –

    all control points

  • weights (VecDoubleList) –

    all control points weights

  • uknots (VecDoubleList) –

    knots in u direction

  • vknots (VecDoubleList) –

    knots in v direction

  • udegree (int) –

    degree in u direction

  • vdegree (int) –

    degree in v direction

  • isUPeriodic (bool) –

    periodic in u direction

  • isVPeriodic (bool) –

    periodic in v direction

  • isUClosed (bool) –

    closed in u direction

  • isVClosed (bool) –

    closed in v direction

SetUDegree

SetUDegree(degree: int)

Set surface v-degree

Parameters:

  • degree (int) –

    desired degree

SetUKnots

SetUKnots(knots: VecDoubleList)

Set u-knot vector

Parameters:

SetVDegree

SetVDegree(degree: int)

Set surface v-degree

Parameters:

  • degree (int) –

    desired degree

SetVKnots

SetVKnots(knots: VecDoubleList)

Set v-knot vector

Parameters:

SetWeights

SetWeights(weights: VecDoubleList)

Set weights for control points

Parameters:

__eq__

__eq__(bsplinesrfc: BSplineSurface3D) -> object

Comparison of BSplineSurface3D without tolerance.

Be careful, this method work without tolerance!

Parameters:

Returns:

  • object

    True when BSplineSurface3D are equal, otherwise false.

__init__ overloaded

__init__()

Initialize

__init__(
    points: Point3DList,
    weights: VecDoubleList,
    uknots: VecDoubleList,
    vknots: VecDoubleList,
    udegree: int,
    vdegree: int,
    isUPeriodic: bool,
    isVPeriodic: bool,
    isUClosed: bool,
    isVClosed: bool,
)

Constructor

Parameters:

  • points (Point3DList) –

    all control points

  • weights (VecDoubleList) –

    all control points weights

  • uknots (VecDoubleList) –

    knots in u direction

  • vknots (VecDoubleList) –

    knots in v direction

  • udegree (int) –

    degree in u direction

  • vdegree (int) –

    degree in v direction

  • isUPeriodic (bool) –

    periodic in u direction

  • isVPeriodic (bool) –

    periodic in v direction

  • isUClosed (bool) –

    closed in u direction

  • isVClosed (bool) –

    closed in v direction

__init__(surface: BSplineSurface3D)

Copy constructor.

Parameters:

__repr__

__repr__() -> str

Convert to string

Placeholder