实例:NX二次开发批量判断相连曲线是否封闭

 一、概述

        最近学习曲线命令,前几天看到,在NX二次开发群里有人推了一篇关于写求取封闭曲线面积的文章。之前我已经写过一篇博客了,今天讲这些函数进行封装到自己的NX二次开发库中,方便今后调用,由于自身不是计算机科本出身,基础较差,先基本的封装一下,最后有时间,或者学到新的方法再次封装,目前自己的函数运行基本没什么问题。半年前自己还是不会安装VS软件的人,利用打游戏时间学习,现在已经可以开发出简单的NX小插件了(下图显示的是包含界面的,还有好多练习的功能没有放),废话不说了进入正题。

二、功能解析

1、NX二次开发批量判断相连曲线是否封闭

2、批量获得相连曲线是否封闭及其相连曲线的tag值

三、代码解析

                自己封装的函数如下:GetLinkOrTangencyEdge()

/***************************************************************************************************
**Function:				GetLinkOrTangencyEdge	批量获取相连曲线是否封闭及TAG值
**input:				vecLinkOrTangencyEdge	存放相连曲线的tag值;vecEdge对象选择器选中对象的tag值
**output:				vector<int>				判断各相连曲线是否封闭:1,封闭;2,不封闭
****************************************************************************************************/
int NXopenC_Ask_CloseCurveArea::update_cb(NXOpen::BlockStyler::UIBlock* block)
{try{if(block == selection0){//---------Enter your code here-----------std::vector<NXOpen::TaggedObject*> Object = selection0->GetSelectedObjects();vector<tag_t> curveTag;for (int i = 0; i < (int)Object.size(); i++){curveTag.push_back(Object[i]->Tag());}vector<vector<tag_t>> vecLinkOrTangencyEdge;vector<int> CurveIsClose = UserUFBaseFun::GetLinkOrTangencyEdge(vecLinkOrTangencyEdge, curveTag);for (int j = 0; j < (int)vecLinkOrTangencyEdge.size(); j++){for (int m = 0; m < (int)vecLinkOrTangencyEdge[j].size(); m++){char msg[256];sprintf(msg, "%d", (vecLinkOrTangencyEdge[j])[m]);UserUFBaseFun::PrintMessage(msg, false);}if (CurveIsClose[j] == 1){UserUFBaseFun::PrintMessage("曲线围成的图形封闭");}else{UserUFBaseFun::PrintMessage("曲线围成的图形不封闭");}UserUFBaseFun::PrintMessage("\n");}}}catch(exception& ex){//---- Enter your exception handling code here -----NXopenC_Ask_CloseCurveArea::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/573660.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.Python数据分析—数据分析入门知识图谱索引(知识体系下篇)

4.Python数据分析—数据分析入门知识图谱&索引-知识体系下篇 一个人简介二机器学习基础2.1 监督学习与无监督学习2.1.1 监督学习&#xff1a;2.1.2 无监督学习&#xff1a; 2.2 特征工程2.3 常用机器学习算法概述2.3.1 监督学习算法&#xff1a;2.3.2 无监督学习算法&#…

阿里云ubuntu服务器搭建可视化界面

连接终端 最好初始化服务器的时候 不要以root权限创建 否则会出错 1更新软件: sudo apt-get update2安装ubuntu desktop : sudo apt-get install ubuntu-desktop3 配置ubuntu desktop并重启: sudo apt-get -f install sudo dpkg-reconfigure ubuntu-desktop sudo reboot4 su…

2024年新算法-美洲狮优化算法(PO)优化CNN-BiLSTM-附代码

美洲狮优化算法&#xff08;PO&#xff09;是一种启发式优化算法&#xff0c;灵感来源于美洲狮狩猎时的觅食行为。这种算法通过模拟美洲狮寻找猎物的过程来寻找最优解。在你提到的情况下&#xff0c;将这种算法应用于优化CNN-BiLSTM模型进行数据回归预测可能会有所帮助。 CNN-…

【蓝桥杯省赛真题34】python积木搭建 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

python积木搭建 第十三届蓝桥杯青少年组python比赛省赛真题 一、题目要求 &#xff08;注&#xff1a;input&#xff08;&#xff09;输入函数的括号中不允许添加任何信息&#xff09; 1、编程实现 小蓝和小青在玩积木搭建游戏&#xff0c;具体玩法如下: 小蓝报一个数字N&…

ZC706+AD9361 运行 open WiFi

先到github上下载img&#xff0c;网页链接如下&#xff1a; https://github.com/open-sdr/openwifi?tabreadme-ov-file 用win32 Disk lmager 把文件写入到SD卡中&#xff0c;这一步操作会把SD卡重新清空&#xff0c;注意保存数据。这个软件我会放在最后的网盘链接中 打开linu…

计算机网络(二)物理层

物理层 一、通信基础1.奈氏准则、香农定理2.编码与调制3.电路交换、报文交换、分组交换 二、 传输介质、设备1.导向性传输介质&#xff1a;1.1双绞线1.2 同轴电缆1.3光纤 2.非导向性传输介质&#xff1a; 一、通信基础 信道带宽&#xff1a;信道能通过的最高频率和最低频率之差…

ECP-PTP-001 核算范围ZZ同步问题

最近一直在做ECP payroll的项目&#xff0c;原来有接触过CPI&#xff0c;所以PTP的主数据复制相对来说就简单很多&#xff0c;但是ECP payroll整体实施难度与SAP hcm相差不大&#xff0c;比较麻烦的就是PCC与PTP相关知识&#xff0c;今天就遇到一个奇葩问题,如果工资核算范围是…

[激光原理与应用-80]:PLC通信协议之-OMRON欧姆龙FINS TCP通信协议详细解析

目录 一、OMRON欧姆龙 PLC简介 1.1 OMRON欧姆龙 PLC 1.2 OMRON欧姆龙 PLC通信协议简介 1.3 通信架构 二、欧姆龙FINS协议简介 2.1 简介 2.2 协议分层 2.3 OMRON&#xff08;欧姆龙&#xff09;FINS协议的本质 2.4 OMRON&#xff08;欧姆龙&#xff09;FINS&#xff08…

GRU实现时间序列预测(PyTorch版)

&#x1f4a5;项目专栏&#xff1a;【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战&#xff08;附代码数据集原理介绍&#xff09; 文章目录 前言一、基于PyTorch搭建GRU模型实现风速时间序列预测二、时序数据集的制作三、数据归一化四、数据集加载器…

踩坑uniapp中打包Andiord app,在真机调试时地图以及定位功能可以正常使用,打包成app后失效的问题

首先看到这是uni官网提出的&#xff0c;app上建议使用高德地图。 下面就用高德地图进行配置。 步骤一&#xff1a;登陆高德地图控制台 名称和类型根据自己情况填写选择即可 步骤二&#xff1a; 添加key 步骤三&#xff1a;取到SHA1 进入uniapp开发官网 点击应用名称&#…

深度好文:解决Ubuntu 18.04安装nvidia显卡驱动,导致内核不匹配:无需重装系统修复内核

深度好文&#xff1a;解决Ubuntu 18.04安装nvidia显卡驱动&#xff0c;导致内核不匹配&#xff1a;无需重装系统修复内核 目录 一、问题描述二、尝试修复三、安装Nvidia驱动和CUDA并配置cuDNN四、总结 一、问题描述 昨天打算更新一下Ubuntu 18.04的显卡驱动&#xff0c;以支持…

使用OpenXlab下载数据集(推荐)

OpenXLab浦源面向人工智能领域开发者和使用者,提供一站式AI开发平台。提供包括应用开发,模型免费托管,数据集下载等服务 官方网址:https://openxlab.org.cn/datasets?lang=zh-CN 提供了6622种数据集, 涉及计算机视觉、自然语言处理、多模态、通用机器学习、音频识别以及其他…