C# NX二次开发:曲线和点位相关UFUN函数详解

大家好,今天要介绍查询曲线上点位和返回沿着曲线偏移一定距离的UFUN函数。

(1)UF_MODL_ask_curve_points:这个函数的定义为按照给定条件查询曲线上的点位。

Defined in: uf_modl_curves.h
 

Overview

Returns an array of 3D point coordinates (x,y,z) based on an input
curve, chordal tolerance, angular tolerance, and step tolerance.
A chord is the straight line between adjacent coordinates. The
tolerances provide independent values for controlling the output of
the coordinates located on the curve. The chordal tolerance (ctol) is
the maximum allowable distance from a chord to the curve between
the ends of the chord. The angular tolerance (atol) is the maximum
allowable sum of the angles between the chord and the tangents to the
curve at the ends of the chord. The step length (stol) is the maximum
allowable chordal length.

This routine does not create point objects as the GRIP and interactive
methods do.

If curve_id is an occurrence, then the points returned are relative to
the occurrence, and not the prototype.
 

Return

Error code:
0 = OK
1 = Invalid curve
2 = Modeler error

Note that this function treats the input "ctol" and "stol" tolerances
and returns point coordinates in the base units of the current displayed
part rather than the units of the part containing the input curve/edge.

In order it to return the expected coordinatesthe displayed part must be
set to the part containing the curve (or any other part using the units
of that part) and the display must have also been refreshed after setting
the new displayed part.

For example:

orig = UF_PART_ask_display_part();
UF_PART_ask_units(orig, &display_units);

UF_PART_ask_units(curve_owner, &units);
if (units != display_units)
{
UF_PART_set_display_part(curve_owner);
UF_DISP_refresh(); // required!
}
...
UF_MODL_ask_curve_points(curve, ...
...
UF_PART_set_display_part(orig);
 

Environment

Internal and External
 

See Also

Refer to example
 

History

Modified in V15.0 to work relative to the occurrence.
Added comments in NX8.5 regarding part units.
 

Required License(s)

gateway


 

int UF_MODL_ask_curve_points
(

tag_t curve_id,
double ctol,
double atol,
double stol,
int * numpts,
double * * pts

)

tag_t curve_id Input The identifier of the curve on which the points are
to be determined.
double ctol Input The chordal tolerance.
0= do not use chordal tolerance.
double atol Input The angular tolerance in radians
0= do not use angular tolerance.
double stol Input Maximum step length.
0 = do not use
int * numpts Output Number of points in the points array.
double * * pts Output to UF_*free* Pointer to the array containing the 3D points. The
array returned is a single dimension array of size
pts[3numpts]. The allocated arrays must be freed
with UF_free.

第一个参数为输入曲线的Tag值。

第二个参数为

弦公差。

0=不使用弦公差。

第三个参数为

以弧度为单位的角公差

0=不使用角公差。

第四个参数为

最大步长。

0 =不使用

第五个参数为

返回数组中点数的数目

第六个参数为

指向包含3D点的数组的指针

(2)UF_MODL_ask_point_along_curve_2:这个函数的定义为返回曲线上偏移距离处的点。

Defined in: uf_modl_curves.h
 

Overview

Alternate version of UF_MODL_ask_point_along_curve to better handle
cases of curves with sharp corners or sharp bends. Also, returns the
point on the curve at the offset distance.
 

Required License(s)

gateway


 

int UF_MODL_ask_point_along_curve_2
(

double point [ 3 ] ,
tag_t curve,
double offset,
int direction,
double tolerance,
double point_along_curve [ 3 ] ,
double * parameter

)

double point [ 3 ] Input Absolute coordinates of the reference point.
tag_t curve Input Identifier of the selected curve.
double offset Input Offset distance from the reference point along the
selected curve.
int direction Input Direction flag,
1=Same direction as the selected curve.
(from start point to end point)
-1=Reverse direction of the selected curve
(from end point to start point)
double tolerance Input Distance tolerance between solid edge and
approximated curve.
double point_along_curve [ 3 ] Output Absolute coordinates of the point on the curve
at the offset distance.
double * parameter Output Parameter value for the located point on the
selected curve.

第一个参数为起始点位。

第二个参数为选定曲线的Tag值。

第三个参数为沿曲线与参考点的偏移距离。

第四个参数为方向标志。

第五个参数为实心边与近似曲线的距离公差。

第六个参数为返回偏移距离的坐标点位。

第七个参数为选定曲线上所定位点的参数值。

今天要介绍的就是这么多,我们下篇文章再见。

你可能感兴趣的:(NX二次开发,angular.js,前端,javascript,c#)