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值。
第三个参数为沿曲线与参考点的偏移距离。
第四个参数为方向标志。
第五个参数为实心边与近似曲线的距离公差。
第六个参数为返回偏移距离的坐标点位。
第七个参数为选定曲线上所定位点的参数值。
今天要介绍的就是这么多,我们下篇文章再见。
相关文章:
C# NX二次开发:曲线和点位相关UFUN函数详解
大家好,今天要介绍查询曲线上点位和返回沿着曲线偏移一定距离的UFUN函数。 (1)UF_MODL_ask_curve_points:这个函数的定义为按照给定条件查询曲线上的点位。 Defined in: uf_modl_curves.h Overview Returns an array of 3D …...
服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复
服务器存储数据恢复环境&故障: 一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统,存放虚拟机文件,上层一共分了4个卷。 磁盘故障导致存储不可用,且设备已经过保。 服务器存储数据恢复过程…...
【2019 CWE/SANS 25 大编程错误清单】12越界写入
案例1: void tonly_aw21036_led_drv_pwm_init(tonly_gpio_pin_t gpio_pin, uint8_t pwm) {uint8_t pin gpio_pin - AW21036_GPIO_PIN_START;if (pin < AW21036_LED_MAX_CHANNEL){aw21036_ctx.pwm[pin] pwm; /* 有效通道号: 0-35 */}else{TONLY_LED_LOG_E(&qu…...
redis bitmap数据类型调研
一、bitmap是什么? redis原文: Bitmaps are not an actual data type, but a set of bit-oriented operations defined on the String type . This means that bitmaps can be used with string commands, and most importantly with SET and GET. 翻…...
[Windows] Ghost Downloader v3.5.9 开源多线程下载工具
[Windows] Ghost Downloader 链接:https://pan.xunlei.com/s/VOPejV3veb6v-im-wVmMkXkhA1?pwdpzwk# Ghost Downloader 是一款专为Windows平台设计的多线程下载工具,完全由Python语言开发。它以其高效的多线程下载技术和断点续传功能而著称,…...
互联网大厂Java求职面试:AI集成与云原生架构设计
互联网大厂Java求职面试:AI集成与云原生架构设计 面试场景:技术总监与程序员郑薪苦的对话 技术总监:郑薪苦,我们今天来聊聊你在AI集成场景中的经验。你有没有尝试过将Spring AI与大模型结合? 郑薪苦:有啊…...
gitignore的相关用法
gitignore .gitignore 是 git 用于管理需要忽略追踪的文件。.gitignore 一般用于远程仓库多人协作的场景,最常见的情况是,使用 MacOS 系统的程序员要在 .gitignore 中添加 .DS_Store 防止将其推送至仓库中。或在开发代码时,将调试文件忽略&a…...
前端取经路——工程化渡劫:八戒的构建之道
大家好,我是老十三,一名前端开发工程师。前端工程化就像八戒的钉耙,看似简单却能降妖除魔。在本文中,我将带你探索前端工程化的九大难题,从模块化组织到CI/CD流程,从代码规范到自动化测试,揭示这些工具背后的核心原理。无论你是初学者还是资深工程师,这些构建之道都能帮…...
Android 数据持久化之 Room 数据库存储
一、简介 Room 是 Google 推出的 Android 持久层框架,建立在 SQLite 之上,提供了一个抽象层,简化了数据库操作。它通过注解和编译时检查来确保数据操作的正确性。 Room 主要由以下三个组件组成: Entity(实体):定义封装实际数据的实体类,每个实体类对应数据库中的一个…...
Selenium Web自动化测试学习笔记(一)
自动化测试 技术手段模拟人工,执行重复性任务,准确率100%,高于人工 selenium 可通过浏览器驱动控制浏览器,通过元素定位模拟人工,实现web自动化,没有焦点(把浏览器放在最小化依然可以&#x…...
一个项目的周测试的文档(Billing Service 测试文档)
目录 Pending Pool 各项功能测试... 2 1. Assign 分配功能。测试结果: ok. 2 2. Reset 功能。 测试结果: OK. 3 3. Discard 功能。测试结果: 提示discard成功,但是historical job没有找到记录... 3 4. E…...
二分查找习题
一、二叉搜索树与双向链表(剑指 Offer JZ36 ) 解题思路要点 - 利用中序遍历特性:二叉搜索树的中序遍历结果是有序序列,这是将二叉搜索树转化为有序双向链表的关键。通过中序遍历可以按从小到大的顺序访问节点,满足…...
JumpServer批量添加资产
环境说明:我的环境是H3C网络设备环境 一、在linux系统环境下通过Python脚本获取交换机信息,IP地址和设备名称一一对应,脚本如下: cat get_device-sysname.py import re from netmiko import ConnectHandler from concurrent.fut…...
使用 Python 与 Java 实现接入 AI 大模型的 MCP 协议:原理与实战
一、什么是 MCP 协议? MCP(Model Context Protocol) 是一种专为远程控制和管理 AI 大模型而设计的通信协议。它允许客户端通过网络向服务器发送请求,以执行诸如模型推理、状态查询、参数更新等操作,并接收相应的结果。…...
Nginx核心原理以及案例分析(AI)
一、Nginx核心原理分析 1. 事件驱动与非阻塞模型 Epoll异步机制:基于Linux的epoll模型实现异步非阻塞I/O处理,单线程可高效管理数万并发连接,避免传统select模型的轮询性能瓶颈。多进程架构:采用Master-Worker模式&…...
ChromeDriverManager的具体用法
ChromeDriverManager 是 webdriver_manager 库的一部分,它用于自动管理 ChromeDriver 的下载和更新。使用 ChromeDriverManager 可以避免手动下载 ChromeDriver 并匹配系统中安装的 Chrome 浏览器版本。以下是 ChromeDriverManager 的基本用法: 步骤 1…...
Linux:认识基础IO
1.理解"⽂件" 1.1狭义理解 ⽂件在磁盘⾥ 磁盘是永久性存储介质,因此⽂件在磁盘上的存储是永久性的 磁盘是外设(即是输出设备也是输⼊设备) 磁盘上的⽂件 本质是对⽂件的所有操作,都是对外设的输⼊和输出 简称 IO 1.2广…...
SimpleMindMap:一个支持AI的思维导图软件
SimpleMindMap(思绪思维导图)是一款开源、跨平台且功能丰富的思维导图工具,支持 Web 端及多平台客户端(Windows、macOS、Linux)。 SimpleMindMap 提供的主要功能如下: 插件化设计,除了核心功能…...
数据库故障排查指南:MySQL 解决常见问题解决
数据库是现代 IT 系统的核心引擎,承载着企业最重要的数据资产。数据库的稳定、高效运行直接关系到业务的生死存亡。然而,由于软硬件、配置、应用访问等多种因素的影响,数据库故障难以完全避免。当故障发生时,能够迅速定位、分析并解决问题,同时确保数据安全不受影响,是每…...
2025年特种作业操作证考试题库及答案(登高架设作业)
一、单选题 202.带电跨越架羊角撑杆高度( )m。 A.1 B.1.1 C.1.2 答案:B 203.跨越架拉线地锚埋深必须按( )及架体设计要求进行。 A.现场情况决定 B.土质情况 C.地锚设计分坑图 答案:C 204.单排脚手架洞口处&#…...
Open CASCADE学习|ApplicationFramework 框架使用指南
在现代 CAD(计算机辅助设计)应用开发中,构建一个高效、可扩展且用户友好的应用程序框架是至关重要的。Open CASCADE(简称 OCC)提供了一个功能强大的 ApplicationFramework(应用程序框架)&#x…...
hadoop中的序列化和反序列化(3)
3. Java的序列化 Java提供了内置的序列化机制,通过java.io.Serializable接口实现。 3.1 如何实现Java序列化 让类实现Serializable接口。 使用ObjectOutputStream进行序列化。 使用ObjectInputStream进行反序列化。 示例代码 序列化 java 复制 import jav…...
PostgreSQL给新用户授权select角色
✅ 切换到你的数据库并以超级用户登录(例如 postgres): admin#localhost: ~$ psql -U postgres -d lily✅ 创建登录的账号机密吗 lily> CREATE USER readonly_user WITH PASSWORD xxxxxxxxxxx; ✅ 确认你授予了这个表的读取权限…...
MySQL 8.0 OCP(1Z0-908)英文题库(1-10)
目录 第1题题目解析正确答案 第2题题目解析正确答案 第3题题目解析正确答案 第4题题目解析正确答案 第5题题目解析正确答案 第6题题目解析正确答案 第7题题目解析正确答案 第8题题目解析正确答案 第9题题目解析正确答案 第10题题目解析正确答案: 第1题 Your MySQL …...
南京市出台工作方案深化“智改数转网联”,物联网集成商从“困局”到“蓝海”!
为落实《江苏省深化制造业智能化改造数字化转型网络化联接三年行动计划(2025-2027年)》,南京市近日出台“工作方案”,部署五大行动17项重点任务,进一步深化全市制造业智能化改造、数字化转型、网络化联接(以…...
系统思考:教育焦虑恶性循环分析
今天和团队的小伙伴一起拆解了一个父母教育焦虑与报班行为之间的系统环路图,报班越多 ➡ 孩子自由时间越少 ➡ 情绪调节力下降 ➡ 学习效率更低 ➡ 成绩不理想 ➡ 家长更焦虑 ➡ 继续加码报班…… 一圈一圈,像是陷入了“焦虑的恶性循环”。 这也是我一直…...
(已完结)完美解决C盘拓展卷是灰色的无法扩容的问题以及如何正确地在WINDOS上从一个盘扩容到C盘
众所周知,window系统在“计算机”管理中自带了一个磁盘管理系统 但是在使用过程中会出现各种各样无法扩容的毛病。 第一:首先排查,大多数人在扩容之前忽视了一点就是,我们现代的很多新机器都是默认开启BitLocker加密的ÿ…...
优选算法系列(8.多源BFS)
简介: 01 矩阵(medium): 题目链接:542. 01 矩阵 - 力扣(LeetCode) 算法: 对于求的最终结果,我们有两种方式: 第⼀种方式:从每⼀个 1 开始&#…...
迈向AI辅助数据分析代码生成的透明性与知识共享
李升伟 摘译 生成式人工智能(AI)及尤其大型语言模型(LLMs)正在改变我们进行数据科学研究的方式. 最显著的例子包括科学家使用该技术与科学数据交互, 回答数据分析问题, 生成数据分析代码以及(重新)撰写科研手稿. 然而遗憾的是&am…...
autojs和冰狐智能辅助该怎么选择?
最近打算做自动化脚本,在autojs和冰狐智能辅助中做选择,不知道该怎么选。没办法只能花费大量时间仔细研究了autojs和冰狐智能辅助,综合考虑功能需求、开发复杂度、编程经验及项目规模等因素。以下是两者的核心对比及选择建议,仅供…...
小数的二进制表示
相信很多人都知道整数的二进制表示方法,但是小数的二进制就不一定了。 想来简单说一下整数的,就是不断的除以2取余数, 大致这样 从下往上取,这里42的结果就是101010 而且每个整数都有他对应的二进制数,但是小数转二…...
信息系统项目管理师-软考高级(软考高项)2025最新(十)
个人笔记整理---仅供参考 第十章项目进度管理 10.1管理基础 10.2项目进度管理过程 10.3规划进度管理 10.4定义活动 选C 10.5排列活动顺序 10.6估算活动持续时间 10.7制订进度计划 制订进度计划4个步骤(背,案例可能会考!) 10.8控制…...
Linux内核初始化机制全解析:从pure_initcall到late_initcall
引言 Linux内核的启动过程是一个高度有序的初始化流程,涉及数百个模块和子系统的协同工作。为了确保依赖关系正确、硬件资源按需分配,内核通过一系列初始化宏(如pure_initcall、subsys_initcall、late_initcall等)将函数划分为不同的优先级,按严格顺序执行。本文将深入探…...
pcie协议复位
pcie协议复位共有4中情况;cold reset;warm reset;hot reset;function level reset; 分类: 依据spec 6.6: Conventional reset(传统复位):cold,…...
boost笔记: Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/.hpp‘
1. 问题描述 因为一下库定义了宏and,导致boost的文件包含and.hpp展开成&.hpp,所以出现以下错误 Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/&.hpp’ 2. 解决方案 在定义宏之前包含boost文件,但这种方案的缺点…...
Xilinx XCKU11P-2FFVA1156I 赛灵思 FPGA AMD Kintex UltraScale+
XCKU11P-2FFVA1156I 属于 AMD Kintex UltraScale™ FPGA 家族,采用 TSMC 20 nm FinFET 工艺,兼顾高性能与功耗效率,提供约 653 100 个逻辑单元、2 928 个 DSP 切片、21.1 Mb Block RAM 和 22.5 Mb UltraRAM,可广泛应用于网络加速、…...
hadoop中的序列化和反序列化(4)
4. Hadoop的序列化 Hadoop提供了自己的序列化机制,用于高效地处理分布式计算中的数据传输。Hadoop的序列化机制比Java的序列化更高效,更适合大规模数据处理。 4.1 Hadoop序列化的特点 高效:Hadoop的序列化格式紧凑,适合大规模数…...
实现引用计数线程安全的shared_ptr
c11引入了三个智能指针,用来自动管理内存,使用智能指针可以有效地减少内存泄漏。 其中,shared_ptr是共享智能指针,可以被多次拷贝,拷贝时其内部的引用计数1,被销毁时引用计数-1,如果引用计数为…...
今日行情明日机会——20250507
指数今天放量上涨,政策层面也释放出重大利好消息~ 上证缺口已补,大盘股表现总体较好 深证60分钟缺口依然未补,等待后续走势~ 2025年5月7日涨停股主要行业方向分析 一、核心主线方向 军工(政策催化地缘驱动) • 涨停…...
配置Hadoop集群-测试使用
(一)上传小文件 上传文件的时候,我们传一个大一点的(>128M),再传一个小一点的。对于大一点的文件,我们要去看看它是否会按128M为单位去拆分这个大文件,而拆分成大文件之后&#…...
MEGA3:分子进化遗传学分析和序列比对集成软件
李升伟 摘译 摘要 在分子进化和群体遗传学的理论基础稳固确立后,比较DNA和蛋白质序列分析在重建物种和多基因家族的进化历史、估计分子进化速率以及推断塑造基因和基因组进化的性质和程度方面发挥了核心作用。随着高通量测序技术和新颖的统计及计算方法的发展&…...
21. LangChain金融领域:合同审查与风险预警自动化
引言:当AI成为24小时不眠的法律顾问 2025年某商业银行的智能合同系统,将百万级合同审查时间从平均3周缩短至9分钟,风险条款识别准确率达98.7%。本文将基于LangChain的金融法律框架,详解如何构建合规、精准、可追溯的智能风控体系…...
7D-AI系列:模型微调之mlx-lm
大模型的出现,导致信息量太大,只有静心动手操作,才能得到真理。 文章目录 环境要求安装示例mlx-lm微调工具参数准备数据集下载模型微调模型合并模型验证结果验证微调前的模型验证微调后的模型 环境要求 macbook pro m系列芯片mlx环境已安装 …...
数据可视化:php+echarts实现数据可视化(包含echart安装引入)
一、实现效果 实现动态时间,多列柱状图,单列柱状图,普通表格,表格动画等效果 二、实现 1、动态时间显示 通过php获取当前时间 设置计时器来动态显示时间秒数 <!-- 时间动画 --> <script>// 动态更新时间中的秒数function updateTime() {const now = new D…...
《Python星球日记》 第47天:聚类与KMeans
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、聚类与…...
linux(centos)联网情况下部署
nginx部署 1.linux(centos)联网情况下部署 1.下载nginx所需依赖 # 安装开发工具组(若未安装) sudo yum groupinstall "Development Tools"# 安装 OpenSSL 开发包 sudo yum install openssl-devel# 安装 PCRE 开发包 sudo yum install pcre-…...
Kubernetes生产级资源管理实战:从QoS策略到OOM防御体系
一、资源限制的本质:不是成本控制,而是稳定性保障 当集群中某个节点的内存耗尽时,Kubernetes会像冷酷的交通警察一样,根据Pod的"优先级证件"(QoS类别)决定哪些Pod需要被驱逐。这种机制直接关系到…...
gcc的使用
gcc 是 GNU Compiler Collection(GNU 编译器套件)的缩写,是 GNU 项目开发的编程语言编译器集合,支持多种编程语言(如 C、C、Objective-C、Fortran、Ada 等)。以下是关于 gcc 的核心信息: 1. 主要…...
聊一聊Qwen3思考模式实现以及背后原理探讨
Qwen3思考模式切换实现 硬开关 我们先通过官方的示例代码来体验一下,如何实现在思考模式和非思考模式之间切换 通过tokenizer.apply_chat_template的enable_thinking参数来实现 默认情况下,Qwen3 启用了思考功能,类似于 QwQ-32B。这意味着…...
spark行动算子
在 Apache Spark 中,行动算子(Action)用于触发对 RDD 的实际计算,并将结果返回给驱动程序(Driver)或保存到外部存储系统中。与转换算子(Transformation)不同,行动算子会立…...