【NX二次开发】Block UI 选择对象
属性说明
| 属性 | 类型 | 描述 | 
| 常规 | ||
| BlockID | String | 控件ID | 
| Enable | Logical | 是否可操作 | 
| Group | Logical | 是否分组 | 
| Show | Logical | 是否可见 | 
| 对齐 | ||
| PointOverlay | Logical | 是否显示捕捉点 | 
| SmartUpdateOption | Enum | 智能更新选项 | 
| SnapPointTypesEnabled | Bits | 设置捕捉点类型的可见性 | 
| SnapPointTypesOnByDefault | Bits | 设置捕捉点内容被启用 | 
| 其他 | ||
| 附件 | ||
| Bottom | Attachment | 底部 | 
| Left | Attachment | 左 | 
| Right | Attachment | 右 | 
| Top | Attachment | 顶部 | 
| 特定于块 | ||
| AllowConvergentObject | Logical | 允许选择收敛体 | 
| AutomaticProgression | Logical | 自动跳到下一个控件 | 
| BalloonTooltipImage | String | 标题气泡提示图片 | 
| BalloonTooltipLayout | Enum | 标题气泡提示类型 | 
| BalloonTooltipText | Utfstring | 标题气泡提示文本 | 
| Bitmap | String | 控件位图 | 
| BlendVirtualCurveOverlay | Logical | 是否显示虚拟交线 | 
| CreateInterpartLink | Logical | 部件间连接图标在选择条 | 
| Cue | Utfstring | 提示 | 
| InterpartSelection | Enum | 部件间选择设置 | 
| LabelString | Utfstring | 标签标题 | 
| MaximumScope | Enum | 设置选择范围 | 
| SelectMode | Enum | 设置单选/多选 | 
| StepStatus | Enum | 设置确定和应用按钮高亮 | 
| ToolTip | Utfstring | 动态提示文本标题 | 
单选模式 Multiple=多选,Single=单选
selection0->GetProperties()->SetEnum("SelectMode",0);
//设置多选还是单选,Multiple=多选,Single=单选
selection0->SetSelectModeAsString("Multiple");    
//设置选择范围:3-整个装配 10-仅工作部件 11-装配和工作
selection0->GetProperties()->SetEnum("MaximumScope", 10);
//设置选择对象控件停在当前,不自动跳到下一个选择控件
selection_Track->Focus();
自动推进到下一个
selection0->GetProperties()->SetLogical("AutomaticProgression",true);
对象选择过滤 只能选组件
1 std::vector< NXOpen::Selection::MaskTriple > maskTriple;
2 Selection::MaskTriple mask1(UF_component_type, 0, 0);
3 maskTriple.push_back(mask1);
4 selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionActionClearAndEnableSpecific, maskTriple);
对象选择过滤 只能选体上圆柱面
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
Selection::MaskTriple mask1(UF_solid_type, UF_solid_body_subtype, UF_UI_SEL_FEATURE_CYLINDRICAL_FACE);
maskTriple.push_back(mask1);
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionActionClearAndEnableSpecific, maskTriple);
对象选择过滤 只能选基准坐标
std::vector< NXOpen::Selection::MaskTriple > maskTriple;
Selection::MaskTriple mask1( UF_coordinate_system_type, 0, 0);
maskTriple.push_back(mask1);
selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionActionClearAndEnableSpecific, maskTriple);
选择片体
https://www.cnblogs.com/KMould/p/14888582.html
选择实体
https://www.cnblogs.com/KMould/p/14888582.html
1 SelectionActionEnableAll/** Include objects in selection 在选择中包含对象*/,
2 SelectionActionEnableSpecific/** Include selected objects in selection 在选择中包括选定的对象 */,
3 SelectionActionDisableSpecific/** Remove selected objects from selection 从选择中删除选定的对象 */,
4 SelectionActionClearAndEnableSpecific/** Clear selection and include selected objects 清除选择并包括选定的对象*/,
5 SelectionActionAllAndDisableSpecific/** Select all objects except for selected objects 选择除已选对象外的所有对象*/
获取控件选择的对象转为tag_t类型
vector<tag_t>vecSelectFaces;
std::vector<TaggedObject*>objects = this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects");
for (int i = 0; i < objects.size(); i++)
{
vecSelectFaces.push_back(objects[i]->Tag());
}
设置控件选择的对象。清空选择
1 vector< NXOpen::TaggedObject * > objectVector;
2 objectVector.clear();
3 this->selection0->SetSelectedObjects(objectVector);
设置控件隐藏
this->selection0->SetShow(false);
selection0->AddFilter(UF_component_type,0,0);
所需头文件
#include <NXOpen/BlockStyler_SelectObject.hxx>
定义
NXOpen::BlockStyler::SelectObject* selection0;// Block type: Selection
初始化
selection0 = dynamic_cast<NXOpen::BlockStyler::SelectObject*>(theDialog->TopBlock()->FindBlock("selection0"));
控件更新回调
else if (block == selection0)
{
//---------Enter your code here-----------
}
【NX二次开发】Block UI 选择对象的更多相关文章
- NX二次开发-Block UI  C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用
		
