当前位置: 首页 > news >正文

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_tcurve_idInputThe identifier of the curve on which the points are
to be determined.
doublectolInputThe chordal tolerance.
0= do not use chordal tolerance.
doubleatolInputThe angular tolerance in radians
0= do not use angular tolerance.
doublestolInputMaximum step length.
0 = do not use
int *numptsOutputNumber of points in the points array.
double * *ptsOutput 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

)

doublepoint [ 3 ]InputAbsolute coordinates of the reference point.
tag_tcurveInputIdentifier of the selected curve.
doubleoffsetInputOffset distance from the reference point along the
selected curve.
intdirectionInputDirection 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)
doubletoleranceInputDistance tolerance between solid edge and
approximated curve.
doublepoint_along_curve [ 3 ]OutputAbsolute coordinates of the point on the curve
at the offset distance.
double *parameterOutputParameter value for the located point on the
selected curve.

第一个参数为起始点位。

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

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

第四个参数为方向标志。

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

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

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

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

相关文章:

  • 15_sysfsLinux内核模块
  • 在 R 中,清除包含 NA(缺失值)的数据
  • AOP封装进行批量的数据查询并填充
  • 探索智能体的记忆:类型、策略和应用
  • MySQL优化-MySQL常用查询命令
  • MATLAB三维可视化技术解析
  • 引用的使用
  • 什么是跨域,如何解决跨域问题
  • 脑图谱:脑机接口的必由之路——技术突破与产业转化的系统性思考
  • CI/CD与DevOps流程流程简述(给小白运维提供思路)
  • element-plus中,vue3项目,el-input密码框禁止浏览器自动弹出浏览器历史密码提示框
  • 关于Stream
  • 使用ffmpeg截取MP3等音频片段
  • ubuntu 挂载硬盘
  • Notion Windows桌面端快捷键详解
  • Solana批量转账教程:提高代币持有地址和生态用户空投代币
  • 高防ip是怎么做到分布式防御的
  • Decode rpc invocation failed: null -> DecodeableRpcInvocation
  • 计算机网络中相比于RIP,路由器动态路由协议OSPF有什么优势?
  • 多线程的出现解决了什么问题?深入解析多线程的核心价值
  • 韩国执政党总统候选人更换方案被否决,金文洙候选人资格即刻恢复
  • 巴基斯坦外长:印巴已同意立即停火
  • 马上评丨维护学术诚信别陷入“唯AI检测”误区
  • 重视体重管理,筑牢健康基石
  • 绍兴柯桥:用一块布托起中国制造的新经纬
  • 北京:下调个人住房公积金贷款利率