Skip to content

mxcad_3d API 文档 / Mx3dGeomBezierSurface

Class: Mx3dGeomBezierSurface ​

表示一个Bezier曲面,继承自Mx3dGeomBoundedSurface。 提供多种操作和查询方法来处理Bezier曲面。

Hierarchy ​

Table of contents ​

Constructors ​

Methods ​

Constructors ​

constructor ​

• new Mx3dGeomBezierSurface(SurfacePoles, PoleWeights?)

构造函数用于创建一个Bezier曲面。

Parameters ​

NameTypeDescription
SurfacePolesMx3dGePoint[][]控制点数组,二维数组形式。
PoleWeights?number[][]控制点权重数组(可选)。

Overrides ​

Mx3dGeomBoundedSurface.constructor

Methods ​

Bounds ​

▸ Bounds(U1U2V1V2): void

获取曲面的边界范围。

Parameters ​

NameTypeDescription
U1U2V1V2[dU1: number, dU2: number, dV1: number, dV2: number]范围数组。

Returns ​

void


Continuity ​

▸ Continuity(): MxGAShapeEnum

获取曲面的连续性。

Returns ​

MxGAShapeEnum

返回连续性枚举值。


Copy ​

▸ Copy(): Mx3dGeomObject

复制当前曲面对象。

Returns ​

Mx3dGeomObject

返回一个新的曲面对象。


D0 ​

▸ D0(U, V, P): void

计算曲面在指定点的零阶导数。

Parameters ​

NameTypeDescription
Unumber参数U值。
Vnumber参数V值。
PMx3dGePoint输出点。

Returns ​

void


D1 ​

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

计算曲面在指定点的一级导数。

Parameters ​

NameTypeDescription
Unumber参数U值。
Vnumber参数V值。
PMx3dGePoint输出点。
D1UMx3dGeVec输出U方向的一阶导数向量。
D1VMx3dGeVec输出V方向的一阶导数向量。

Returns ​

void


D2 ​

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

计算曲面在指定点的二阶导数。

Parameters ​

NameTypeDescription
Unumber参数U值。
Vnumber参数V值。
PMx3dGePoint输出点。
D1UMx3dGeVec输出U方向的一阶导数向量。
D1VMx3dGeVec输出V方向的一阶导数向量。
D2UMx3dGeVec输出U方向的二阶导数向量。
D2VMx3dGeVec输出V方向的二阶导数向量。
D2UVMx3dGeVec输出UV方向的二阶导数向量。

Returns ​

void


D3 ​

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

计算曲面在指定点的三阶导数。

Parameters ​

NameTypeDescription
Unumber参数U值。
Vnumber参数V值。
PMx3dGePoint输出点。
D1UMx3dGeVec输出U方向的一阶导数向量。
D1VMx3dGeVec输出V方向的一阶导数向量。
D2UMx3dGeVec输出U方向的二阶导数向量。
D2VMx3dGeVec输出V方向的二阶导数向量。
D2UVMx3dGeVec输出UV方向的二阶导数向量。
D3UMx3dGeVec输出U方向的三阶导数向量。
D3VMx3dGeVec输出V方向的三阶导数向量。
D3UUVMx3dGeVec输出UU方向的三阶导数向量。
D3UVVMx3dGeVec输出UV方向的三阶导数向量。

Returns ​

void


DN ​

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

计算曲面在指定点的N阶导数。

Parameters ​

NameTypeDescription
Unumber参数U值。
Vnumber参数V值。
NunumberU方向阶数。
NvnumberV方向阶数。

Returns ​

Mx3dGeVec

返回导数向量。


DynCast ​

▸ DynCast(theObject): Mx3dGeomBezierSurface

Parameters ​

NameType
theObjectMx3dGeomObject

Returns ​

Mx3dGeomBezierSurface

Overrides ​

Mx3dGeomBoundedSurface.DynCast


DynamicType ​

▸ DynamicType(): string

返回对象的动态类型字符串。

Returns ​

string

动态类型字符串。

Inherited from ​

Mx3dGeomBoundedSurface.DynamicType


ExchangeUV ​

▸ ExchangeUV(): void

交换U和V方向的顺序。

Returns ​

void


Face ​

▸ Face(TolDegen): Mx3dShapeFace

根据容忍度生成面片。

