AnyCAD Rapid API 2026
Help you to create a better world!
载入中...
搜索中...
未找到
AnyCAD.Foundation.ParametricCurve类 参考

曲线的几何参数表达,用来获取曲线上点、切线等信息。 更多...

类 AnyCAD.Foundation.ParametricCurve 继承关系图:
AnyCAD.Foundation.ParametricGeometry

Public 成员函数

 ParametricCurve (global::System.IntPtr cPtr, bool cMemoryOwn)
 仅供内部使用
 
 ParametricCurve (TopoShape edge)
 使用对象初始化曲线
 
uint GetOwnerId ()
 
void SetOwnerId (uint val)
 
override bool IsValidGeometry (double tol)
 测试几何体是否有效
 
override bool IsValidGeometry ()
 测试几何体是否有效
 
override bool Initialize (TopoShape edge)
 
bool InitializeByLine (GLin line)
 通过直线初始化曲线
 
bool InitializeBySegment (GPnt start, GPnt end)
 通过线段两点初始化曲线
 
bool InitializeByCircle (GCirc circle)
 通过圆形初始化曲线
 
bool InitializeByArc (GCirc circle, double u1, double u2)
 通过圆弧初始化曲线
 
bool InitializeByElips (GElips curve)
 通过椭圆初始化曲线
 
bool InitializeByElipsArc (GElips curve, double u1, double u2)
 通过椭圆弧初始化曲线
 
bool InitializeByHypr (GHypr curve, double u1, double u2)
 通过双曲线初始化曲线
 
bool InitializeByParab (GParab curve, double u1, double u2)
 通过抛物线初始化曲线
 
bool InitializeByBSpline (GBSplineCurve curve)
 通过B样条曲线初始化曲线
 
bool InitializeByBezier (GBezierCurve curve)
 通过贝塞尔曲线初始化曲线
 
EnumCurveType GetCurveType ()
 
bool Is3DCurve ()
 是否为3D曲线
 
bool IsLinear (double tol)
 是否表现为线性
 
bool IsLinear ()
 是否表现为线性
 
bool IsCurveOnSurface ()
 是否为曲面上的3D曲线
 
double Tolerance ()
 获取容差
 
double FirstParameter ()
 
GPnt FirstPoint ()
 起始点
 
double LastParameter ()
 终点参数
 
GPnt LastPoint ()
 终点
 
EnumGeometryContinuity Continuity ()
 获取连续性
 
bool IsClosed ()
 是否闭合
 
bool IsPeriodic ()
 是否为周期函数.
 
double Period ()
 周期值
 
GPnt Value (double u)
 计算曲线参数U处的点
 
GVec Normal (double u)
 计算法向量
 
GAx1 ComputeAx1 (double u)
 计算轴线
 
GPnt D0 (double u)
 计算曲线参数U处的点
 
DerivativeValues D1 (double u)
 计算曲线参数U处的点和导数
 
DerivativeValues D2 (double u)
 计算曲线参数U处的点和导数
 
DerivativeValues D3 (double u)
 计算曲线参数U处的点和导数
 
GVec DN (double u, int n)
 返回导数阶数N的导数值
 
double Curvature (double u)
 计算曲率
 
GPnt GetStartPoint ()
 获取起点位置
 
GPnt GetEndPoint ()
 获取终点位置
 
GBBox GetBBox ()
 计算包围盒
 
double GetLength ()
 长度
 
double ComputeLength (double u1, double u2)
 计算指定位置间的长度
 
double ComputePointByDistance (double u0, double distance)
 Compute the point with the distance to u0.
 
DoubleList SplitByUniformLength (double length, double tolerance)
 
DoubleList SplitByUniformLengthByAll (double length, double tolerance)
 把曲线拆分为等长的线段
 
DoubleList SplitByUniformLength (double length, double u1, double u2, double tolerance)
 把曲线指定的区间拆分为等长的线段.
 
DoubleList SplitByUniformLengthByRange (double length, double u1, double u2, double tolerance)
 把曲线指定的区间拆分为等长的线段
 
DoubleList SplitByUniformLengthByCount (uint count, double u1, double u2, double tolerance)
 指定个数,把曲线指定的区间拆分为等长的线段.
 
DoubleList SplitByUniformAbscissa (uint count)
 
DoubleList SplitByUniformAbscissaByAll (uint count)
 按照指定点数将曲线均分
 
