NX二次开发后处理中保存tcl变量值到文本

直接上代码:

static bool GetTclValue(UF_MOM_id_t mom_id, char *szName, char *szInfo, std::string &stValue,bool bShowValue /*= false*/)
{UF_MOM_ask_string(mom_id, szName, (const char **)&szInfo);if (szInfo){stValue = szInfo;if (bShowValue){std::string stInfo = std::string(szName) + " = " + szInfo + "\n";WRITE(stInfo.c_str());}return true;}else{if (bShowValue){std::string stInfo = std::string(szName) + " not found!\n";WRITE(stInfo.c_str());}}return false;
}static bool GetTclArrayValue(UF_MOM_id_t mom_id, char *szName, char *szIndex, char *szInfo, std::string &stValue,bool bShowValue /*= false*/)
{UF_MOM_ask_assoc_string_array(mom_id, szName, szIndex, (char **)&szInfo);if (szInfo){stValue = szInfo;if (bShowValue){std::string stInfo = std::string(szName) + "'s " + szIndex + " = " + szInfo + "\n";WRITE(stInfo.c_str());}return true;}else{if (bShowValue){std::string stInfo = std::string(szName) + "'s " + szIndex + " not found!\n";WRITE(stInfo.c_str());}}return false;
}static bool SaveTclValue(UF_MOM_id_t mom_id, char *szName, char *szInfo, std::string &stValue,bool bShowValue /*= false*/)
{UF_MOM_ask_string(mom_id, szName, (const char **)&szInfo);std::string sDst = std::string(szName) + " = ";if (szInfo){sDst += szInfo;sDst += '\n';}std::string sDir = "C:\\toolInfo";if (!CStdDir::IfAccessDirS(sDir) && !CStdDir::CreateDirS(sDir)){CLOG::Out("创建目录C:\\toolInfo失败!");return false;}CStdFile::SaveTXTLineS("C:\\toolInfo\\toolinfos.txt", sDst, true);return szInfo != nullptr;
}static bool SaveTclArrayValue(UF_MOM_id_t mom_id, char *szName, char *szIndex, char *szInfo, std::string &stValue,bool bShowValue /*= false*/)
{UF_MOM_ask_assoc_string_array(mom_id, szName, szIndex, (char **)&szInfo);std::string sDst = std::string(szName) + "'s "+  szIndex + " = ";if (szInfo){sDst += szInfo;sDst += '\n';}std::string sDir = "C:\\toolInfo";if (!CStdDir::IfAccessDirS(sDir) && !CStdDir::CreateDirS(sDir)){CLOG::Out("创建目录C:\\toolInfo失败!");return false;}CStdFile::SaveTXTLineS("C:\\toolInfo\\toolinfos.txt", sDst, true);return szInfo != nullptr;
}

此代码在获取和保存变量的时候非常方便,有助于NX后处理二次开发的时候快速获取和保存变量,方便调试。

欢迎交流与讨论。

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

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

相关文章

【Spring】快速入门Spring Web MVC

文章目录 1. 什么是Spring Web MVC1.1 MVC1.2 Spring MVC 2. 使用Spring MVC2.1 项目创建2.2 建立连接2.2.1 RequestMapping 注解2.2.2 RestController 注解2.2.3 RequestMapping 使⽤2.2.4 RequestMapping 是什么请求?POST?GET?…&#xff1…

FL Studio21最新中文版DAW数字音频工作站

大概从去年开始,“电子音乐制作技术”成为越来越常见的说法。一开始我们觉得这种说法太过于笼统,因为电子音乐制作的技术早已不限于用在电子音乐,它更像是现代音乐制作技术。毕竟现代化的90%的音乐都是这么做出来的。 对,我们说的…

ESP32-C3 低功耗懒人开关:传统开关轻松上云和本地控制

项目背景 随着科技的快速发展,智能家居已经成为我们日常生活的一部分。而对于基础设施已经配备完毕的家庭而言,对家居设备的智能化改造是一项相对困难的工作。本文将分享一款基于 Wi-Fi 的低功耗懒人开关—— “ESP32-C3 管灯熊猫”。将智能的 “ESP32-…

Spring概述

Spring概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 …

【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)

2024年遥感、测绘与图像处理国际学术会议(RSMIP2024) 2024 International Conference on Remote Sensing, Mapping and Image Processing 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)将于2024年1月19日-21日在中国厦门举行。会议主要围绕遥感、测绘与图像处理等研究领…

蒸散发与植被总初级生产力的区域数据下载、处理与显示