Parameters ​

NameTypeDescription
TolDegennumber容忍度。

Returns ​

Mx3dShapeFace

返回生成的面片对象。

▸ Face(W, Inside): Mx3dShapeFace

根据线条和是否在内部生成面片。

Parameters ​

NameTypeDescription
WMx3dShapeWire线条对象。
Insideboolean是否在内部。

Returns ​

Mx3dShapeFace

返回生成的面片对象。

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

根据U、V范围和容忍度生成面片。

Parameters ​

NameTypeDescription
UMinnumberU方向最小值。
UMaxnumberU方向最大值。
VMinnumberV方向最小值。
VMaxnumberV方向最大值。
TolDegennumber容忍度。

Returns ​

Mx3dShapeFace

返回生成的面片对象。


Increase ​

▸ Increase(UDeg, VDeg): void

增加曲面的阶数。

Parameters ​

NameTypeDescription
UDegnumberU方向的增加阶数。
VDegnumberV方向的增加阶数。

Returns ​

void


InsertPoleColAfter ​

▸ InsertPoleColAfter(VIndex, CPoles, CPoleWeights?): void

在指定列后插入一个新的控制点列。

Parameters ​

NameTypeDescription
VIndexnumber列的索引。
CPolesMx3dGePoint[]要插入的控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


InsertPoleColBefore ​

▸ InsertPoleColBefore(VIndex, CPoles, CPoleWeights?): void

在指定列前插入一个新的控制点列。

Parameters ​

NameTypeDescription
VIndexnumber列的索引。
CPolesMx3dGePoint[]要插入的控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


InsertPoleRowAfter ​

▸ InsertPoleRowAfter(UIndex, CPoles, CPoleWeights?): void

在指定行后插入一个新的控制点行。

Parameters ​

NameTypeDescription
UIndexnumber行的索引。
CPolesMx3dGePoint[]要插入的控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


InsertPoleRowBefore ​

▸ InsertPoleRowBefore(UIndex, CPoles, CPoleWeights?): void

在指定行前插入一个新的控制点行。

Parameters ​

NameTypeDescription
UIndexnumber行的索引。
CPolesMx3dGePoint[]要插入的控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


IsCNu ​

▸ IsCNu(N): boolean

判断U方向上的连续阶数。

Parameters ​

NameTypeDescription
Nnumber阶数。

Returns ​

boolean

返回是否连续的布尔值。


IsCNv ​

▸ IsCNv(N): boolean

判断V方向上的连续阶数。

Parameters ​

NameTypeDescription
Nnumber阶数。

Returns ​

boolean

返回是否连续的布尔值。


IsUClosed ​

▸ IsUClosed(): boolean

判断U方向是否闭合。

Returns ​

boolean

返回是否闭合的布尔值。


IsUPeriodic ​

▸ IsUPeriodic(): boolean

判断U方向是否周期性。

Returns ​

boolean

返回是否周期性的布尔值。


IsURational ​

▸ IsURational(): boolean

判断U方向是否为有理曲面。

Returns ​

boolean

返回是否有理曲面的布尔值。


IsVClosed ​

▸ IsVClosed(): boolean

判断V方向是否闭合。

Returns ​

boolean

返回是否闭合的布尔值。


IsVPeriodic ​

▸ IsVPeriodic(): boolean

判断V方向是否周期性。

Returns ​

boolean

返回是否周期性的布尔值。


IsVRational ​

▸ IsVRational(): boolean

判断V方向是否为有理曲面。

Returns ​

boolean

返回是否有理曲面的布尔值。


MirrorByAxis ​

▸ MirrorByAxis(A1): void

通过轴对几何对象进行镜像变换。

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.MirrorByAxis


MirrorByCSYSR ​

▸ MirrorByCSYSR(A2): void

通过右手坐标系对几何对象进行镜像变换。

Parameters ​

NameTypeDescription
A2Mx3dGeCSYSR右手坐标系对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.MirrorByCSYSR


MirrorByPoint ​

▸ MirrorByPoint(P): void

通过点对几何对象进行镜像变换。

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.MirrorByPoint


MirroredByAxis ​

▸ MirroredByAxis(A1): Mx3dGeomBezierSurface

返回通过轴镜像变换后的新几何对象。

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.MirroredByAxis


MirroredByCSYSR ​

