【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 选项卡控件
随机推荐
- WSL2+Ubuntu配置Java Maven Hadoop Spark环境
所需文件: 更新日期为2021/5/8: Linux 内核更新包 JDK1.8 maven3.8.1 hadoop3.3.0 spark3.1.1 WSL?WSL2? WSL是适用于 Linux 的 ...
- 使用navicat连接阿里云上mysql
使用宝塔面板安装mysql Linux基本内容,里面有涉及到安装Mysql 修改密码 而且也要在数据库的菜单中设置root密码 修改后密码后进行登录,就不会出现下面的报错了 [root@centos7 ...
- 初始化mysql报错bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
原因:缺少libaio.so.1 解决办法:安装即可 yum install -y libaio
- Spring Cloud Gateway + Nacos(1)简单配置
当初我学习时候就是参考这位大佬的博客: Nacos集成Spring Cloud Gateway 基础使用 现在学习到spring cloud alibaba 使用nacos做服务中心,dubbo做通信 ...
- java使用户EasyExcel导入导出excel
使用alibab的EasyExce完成导入导出excel 一.准备工作 1.导包 <!-- poi 相关--> <dependency> <groupId>org. ...
- [bug] IDEA中解决程序包javax.servlet不存在
参考 https://blog.csdn.net/qq_41283865/article/details/81865806
- Kibana常用语法
GET brand201811_v2/_search 方法一:查询数据源,及相关url的文章 { "query": { "bool": { "must ...
- make clean 清除之前编译的可执行文件及配置文件。 make distclean 清除所有生成的文件。
https://blog.csdn.net/bb807777/article/details/108302105 make clean 清除之前编译的可执行文件及配置文件.make distclean ...
- 【转载】认识SSD的SATA、mSATA 、PCIe和M.2四种主流接口
认识SSD的SATA.mSATA .PCIe和M.2四种主流接口 2018-09-25 • 工具 • 评论关闭 认识SSD的SATA.mSATA .PCIe和M.2四种主流接口
- 服务器硬件必须支持M2 或PCIE才能支持NVME
兆芯服务器不支持NVME. 服务器硬件必须支持M2 或PCIE才能支持NVME.1 因为物理接口只有M2 SATA 和PCIE这三中但是NVME只支持M2 和PCIE这2种2所以 NVME不支持SAT ...