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

NX二次开发:ListingWindow窗口的应用

一、概述

        在NX二次开发的学习中,浏览博客时发现看到[社恐猫]和[王牌飞行员_里海]这两篇博客中写道有关信息窗口内容的打印和将窗口内容保存为txt,个人人为在二次开发项目很有必要,因此做以下记录。

ListingWindow信息窗口发送信息四种位置类型

设置ListingWindow信息窗口发送信息的位置

二、显示类型

2.1信息只显示在ListingWindow信息窗口

关键代码:

	UF_initialize();//启动计时器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//创建块UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//结束计时器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印统计信息std::ostringstream temp;temp << "耗时:cpu time:" << ValueTime.cpu_time << "\n" << "耗时:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口内容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow,"");//默认类型可省略if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();UF_terminate();

2.2信息只保存在ListingWindow窗口D:\\GetRunningTime.txt

关键代码:

	UF_initialize();//启动计时器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//创建块UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//结束计时器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印统计信息std::ostringstream temp;temp << "耗时:cpu time:" << ValueTime.cpu_time << "\n" << "耗时:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口内容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();//信息只保存在ListingWindow窗口D:\\GetRunningTime.txtlist->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeFile, "D:\\GetRunningTime.txt");if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow, "");UF_terminate();

2.3信息显示在ListingWindow窗口并保存信息内容至D:\\GetRunningTime.txt

关键代码:

	UF_initialize();//启动计时器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//创建块UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//结束计时器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印统计信息std::ostringstream temp;temp << "耗时:cpu time:" << ValueTime.cpu_time << "\n" << "耗时:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口内容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();//信息显示在ListingWindow窗口并保存信息内容至D:\\GetRunningTime.txtlist->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeFileAndWindow, "D:\\GetRunningTime.txt");if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow,"");UF_terminate();

2.4DeviceType::DeviceTypeNone既不显示在ListingWindow窗口,也不保存信息至D:\\GetRunningTime.txt这里不进行说明。

http://www.lryc.cn/news/309110.html

相关文章:

  • 设计模式-结构型模式-外观模式
  • C++学习第四天(类与对象下)
  • 【AI Agent系列】【MetaGPT多智能体学习】0. 环境准备 - 升级MetaGPT 0.7.2版本及遇到的坑
  • python自动化管理和zabbix监控网络设备(无线AC控制瘦ap配置部分)
  • XSS中级漏洞(靶场)
  • etcd java 客户端jetcd库踩坑日志
  • <网络安全>《61 微课堂<第1课 南北向流量是什么?>》
  • Day12-【Java SE进阶】JDK8新特性:Lambda表达式、方法引用、常见算法、正则表达式、异常
  • go mod中如何解决 xxx/yyy/lib@v1.1.0: unrecognized import path
  • 比较Python和Rust的内存管理机制
  • Linux系统——Shell脚本——一键安装LNMP
  • 算法复习之二分【备战蓝桥杯】
  • 如何做代币分析:以 SHIB 币为例
  • Springboot+vue的考勤管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • https://htmlunit.sourceforge.io/
  • 回文链表(leetcode)
  • 大语言模型(LLM)技术名词表(一)
  • C++ 快速排序快速选择
  • 雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容
  • SpringBoot底层原理
  • 【golang】25、图片操作
  • kswapd0挖矿病毒攻击记录
  • 如何使用 takeUntil RxJS 操作符来声明性地管理订阅
  • 在Centos中用Docker部署oracle-12c
  • JS进阶——高级技巧
  • TG-ADMIN 权限管理系统
  • 十五届蓝桥杯第三期模拟赛题单(C++、java、Python)
  • 嵌入式驱动学习第一周——git的使用
  • 界面控件DevExpress .NET MAUI v23.2新版亮点 - 拥有全新的彩色主题
  • 大语言模型LLM Pro+中Pro+(Prompting)的意义