Skip to content

[mxcad_3d API Document](../README. md)/Mx3dGeomBSpline Surface

Class: Mx3dGeomBSplineSurface

Represents a B-spline surface, inherited from Mx3dGeomSounddSurface. Provide multiple operations and query methods to process B-spline surfaces.

Hierarchy

Table of contents

Constructors

Methods

Constructors

constructor

new Mx3dGeomBSplineSurface(Poles, dUKnots, dVKnots, iUMults, iVMults, UDegree, VDegree, UPeriodic, VPeriodic)

Constructor is used to create a B-spline surface.

Parameters

NameTypeDescription
Poles[Mx3dGePoint. md] []Control point array, a two-dimensional array representing control points in the U and V directions
DUKnotsnumber []Node sequence in the U direction
DVKnotsnumber []Node sequence in the V direction
The multiplicity of U-direction nodes in iUMultsnumber []
The multiplicity of nodes in the V direction in iVMultsnumber []
UDegreenumberThe order of the curve in the U direction
VDegreenumberorder of the curve in the V direction
UPeriodicbooleanIs the U direction periodic
VPeriodicbooleanIs the V direction periodic

Overrides

Mx3dGeomBoundedSurface.constructor

new Mx3dGeomBSplineSurface(Poles, dWeights, dUKnots, dVKnots, iUMults, iVMults, UDegree, VDegree, UPeriodic, VPeriodic)

The constructor is used to create a weighted B-spline surface.

Parameters

NameTypeDescription
Poles[Mx3dGePoint. md] []Control point array, a two-dimensional array representing control points in the U and V directions
DWeightsnumber [] []A two-dimensional array of control point weights
DUKnotsnumber []Node sequence in the U direction
DVKnotsnumber []Node sequence in the V direction
The multiplicity of U-direction nodes in iUMultsnumber []
The multiplicity of nodes in the V direction in iVMultsnumber []
UDegreenumberThe order of the curve in the U direction
VDegreenumberorder of the curve in the V direction
UPeriodicbooleanIs the U direction periodic
VPeriodicbooleanIs the V direction periodic

Overrides

Mx3dGeomBoundedSurface.constructor

Methods

Bounds

Bounds(U1U2V1V2): void

Obtain the boundary of the surface.

Parameters

NameTypeDescription
U1U2V1V2[dU1: number, dU2: number, dV1: number, dV2: number]Boundary parameter

Returns

void


CheckAndSegment

CheckAndSegment(U1, U2, V1, V2): void

Check and retrieve surface fragments within the specified range of U and V.

Parameters

NameTypeDescription
U1numberStarting U parameter
U2numberEnd the U parameter
V1numberStarting V parameter
V2numberEnd the V parameter

Returns

void


Continuity

Continuity(): MxGAShapeEnum

Obtain the continuity of the surface.

Returns

MxGAShapeEnum

Return the continuity type of the surface.


Copy

Copy(): Mx3dGeomObject

Copy the current surface object.

Returns

Mx3dGeomObject

Return a new surface object.


D0

D0(U, V, P): void

Calculate the zero derivative of the specified parameter point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned

Returns

void


D1

D1(U, V, P, D1U, D1V): void

Calculate the first derivative of a specified parameter point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction

Returns

void


D2

D2(U, V, P, D1U, D1V, D2U, D2V, D2UV): void

Calculate the second derivative of the specified parameter point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Mixed second derivative in the U and V directions

Returns

void


D3

