mxcad_3d API 文档 / Mx3dGeomBSplineCurve
Class: Mx3dGeomBSplineCurve
代表一个B样条曲线。 该类继承自Mx3dGeomBoundedCurve并封装了B样条曲线的操作和属性。
Hierarchy
↳
Mx3dGeomBSplineCurve
Table of contents
Constructors
Methods
- Continuity
- Copy
- D0
- D1
- D2
- D3
- DN
- Degree
- DynamicType
- Edge
- EndPoint
- FirstParameter
- FirstUKnotIndex
- IncreaseDegree
- IncreaseMultiplicity
- IncrementMultiplicity
- InsertKnot
- InsertKnots
- IsCN
- IsClosed
- IsEqual
- IsG1
- IsPeriodic
- IsRational
- Knot
- Knots
- LastParameter
- LastUKnotIndex
- LocalD0
- LocalD1
- LocalD2
- LocalD3
- LocalDN
- LocalValue
- MirrorByAxis
- MirrorByCSYSR
- MirrorByPoint
- MirroredByAxis
- MirroredByCSYSR
- MirroredByPoint
- Multiplicities
- Multiplicity
- NbKnots
- NbPoles
- OffsetCurve
- Period
- Pole
- Poles
- RemoveKnot
- Reverse
- Reversed
- ReversedParameter
- Rotate
- Rotated
- Scale
- Scaled
- Segment
- SetKnot
- SetKnots
- SetNotPeriodic
- SetOrigin
- SetPeriodic
- SetPole
- SetWeight
- StartPoint
- Transform
- Transformed
- TranslateBy2Points
- TranslateByVec
- TranslatedBy2Points
- TranslatedByVec
- Value
- Weight
- Weights
- Wire
- DownCast
Constructors
constructor
• new Mx3dGeomBSplineCurve(Poles
, Knots
, Multiplicities
, Degree
)
构造函数用于创建一个B样条曲线。
Parameters
Name | Type | Description |
---|---|---|
Poles | Mx3dGePoint [] | 控制点的数组。 |
Knots | number [] | 节点序列的数组。 |
Multiplicities | number [] | 节点的多重性。 |
Degree | number | 曲线的阶数。 |
Overrides
Mx3dGeomBoundedCurve.constructor
• new Mx3dGeomBSplineCurve(Poles
, Weights
, Knots
, Multiplicities
, Degree
)
构造函数用于创建一个带权重的B样条曲线。
Parameters
Name | Type | Description |
---|---|---|
Poles | Mx3dGePoint [] | 控制点的数组。 |
Weights | number [] | 控制点的权重数组。 |
Knots | number [] | 节点序列的数组。 |
Multiplicities | number [] | 节点的多重性。 |
Degree | number | 曲线的阶数。 |
Overrides
Mx3dGeomBoundedCurve.constructor
Methods
Continuity
▸ Continuity(): MxGAShapeEnum
获取曲线的连续性。
Returns
曲线的连续性。
Copy
▸ Copy(): Mx3dGeomObject
创建当前B样条曲线的副本。
Returns
返回一个新的B样条曲线对象。
D0
▸ D0(U
, P
): void
在给定参数处计算曲线的点。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
P | Mx3dGePoint | 结果点。 |
Returns
void
D1
▸ D1(U
, P
, V1
): void
在给定参数处计算曲线的点和一阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
Returns
void
D2
▸ D2(U
, P
, V1
, V2
): void
在给定参数处计算曲线的点、一阶导数和二阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
V2 | Mx3dGeVec | 二阶导数。 |
Returns
void
D3
▸ D3(U
, P
, V1
, V2
, V3
): void
在给定参数处计算曲线的点、一阶导数、二阶导数和三阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
V2 | Mx3dGeVec | 二阶导数。 |
V3 | Mx3dGeVec | 三阶导数。 |
Returns
void
DN
▸ DN(U
, N
): Mx3dGeVec
在给定参数处计算曲线的N阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
N | number | 阶数。 |
Returns
N阶导数。
Degree
▸ Degree(): number
获取曲线的阶数。
Returns
number
曲线的阶数。
DynamicType
▸ DynamicType(): string
返回对象的动态类型。
Returns
string
动态类型的字符串。
Overrides
Mx3dGeomBoundedCurve.DynamicType
Edge
▸ Edge(p1
, p2
): Mx3dShapeEdge
获取曲线的边。
Parameters
Name | Type | Description |
---|---|---|
p1 | number | 边的起始点参数。 |
p2 | number | 边的终止点参数。 |
Returns
返回指定参数范围内的曲线边。
EndPoint
▸ EndPoint(): Mx3dGePoint
获取曲线的终点。
Returns
曲线的终点。
FirstParameter
▸ FirstParameter(): number
返回曲线的第一个参数值。 通常用于确定曲线的起始点。
Returns
number
第一个参数值。
FirstUKnotIndex
▸ FirstUKnotIndex(): number
获取曲线的第一个节点索引。
Returns
number
第一个节点索引。
IncreaseDegree
▸ IncreaseDegree(Degree
): void
提高曲线的阶数。
Parameters
Name | Type | Description |
---|---|---|
Degree | number | 新的阶数。 |
Returns
void
IncreaseMultiplicity
▸ IncreaseMultiplicity(Index
, M
): void
提高指定索引处的节点多重性。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点的索引。 |
M | number | 新的多重性。 |
Returns
void
▸ IncreaseMultiplicity(I1
, I2
, M
): void
提高指定范围内的节点多重性。
Parameters
Name | Type | Description |
---|---|---|
I1 | number | 范围起始索引。 |
I2 | number | 范围结束索引。 |
M | number | 新的多重性。 |
Returns
void
IncrementMultiplicity
▸ IncrementMultiplicity(I1
, I2
, M
): void
增量提高指定范围内的节点多重性。
Parameters
Name | Type | Description |
---|---|---|
I1 | number | 起始索引。 |
I2 | number | 结束索引。 |
M | number | 增加的多重性值。 |
Returns
void
InsertKnot
▸ InsertKnot(U
, M?
, ParametricTolerance?
, Add?
): void
插入一个新的节点。
Parameters
Name | Type | Description |
---|---|---|
U | number | 新节点的位置。 |
M? | number | 新节点的多重性(可选)。 |
ParametricTolerance? | number | 参数容差(可选)。 |
Add? | boolean | 是否添加节点而不是替换(可选)。 |
Returns
void
InsertKnots
▸ InsertKnots(Knots
, Mults
, ParametricTolerance?
, Add?
): void
插入多个新的节点。
Parameters
Name | Type | Description |
---|---|---|
Knots | number [] | 新节点的位置数组。 |
Mults | number [] | 新节点的多重性数组。 |
ParametricTolerance? | number | 参数容差(可选)。 |
Add? | boolean | 是否添加节点而不是替换(可选)。 |
Returns
void
IsCN
▸ IsCN(N
): boolean
检查曲线在指定阶数下是否连续。
Parameters
Name | Type | Description |
---|---|---|
N | number | 阶数。 |
Returns
boolean
如果曲线在指定阶数下是连续的,则返回true;否则返回false。
IsClosed
▸ IsClosed(): boolean
检查曲线是否闭合。
Returns
boolean
如果曲线闭合,则返回true;否则返回false。
IsEqual
▸ IsEqual(theOther
, thePreci
): boolean
比较当前曲线与另一条曲线的相等性。
Parameters
Name | Type | Description |
---|---|---|
theOther | Mx3dGeomBSplineCurve | 另一个B样条曲线对象。 |
thePreci | number | 比较精度。 |
Returns
boolean
如果两条曲线在指定精度下相等,返回true;否则返回false。
IsG1
▸ IsG1(theTf
, theTl
, theAngTol
): boolean
检查曲线在指定范围内是否满足G1连续性。
Parameters
Name | Type | Description |
---|---|---|
theTf | number | 起始参数。 |
theTl | number | 结束参数。 |
theAngTol | number | 角度公差。 |
Returns
boolean
如果曲线在指定范围内满足G1连续性,则返回true;否则返回false。
IsPeriodic
▸ IsPeriodic(): boolean
检查曲线是否周期性。
Returns
boolean
如果曲线是周期性的,则返回true;否则返回false。
IsRational
▸ IsRational(): boolean
检查曲线是否是有理的。
Returns
boolean
如果曲线是有理的,则返回true;否则返回false。
Knot
▸ Knot(Index
): number
获取曲线在指定索引处的节点。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点的索引。 |
Returns
number
节点。
Knots
▸ Knots(): number
[]
获取曲线的节点序列。
Returns
number
[]
节点序列的数组。
LastParameter
▸ LastParameter(): number
返回曲线的最后一个参数值。 通常用于确定曲线的终点。
Returns
number
最后一个参数值。
LastUKnotIndex
▸ LastUKnotIndex(): number
获取曲线的最后一个节点索引。
Returns
number
最后一个节点索引。
LocalD0
▸ LocalD0(U
, FromK1
, ToK2
, P
): void
在指定范围内计算局部参数的点。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
P | Mx3dGePoint | 结果点。 |
Returns
void
LocalD1
▸ LocalD1(U
, FromK1
, ToK2
, P
, V1
): void
在指定范围内计算局部参数的点和一阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
Returns
void
LocalD2
▸ LocalD2(U
, FromK1
, ToK2
, P
, V1
, V2
): void
在指定范围内计算局部参数的点、一阶导数和二阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
V2 | Mx3dGeVec | 二阶导数。 |
Returns
void
LocalD3
▸ LocalD3(U
, FromK1
, ToK2
, P
, V1
, V2
, V3
): void
在指定范围内计算局部参数的点、一阶导数、二阶导数和三阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
P | Mx3dGePoint | 结果点。 |
V1 | Mx3dGeVec | 一阶导数。 |
V2 | Mx3dGeVec | 二阶导数。 |
V3 | Mx3dGeVec | 三阶导数。 |
Returns
void
LocalDN
▸ LocalDN(U
, FromK1
, ToK2
, N
): Mx3dGeVec
在指定范围内计算局部参数的N阶导数。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
N | number | 阶数。 |
Returns
N阶导数。
LocalValue
▸ LocalValue(U
, FromK1
, ToK2
): Mx3dGePoint
在指定范围内计算局部参数的点。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数。 |
FromK1 | number | 起始节点索引。 |
ToK2 | number | 结束节点索引。 |
Returns
局部参数的点。
MirrorByAxis
▸ MirrorByAxis(A1
): void
通过轴对几何对象进行镜像变换。
Parameters
Name | Type | Description |
---|---|---|
A1 | Mx3dGeAxis | 轴对象。 |
Returns
void
Inherited from
Mx3dGeomBoundedCurve.MirrorByAxis
MirrorByCSYSR
▸ MirrorByCSYSR(A2
): void
通过右手坐标系对几何对象进行镜像变换。
Parameters
Name | Type | Description |
---|---|---|
A2 | Mx3dGeCSYSR | 右手坐标系对象。 |
Returns
void
Inherited from
Mx3dGeomBoundedCurve.MirrorByCSYSR
MirrorByPoint
▸ MirrorByPoint(P
): void
通过点对几何对象进行镜像变换。
Parameters
Name | Type | Description |
---|---|---|
P | Mx3dGePoint | 点对象。 |
Returns
void
Inherited from
Mx3dGeomBoundedCurve.MirrorByPoint
MirroredByAxis
▸ MirroredByAxis(A1
): Mx3dGeomBSplineCurve
返回通过轴镜像变换后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
A1 | Mx3dGeAxis | 轴对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.MirroredByAxis
MirroredByCSYSR
▸ MirroredByCSYSR(A2
): Mx3dGeomBSplineCurve
返回通过右手坐标系镜像变换后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
A2 | Mx3dGeCSYSR | 右手坐标系对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.MirroredByCSYSR
MirroredByPoint
▸ MirroredByPoint(P
): Mx3dGeomBSplineCurve
返回通过点镜像变换后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
P | Mx3dGePoint | 点对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.MirroredByPoint
Multiplicities
▸ Multiplicities(): number
[]
返回曲线的所有节点多重性值。 节点多重性用于定义曲线在特定参数值处的重复程度。
Returns
number
[]
节点多重性值的数组。
Multiplicity
▸ Multiplicity(Index
): number
获取指定索引处的节点多重性。 节点多重性用于定义曲线在特定参数值处的重复程度。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点索引。 |
Returns
number
节点的多重性值。
NbKnots
▸ NbKnots(): number
获取曲线的节点数。
Returns
number
节点数。
NbPoles
▸ NbPoles(): number
获取曲线的控制点数。
Returns
number
控制点数。
OffsetCurve
▸ OffsetCurve(Offset
, V
, isNotCheckC0
): Mx3dShapeEdge
创建曲线的偏移副本。
Parameters
Name | Type | Description |
---|---|---|
Offset | number | 偏移量。 |
V | UniDir | 偏移方向,与偏移方向垂直。 |
isNotCheckC0 | boolean | 是否不检查C0连续性。 |
Returns
返回偏移后的曲线边对象。
Period
▸ Period(): number
返回曲线的周期。
Returns
number
曲线的周期。
Inherited from
Pole
▸ Pole(Index
): Mx3dGePoint
获取指定索引处的控制点。 控制点定义了曲线的形状和位置。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 控制点的索引。 |
Returns
指定索引处的控制点对象。
Poles
▸ Poles(): Mx3dGePoint
[]
获取曲线的控制点序列。
Returns
控制点序列的数组。
RemoveKnot
▸ RemoveKnot(Index
, M
, Tolerance
): boolean
移除一个节点。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点的索引。 |
M | number | 节点的多重性。 |
Tolerance | number | 容差。 |
Returns
boolean
是否成功移除节点。
Reverse
▸ Reverse(): void
反转曲线。
Returns
void
Reversed
▸ Reversed(): Mx3dGeomBSplineCurve
返回反向后的新几何曲线对象。
Returns
新的几何曲线对象。
Inherited from
ReversedParameter
▸ ReversedParameter(U
): number
获取反转参数值。
Parameters
Name | Type | Description |
---|---|---|
U | number | 原参数值。 |
Returns
number
反转后的参数值。
Rotate
▸ Rotate(A1
, Ang
): void
旋转几何对象。
Parameters
Name | Type | Description |
---|---|---|
A1 | Mx3dGeAxis | 轴对象。 |
Ang | number | 旋转角度。 |
Returns
void
Inherited from
Rotated
▸ Rotated(A1
, Ang
): Mx3dGeomBSplineCurve
返回旋转后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
A1 | Mx3dGeAxis | 轴对象。 |
Ang | number | 旋转角度。 |
Returns
新的几何对象。
Inherited from
Scale
▸ Scale(P
, S
): void
缩放几何对象。
Parameters
Name | Type | Description |
---|---|---|
P | Mx3dGePoint | 点对象。 |
S | number | 缩放比例。 |
Returns
void
Inherited from
Scaled
▸ Scaled(P
, S
): Mx3dGeomBSplineCurve
返回缩放后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
P | Mx3dGePoint | 点对象。 |
S | number | 缩放比例。 |
Returns
新的几何对象。
Inherited from
Segment
▸ Segment(U1
, U2
): void
截取曲线的一个段。
Parameters
Name | Type | Description |
---|---|---|
U1 | number | 段的起始参数值。 |
U2 | number | 段的结束参数值。 |
Returns
void
SetKnot
▸ SetKnot(Index
, K
): void
设置节点。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点索引。 |
K | number | 新的节点值。 |
Returns
void
▸ SetKnot(Index
, K
, M
): void
设置节点并指定其多重性。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 节点索引。 |
K | number | 新的节点值。 |
M | number | 节点的多重性。 |
Returns
void
SetKnots
▸ SetKnots(dK
): void
设置所有节点。
Parameters
Name | Type | Description |
---|---|---|
dK | number [] | 节点值数组。 |
Returns
void
SetNotPeriodic
▸ SetNotPeriodic(): void
设置曲线为非周期性。
Returns
void
SetOrigin
▸ SetOrigin(Index
): void
设置原点。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 原点索引。 |
Returns
void
▸ SetOrigin(U
, Tol
): void
设置原点并指定容差。
Parameters
Name | Type | Description |
---|---|---|
U | number | 原点参数值。 |
Tol | number | 容差。 |
Returns
void
SetPeriodic
▸ SetPeriodic(): void
设置曲线为周期性。
Returns
void
SetPole
▸ SetPole(Index
, P
): void
设置指定索引处的控制点。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 控制点的索引。 |
P | UniPoint | 控制点。 |
Returns
void
▸ SetPole(Index
, P
, Weight
): void
设置指定索引处的控制点和权重。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 控制点的索引。 |
P | UniPoint | 控制点。 |
Weight | number | 权重。 |
Returns
void
SetWeight
▸ SetWeight(Index
, Weight
): void
设置指定索引处的权重。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 权重的索引。 |
Weight | number | 权重。 |
Returns
void
StartPoint
▸ StartPoint(): Mx3dGePoint
获取曲线的起点。
Returns
曲线的起点。
Transform
▸ Transform(T
): void
应用给定的变换矩阵变换曲线。
Parameters
Name | Type | Description |
---|---|---|
T | Mx3dGeTrsf | 变换矩阵。 |
Returns
void
Transformed
▸ Transformed(T
): Mx3dGeomBSplineCurve
返回变换后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
T | Mx3dGeTrsf | 变换对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.Transformed
TranslateBy2Points
▸ TranslateBy2Points(P1
, P2
): void
通过两个点平移几何对象。
Parameters
Name | Type | Description |
---|---|---|
P1 | Mx3dGePoint | 起始点对象。 |
P2 | Mx3dGePoint | 终止点对象。 |
Returns
void
Inherited from
Mx3dGeomBoundedCurve.TranslateBy2Points
TranslateByVec
▸ TranslateByVec(V
): void
通过向量平移几何对象。
Parameters
Name | Type | Description |
---|---|---|
V | Mx3dGeVec | 向量对象。 |
Returns
void
Inherited from
Mx3dGeomBoundedCurve.TranslateByVec
TranslatedBy2Points
▸ TranslatedBy2Points(P1
, P2
): Mx3dGeomBSplineCurve
返回通过两个点平移后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
P1 | Mx3dGePoint | 起始点对象。 |
P2 | Mx3dGePoint | 终止点对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.TranslatedBy2Points
TranslatedByVec
▸ TranslatedByVec(V
): Mx3dGeomBSplineCurve
返回通过向量平移后的新几何对象。
Parameters
Name | Type | Description |
---|---|---|
V | Mx3dGeVec | 向量对象。 |
Returns
新的几何对象。
Inherited from
Mx3dGeomBoundedCurve.TranslatedByVec
Value
▸ Value(U
): Mx3dGePoint
返回给定参数 U 处的点。
Parameters
Name | Type | Description |
---|---|---|
U | number | 参数值。 |
Returns
给定参数处的点对象。
Inherited from
Weight
▸ Weight(Index
): number
获取指定索引处的权重值。 权重值用于定义B样条曲线的局部形状和重要性。
Parameters
Name | Type | Description |
---|---|---|
Index | number | 权重值的索引。 |
Returns
number
指定索引处的权重值。
Weights
▸ Weights(): number
[]
获取曲线的权重序列。
Returns
number
[]
权重序列的数组。
Wire
▸ Wire(): Mx3dShapeWire
获取曲线的Wire。
Returns
返回表示曲线的Wire对象。
DownCast
▸ Static
DownCast(theObject
): Mx3dGeomBSplineCurve
父类对象转 Mx3dGeomBSplineCurve 类对象
Parameters
Name | Type | Description |
---|---|---|
theObject | Mx3dGeomObject | 父类对象 |
Returns
Mx3dGeomBSplineCurve 类对象