DoubleList SplitByUniformAbscissa (uint count, double u1, double u2)
 指定个数,把曲线指定的区间拆分为等长的线段.
 
DoubleList SplitByUniformAbscissaByRange (uint count, double u1, double u2)
 按照指定点数将曲线指定区间均分
 
DoubleList SplitByTangential (double angular, double curvature)
 根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。
 
DoubleList SplitByTangentialByAll (double angular, double curvature)
 根据曲率和角度自动分割曲线
 
DoubleList SplitByTangential (double angular, double curvature, double u1, double u2)
 根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。
 
DoubleList SplitByTangentialByRange (double angular, double curvature, double u1, double u2)
 根据曲率和角度自动分割曲线指定区间
 
DoubleList SplitByTangential (double angular, double curvature, double u1, double u2, double minLength, int minPointNumber)
 根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。
 
DoubleList SplitByTangentialByLimit (double angular, double curvature, double minLength, int minPointNumber)
 根据曲率和角度自动分割曲线(带限制条件)
 
GLin TryLine ()
 转成线。转之前调用GetCurveType判断类型
 
GCirc TryCircle ()
 转成圆弧。转之前调用GetCurveType判断类型
 
GElips TryEllipse ()
 转成椭圆弧。转之前调用GetCurveType判断类型
 
GHypr TryHyperbola ()
 转成双曲线。转之前调用GetCurveType判断类型
 
GParab TryParabola ()
 转成抛物线。转之前调用GetCurveType判断类型
 
GBSplineCurve TryBSplineCurve ()
 转成样条曲线。转之前调用GetCurveType判断类型
 
GBezierCurve TryBezierCurve ()
 转成贝塞尔曲线。转之前调用GetCurveType判断类型
 
double ComputeClosestPoint (GPnt pt)
 计算曲线上最近的点
 
bool ComputeClosestPoint (GPnt pt, ref double param)
 计算给定点在曲线上的最近点
 
bool IsPointOnCurve (GPnt pt, double tol)
 判断点是否在曲线上
 
double TryGetRadius ()
 尝试获取圆弧半径
 
EnumTopoOrientation GetOrientation ()
 获取拓扑方向
 
bool ComputePlaneNormal (GDir normal)
 计算曲线所在平面的法向
 
bool ComputeTangentOnCurve (double param, GDir tangent)
 计算指定参数位置的切线方向
 
- Public 成员函数 继承自 AnyCAD.Foundation.ParametricGeometry
 ParametricGeometry (global::System.IntPtr cPtr, bool cMemoryOwn)
 仅供内部使用
 
void Dispose ()
 
uint GetId ()
 
void SetId (uint val)
 
TopoShape GetShape ()
 获取拓扑对象
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 AnyCAD.Foundation.ParametricGeometry
static GPnt GetPointValue (TopoShape vertex)
 获取顶点的值
 

详细描述

曲线的几何参数表达,用来获取曲线上点、切线等信息。

Group: Geometry

构造及析构函数说明

◆ ParametricCurve()

AnyCAD.Foundation.ParametricCurve.ParametricCurve ( TopoShape edge)

使用对象初始化曲线

参数
edge曲线

成员函数说明

◆ ComputeAx1()

GAx1 AnyCAD.Foundation.ParametricCurve.ComputeAx1 ( double u)

计算轴线

参数
u参数
返回
轴线

◆ ComputeClosestPoint() [1/2]

double AnyCAD.Foundation.ParametricCurve.ComputeClosestPoint ( GPnt pt)

计算曲线上最近的点

参数
pt
返回
曲线参数

◆ ComputeClosestPoint() [2/2]

bool AnyCAD.Foundation.ParametricCurve.ComputeClosestPoint ( GPnt pt,
ref double param )

计算给定点在曲线上的最近点

参数
pt
param最近点的参数
返回
是否计算成功

◆ ComputeLength()

double AnyCAD.Foundation.ParametricCurve.ComputeLength ( double u1,
double u2 )

计算指定位置间的长度

参数
u1起始参数
u2终止参数
返回
长度

◆ ComputePlaneNormal()

bool AnyCAD.Foundation.ParametricCurve.ComputePlaneNormal ( GDir normal)

计算曲线所在平面的法向

参数
normal平面法向
返回
当曲线不在平面上或计算失败是返回false

◆ ComputePointByDistance()

double AnyCAD.Foundation.ParametricCurve.ComputePointByDistance ( double u0,
double distance )

