Skip to content

mxcad_3d API 文档 / Mx3dGeomBSplineCurve

Class: Mx3dGeomBSplineCurve ​

代表一个B样条曲线。 该类继承自Mx3dGeomBoundedCurve并封装了B样条曲线的操作和属性。

Hierarchy ​

Table of contents ​

Constructors ​

Methods ​

Constructors ​

constructor ​

• new Mx3dGeomBSplineCurve(Poles, Knots, Multiplicities, Degree)

构造函数用于创建一个B样条曲线。

Parameters ​

NameTypeDescription
PolesMx3dGePoint[]控制点的数组。
Knotsnumber[]节点序列的数组。
Multiplicitiesnumber[]节点的多重性。
Degreenumber曲线的阶数。

Overrides ​

Mx3dGeomBoundedCurve.constructor

• new Mx3dGeomBSplineCurve(Poles, Weights, Knots, Multiplicities, Degree)

构造函数用于创建一个带权重的B样条曲线。

Parameters ​

NameTypeDescription
PolesMx3dGePoint[]控制点的数组。
Weightsnumber[]控制点的权重数组。
Knotsnumber[]节点序列的数组。
Multiplicitiesnumber[]节点的多重性。
Degreenumber曲线的阶数。

Overrides ​

Mx3dGeomBoundedCurve.constructor

Methods ​

Continuity ​

▸ Continuity(): MxGAShapeEnum

获取曲线的连续性。

Returns ​

MxGAShapeEnum

曲线的连续性。


Copy ​

▸ Copy(): Mx3dGeomObject

创建当前B样条曲线的副本。

Returns ​

Mx3dGeomObject

返回一个新的B样条曲线对象。


D0 ​

▸ D0(U, P): void

在给定参数处计算曲线的点。

Parameters ​

NameTypeDescription
Unumber参数。
PMx3dGePoint结果点。

Returns ​

void


D1 ​

▸ D1(U, P, V1): void

在给定参数处计算曲线的点和一阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。

Returns ​

void


D2 ​

▸ D2(U, P, V1, V2): void

在给定参数处计算曲线的点、一阶导数和二阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。
V2Mx3dGeVec二阶导数。

Returns ​

void


D3 ​

▸ D3(U, P, V1, V2, V3): void

在给定参数处计算曲线的点、一阶导数、二阶导数和三阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。
V2Mx3dGeVec二阶导数。
V3Mx3dGeVec三阶导数。

Returns ​

void


DN ​

▸ DN(U, N): Mx3dGeVec

在给定参数处计算曲线的N阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
Nnumber阶数。

Returns ​

Mx3dGeVec

N阶导数。


Degree ​

▸ Degree(): number

获取曲线的阶数。

Returns ​

number

曲线的阶数。


DynamicType ​

▸ DynamicType(): string

返回对象的动态类型。

Returns ​

string

动态类型的字符串。

Overrides ​

Mx3dGeomBoundedCurve.DynamicType


Edge ​

▸ Edge(p1, p2): Mx3dShapeEdge

获取曲线的边。

Parameters ​

NameTypeDescription
p1number边的起始点参数。
p2number边的终止点参数。

Returns ​

Mx3dShapeEdge

返回指定参数范围内的曲线边。


EndPoint ​

▸ EndPoint(): Mx3dGePoint

获取曲线的终点。

Returns ​

Mx3dGePoint

曲线的终点。


FirstParameter ​

▸ FirstParameter(): number

返回曲线的第一个参数值。 通常用于确定曲线的起始点。

Returns ​

number

第一个参数值。


FirstUKnotIndex ​

▸ FirstUKnotIndex(): number

获取曲线的第一个节点索引。

Returns ​

number

第一个节点索引。


IncreaseDegree ​

▸ IncreaseDegree(Degree): void

提高曲线的阶数。

Parameters ​

NameTypeDescription
Degreenumber新的阶数。

Returns ​

void


IncreaseMultiplicity ​

▸ IncreaseMultiplicity(Index, M): void

提高指定索引处的节点多重性。

Parameters ​

NameTypeDescription
Indexnumber节点的索引。
Mnumber新的多重性。

Returns ​

void

▸ IncreaseMultiplicity(I1, I2, M): void

提高指定范围内的节点多重性。

Parameters ​

NameTypeDescription
I1number范围起始索引。
I2number范围结束索引。
Mnumber新的多重性。