植被总初级生产力(GPP)是指植物通过光合作用吸收的碳,是陆地生物圈和大气之间最大的碳通量,GPP的准确量化对于理解气候变化中生态系统功能、农业生产和碳循环的动态以及对气候的反馈具有重要意义 蒸散发(Evapotranspiration,ET&a…

XTU-OJ 1258-矩阵

编写一个程序,将1~n2按行依次填入nn的矩阵,执行若干条行或者列的循环移动的指令,再将数字按行依次取出。 指令如下: 指令含义L x yx行循环左移y次R x yx行循环右移y次U x yx列循环上移y次D x yx列循环下移y次 输入 第一行是一个整…

Vue3-02_Vue基础入门

背景 这里,跟vue官网的介绍章节稍有差异。官网上侧重组件原理,从浅到深介绍各种组件。后续是系统生态。 教程上更偏路线化,需要用到的优先讲解。完成综合案例。所以我主要按照教程的思路来进行学习。 ◆ 能够知道 vue 的基本使用步骤 ◆ 掌…

threejs(4)-纹理材质高级操作

一、纹理重复_缩放_旋转_位移操作 // 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; // 导入lil.gui import { GUI } from "three/examples/jsm/l…

win10 + VS2017 编译libjpeg(jpeg-9b)--更新

刚刚写了一篇“win10 VS2017 编译libjpeg(jpeg-9b)”, 然后就发现,还有一个更好的方法。因此,重新更新了一篇,作为对比与参考。 需要用到的文件: jpeg-9b.zip win32.mak 下载链接链接…

当生成式AI遇到业务流程管理,大语言模型正在变革BPM

生成式AI对各领域有很大影响,一个方面在于它改变了很多固有业务的工作流。 工作流(Workflow)是业务流程的一种实现方式,一个业务流程往往包含多个工作流范式以及相关的数据、组织和系统。 因此,提及工作流必然离不开业…

13 结构性模式-装饰器模式

1 装饰器模式介绍 在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系. 2 装饰器模式原理 //抽象构件类 public abstract class Component{public abstract void operation(); }…

java spring boot 字符串判空

1、安装依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version></dependency>2、用法 2.1 StringUtils.isNotBlank()&#xff1a;判断参数是否不为空 /*…

StringBoot整合跟请求有关的注解

RequestMapping RequestMapping 注解可以在控制器类上和控制器类中的方法上使用。GetMapping、PostMapping、PutMapping、DeleteMapping、PatchMapping 都是HTTP方法特有的快捷方式RequestMapping的变体&#xff0c;分别对应具体的HTTP请求方式的映射注解 GetMapping GetMap…

React JSX常用语法总结

React JSX语法 什么是React JSX JSX&#xff08;javascript xml&#xff09; 就是JavaScript和XML结合的一种格式&#xff0c;是JavaScript的语法扩展&#xff0c;只要把HTML代码写在JS中&#xff0c;就为JSX。用于动态构建用户界面的Javascript库&#xff0c;发送请求获取数据…

源码角度分析Java 循环中删除数据为什么会报异常

一、源码角度分析Java 循环中删除数据为什么会报异常 相信大家在之前或多或少都知道 Java 中在增强 for中删除数据会抛出&#xff1a;java.util.ConcurrentModificationException 异常&#xff0c;例如&#xff1a;如下所示程序&#xff1a; public class RmTest {public sta…

Django分页功能的使用和自定义分装

1. 在settings中进行注册 # drf配置 REST_FRAMEWORK {DEFAULT_AUTHENTICATION_CLASSES: (# rest_framework_jwt.authentication.JSONWebTokenAuthentication,rest_framework_simplejwt.authentication.JWTAuthentication,rest_framework.authentication.SessionAuthenticatio…

高等数学教材重难点题型总结(六)定积分的应用

本章全是物理题&#xff0c;总的来说计算层面并不难&#xff0c;难点主要在于&#xff1a;对于体积和面积的题&#xff0c;核心在于抽象出面积/体积元素——本质上就是被积函数&#xff1b;对于物理题&#xff0c;基础的物理的公式一定要牢记~ 1.求平面面积 2.求旋转体的体积…

爬虫批量下载科研论文(SciHub)

系列文章目录 利用 eutils 实现自动下载序列文件 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、获取文献信息二、下载文献PDF文件参考 前言 大家好✨&#xff0c;这里是bio&#x1f996;。…

初识《时间复杂度和空间复杂度》

目录 前言&#xff1a; 关于数据结构与算法 1.什么是数据结构&#xff1f; 2.什么是算法&#xff1f; 3.数据结构和算法的重要性 算法效率是什么&#xff1f; 1.怎样衡量一个算法的好坏呢&#xff1f; 2.算法的复杂度是个什么&#xff1f; 时间复杂度 1.时间复杂度的概…