Compute the point with the distance to u0.

参数
u0the parameter of the start point.
distancethe distance.
返回
the parameter of the point. retun u0 if not found.

◆ ComputeTangentOnCurve()

bool AnyCAD.Foundation.ParametricCurve.ComputeTangentOnCurve ( double param,
GDir tangent )

计算指定参数位置的切线方向

参数
param参数
tangent切线方向
返回
无法获取切线时返回false

◆ Continuity()

EnumGeometryContinuity AnyCAD.Foundation.ParametricCurve.Continuity ( )

获取连续性

返回
EnumGeometryContinuity

◆ Curvature()

double AnyCAD.Foundation.ParametricCurve.Curvature ( double u)

计算曲率

参数
u参数位置
返回
曲率

◆ D0()

GPnt AnyCAD.Foundation.ParametricCurve.D0 ( double u)

计算曲线参数U处的点

参数
u参数
返回

◆ D1()

DerivativeValues AnyCAD.Foundation.ParametricCurve.D1 ( double u)

计算曲线参数U处的点和导数

参数
u参数
返回
点和一阶导数,如果不是C1连续则为空

◆ D2()

DerivativeValues AnyCAD.Foundation.ParametricCurve.D2 ( double u)

计算曲线参数U处的点和导数

参数
u参数
返回
点、一阶和二阶导数,如果不是C2连续则为空

◆ D3()

DerivativeValues AnyCAD.Foundation.ParametricCurve.D3 ( double u)

计算曲线参数U处的点和导数

参数
u参数
返回
点、一阶、二阶和三阶导数,如果不是C3连续则为空

◆ DN()

GVec AnyCAD.Foundation.ParametricCurve.DN ( double u,
int n )

返回导数阶数N的导数值

参数
u参数
n导数阶数
返回
向量,如果不是CN连续或N小于1则返回零向量

◆ FirstParameter()

double AnyCAD.Foundation.ParametricCurve.FirstParameter ( )

起始参数.

返回
参数

◆ FirstPoint()

GPnt AnyCAD.Foundation.ParametricCurve.FirstPoint ( )

起始点

返回

◆ GetBBox()

GBBox AnyCAD.Foundation.ParametricCurve.GetBBox ( )

计算包围盒

返回
包围盒

◆ GetCurveType()

EnumCurveType AnyCAD.Foundation.ParametricCurve.GetCurveType ( )

获取曲线类型.

参见
EnumCurveType
返回
类型.

◆ GetEndPoint()

GPnt AnyCAD.Foundation.ParametricCurve.GetEndPoint ( )

获取终点位置

返回
终点

◆ GetLength()

double AnyCAD.Foundation.ParametricCurve.GetLength ( )

长度

返回
长度

◆ GetOrientation()

EnumTopoOrientation AnyCAD.Foundation.ParametricCurve.GetOrientation ( )

获取拓扑方向

返回
拓扑方向

◆ GetStartPoint()

GPnt AnyCAD.Foundation.ParametricCurve.GetStartPoint ( )

获取起点位置

返回
起点

◆ Initialize()

override bool AnyCAD.Foundation.ParametricCurve.Initialize ( TopoShape edge)
virtual

使用边对象来初始化,必须为边.

参数
edge
返回
true if ok.

重载 AnyCAD.Foundation.ParametricGeometry .

◆ InitializeByArc()

bool AnyCAD.Foundation.ParametricCurve.InitializeByArc ( GCirc circle,
double u1,
double u2 )

通过圆弧初始化曲线

参数
circle圆形对象
u1起始参数
u2终止参数
返回
是否初始化成功

◆ InitializeByBezier()

bool AnyCAD.Foundation.ParametricCurve.InitializeByBezier ( GBezierCurve curve)

通过贝塞尔曲线初始化曲线

参数
curve贝塞尔曲线对象
返回
是否初始化成功

◆ InitializeByBSpline()

bool AnyCAD.Foundation.ParametricCurve.InitializeByBSpline ( GBSplineCurve curve)

通过B样条曲线初始化曲线

参数
curveB样条曲线对象
返回
是否初始化成功

◆ InitializeByCircle()

bool AnyCAD.Foundation.ParametricCurve.InitializeByCircle ( GCirc circle)

通过圆形初始化曲线

参数
circle圆形对象
返回
是否初始化成功

◆ InitializeByElips()

