【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,从左侧组件里拖拽到右侧预览界面 ...
随机推荐
- xxl-job滥用netty导致的问题和解决方案
netty作为一种高性能的网络编程框架,在很多开源项目中大放异彩,十分亮眼,但是在有些项目中却被滥用,导致使用者使用起来非常的难受. 本篇文章将会讲解xxl-job作为一款分布式任务调度系统是如何滥用 ...
- (Py练习)判断能被几个9整除
# 输入一个奇数,判断最少几个9除以该数的结果为整数 # 999999 / 13 = 76923 if __name__ == '__main__': zi = int(input("输入一 ...
- 【mybatis】mybaits generator 逆向工程的使用
mybatis逆向工程官方网站:http://www.mybatis.org/generator/quickstart.html 准备xml文件.如下generator.xml全部内容 <?xm ...
- Redis6.x学习笔记(二)持久化之RDB
前言 最近学习Redis6.x,特做笔记以备忘,与大家共学.课程是从私塾在线下载的,他们把架构师课程都放出来了,大家可以去下载学习,不要钱的,地址是http://t.hk.uy/eK7,课程很不错,值 ...
- MySQL中MyISAM为什么比InnoDB查询快
大家都知道在MySQL中,MyISAM比InnoDB查询快,但很多人都不知道其中的原理. 今天我们就来聊聊其中的原理,另外也验证下是否MyISAM比InnoDB真的查询快. 在探索其中原理之前,我们先 ...
- [刷题] 77 Combinations
要求 给出两个整数n和k,在n个数字中选出k个数字的所有组合 示例 n=4 , k=2 [ [ 1, 2 ] , [ 1, 3 ] , [ 1, 4 ] , [ 2, 3 ] , [ 2, 4 ] , ...
- [Python] 条件 & 循环
条件语句 不加 () 结尾加 : elif else 和 if 成对使用 省略判断条件 String:空字符串为False,其余为True int:0为False,其余为True Bool:True为 ...
- CentOS 7系统中的时间日期设置
修改 CentOS 7系统中的时间日期设置 timedatectl set-ntp no timedatectl timedatectl set-time 2022-06-04 timedatectl ...
- jolokia配置Java监控
wget http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-jvm/1.3.6/jolokia-jvm-1.3.6- ...
- setting>SSH>sessions setting>勾选ssh Keepalive[ MobaXterm】设置保持SSH连接
[ MobaXterm]设置保持SSH连接 ssh远程连接会在无操作时自动断开连接.为了保持程序运行和连接,需要设置保持连接. 1.MobaXterm如果使用了MobaXterm客户端,那么需要在设置 ...