关于 在Block UI中UF_initialize();和UF_terminate();的使用 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize() ...
 - NX二次开发-Block UI C++界面Enumeration(枚举)控件的获取(持续补充)
		
NX9+VS2012 public: void SetBlockUIShow(); void EnumInt::SetBlockUIShow() { //获取枚举控件 PropertyList* En ...
 - NX二次开发-Block UI C++界面Toggle(开关)控件的获取(持续补充)
		
NX9+VS2012 public: void SetBlockUIShow(); void ToggleInt::SetBlockUIShow() { //获取开关控件 //获取枚举控件 Prope ...
 - NX二次开发-Block UI  C++界面Specify Point(指定点)控件的获取(持续补充)
		
Specify Point(指定点)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_ui.h> UF_initialize(); / ...
 - NX二次开发-Block UI C++界面Face Collector(面收集器)控件的获取(持续补充 )
		
Face Collector(面收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize() ...
 - NX二次开发-Block UI  C++界面Object Color Picker(对象颜色拾取器)控件的获取(持续补充)
		
Object Color Picker(对象颜色拾取器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_init ...
 - NX二次开发-Block UI  C++界面(表达式)控件的获取(持续补充)
		
Expression(表达式)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); // ...
 - NX二次开发-Block UI  C++界面Body Collector(体收集器)控件的获取(持续补充)
		
Body Collector(体收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize() ...
 - 【NX二次开发】Block UI 目录
		
Block UI 目录 基本 标签/位图 切换开关 枚举 字符串 多行字符串 操作按钮 列表框 分割线 对象颜色选择器 RGB颜色选择器 绘图区 图层 ...
 - 【NX二次开发】Block UI 选项卡控件
		
[NX二次开发]Block UI 选项卡控件
 
随机推荐
- MFC ListControl用法合集
			
以下未经说明,listctrl 默认view 风格为report ------------------------------------------------------------------- ...
 - (Py练习)输入某年某月判断天数
			
# 输入某年某月,判断这一天是这一年的第几天 year = int(input("year:\n")) month = int(input("month:\n" ...
 - Day006 可变参数
			
可变参数(不定项参数) 在jdk1.5开始,java支持传递同类型的可变参数给一个方法. 在方法声明中,在指定参数类型后加一个省略号(...). 一个方法只能指定一个可变参数,它必须是方法的最后一个参 ...
 - 将一个eclipse的SSM项目用IDEA打开并运行
			
项目部署 将一个eclipse项目用idea打开,并且 部署到tomcat中 .或者你tomcat部署成功,但是启动就是404,下面的步骤就要更认真看了 项目配置 打开idea,Import Proj ...
 - 从执行上下文(ES3,ES5)的角度来理解"闭包"
			
目录 介绍执行上下文和执行上下文栈概念 执行上下文 执行上下文栈 伪代码模拟分析以下代码中执行上下文栈的行为 代码模拟实现栈的执行过程 通过ES3提出的老概念-理解执行上下文 1.变量对象和活动对象 ...
 - SE_Work0_回顾与展望
			
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:阅读推荐博客并回答问题 热身作业阅读部分要求 我在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个 ...
 - vscode 取消 eslint everywhere
			
vscode装了eslint插件,一不小心点了eslint everywhere 然后任务栏就变成这样了 eslint前面是双钩 不管你打开什么项目,什么工作空间,永远都是默认开启ESlint!!! ...
 - [DB] mysql windows 安装
			
参考 mysql安装 https://www.cnblogs.com/zhangkanghui/p/9613844.html navicat for mysql 中文破解版(无需激活码) https: ...
 - win10家庭版升级 到win10企业版
			
成功升级3小时 20200124 拿到电脑 win10家庭版 不会用 找admin都找不到只能用企业版 升级win10家庭版 到win10企业版 在msdn下载win10企业版iso iso 文件管 ...
 - zabbix监控之用户及用户组
			
一.概述 Zabbix 中的所有用户都通过 Web 前端去访问 Zabbix 应用程序.并为每个用户分配唯一的登陆名和密码. 所有用户的密码都被加密并储存于 Zabbix 数据库中.用户不能使用其用户 ...