bool AnyCAD.Foundation.ParametricCurve.InitializeByElips ( GElips curve)

通过椭圆初始化曲线

参数
curve椭圆对象
返回
是否初始化成功

◆ InitializeByElipsArc()

bool AnyCAD.Foundation.ParametricCurve.InitializeByElipsArc ( GElips curve,
double u1,
double u2 )

通过椭圆弧初始化曲线

参数
curve椭圆对象
u1起始参数
u2终止参数
返回
是否初始化成功

◆ InitializeByHypr()

bool AnyCAD.Foundation.ParametricCurve.InitializeByHypr ( GHypr curve,
double u1,
double u2 )

通过双曲线初始化曲线

参数
curve双曲线对象
u1起始参数
u2终止参数
返回
是否初始化成功

◆ InitializeByLine()

bool AnyCAD.Foundation.ParametricCurve.InitializeByLine ( GLin line)

通过直线初始化曲线

参数
line直线对象
返回
是否初始化成功

◆ InitializeByParab()

bool AnyCAD.Foundation.ParametricCurve.InitializeByParab ( GParab curve,
double u1,
double u2 )

通过抛物线初始化曲线

参数
curve抛物线对象
u1起始参数
u2终止参数
返回
是否初始化成功

◆ InitializeBySegment()

bool AnyCAD.Foundation.ParametricCurve.InitializeBySegment ( GPnt start,
GPnt end )

通过线段两点初始化曲线

参数
start起点
end终点
返回
是否初始化成功

◆ Is3DCurve()

bool AnyCAD.Foundation.ParametricCurve.Is3DCurve ( )

是否为3D曲线

返回
是否为3D曲线

◆ IsClosed()

bool AnyCAD.Foundation.ParametricCurve.IsClosed ( )

是否闭合

返回
是否闭合

◆ IsCurveOnSurface()

bool AnyCAD.Foundation.ParametricCurve.IsCurveOnSurface ( )

是否为曲面上的3D曲线

返回
是否为曲面上的3D曲线

◆ IsPointOnCurve()

bool AnyCAD.Foundation.ParametricCurve.IsPointOnCurve ( GPnt pt,
double tol )

判断点是否在曲线上

参数
pt点坐标
返回
true/false

◆ IsValidGeometry() [1/2]

override bool AnyCAD.Foundation.ParametricCurve.IsValidGeometry ( )
virtual

测试几何体是否有效

返回
是否有效

重载 AnyCAD.Foundation.ParametricGeometry .

◆ IsValidGeometry() [2/2]

override bool AnyCAD.Foundation.ParametricCurve.IsValidGeometry ( double tol)
virtual

测试几何体是否有效

参数
tol容差
返回
是否有效

重载 AnyCAD.Foundation.ParametricGeometry .

◆ LastParameter()

double AnyCAD.Foundation.ParametricCurve.LastParameter ( )

终点参数

返回
参数

◆ LastPoint()

GPnt AnyCAD.Foundation.ParametricCurve.LastPoint ( )

终点

返回

◆ Normal()

GVec AnyCAD.Foundation.ParametricCurve.Normal ( double u)

计算法向量

参数
u参数
返回
法向量

◆ Period()

double AnyCAD.Foundation.ParametricCurve.Period ( )

周期值

返回
周期值

◆ SplitByTangential() [1/3]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangential ( double angular,
double curvature )

根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
返回
分割每一段的参数列表。

◆ SplitByTangential() [2/3]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangential ( double angular,
double curvature,
double u1,
double u2 )

根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
u1起始参数
u2终止参数
返回
分割每一段的参数列表。

◆ SplitByTangential() [3/3]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangential ( double angular,
double curvature,
double u1,
double u2,
double minLength,
int minPointNumber )

根据曲率和角度自动分割曲线,曲率大的地方密一些,曲率小的地方稀一些。

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
u1起始参数
u2终止参数
minLength最小长度
minPointNumber最小点数量
返回
分割每一段的参数列表。

◆ SplitByTangentialByAll()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangentialByAll ( double angular,
double curvature )

根据曲率和角度自动分割曲线

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
返回
分割每一段的参数列表

◆ SplitByTangentialByLimit()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangentialByLimit ( double angular,
double curvature,
double minLength,
int minPointNumber )

根据曲率和角度自动分割曲线(带限制条件)

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
minLength最小长度
minPointNumber最小点数量
返回
分割每一段的参数列表

