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 类对象