mxcad_3d API 文档 / Mx3dGeomBezierSurface
Class: Mx3dGeomBezierSurface 
表示一个Bezier曲面,继承自Mx3dGeomBoundedSurface。 提供多种操作和查询方法来处理Bezier曲面。
Hierarchy 
- ↳ - Mx3dGeomBezierSurface
Table of contents 
Constructors 
Methods 
- Bounds
- Continuity
- Copy
- D0
- D1
- D2
- D3
- DN
- DynCast
- DynamicType
- ExchangeUV
- Face
- Increase
- InsertPoleColAfter
- InsertPoleColBefore
- InsertPoleRowAfter
- InsertPoleRowBefore
- IsCNu
- IsCNv
- IsUClosed
- IsUPeriodic
- IsURational
- IsVClosed
- IsVPeriodic
- IsVRational
- MirrorByAxis
- MirrorByCSYSR
- MirrorByPoint
- MirroredByAxis
- MirroredByCSYSR
- MirroredByPoint
- NbUPoles
- NbVPoles
- Pole
- Poles
- RemovePoleCol
- RemovePoleRow
- Rotate
- Rotated
- Scale
- Scaled
- Segment
- SetPole
- SetPoleCol
- SetPoleRow
- SetWeight
- SetWeightCol
- SetWeightRow
- Transform
- TransformParameters
- Transformed
- TranslateBy2Points
- TranslateByVec
- TranslatedBy2Points
- TranslatedByVec
- UDegree
- UPeriod
- UReverse
- UReversed
- UReversedParameter
- VPeriod
- VReverse
- VReversed
- VReversedParameter
- Value
- Weight
- Weights
- DownCast
Constructors 
constructor 
• new Mx3dGeomBezierSurface(SurfacePoles, PoleWeights?)
构造函数用于创建一个Bezier曲面。
Parameters 
| Name | Type | Description | 
|---|---|---|
| SurfacePoles | Mx3dGePoint[][] | 控制点数组,二维数组形式。 | 
| PoleWeights? | number[][] | 控制点权重数组(可选)。 | 
Overrides 
Mx3dGeomBoundedSurface.constructor
Methods 
Bounds 
▸ Bounds(U1U2V1V2): void
获取曲面的边界范围。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U1U2V1V2 | [dU1: number, dU2: number, dV1: number, dV2: number] | 范围数组。 | 
Returns 
void
Continuity 
▸ Continuity(): MxGAShapeEnum
获取曲面的连续性。
Returns 
返回连续性枚举值。
Copy 
▸ Copy(): Mx3dGeomObject
复制当前曲面对象。
Returns 
返回一个新的曲面对象。
D0 
▸ D0(U, V, P): void
计算曲面在指定点的零阶导数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数U值。 | 
| V | number | 参数V值。 | 
| P | Mx3dGePoint | 输出点。 | 
Returns 
void
D1 
▸ D1(U, V, P, D1U, D1V): void
计算曲面在指定点的一级导数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数U值。 | 
| V | number | 参数V值。 | 
| P | Mx3dGePoint | 输出点。 | 
| D1U | Mx3dGeVec | 输出U方向的一阶导数向量。 | 
| D1V | Mx3dGeVec | 输出V方向的一阶导数向量。 | 
Returns 
void
D2 
▸ D2(U, V, P, D1U, D1V, D2U, D2V, D2UV): void
计算曲面在指定点的二阶导数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数U值。 | 
| V | number | 参数V值。 | 
| P | Mx3dGePoint | 输出点。 | 
| D1U | Mx3dGeVec | 输出U方向的一阶导数向量。 | 
| D1V | Mx3dGeVec | 输出V方向的一阶导数向量。 | 
| D2U | Mx3dGeVec | 输出U方向的二阶导数向量。 | 
| D2V | Mx3dGeVec | 输出V方向的二阶导数向量。 | 
| D2UV | Mx3dGeVec | 输出UV方向的二阶导数向量。 | 
Returns 
void
D3 
▸ D3(U, V, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void
计算曲面在指定点的三阶导数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数U值。 | 
| V | number | 参数V值。 | 
| P | Mx3dGePoint | 输出点。 | 
| D1U | Mx3dGeVec | 输出U方向的一阶导数向量。 | 
| D1V | Mx3dGeVec | 输出V方向的一阶导数向量。 | 
| D2U | Mx3dGeVec | 输出U方向的二阶导数向量。 | 
| D2V | Mx3dGeVec | 输出V方向的二阶导数向量。 | 
| D2UV | Mx3dGeVec | 输出UV方向的二阶导数向量。 | 
| D3U | Mx3dGeVec | 输出U方向的三阶导数向量。 | 
| D3V | Mx3dGeVec | 输出V方向的三阶导数向量。 | 
| D3UUV | Mx3dGeVec | 输出UU方向的三阶导数向量。 | 
| D3UVV | Mx3dGeVec | 输出UV方向的三阶导数向量。 | 
Returns 
void
DN 
▸ DN(U, V, Nu, Nv): Mx3dGeVec
计算曲面在指定点的N阶导数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数U值。 | 
| V | number | 参数V值。 | 
| Nu | number | U方向阶数。 | 
| Nv | number | V方向阶数。 | 
Returns 
返回导数向量。
DynCast 
▸ DynCast(theObject): Mx3dGeomBezierSurface
Parameters 
| Name | Type | 
|---|---|
| theObject | Mx3dGeomObject | 
Returns 
Overrides 
Mx3dGeomBoundedSurface.DynCast
DynamicType 
▸ DynamicType(): string
返回对象的动态类型字符串。
Returns 
string
动态类型字符串。
Inherited from 
Mx3dGeomBoundedSurface.DynamicType
ExchangeUV 
▸ ExchangeUV(): void
交换U和V方向的顺序。
Returns 
void
Face 
▸ Face(TolDegen): Mx3dShapeFace
根据容忍度生成面片。
Parameters 
| Name | Type | Description | 
|---|---|---|
| TolDegen | number | 容忍度。 | 
Returns 
返回生成的面片对象。
▸ Face(W, Inside): Mx3dShapeFace
根据线条和是否在内部生成面片。
Parameters 
| Name | Type | Description | 
|---|---|---|
| W | Mx3dShapeWire | 线条对象。 | 
| Inside | boolean | 是否在内部。 | 
Returns 
返回生成的面片对象。
▸ Face(UMin, UMax, VMin, VMax, TolDegen): Mx3dShapeFace
根据U、V范围和容忍度生成面片。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UMin | number | U方向最小值。 | 
| UMax | number | U方向最大值。 | 
| VMin | number | V方向最小值。 | 
| VMax | number | V方向最大值。 | 
| TolDegen | number | 容忍度。 | 
Returns 
返回生成的面片对象。
Increase 
▸ Increase(UDeg, VDeg): void
增加曲面的阶数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UDeg | number | U方向的增加阶数。 | 
| VDeg | number | V方向的增加阶数。 | 
Returns 
void
InsertPoleColAfter 
▸ InsertPoleColAfter(VIndex, CPoles, CPoleWeights?): void
在指定列后插入一个新的控制点列。
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndex | number | 列的索引。 | 
| CPoles | Mx3dGePoint[] | 要插入的控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
InsertPoleColBefore 
▸ InsertPoleColBefore(VIndex, CPoles, CPoleWeights?): void
在指定列前插入一个新的控制点列。
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndex | number | 列的索引。 | 
| CPoles | Mx3dGePoint[] | 要插入的控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
InsertPoleRowAfter 
▸ InsertPoleRowAfter(UIndex, CPoles, CPoleWeights?): void
在指定行后插入一个新的控制点行。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | 行的索引。 | 
| CPoles | Mx3dGePoint[] | 要插入的控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
InsertPoleRowBefore 
▸ InsertPoleRowBefore(UIndex, CPoles, CPoleWeights?): void
在指定行前插入一个新的控制点行。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | 行的索引。 | 
| CPoles | Mx3dGePoint[] | 要插入的控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
IsCNu 
▸ IsCNu(N): boolean
判断U方向上的连续阶数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| N | number | 阶数。 | 
Returns 
boolean
返回是否连续的布尔值。
IsCNv 
▸ IsCNv(N): boolean
判断V方向上的连续阶数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| N | number | 阶数。 | 
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 
| Name | Type | Description | 
|---|---|---|
| A1 | Mx3dGeAxis | 轴对象。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByAxis
MirrorByCSYSR 
▸ MirrorByCSYSR(A2): void
通过右手坐标系对几何对象进行镜像变换。
Parameters 
| Name | Type | Description | 
|---|---|---|
| A2 | Mx3dGeCSYSR | 右手坐标系对象。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByCSYSR
MirrorByPoint 
▸ MirrorByPoint(P): void
通过点对几何对象进行镜像变换。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | Mx3dGePoint | 点对象。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByPoint
MirroredByAxis 
▸ MirroredByAxis(A1): Mx3dGeomBezierSurface
返回通过轴镜像变换后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | Mx3dGeAxis | 轴对象。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.MirroredByAxis
MirroredByCSYSR 
▸ MirroredByCSYSR(A2): Mx3dGeomBezierSurface
返回通过右手坐标系镜像变换后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| A2 | Mx3dGeCSYSR | 右手坐标系对象。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.MirroredByCSYSR
MirroredByPoint 
▸ MirroredByPoint(P): Mx3dGeomBezierSurface
返回通过点镜像变换后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | Mx3dGePoint | 点对象。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.MirroredByPoint
NbUPoles 
▸ NbUPoles(): number
获取U方向上的控制点数量。
Returns 
number
返回U方向控制点数量。
NbVPoles 
▸ NbVPoles(): number
获取V方向上的控制点数量。
Returns 
number
返回V方向控制点数量。
Pole 
▸ Pole(UIndex, VIndex): Mx3dGePoint
获取指定控制点位置。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | U方向的索引。 | 
| VIndex | number | V方向的索引。 | 
Returns 
返回控制点位置。
Poles 
▸ Poles(): Mx3dGePoint[][]
获取所有控制点数组。
Returns 
Mx3dGePoint[][]
返回控制点二维数组。
RemovePoleCol 
▸ RemovePoleCol(VIndex): void
移除指定列的控制点。
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndex | number | 列的索引。 | 
Returns 
void
RemovePoleRow 
▸ RemovePoleRow(UIndex): void
移除指定行的控制点。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | 行的索引。 | 
Returns 
void
Rotate 
▸ Rotate(A1, Ang): void
旋转几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | Mx3dGeAxis | 轴对象。 | 
| Ang | number | 旋转角度。 | 
Returns 
void
Inherited from 
Rotated 
▸ Rotated(A1, Ang): Mx3dGeomBezierSurface
返回旋转后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | Mx3dGeAxis | 轴对象。 | 
| Ang | number | 旋转角度。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.Rotated
Scale 
▸ Scale(P, S): void
缩放几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | Mx3dGePoint | 点对象。 | 
| S | number | 缩放比例。 | 
Returns 
void
Inherited from 
Scaled 
▸ Scaled(P, S): Mx3dGeomBezierSurface
返回缩放后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | Mx3dGePoint | 点对象。 | 
| S | number | 缩放比例。 | 
Returns 
新的几何对象。
Inherited from 
Segment 
▸ Segment(U1, U2, V1, V2): void
定义曲面的一个部分,指定U和V的范围。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U1 | number | 起始U值。 | 
| U2 | number | 结束U值。 | 
| V1 | number | 起始V值。 | 
| V2 | number | 结束V值。 | 
Returns 
void
SetPole 
▸ SetPole(UIndex, VIndex, P, Weight?): void
设置指定位置的控制点和权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | U方向的索引。 | 
| VIndex | number | V方向的索引。 | 
| P | Mx3dGePoint | 控制点位置。 | 
| Weight? | number | 控制点权重(可选)。 | 
Returns 
void
SetPoleCol 
▸ SetPoleCol(VIndex, CPoles, CPoleWeights?): void
设置指定列的控制点和权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndex | number | 列的索引。 | 
| CPoles | Mx3dGePoint[] | 控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
SetPoleRow 
▸ SetPoleRow(UIndex, CPoles, CPoleWeights?): void
设置指定行的控制点和权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | 行的索引。 | 
| CPoles | Mx3dGePoint[] | 控制点数组。 | 
| CPoleWeights? | number[] | 控制点权重数组(可选)。 | 
Returns 
void
SetWeight 
▸ SetWeight(UIndex, VIndex, Weight): void
设置指定控制点的权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | U方向的索引。 | 
| VIndex | number | V方向的索引。 | 
| Weight | number | 权重值。 | 
Returns 
void
SetWeightCol 
▸ SetWeightCol(VIndex, CPoleWeights): void
设置指定列的控制点权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndex | number | 列的索引。 | 
| CPoleWeights | number[] | 控制点权重数组。 | 
Returns 
void
SetWeightRow 
▸ SetWeightRow(UIndex, CPoleWeights): void
设置指定行的控制点权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | 行的索引。 | 
| CPoleWeights | number[] | 控制点权重数组。 | 
Returns 
void
Transform 
▸ Transform(T): void
应用变换矩阵到曲面。
Parameters 
| Name | Type | Description | 
|---|---|---|
| T | Mx3dGeTrsf | 变换矩阵。 | 
Returns 
void
TransformParameters 
▸ TransformParameters(UV, T): void
根据给定的变换矩阵 T 变换表面参数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UV | [dU: number, dV: number] | 参数数组,包含 U 和 V 的值。 | 
| T | Mx3dGeTrsf | 变换矩阵。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TransformParameters
Transformed 
▸ Transformed(T): Mx3dGeomBezierSurface
返回变换后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| T | Mx3dGeTrsf | 变换对象。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.Transformed
TranslateBy2Points 
▸ TranslateBy2Points(P1, P2): void
通过两个点平移几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P1 | Mx3dGePoint | 起始点对象。 | 
| P2 | Mx3dGePoint | 终止点对象。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TranslateBy2Points
TranslateByVec 
▸ TranslateByVec(V): void
通过向量平移几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | Mx3dGeVec | 向量对象。 | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TranslateByVec
TranslatedBy2Points 
▸ TranslatedBy2Points(P1, P2): Mx3dGeomBezierSurface
返回通过两个点平移后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| P1 | Mx3dGePoint | 起始点对象。 | 
| P2 | Mx3dGePoint | 终止点对象。 | 
Returns 
新的几何对象。
Inherited from 
Mx3dGeomBoundedSurface.TranslatedBy2Points
TranslatedByVec 
▸ TranslatedByVec(V): Mx3dGeomBezierSurface
返回通过向量平移后的新几何对象。
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | Mx3dGeVec | 向量对象。 | 
Returns 
新的几何对象。
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 
返回当前对象以实现链式调用。
Inherited from 
Mx3dGeomBoundedSurface.UReversed
UReversedParameter 
▸ UReversedParameter(U): number
计算反向U参数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 参数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 
返回当前对象以实现链式调用。
Inherited from 
Mx3dGeomBoundedSurface.VReversed
VReversedParameter 
▸ VReversedParameter(V): number
计算反向V参数。
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | number | 参数V值。 | 
Returns 
number
返回反向参数。
Value 
▸ Value(U, V): Mx3dGePoint
计算参数 (U, V) 对应的表面上的点。
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | 表面参数 U。 | 
| V | number | 表面参数 V。 | 
Returns 
对应的点。
Inherited from 
Weight 
▸ Weight(UIndex, VIndex): number
获取指定控制点的权重。
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndex | number | U方向的索引。 | 
| VIndex | number | V方向的索引。 | 
Returns 
number
返回权重值。
Weights 
▸ Weights(): number[][]
获取所有控制点权重数组。
Returns 
number[][]
返回控制点权重二维数组。
DownCast 
▸ Static DownCast(theObject): Mx3dGeomBezierSurface
Parameters 
| Name | Type | 
|---|---|
| theObject | Mx3dGeomObject |