◆ SplitByTangentialByRange()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByTangentialByRange ( double angular,
double curvature,
double u1,
double u2 )

根据曲率和角度自动分割曲线指定区间

参数
angular角度偏转(弧度)
curvature线形偏转 linear deflection
u1起始参数
u2终止参数
返回
分割每一段的参数列表

◆ SplitByUniformAbscissa() [1/2]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformAbscissa ( uint count)

把曲线指定的区间拆分为等长的线段.

参数
count点的个数.
返回
分割每一段的参数列表。

◆ SplitByUniformAbscissa() [2/2]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformAbscissa ( uint count,
double u1,
double u2 )

指定个数,把曲线指定的区间拆分为等长的线段.

参数
count点的个数.
u1起始参数
u2终止参数
返回
分割每一段的参数列表。

◆ SplitByUniformAbscissaByAll()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformAbscissaByAll ( uint count)

按照指定点数将曲线均分

参数
count点的个数
返回
分割每一段的参数列表

◆ SplitByUniformAbscissaByRange()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformAbscissaByRange ( uint count,
double u1,
double u2 )

按照指定点数将曲线指定区间均分

参数
count点的个数
u1起始参数
u2终止参数
返回
分割每一段的参数列表

◆ SplitByUniformLength() [1/2]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformLength ( double length,
double tolerance )

把曲线拆分为等长的线段.

参数
length每段的长度.
tolerance误差
返回
分割每一段的参数列表。使用GetValue(u)获取点的值

◆ SplitByUniformLength() [2/2]

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformLength ( double length,
double u1,
double u2,
double tolerance )

把曲线指定的区间拆分为等长的线段.

参数
length每段的长度.
u1起始参数
u2终止参数
tolerance误差
返回
分割每一段的参数列表。

◆ SplitByUniformLengthByAll()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformLengthByAll ( double length,
double tolerance )

把曲线拆分为等长的线段

参数
length每段的长度
tolerance误差
返回
分割每一段的参数列表

◆ SplitByUniformLengthByCount()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformLengthByCount ( uint count,
double u1,
double u2,
double tolerance )

指定个数,把曲线指定的区间拆分为等长的线段.

参数
count个数
u1起始参数
u2终止参数
tolerance误差
返回
分割每一段的参数列表。

◆ SplitByUniformLengthByRange()

DoubleList AnyCAD.Foundation.ParametricCurve.SplitByUniformLengthByRange ( double length,
double u1,
double u2,
double tolerance )

把曲线指定的区间拆分为等长的线段

参数
length每段的长度
u1起始参数
u2终止参数
tolerance误差
返回
分割每一段的参数列表

◆ Tolerance()

double AnyCAD.Foundation.ParametricCurve.Tolerance ( )

获取容差

返回
容差值

◆ TryBezierCurve()

GBezierCurve AnyCAD.Foundation.ParametricCurve.TryBezierCurve ( )

转成贝塞尔曲线。转之前调用GetCurveType判断类型

返回
对象

◆ TryBSplineCurve()

GBSplineCurve AnyCAD.Foundation.ParametricCurve.TryBSplineCurve ( )

转成样条曲线。转之前调用GetCurveType判断类型

返回
对象

◆ TryCircle()

GCirc AnyCAD.Foundation.ParametricCurve.TryCircle ( )

转成圆弧。转之前调用GetCurveType判断类型

返回
对象

◆ TryEllipse()

GElips AnyCAD.Foundation.ParametricCurve.TryEllipse ( )

转成椭圆弧。转之前调用GetCurveType判断类型

返回
对象

◆ TryGetRadius()

double AnyCAD.Foundation.ParametricCurve.TryGetRadius ( )

尝试获取圆弧半径

返回
0 如果失败

◆ TryHyperbola()

GHypr AnyCAD.Foundation.ParametricCurve.TryHyperbola ( )

转成双曲线。转之前调用GetCurveType判断类型

返回
对象

◆ TryLine()

GLin AnyCAD.Foundation.ParametricCurve.TryLine ( )

转成线。转之前调用GetCurveType判断类型

返回
对象

◆ TryParabola()

GParab AnyCAD.Foundation.ParametricCurve.TryParabola ( )

转成抛物线。转之前调用GetCurveType判断类型

返回
对象

◆ Value()

GPnt AnyCAD.Foundation.ParametricCurve.Value ( double u)

计算曲线参数U处的点

参数
u参数
返回