Returns ​

void


IncrementMultiplicity ​

▸ IncrementMultiplicity(I1, I2, M): void

增量提高指定范围内的节点多重性。

Parameters ​

NameTypeDescription
I1number起始索引。
I2number结束索引。
Mnumber增加的多重性值。

Returns ​

void


InsertKnot ​

▸ InsertKnot(U, M?, ParametricTolerance?, Add?): void

插入一个新的节点。

Parameters ​

NameTypeDescription
Unumber新节点的位置。
M?number新节点的多重性(可选)。
ParametricTolerance?number参数容差(可选)。
Add?boolean是否添加节点而不是替换(可选)。

Returns ​

void


InsertKnots ​

▸ InsertKnots(Knots, Mults, ParametricTolerance?, Add?): void

插入多个新的节点。

Parameters ​

NameTypeDescription
Knotsnumber[]新节点的位置数组。
Multsnumber[]新节点的多重性数组。
ParametricTolerance?number参数容差(可选)。
Add?boolean是否添加节点而不是替换(可选)。

Returns ​

void


IsCN ​

▸ IsCN(N): boolean

检查曲线在指定阶数下是否连续。

Parameters ​

NameTypeDescription
Nnumber阶数。

Returns ​

boolean

如果曲线在指定阶数下是连续的,则返回true;否则返回false。


IsClosed ​

▸ IsClosed(): boolean

检查曲线是否闭合。

Returns ​

boolean

如果曲线闭合,则返回true;否则返回false。


IsEqual ​

▸ IsEqual(theOther, thePreci): boolean

比较当前曲线与另一条曲线的相等性。

Parameters ​

NameTypeDescription
theOtherMx3dGeomBSplineCurve另一个B样条曲线对象。
thePrecinumber比较精度。

Returns ​

boolean

如果两条曲线在指定精度下相等,返回true;否则返回false。


IsG1 ​

▸ IsG1(theTf, theTl, theAngTol): boolean

检查曲线在指定范围内是否满足G1连续性。

Parameters ​

NameTypeDescription
theTfnumber起始参数。
theTlnumber结束参数。
theAngTolnumber角度公差。

Returns ​

boolean

如果曲线在指定范围内满足G1连续性,则返回true;否则返回false。


IsPeriodic ​

▸ IsPeriodic(): boolean

检查曲线是否周期性。

Returns ​

boolean

如果曲线是周期性的,则返回true;否则返回false。


IsRational ​

▸ IsRational(): boolean

检查曲线是否是有理的。

Returns ​

boolean

如果曲线是有理的,则返回true;否则返回false。


Knot ​

▸ Knot(Index): number

获取曲线在指定索引处的节点。

Parameters ​

NameTypeDescription
Indexnumber节点的索引。

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 ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。
PMx3dGePoint结果点。

Returns ​

void


LocalD1 ​

▸ LocalD1(U, FromK1, ToK2, P, V1): void

在指定范围内计算局部参数的点和一阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。

Returns ​

void


LocalD2 ​

▸ LocalD2(U, FromK1, ToK2, P, V1, V2): void

在指定范围内计算局部参数的点、一阶导数和二阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。
V2Mx3dGeVec二阶导数。

Returns ​

void


LocalD3 ​

▸ LocalD3(U, FromK1, ToK2, P, V1, V2, V3): void

在指定范围内计算局部参数的点、一阶导数、二阶导数和三阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。
PMx3dGePoint结果点。
V1Mx3dGeVec一阶导数。
V2Mx3dGeVec二阶导数。
V3Mx3dGeVec三阶导数。

Returns ​

void


LocalDN ​

▸ LocalDN(U, FromK1, ToK2, N): Mx3dGeVec

在指定范围内计算局部参数的N阶导数。

Parameters ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。
Nnumber阶数。

Returns ​

Mx3dGeVec

N阶导数。


LocalValue ​

▸ LocalValue(U, FromK1, ToK2): Mx3dGePoint

在指定范围内计算局部参数的点。

Parameters ​

NameTypeDescription
Unumber参数。
FromK1number起始节点索引。
ToK2number结束节点索引。

Returns ​

Mx3dGePoint

局部参数的点。


MirrorByAxis ​

▸ MirrorByAxis(A1): void

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

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.MirrorByAxis


MirrorByCSYSR ​

