【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,从左侧组件里拖拽到右侧预览界面 ...
随机推荐
- 使用QT creator实现一个五子棋AI包括GUI实现(8K字超详细)
五子棋AI实现 五子棋游戏介绍 五子棋的定义 五子棋是全国智力运动会竞技项目之一,是具有完整信息的.确定性的.轮流行动的.两个游戏者的零和游戏.因此,五子棋是一个博弈问题. 五子棋的玩法 五子棋有两种 ...
- 【python】Leetcode每日一题-逆波兰表达式求值
[python]Leetcode每日一题-逆波兰表达式求值 [题目描述] 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说 ...
- Windows server 2003域控迁移到2012
1: windows server 2003 额外域控升级为 windows server 2003主域控 (因为原域控制器某些服务损坏,于是采用将备用域控升级为主域控的方法) https://we ...
- phpstudy2018 开启目录浏览
废话不多说直接开始 一.打开 vhosts-ini 配置文件 二.加入以下内容 注意填写自己的网站根目录 <Directory "你自己的网站根目录"> Option ...
- Scrum Meeting 1
Basic Info where:新主楼 when:2020/4/23 target: 简要汇报一下已完成任务,下一步计划与遇到的问题 Progress Team Member Position Ac ...
- MSSQL·CLI执行T-SQL
阅文时长 | 0.44分钟 字数统计 | 480.8字符 主要内容 | 1.引言&背景 2.详细步骤&排坑指南 3.中途执行异常处理方式 4.声明与参考资料 『MSSQL·CLI执行T ...
- Linux USB ECM Gadget 驱动介绍
1 USB ECM介绍 USB ECM,属于USB-IF定义的CDC(Communication Device Class)下的一个子类:Ethernet Networking Control Mo ...
- Spring的Xml和JavaConfig 扩展你选哪一个?
引言 上一篇文章我们有怎么介绍到如何通过XML的形式来定义Spring的扩展<Spring面试高频题如何:自定义XML schema 扩展>,好多人都在吐槽现在都什么年代了,xml还有人再 ...
- X Sever —— Xorg
X Sever -- Xorg 发表于 2020-03-20 分类于 系统服务 , Xorg 阅读次数:39 阅读次数:48 本文字数: 7k 阅读时长 ≈ 6 分钟 Xorg:基于X11协议的服务 ...
- Mysql_二进制方式安装详解
mysql 安装 1.安装方式 1.二进制安装 2.源码包安装 3.rpm包安装 1.二进制安装 1)上传或者下载包 [root@db01 ~]# rz #或者 [root@web01 ~]# wge ...