▸ MirroredByCSYSR(A2): Mx3dGeomBezierSurface

返回通过右手坐标系镜像变换后的新几何对象。

Parameters ​

NameTypeDescription
A2Mx3dGeCSYSR右手坐标系对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.MirroredByCSYSR


MirroredByPoint ​

▸ MirroredByPoint(P): Mx3dGeomBezierSurface

返回通过点镜像变换后的新几何对象。

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.MirroredByPoint


NbUPoles ​

▸ NbUPoles(): number

获取U方向上的控制点数量。

Returns ​

number

返回U方向控制点数量。


NbVPoles ​

▸ NbVPoles(): number

获取V方向上的控制点数量。

Returns ​

number

返回V方向控制点数量。


Pole ​

▸ Pole(UIndex, VIndex): Mx3dGePoint

获取指定控制点位置。

Parameters ​

NameTypeDescription
UIndexnumberU方向的索引。
VIndexnumberV方向的索引。

Returns ​

Mx3dGePoint

返回控制点位置。


Poles ​

▸ Poles(): Mx3dGePoint[][]

获取所有控制点数组。

Returns ​

Mx3dGePoint[][]

返回控制点二维数组。


RemovePoleCol ​

▸ RemovePoleCol(VIndex): void

移除指定列的控制点。

Parameters ​

NameTypeDescription
VIndexnumber列的索引。

Returns ​

void


RemovePoleRow ​

▸ RemovePoleRow(UIndex): void

移除指定行的控制点。

Parameters ​

NameTypeDescription
UIndexnumber行的索引。

Returns ​

void


Rotate ​

▸ Rotate(A1, Ang): void

旋转几何对象。

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。
Angnumber旋转角度。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.Rotate


Rotated ​

▸ Rotated(A1, Ang): Mx3dGeomBezierSurface

返回旋转后的新几何对象。

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。
Angnumber旋转角度。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.Rotated


Scale ​

▸ Scale(P, S): void

缩放几何对象。

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。
Snumber缩放比例。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.Scale


Scaled ​

▸ Scaled(P, S): Mx3dGeomBezierSurface

返回缩放后的新几何对象。

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。
Snumber缩放比例。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.Scaled


Segment ​

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

定义曲面的一个部分,指定U和V的范围。

Parameters ​

NameTypeDescription
U1number起始U值。
U2number结束U值。
V1number起始V值。
V2number结束V值。

Returns ​

void


SetPole ​

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

设置指定位置的控制点和权重。

Parameters ​

NameTypeDescription
UIndexnumberU方向的索引。
VIndexnumberV方向的索引。
PMx3dGePoint控制点位置。
Weight?number控制点权重(可选)。

Returns ​

void


SetPoleCol ​

▸ SetPoleCol(VIndex, CPoles, CPoleWeights?): void

设置指定列的控制点和权重。

Parameters ​

NameTypeDescription
VIndexnumber列的索引。
CPolesMx3dGePoint[]控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


SetPoleRow ​

▸ SetPoleRow(UIndex, CPoles, CPoleWeights?): void

设置指定行的控制点和权重。

Parameters ​

NameTypeDescription
UIndexnumber行的索引。
CPolesMx3dGePoint[]控制点数组。
CPoleWeights?number[]控制点权重数组(可选)。

Returns ​

void


SetWeight ​

▸ SetWeight(UIndex, VIndex, Weight): void

设置指定控制点的权重。

Parameters ​

NameTypeDescription
UIndexnumberU方向的索引。
VIndexnumberV方向的索引。
Weightnumber权重值。

Returns ​

void


SetWeightCol ​

▸ SetWeightCol(VIndex, CPoleWeights): void

设置指定列的控制点权重。

Parameters ​

NameTypeDescription
VIndexnumber列的索引。
CPoleWeightsnumber[]控制点权重数组。

Returns ​

void


SetWeightRow ​

▸ SetWeightRow(UIndex, CPoleWeights): void

设置指定行的控制点权重。

Parameters ​

NameTypeDescription
UIndexnumber行的索引。
CPoleWeightsnumber[]控制点权重数组。

Returns ​

void


Transform ​

▸ Transform(T): void

应用变换矩阵到曲面。

Parameters ​

NameTypeDescription
TMx3dGeTrsf变换矩阵。