▸ MirrorByCSYSR(A2): void

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

Parameters ​

NameTypeDescription
A2Mx3dGeCSYSR右手坐标系对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.MirrorByCSYSR


MirrorByPoint ​

▸ MirrorByPoint(P): void

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

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.MirrorByPoint


MirroredByAxis ​

▸ MirroredByAxis(A1): Mx3dGeomBSplineCurve

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

Parameters ​

NameTypeDescription
A1Mx3dGeAxis轴对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.MirroredByAxis


MirroredByCSYSR ​

▸ MirroredByCSYSR(A2): Mx3dGeomBSplineCurve

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

Parameters ​

NameTypeDescription
A2Mx3dGeCSYSR右手坐标系对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.MirroredByCSYSR


MirroredByPoint ​

▸ MirroredByPoint(P): Mx3dGeomBSplineCurve

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

Parameters ​

NameTypeDescription
PMx3dGePoint点对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.MirroredByPoint


Multiplicities ​

▸ Multiplicities(): number[]

返回曲线的所有节点多重性值。 节点多重性用于定义曲线在特定参数值处的重复程度。

Returns ​

number[]

节点多重性值的数组。


Multiplicity ​

▸ Multiplicity(Index): number

获取指定索引处的节点多重性。 节点多重性用于定义曲线在特定参数值处的重复程度。

Parameters ​

NameTypeDescription
Indexnumber节点索引。

Returns ​

number

节点的多重性值。


NbKnots ​

▸ NbKnots(): number

获取曲线的节点数。

Returns ​

number

节点数。


NbPoles ​

▸ NbPoles(): number

获取曲线的控制点数。

Returns ​

number

控制点数。


OffsetCurve ​

▸ OffsetCurve(Offset, V, isNotCheckC0): Mx3dShapeEdge

创建曲线的偏移副本。

Parameters ​

NameTypeDescription
Offsetnumber偏移量。
VUniDir偏移方向,与偏移方向垂直。
isNotCheckC0boolean是否不检查C0连续性。

Returns ​

Mx3dShapeEdge

返回偏移后的曲线边对象。


Period ​

▸ Period(): number

返回曲线的周期。

Returns ​

number

曲线的周期。

Inherited from ​

Mx3dGeomBoundedCurve.Period


Pole ​

▸ Pole(Index): Mx3dGePoint

获取指定索引处的控制点。 控制点定义了曲线的形状和位置。

Parameters ​

NameTypeDescription
Indexnumber控制点的索引。

Returns ​

Mx3dGePoint

指定索引处的控制点对象。


Poles ​

▸ Poles(): Mx3dGePoint[]

获取曲线的控制点序列。

Returns ​

Mx3dGePoint[]

控制点序列的数组。


RemoveKnot ​

▸ RemoveKnot(Index, M, Tolerance): boolean

移除一个节点。

Parameters ​

NameTypeDescription
Indexnumber节点的索引。
Mnumber节点的多重性。
Tolerancenumber容差。

Returns ​

boolean

是否成功移除节点。


Reverse ​

▸ Reverse(): void

反转曲线。

Returns ​

void


Reversed ​

▸ Reversed(): Mx3dGeomBSplineCurve

返回反向后的新几何曲线对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何曲线对象。

Inherited from ​

Mx3dGeomBoundedCurve.Reversed


ReversedParameter ​

▸ ReversedParameter(U): number

获取反转参数值。

Parameters ​

NameTypeDescription
Unumber原参数值。

Returns ​

number

反转后的参数值。


Rotate ​

▸ Rotate(A1, Ang): void

旋转几何对象。

Parameters ​

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

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.Rotate


Rotated ​

▸ Rotated(A1, Ang): Mx3dGeomBSplineCurve

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

Parameters ​

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

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.Rotated


Scale ​

▸ Scale(P, S): void

缩放几何对象。

Parameters ​

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

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.Scale


Scaled ​

▸ Scaled(P, S): Mx3dGeomBSplineCurve

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

Parameters ​

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

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.Scaled


Segment ​

▸ Segment(U1, U2): void

截取曲线的一个段。

Parameters ​

NameTypeDescription
U1number段的起始参数值。
U2number段的结束参数值。

Returns ​

void


SetKnot ​

▸ SetKnot(Index, K): void

设置节点。

Parameters ​

NameTypeDescription
Indexnumber节点索引。
Knumber新的节点值。

