【NX二次开发】指定矢量控件,记住上次选择的方向
block UI控件如果有RetainValue属性,就用这个属性。没有这个属性可以参考下面这种方法。以矢量控件为例:

1.在apply_cb回调中,将控件值保存到文本中
double TopForTextDir[3] = { 0.0,0.0,0.0 };
Vector3d vec = this->vector0->GetProperties()->GetVector("Vector");
TopForTextDir[0] = vec.X;
TopForTextDir[1] = vec.Y;
TopForTextDir[2] = vec.Z;
string strFile = "D:\\haha\\temp\\k_cam_BoosCupFace_vector0.temp";
FILE *fp = NULL;
errno_t err = fopen_s(&fp, strFile.c_str(), "w");
fprintf(fp, "%f,%f,%f", TopForTextDir[0], TopForTextDir[1], TopForTextDir[2]);
fclose(fp);
2.在initialize_cb回调中,从文本中读取,设置控件值
string strFile = "D:\\haha\\temp\\k_cam_BoosCupFace_vector0.temp";
FILE *fp = NULL;
errno_t err = fopen_s(&fp, strFile.c_str(), "r");
if (fp != NULL)
{
char szLineContentTemp[501] = "";
fgets(szLineContentTemp, 500, fp);
if (strlen(szLineContentTemp) > 3)
{
if (szLineContentTemp[strlen(szLineContentTemp) - 1] == '\n') szLineContentTemp[strlen(szLineContentTemp) - 1] = '\0';
string strLineTemp = szLineContentTemp;
if (strLineTemp.find(",") != strLineTemp.npos)
{
vector<string> vecTemp;
splitString(strLineTemp, vecTemp, ",");
if (vecTemp.size() == 3)
{
double douDir[3] = { 0.0,0.0,0.0 };
douDir[0] = atof(vecTemp[0].c_str());
douDir[1] = atof(vecTemp[1].c_str());
douDir[2] = atof(vecTemp[2].c_str());
Vector3d vecDir(douDir[0], douDir[1], douDir[2]);
this->vector0->GetProperties()->SetVector("Vector", vecDir);
}
}
}
}
fclose(fp);
其他方法,先记录一下以后再说吧:
你把值读出来,写到部件属性里,在打开工具对话框去部件属性里读出来啊
除了这个方法还有方法,自己做个UDO把那个值 自定义数据管理起来
UDO 再次弹出对话框的时候,就把那个值 显示到 对话框里了
【NX二次开发】指定矢量控件,记住上次选择的方向的更多相关文章
- 【NX二次开发】Block UI 指定矢量
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- NX二次开发-Block UI C++界面Specify Point(指定点)控件的获取(持续补充)
Specify Point(指定点)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_ui.h> UF_initialize(); / ...
- 【NX二次开发】Block UI 选项卡控件
[NX二次开发]Block UI 选项卡控件
- Android开发:文本控件详解——TextView(二)文字跑马灯效果实现
一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...
- Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)
在上一篇blog:python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐 中介绍了python中的tkinter的一些东西,你可能对tkinter有一定的了解了.这篇b ...
- 【NX二次开发】Block UI 目录
Block UI 目录 基本 标签/位图 切换开关 枚举 字符串 多行字符串 操作按钮 列表框 分割线 对象颜色选择器 RGB颜色选择器 绘图区 图层 ...
- Android开发:文本控件详解——TextView(一)基本属性
一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...
随机推荐
- 基于python对B站收藏夹按照视频发布时间进行排序
基于python对B站收藏夹按照视频发布时间进行排序 前言 在最一开始,我的B站收藏一直是存放在默认收藏夹中,但是随着视频收藏的越来越多,没有分类的视频放在一起,想在众多视频中找到想要的视频非常困难, ...
- Solon 的过滤器 Filter 和两种拦截器 Handler、 Interceptor
在web开发中,过滤器.拦截器是经常用到的功能.它可以帮我们限制流量.验证是否登陆.记录日志以及统计执行效率等等. 今天主要交流一下 Solon 框架中的过滤器和拦截器. Solon 是什么框架? S ...
- [MySQL数据库之事务、读现象、数据库锁机制、多版本控制MVCC、事务隔离机制]
[MySQL数据库之事务.读现象.数据库锁机制.多版本控制MVCC.事务隔离机制] 事务 1.什么是事务: 事务(Transaction),顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻 ...
- [bug] IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
原因 jdk版本选低了 解决 将以下几处jdk版本修改为1.8 Project Structure(File->Project Structure...)>Sources>Langu ...
- Linux netperf网络性能测试
Linux netperf网络性能测试 (2013-10-14 16:07:48) 转载▼ 网络性能测量的五项指标 1. 可用性(availability) 测试网络性能的第一步是确定网络是否 ...
- 更新索引库: $locate string 寻找包含有string的路径: $updatedb
更新索引库: $locate string 寻找包含有string的路径: $updatedb 与find不同,locate并不是实时查找.你需要更新数据库,以获得最新的文件索引信息.
- MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态
MegaCli 监控raid状态 转载weixin_30344131 最后发布于2015-10-16 13:05:00 阅读数 简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了 ...
- C语言程序设计#成绩查询系统
学生成绩管理系统 [注释]:请点赞,好人一生平[yi]安[wo]. #codeblocks程序下编写 #include<stdio.h>#include<stdlib.h>// ...
- python基础之错误、调试(异常处理)
在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的. 有的错误是用户输入造成的,比如让用 ...
- 科普 AF摄像头
AF(Auto Focus)自动对焦:自动对焦有两种方式,根据控制原理分为主动式和被动式两种.主动式自动对焦通过相机发射红外线,根据反射回来的射线信号确定被摄体的距离,再自动调节镜头,实现自动对焦.被 ...