Returns ​

void


TransformParameters ​

▸ TransformParameters(UV, T): void

根据给定的变换矩阵 T 变换表面参数。

Parameters ​

NameTypeDescription
UV[dU: number, dV: number]参数数组,包含 U 和 V 的值。
TMx3dGeTrsf变换矩阵。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.TransformParameters


Transformed ​

▸ Transformed(T): Mx3dGeomBezierSurface

返回变换后的新几何对象。

Parameters ​

NameTypeDescription
TMx3dGeTrsf变换对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.Transformed


TranslateBy2Points ​

▸ TranslateBy2Points(P1, P2): void

通过两个点平移几何对象。

Parameters ​

NameTypeDescription
P1Mx3dGePoint起始点对象。
P2Mx3dGePoint终止点对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.TranslateBy2Points


TranslateByVec ​

▸ TranslateByVec(V): void

通过向量平移几何对象。

Parameters ​

NameTypeDescription
VMx3dGeVec向量对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.TranslateByVec


TranslatedBy2Points ​

▸ TranslatedBy2Points(P1, P2): Mx3dGeomBezierSurface

返回通过两个点平移后的新几何对象。

Parameters ​

NameTypeDescription
P1Mx3dGePoint起始点对象。
P2Mx3dGePoint终止点对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.TranslatedBy2Points


TranslatedByVec ​

▸ TranslatedByVec(V): Mx3dGeomBezierSurface

返回通过向量平移后的新几何对象。

Parameters ​

NameTypeDescription
VMx3dGeVec向量对象。

Returns ​

Mx3dGeomBezierSurface

新的几何对象。

Inherited from ​

Mx3dGeomBoundedSurface.TranslatedByVec


UDegree ​

▸ UDegree(): number

获取U方向的阶数。

Returns ​

number

返回U方向的阶数。


UPeriod ​

▸ UPeriod(): number

返回表面在 U 方向的周期。

Returns ​

number

表面在 U 方向的周期。

Inherited from ​

Mx3dGeomBoundedSurface.UPeriod


UReverse ​

▸ UReverse(): void

反转U方向的参数。

Returns ​

void


UReversed ​

▸ UReversed(): Mx3dGeomBezierSurface

反转 U 方向的参数化。

Returns ​

Mx3dGeomBezierSurface

返回当前对象以实现链式调用。

Inherited from ​

Mx3dGeomBoundedSurface.UReversed


UReversedParameter ​

▸ UReversedParameter(U): number

计算反向U参数。

Parameters ​

NameTypeDescription
Unumber参数U值。

Returns ​

number

返回反向参数。


VPeriod ​

▸ VPeriod(): number

返回表面在 V 方向的周期。

Returns ​

number

表面在 V 方向的周期。

Inherited from ​

Mx3dGeomBoundedSurface.VPeriod


VReverse ​

▸ VReverse(): void

反转V方向的参数。

Returns ​

void


VReversed ​

▸ VReversed(): Mx3dGeomBezierSurface

反转 V 方向的参数化。

Returns ​

Mx3dGeomBezierSurface

返回当前对象以实现链式调用。

Inherited from ​

Mx3dGeomBoundedSurface.VReversed


VReversedParameter ​

▸ VReversedParameter(V): number

计算反向V参数。

Parameters ​

NameTypeDescription
Vnumber参数V值。

Returns ​

number

返回反向参数。


Value ​

▸ Value(U, V): Mx3dGePoint

计算参数 (U, V) 对应的表面上的点。

Parameters ​

NameTypeDescription
Unumber表面参数 U。
Vnumber表面参数 V。

Returns ​

Mx3dGePoint

对应的点。

Inherited from ​

Mx3dGeomBoundedSurface.Value


Weight ​

▸ Weight(UIndex, VIndex): number

获取指定控制点的权重。

Parameters ​

NameTypeDescription
UIndexnumberU方向的索引。
VIndexnumberV方向的索引。

Returns ​

number

返回权重值。


Weights ​

▸ Weights(): number[][]

获取所有控制点权重数组。

Returns ​

number[][]

返回控制点权重二维数组。


DownCast ​

▸ Static DownCast(theObject): Mx3dGeomBezierSurface

Parameters ​

NameType
theObjectMx3dGeomObject

Returns ​

Mx3dGeomBezierSurface