Returns ​

void

▸ SetKnot(Index, K, M): void

设置节点并指定其多重性。

Parameters ​

NameTypeDescription
Indexnumber节点索引。
Knumber新的节点值。
Mnumber节点的多重性。

Returns ​

void


SetKnots ​

▸ SetKnots(dK): void

设置所有节点。

Parameters ​

NameTypeDescription
dKnumber[]节点值数组。

Returns ​

void


SetNotPeriodic ​

▸ SetNotPeriodic(): void

设置曲线为非周期性。

Returns ​

void


SetOrigin ​

▸ SetOrigin(Index): void

设置原点。

Parameters ​

NameTypeDescription
Indexnumber原点索引。

Returns ​

void

▸ SetOrigin(U, Tol): void

设置原点并指定容差。

Parameters ​

NameTypeDescription
Unumber原点参数值。
Tolnumber容差。

Returns ​

void


SetPeriodic ​

▸ SetPeriodic(): void

设置曲线为周期性。

Returns ​

void


SetPole ​

▸ SetPole(Index, P): void

设置指定索引处的控制点。

Parameters ​

NameTypeDescription
Indexnumber控制点的索引。
PUniPoint控制点。

Returns ​

void

▸ SetPole(Index, P, Weight): void

设置指定索引处的控制点和权重。

Parameters ​

NameTypeDescription
Indexnumber控制点的索引。
PUniPoint控制点。
Weightnumber权重。

Returns ​

void


SetWeight ​

▸ SetWeight(Index, Weight): void

设置指定索引处的权重。

Parameters ​

NameTypeDescription
Indexnumber权重的索引。
Weightnumber权重。

Returns ​

void


StartPoint ​

▸ StartPoint(): Mx3dGePoint

获取曲线的起点。

Returns ​

Mx3dGePoint

曲线的起点。


Transform ​

▸ Transform(T): void

应用给定的变换矩阵变换曲线。

Parameters ​

NameTypeDescription
TMx3dGeTrsf变换矩阵。

Returns ​

void


Transformed ​

▸ Transformed(T): Mx3dGeomBSplineCurve

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

Parameters ​

NameTypeDescription
TMx3dGeTrsf变换对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.Transformed


TranslateBy2Points ​

▸ TranslateBy2Points(P1, P2): void

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

Parameters ​

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

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.TranslateBy2Points


TranslateByVec ​

▸ TranslateByVec(V): void

通过向量平移几何对象。

Parameters ​

NameTypeDescription
VMx3dGeVec向量对象。

Returns ​

void

Inherited from ​

Mx3dGeomBoundedCurve.TranslateByVec


TranslatedBy2Points ​

▸ TranslatedBy2Points(P1, P2): Mx3dGeomBSplineCurve

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

Parameters ​

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

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.TranslatedBy2Points


TranslatedByVec ​

▸ TranslatedByVec(V): Mx3dGeomBSplineCurve

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

Parameters ​

NameTypeDescription
VMx3dGeVec向量对象。

Returns ​

Mx3dGeomBSplineCurve

新的几何对象。

Inherited from ​

Mx3dGeomBoundedCurve.TranslatedByVec


Value ​

▸ Value(U): Mx3dGePoint

返回给定参数 U 处的点。

Parameters ​

NameTypeDescription
Unumber参数值。

Returns ​

Mx3dGePoint

给定参数处的点对象。

Inherited from ​

Mx3dGeomBoundedCurve.Value


Weight ​

▸ Weight(Index): number

获取指定索引处的权重值。 权重值用于定义B样条曲线的局部形状和重要性。

Parameters ​

NameTypeDescription
Indexnumber权重值的索引。

Returns ​

number

指定索引处的权重值。


Weights ​

▸ Weights(): number[]

获取曲线的权重序列。

Returns ​

number[]

权重序列的数组。


Wire ​

▸ Wire(): Mx3dShapeWire

获取曲线的Wire。

Returns ​

Mx3dShapeWire

返回表示曲线的Wire对象。


DownCast ​

▸ Static DownCast(theObject): Mx3dGeomBSplineCurve

父类对象转 Mx3dGeomBSplineCurve 类对象

Parameters ​

NameTypeDescription
theObjectMx3dGeomObject父类对象

Returns ​

Mx3dGeomBSplineCurve

Mx3dGeomBSplineCurve 类对象