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

NX二次开发——NX二次开发-检查点是否在面上或者体上

目录

1、采用点的tag值,判断点是否在面上

2、采用点的坐标值,判断点是否在面上

3、c#的形式

3.1 首先,通过该方法查找点所在的体上,位置关系为点在对象上

3.2 再通过该方法,找到点所在面,并输出面


摘要:本文介绍了在NX二次开发中判断点在面上或体上的两种方法。第一种通过点的tag查询其父对象是否为面;第二种使用UF_MODL_ask_point_containment函数,通过点坐标和对象判断位置关系(内/外/上)。同时在C#中可使用AskPointContainment方法实现类似功能,并给出查找点所在面的具体流程:先定位点在体上,再确定所在面。这些方法适用于BlockUI选点时确定点与几何对象的位置关系。

1、采用点的tag值,判断点是否在面上

BOOL NXOpen_LongRoundHole::IsPointOnFace(tag_t pointTAG)
{BOOL PointOnFace = false;try{tag_p_t parents = NULL;int num = 0;UF_SO_ask_parents(pointTAG, UF_SO_ASK_ALL_PARENTS, &num, &parents);tag_t face_tag = NULL;for (int i = 0; i < num; i++){int type, subtype;UF_OBJ_ask_type_and_subtype(parents[i], &type, &subtype);if (type == 70 && subtype == 2){face_tag = parents[i];PointOnFace = true;break;}}}catch (exception& ex){//---- Enter your exception handling code here -----NXOpen_LongRoundHole::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());}return PointOnFace;
}

2、采用点的坐标值,判断点是否在面上

		UF_MODL_ask_point_containment(double point[3],tag_t body_tag,//体或面int* pt_status);//1 = 点在体内 或面内//2 = 点在体外 或面外//3 = 点在体表  或表面

3、c#的形式

在基于NX软件,通过二次开发实现某些功能的过程中,需要知道某些点是否在面上或者体上,从而来解决某些问题。例如,用Block UI选择点的时候,找到该点所在的面或者边。可以利用UF函数中提供的方法:UF_MODL_ask_point_containment实现。在C#中是AskPointContainment。

该方法通过输入的点坐标和某个具体的对象,输出点相对于该对象的位置关系。具体对象包括:面、边、实体、片体;位置关系包括点在对象里面、点在对象上和点在对象外面。只有实体存在点在对象里面。

下面举一个在一个部件中查找到某个点所在的面的例子,详细情况如下:

3.1 首先,通过该方法查找点所在的体上,位置关系为点在对象上

3.2 再通过该方法,找到点所在面,并输出面

http://www.dtcms.com/a/267413.html

相关文章:

  • MPLS 多协议标签交换
  • Python实例题:基于 Python 的简单聊天机器人
  • springsecurity5配置之后启动项目报错:authenticationManager cannot be null
  • LangChain4j 框架模仿豆包实现智能对话系统:架构与功能详解
  • windows 安装 wsl
  • 基于matlab卡尔曼滤波器消除噪声
  • 点击方块挑战小游戏流量主微信小程序开源
  • Java+Vue开发的进销存ERP系统,集采购、销售、库存管理,助力企业数字化运营
  • 浏览器与服务器的交互
  • 深度学习图像分类数据集—百种鸟类识别分类
  • STM32中实现shell控制台(shell窗口输入实现)
  • 结构型智能科技的关键可行性——信息型智能向结构型智能的转变(修改提纲)
  • rk3128 emmc显示剩余容量为0
  • kubectl exec 遇到 unable to upgrade connection Forbidden 的解决办法
  • 浅度解读-(未完成版)浅层神经网络-多个隐层神经元
  • 解决el-select数据类型相同但是显示数字的问题
  • Python-函数、参数及参数解构-返回值作用域-递归函数-匿名函数-生成器-学习笔记
  • 从数据洞察到设计创新:UI前端如何利用数字孪生提升用户体验?
  • 【算法笔记】4.LeetCode-Hot100-数组专项
  • 操作系统---I/O核心子系统与磁盘
  • Linux操作系统之文件(四):文件系统(上)
  • pyspark大规模数据加解密优化实践
  • NVMe高速传输之摆脱XDMA设计13:PCIe初始化状态机设计
  • 2025 Centos 安装PostgreSQL
  • Java类变量(静态变量)
  • LangChain:向量存储和检索器(入门篇三)
  • 【Qt】qml组件对象怎么传递给c++
  • appnium-巨量测试
  • LVGL移植(外部SRAM)
  • ESP32-S3开发板播放wav音频