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 |