D3(U, V, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void

Calculate the third derivative of the specified parameter point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Mixed second derivative in the U and V directions
D3U[Mx3dGeVec] (Mx3dGeVec. md)Third derivative in the U direction
D3V[Mx3dGeVec] (Mx3dGeVec. md)Third derivative in the V direction
D3UUV[Mx3dGeVec] (Mx3dGeVec. md)Mixed third derivative in the U and U directions
D3UVV[Mx3dGeVec] (Mx3dGeVec. md)Mixed third derivative in the U and V directions

Returns

void


DN

DN(U, V, Nu, Nv): Mx3dGeVec

Calculate the Nth derivative of the specified parameter point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
Nunumberderivative order U
Nvnumberderivative order V

Returns

Mx3dGeVec

Return the derivative vector.


DynamicType

DynamicType(): string

Get the dynamic type name.

Returns

string

Returns a string of the type name.

Overrides

Mx3dGeomBoundedSurface.DynamicType


ExchangeUV

ExchangeUV(): void

Exchange node sequences in the U and V directions.

Returns

void


Face

Face(TolDegen): Mx3dShapeFace

Generate patches based on tolerance.

Parameters

NameTypeDescription
TolerantNumberTolerance

Returns

Mx3dShapeFace

Return the generated patch object.

Face(W, Inside): Mx3dShapeFace

Generate patches based on lines and whether they are generated internally.

Parameters

NameTypeDescription
W[Mx3dShapeWire] (Mx3dShapeWire. md)Line object
InsidebooleanIs it inside

Returns

Mx3dShapeFace

Return the generated patch object.

Face(UMin, UMax, VMin, VMax, TolDegen): Mx3dShapeFace

Generate patches based on U, V range and tolerance.

Parameters

NameTypeDescription
UMinnumberminimum value in the U direction
UMaxnumbermaximum value in the U direction
VMinnumberminimum value in the V direction
VMaxnumbermaximum value in the V direction
TolerantNumberTolerance

Returns

Mx3dShapeFace

Return the generated patch object.


FirstUKnotIndex

FirstUKnotIndex(): number

Retrieve the first node index in the U direction.

Returns

number

Return the index of the first node.


FirstVKnotIndex

FirstVKnotIndex(): number

Retrieve the index of the first node in the V direction.

Returns

number

Return the index of the first node.


IncreaseDegree

IncreaseDegree(UDegree, VDegree): void

Increase the order of the surface in the U and V directions.

Parameters

NameTypeDescription
UDegreenumberImproved U-direction order
VDegreenumberIncreased order in the V direction

Returns

void


IncreaseUMultiplicity

IncreaseUMultiplicity(UIndex, M): void

Increase the multiplicity of U-direction nodes.

Parameters

NameTypeDescription
UIndesnumberNode index
MnumberMultiplicity increment

Returns

void

IncreaseUMultiplicity(FromI1, ToI2, M): void

Increase the multiplicity of U-direction nodes within the specified interval.

Parameters

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
MnumberMultiplicity increment

Returns

void


IncreaseVMultiplicity

IncreaseVMultiplicity(VIndex, M): void

Increase the multiplicity of nodes in the V direction.

Parameters

NameTypeDescription
VIndesnumberNode index
MnumberMultiplicity increment

Returns

void

IncreaseVMultiplicity(FromI1, ToI2, M): void

Increase the multiplicity of nodes in the V direction within the specified interval.

Parameters

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
MnumberMultiplicity increment

Returns

void


IncrementUMultiplicity

IncrementUMultiplicity(FromI1, ToI2, Step): void

Increase the multiplicity of U-direction nodes within the specified interval, step by step.

Parameters

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
StepNumberIncremental Step

Returns

void


IncrementVMultiplicity

IncrementVMultiplicity(FromI1, ToI2, Step): void

Increase the multiplicity of nodes in the V direction within the specified interval, step by step.

Parameters

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
StepNumberIncremental Step

Returns

void


InsertUKnot

InsertUKnot(U, M, ParametricTolerance, Add): void

Insert U-direction node.

Parameters

NameTypeDescription
Unumbernode value
Mnumbermultiplicity
Parametric TolerancenumberParameter Tolerance
AddbooleanWhether to add to the surface

Returns

void


InsertUKnots

InsertUKnots(dKnots, iMults, dParametricTolerance, Add): void

Insert U-direction node.

Parameters

NameTypeDescription
DKnotsnumber []Node value array
IMultsnumber []Node multiplicity array
DParameterTolerancenumberParameter tolerance
AddbooleanWhether to add to the surface

Returns

void


InsertVKnot

InsertVKnot(V, M, ParametricTolerance, Add): void

Insert a node in the V direction.

Parameters

NameTypeDescription
Vnumbernode value
Mnumbermultiplicity
Parametric TolerancenumberParameter Tolerance
AddbooleanWhether to add to the surface

Returns

void


InsertVKnots

InsertVKnots(dKnots, iMults, dParametricTolerance, Add): void

Insert a node in the V direction.

Parameters

NameTypeDescription
DKnotsnumber []Node value array
IMultsnumber []Node multiplicity array
DParameterTolerancenumberParameter tolerance
AddbooleanWhether to add to the surface

Returns

void


IsCNu

IsCNu(N): boolean

Check if the U direction is a continuous N-order.

Parameters

NameTypeDescription
Nnumbercontinuous order

Returns

boolean

Return whether it is a continuous N-order.


IsCNv

IsCNv(N): boolean

Check if the V direction is a continuous N-order.

Parameters

NameTypeDescription
Nnumbercontinuous order

Returns

boolean

Return whether it is a continuous N-order.


IsUClosed

IsUClosed(): boolean

Check if the U direction is periodic.

Returns

boolean

Return whether it is periodic.


IsUPeriodic

IsUPeriodic(): boolean

Check if the U direction is periodic.

Returns

boolean

Return whether it is periodic.


IsURational

IsURational(): boolean

Check if the U direction is reasonable.

Returns

boolean

Return whether it is reasonable.


IsVClosed

IsVClosed(): boolean

Check if the V direction is periodic.

Returns

boolean

Return whether it is periodic.


IsVPeriodic

IsVPeriodic(): boolean

Check if the V direction is periodic.

Returns

boolean

Return whether it is periodic.


IsVRational

IsVRational(): boolean

Check if the V direction is reasonable.

Returns

boolean

Return whether it is reasonable.


LastUKnotIndex

LastUKnotIndex(): number

Retrieve the index of the last node in the U direction.

Returns

number

Return the index of the last node.


LastVKnotIndex

LastVKnotIndex(): number

Retrieve the index of the last node in the V direction.

Returns

number

Return the index of the last node.


LocalD0

LocalD0(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P): void

Calculate the zero order derivative of local parameter points.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned

Returns

void


LocalD1

LocalD1(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V): void

Calculate the first derivative of local parameter points.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction

Returns

void


LocalD2

LocalD2(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V, D2U, D2V, D2UV): void

Calculate the second derivative of local parameter points.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Mixed second derivative in the U and V directions

Returns

void


LocalD3

LocalD3(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void

Calculate the third derivative of local parameter points.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
P[Mx3dGePoint] (Mx3dGePoint. md)The point returned
D1U[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)First derivative in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Second derivative in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Mixed second derivative in the U and V directions
D3U[Mx3dGeVec] (Mx3dGeVec. md)Third derivative in the U direction
D3V[Mx3dGeVec] (Mx3dGeVec. md)Third derivative in the V direction
D3UUV[Mx3dGeVec] (Mx3dGeVec. md)Mixed third derivative in the U and U directions
D3UVV[Mx3dGeVec] (Mx3dGeVec. md)Mixed third derivative in the U and V directions

Returns

void


LocalDN

LocalDN(U, V, FromUK1, ToUK2, FromVK1, ToVK2, Nu, Nv): Mx3dGeVec

Calculate the Nth derivative of local parameter points.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
Nunumberderivative order U
Nvnumberderivative order V

Returns

Mx3dGeVec

Return the derivative vector.


LocalValue

LocalValue(U, V, FromUK1, ToUK2, FromVK1, ToVK2): Mx3dGePoint

Calculate points on the surface within a local range.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberU-direction starting index
ToUK2numberEnd index in the U direction
FromVK1numberV-direction starting index
ToVK2numberEnd index in the V direction

Returns

Mx3dGePoint

Return the two-dimensional point of the calculation point.


LocateU

LocateU(U, ParametricTolerance, I1I2, WithKnotRepetition): void

Locate the node in the U direction.

Parameters

NameTypeDescription
The parameter value of 'U''number'
Parametric TolerancenumberParameter Tolerance
I1I2[iI1: number, iI2: number]Returns the index of the starting and ending nodes
WithKnotRepectationbooleanDoes it contain node duplicates

Returns

void


LocateV

LocateV(V, ParametricTolerance, I1I2, WithKnotRepetition): void

Locate the node in the V direction.

Parameters

NameTypeDescription
Vnumberparameter value
Parametric TolerancenumberParameter Tolerance
I1I2[iI1: number, iI2: number]Returns the index of the starting and ending nodes
WithKnotRepectationbooleanDoes it contain node duplicates

Returns

void


MirrorByAxis

MirrorByAxis(A1): void

Mirror transform geometric objects through axes.

Parameters

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object

Returns

void

Inherited from

Mx3dGeomBoundedSurface.MirrorByAxis


MirrorByCSYSR

MirrorByCSYSR(A2): void

Mirror transform geometric objects using a right-handed coordinate system.

Parameters

NameTypeDescription
A2[Mx3dGeCSYSR] (Mx3dGeCSYSR. md)Right hand coordinate system object

Returns

void

Inherited from

Mx3dGeomBoundedSurface.MirrorByCSYSR


MirrorByPoint

MirrorByPoint(P): void

Mirror transform geometric objects through points.

Parameters

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object

Returns

void

Inherited from

Mx3dGeomBoundedSurface.MirrorByPoint


MirroredByAxis

MirroredByAxis(A1): Mx3dGeomBSplineSurface

Return the new geometric object transformed through axis mirroring.

Parameters

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByAxis


MirroredByCSYSR

MirroredByCSYSR(A2): Mx3dGeomBSplineSurface

Return the new geometric object after mirror transformation through the right-handed coordinate system.

Parameters

NameTypeDescription
A2[Mx3dGeCSYSR] (Mx3dGeCSYSR. md)Right hand coordinate system object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByCSYSR


MirroredByPoint

MirroredByPoint(P): Mx3dGeomBSplineSurface

Return the new geometric object after point mirror transformation.

Parameters

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByPoint


MovePoint

MovePoint(U, V, P, UIndex1, UIndex2, VIndex1, VIndex2, UFULVFVL): void

Move the control points for the specified U and V indices.

Parameters

NameTypeDescription
UnumberU parameter value
VnumberV parameter value
P[Mx3dGePoint] (Mx3dGePoint. md)New control point
UIndex1numberU-direction starting index
UIndex2numberEnd index in the U direction
VIndex1numberV-direction starting index
VIndex2NumberEnd index in the V direction
UFULVFVL[iUF: number, iUL: number, iVF: number, iVL: number]Index array

Returns

void


NbUKnots

NbUKnots(): number

Obtain the number of U-direction nodes.

Returns

number

Return the number of nodes.


NbUPoles

NbUPoles(): number

Obtain the number of U-direction control points.

Returns

number

Return the number of control points.


NbVKnots

NbVKnots(): number

Obtain the number of nodes in the V direction.

Returns

number

Return the number of nodes.


NbVPoles

NbVPoles(): number

Obtain the number of control points in the V direction.

Returns

number

Return the number of control points.


PeriodicNormalization

PeriodicNormalization(UV): void

Normalize the node sequence periodically.

Parameters

NameTypeDescription
UV[dU: number, dV: number]represents parameters in the U and V directions

Returns

void


Pole

Pole(UIndex, VIndex): Mx3dGePoint

Retrieve control points for the specified U and V indices.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index

Returns

Mx3dGePoint

Return to control point.


Poles

Poles(): Mx3dGePoint[][]

Obtain all control points.

Returns

Mx3dGePoint[][]

Return the control point array.


RemoveUKnot

RemoveUKnot(iIndex, iM, dTolerance): boolean

Remove the U-direction node.

Parameters

NameTypeDescription
IIndexNumberNode Index
IMnumbermultiplicity
DTolerancenumbertolerance value

Returns

boolean

Return whether the removal was successful.


RemoveVKnot

RemoveVKnot(iIndex, iM, dTolerance): boolean

Remove the node in the V direction.

Parameters

NameTypeDescription
IIndexNumberNode Index
IMnumbermultiplicity
DTolerancenumbertolerance value

Returns

boolean

Return whether the removal was successful.


Rotate

Rotate(A1, Ang): void

Rotate geometric objects.

Parameters

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object
AngnumberRotation angle

Returns

void

Inherited from

Mx3dGeomBoundedSurface.Rotate


Rotated

Rotated(A1, Ang): Mx3dGeomBSplineSurface

Return the rotated new geometric object.

Parameters

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object
AngnumberRotation angle

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.Rotated


Scale

Scale(P, S): void

Scale geometric objects.

Parameters

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object
Snumberscaling ratio

Returns

void

Inherited from

Mx3dGeomBoundedSurface.Scale


Scaled

Scaled(P, S): Mx3dGeomBSplineSurface

Return the scaled new geometric object.

Parameters

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object
Snumberscaling ratio

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.Scaled


Segment

Segment(U1, U2, V1, V2): void

Retrieve surface fragments within the specified range of U and V.

Parameters

NameTypeDescription
U1numberStarting U parameter
U2numberEnd the U parameter
V1numberStarting V parameter
V2numberEnd the V parameter

Returns

void


SetPole

SetPole(UIndex, VIndex, P): void

Set control points for specified U and V indices.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index
P[Mx3dGePoint] (Mx3dGePoint. md)Control point

Returns

void

SetPole(UIndex, VIndex, P, Weight): void

Set control points and weights for the specified U and V indices.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index
P[Mx3dGePoint] (Mx3dGePoint. md)Control point
Weightnumberweight value

Returns

void


SetPoleCol

SetPoleCol(VIndex, CPoles): void

Set the control point column for the specified V-direction index.

Parameters

NameTypeDescription
VIndesnumberV-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array

Returns

void

SetPoleCol(VIndex, CPoles, dCPoleWeights): void

Set the control point column and weight for the specified V-direction index.

Parameters

NameTypeDescription
VIndesnumberV-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
DCPoleWeightsnumber []Control point weight array

Returns

void


SetPoleRow

SetPoleRow(UIndex, CPoles): void

Set the control point row for the specified U-direction index.

Parameters

NameTypeDescription
UIndesnumberU-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array

Returns

void

SetPoleRow(UIndex, CPoles, dCPoleWeights): void

Set the control point row and weight for the specified U-direction index.

Parameters

NameTypeDescription
UIndesnumberU-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
DCPoleWeightsnumber []Control point weight array

Returns

void


SetUKnot

SetUKnot(UIndex, K): void

Set the node value in the U direction.

Parameters

NameTypeDescription
UIndesnumberNode index
KnumberNew node value

Returns

void

SetUKnot(UIndex, K, M): void

Set node values in the U direction, including multiplicity.

Parameters

NameTypeDescription
UIndesnumberNode index
KnumberNew node value
Mnumbermultiplicity

Returns

void


SetUKnots

SetUKnots(dUK): void

Set the sequence of U-direction nodes.

Parameters

NameTypeDescription
DUKnumber []New U-direction node sequence

Returns

void


SetUNotPeriodic

SetUNotPeriodic(): void

Set the U direction to non periodic.

Returns

void


SetUOrigin

SetUOrigin(Index): void

Set the origin index in the U direction.

Parameters

NameTypeDescription
IndexNumberOrigin Index

Returns

void


SetUPeriodic

SetUPeriodic(): void

Set the U direction to periodic.

Returns

void


SetVKnot

SetVKnot(VIndex, K): void

Set the node values in the V direction.

Parameters

NameTypeDescription
VIndesnumberNode index
KnumberNew node value

Returns

void

SetVKnot(VIndex, K, M): void

Set node values in the V direction, including multiplicity.

Parameters

NameTypeDescription
VIndesnumberNode index
KnumberNew node value
Mnumbermultiplicity

Returns

void


SetVKnots

SetVKnots(dVK): void

Set the sequence of nodes in the V direction.

Parameters

NameTypeDescription
DVKnumber []New V-direction node sequence

Returns

void


SetVNotPeriodic

SetVNotPeriodic(): void

Set the V direction to non periodic.

Returns

void


SetVOrigin

SetVOrigin(Index): void

Set the origin index in the V direction.

Parameters

NameTypeDescription
IndexNumberOrigin Index

Returns

void


SetVPeriodic

SetVPeriodic(): void

Set the V direction to periodic.

Returns

void


SetWeight

SetWeight(UIndex, VIndex, Weight): void

Set the weight values for the specified U and V indices.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index
Weightnumberweight value

Returns

void


SetWeightCol

SetWeightCol(VIndex, dCPoleWeights): void

Set the weight column for the specified V-direction index.

Parameters

NameTypeDescription
VIndesnumberV-direction index
DCPoleWeightsnumber []Weight array

Returns

void


SetWeightRow

SetWeightRow(UIndex, dCPoleWeights): void

Set the weight row for the specified U-direction index.

Parameters

NameTypeDescription
UIndesnumberU-direction index
DCPoleWeightsnumber []Weight array

Returns

void


Transform

Transform(T): void

Apply transformation matrix to surface.

Parameters

NameTypeDescription
T[Mx3dGetStrf] (Mx3dGetStrf. md)Transform matrix

Returns

void


TransformParameters

TransformParameters(UV, T): void

Transform the surface parameters according to the given transformation matrix T.

Parameters

NameTypeDescription
UV[dU: number, dV: number]Parameter array containing the values of U and V
T[Mx3dGetStrf] (Mx3dGetStrf. md)Transform matrix

Returns

void

Inherited from

Mx3dGeomBoundedSurface.TransformParameters


Transformed

Transformed(T): Mx3dGeomBSplineSurface

Return the transformed new geometric object.

Parameters

NameTypeDescription
T[Mx3dGetStrf] (Mx3dGetStrf. md)Transform the object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.Transformed


TranslateBy2Points

TranslateBy2Points(P1, P2): void

Translate geometric objects through two points.

Parameters

NameTypeDescription
P1[Mx3dGePoint] (Mx3dGePoint. md)Starting point object
P2[Mx3dGePoint] (Mx3dGePoint. md)End point object

Returns

void

Inherited from

Mx3dGeomBoundedSurface.TranslateBy2Points


TranslateByVec

TranslateByVec(V): void

Translate geometric objects through vectors.

Parameters

NameTypeDescription
V[Mx3dGeVec] (Mx3dGeVec. md)Vector object

Returns

void

Inherited from

Mx3dGeomBoundedSurface.TranslateByVec


TranslatedBy2Points

TranslatedBy2Points(P1, P2): Mx3dGeomBSplineSurface

Return the new geometric object after translating through two points.

Parameters

NameTypeDescription
P1[Mx3dGePoint] (Mx3dGePoint. md)Starting point object
P2[Mx3dGePoint] (Mx3dGePoint. md)End point object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.TranslatedBy2Points


TranslatedByVec

TranslatedByVec(V): Mx3dGeomBSplineSurface

Return the new geometric object after vector translation.

Parameters

NameTypeDescription
V[Mx3dGeVec] (Mx3dGeVec. md)Vector object

Returns

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.TranslatedByVec


UDegree

UDegree(): number

Obtain the order in the U direction.

Returns

number

Return the order in the U direction.


UKnot

UKnot(UIndex): number

Get the node value in the specified U direction.

Parameters

NameTypeDescription
UIndesnumberNode index

Returns

number

Return the node value.


UKnotSequence

UKnotSequence(): number[]

Obtain the sequence of U-direction nodes.

Returns

number[]

Return the node sequence.


UKnots

UKnots(): number[]

Retrieve the U-direction node array.

Returns

number[]

Return a node array.


UMultiplicities

UMultiplicities(): number[]

Retrieve the U-direction node multiplicity array.

Returns

number[]

Return an array of node multiplicity.


UMultiplicity

UMultiplicity(UIndex): number

Obtain U-direction node multiplicity.

Parameters

NameTypeDescription
UIndesnumberNode index

Returns

number

Return node multiplicity.


UPeriod

UPeriod(): number

Return the period of the surface in the U direction.

Returns

number

The period of the surface in the U direction.

Inherited from

Mx3dGeomBoundedSurface.UPeriod


UReverse

UReverse(): void

Reverse the sequence of U-direction nodes.

Returns

void


UReversed

UReversed(): Mx3dGeomBSplineSurface

Parameterization of reversing the U direction.

Returns

Mx3dGeomBSplineSurface

Return the current object to implement a chain call.

Inherited from

Mx3dGeomBoundedSurface.UReversed


UReversedParameter

UReversedParameter(U): number

Calculate the U-direction reverse parameter.

Parameters

NameTypeDescription
The parameter value of 'U''number'

Returns

number

Return the reversed parameter value.


VDegree

VDegree(): number

Obtain the order in the V direction.

Returns

number

Return the order in the V direction.


VKnot

VKnot(VIndex): number

Get the node value in the specified V direction.

Parameters

NameTypeDescription
VIndesnumberNode index

Returns

number

Return the node value.


VKnotSequence

VKnotSequence(): number[]

Obtain the sequence of nodes in the V direction.

Returns

number[]

Return the node sequence.


VKnots

VKnots(): number[]

Retrieve the array of nodes in the V direction.

Returns

number[]

Return a node array.


VMultiplicities

VMultiplicities(): number[]

Retrieve the multiplicity array of nodes in the V direction.

Returns

number[]

Return an array of node multiplicity.


VMultiplicity

VMultiplicity(VIndex): number

Obtain the multiplicity of nodes in the V direction.

Parameters

NameTypeDescription
VIndesnumberNode index

Returns

number

Return node multiplicity.


VPeriod

VPeriod(): number

Return the period of the surface in the V direction.

Returns

number

The period of the surface in the V direction.

Inherited from

Mx3dGeomBoundedSurface.VPeriod


VReverse

VReverse(): void

Reverse the sequence of nodes in the V direction.

Returns

void


VReversed

VReversed(): Mx3dGeomBSplineSurface

Parameterization of reversing the V direction.

Returns

Mx3dGeomBSplineSurface

Return the current object to implement a chain call.

Inherited from

Mx3dGeomBoundedSurface.VReversed


VReversedParameter

VReversedParameter(V): number

Calculate the reverse parameter in the V direction.

Parameters

NameTypeDescription
Vnumberparameter value

Returns

number

Return the reversed parameter value.


Value

Value(U, V): Mx3dGePoint

Calculate the points on the surface corresponding to the parameters (U, V).

Parameters

NameTypeDescription
UnumberSurface parameter U
VnumberSurface parameter V

Returns

Mx3dGePoint

Corresponding point.

Inherited from

Mx3dGeomBoundedSurface.Value


Weight

Weight(UIndex, VIndex): number

Retrieve the weight values for the specified U and V indices.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index

Returns

number

Return weight values.


Weights

Weights(): number[][]

Retrieve all weight arrays.

Returns

number[][]

Return the weight array.


DownCast

Static DownCast(theObject): Mx3dGeomBSplineSurface

Convert parent object to Mx3dGeomBSpline Surface class object

Parameters

NameTypeDescription
TheObject[Mx3dGeomObject] (Mx3dGeomObject. md)Parent class object

Returns

Mx3dGeomBSplineSurface

Mx3dGeomBSpline Surface class object