#include <uf_defs.h>
#include <uf_ui_types.h>
#include <uf.h>
#include <uf_ui.h>
#include <uf_modl.h>
#include <uf_obj.h>
#include <uf_modl_primitives.h>
#include <uf_object_types.h>
#include <uf_part.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <NXOpen/Session.hxx>
#include <NXOpen/UI.hxx>
#include <NXOpen/NXMessageBox.hxx>
#include <NXOpen/Callback.hxx>
#include <NXOpen/NXException.hxx>
#include <NXOpen/BlockStyler_UIBlock.hxx>
#include <NXOpen/BlockStyler_BlockDialog.hxx>
#include <NXOpen/BlockStyler_PropertyList.hxx>
#include <NXOpen/BlockStyler_Group.hxx>
#include <NXOpen/BlockStyler_SelectObject.hxx>
#include <NXOpen/BlockStyler_ObjectColorPicker.hxx>
#include <NXOpen/BlockStyler_Enumeration.hxx>
//获取枚举控件
PropertyList *enumProps = enum0->GetProperties();
int corId,colorIndex = enumProps->GetEnum("Value");
delete enumProps;
enumProps = NULL;
switch (colorIndex)
{
case 0: corId = 159; break;
case 1: corId = 4;      break;
case 2: corId = 36;   break;
case 3: corId = 190; break;
case 4: corId = 186; break;
case 5: corId = 104; break;
case 6: corId = 164; break; default:corId = 159;
}
//设置控件颜色
PropertyList *colorPicker = colorPicker0->GetProperties();
vector<int> setColor(1);
setColor[0] = corId;
colorPicker->SetIntegerVector("Value",setColor);
delete colorPicker;
colorPicker = NULL; UF_initialize();
std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("SelectedObjects"); //创建链表
uf_list_p_t List;
UF_MODL_create_list(&List);
//将tag添加到链表
for ( int i=0;i<objects.size();i++) // size 列表长度
{
UF_MODL_put_list_item(List,objects[i]->Tag());
}
//查询链表数量 int Count;
UF_MODL_ask_list_count(List, &Count); tag_t ObjectTag = NULL_TAG;
for (int i = 0; i < Count; i++)
{
//获取链表里的所有tag
UF_MODL_ask_list_item(List, i, &ObjectTag);
//循环上色
UF_OBJ_set_color(ObjectTag,corId);
} //删除链表
UF_MODL_delete_list(&List);
UF_terminate();

  

  

NX二次开发,对象上色的更多相关文章

  1. NX二次开发-UDO用户自定义对象(UFUN)【持续完善】

    每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...

  2. 【NX二次开发】按层查找工作部件中的对象 UF_LAYER_cycle_by_layer

    第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时 ...

  3. 【NX二次开发】查找部件中的对象 UF_OBJ_cycle_objs_in_part

    返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边 ...

  4. 【NX二次开发】获取当前鼠标选择的对象 UF_UI_ask_global_sel_object_list

    先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm ...

  5. 【NX二次开发】根据根据坐标系、对象旋转视图旋转视图uc6434

    uc6434 (); //旋转视图 参数1:如果输入""则旋转当前工作视图参数2:1.按照ABS旋转视图.2.按照WCS选择视图.3.按照参数3旋转视图.4.按照参数4旋转视图参数 ...

  6. NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

    NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...

  7. NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))

    在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...

  8. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

  9. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

  10. 【NX二次开发】Block UI 目录

    Block UI 目录  基本   标签/位图   切换开关   枚举   字符串   多行字符串   操作按钮   列表框   分割线   对象颜色选择器   RGB颜色选择器   绘图区   图层 ...

随机推荐

  1. 升级grafana

    We recommend everyone to upgrade Grafana often to stay up to date with the latest fixes and enhancem ...

  2. IC杂记

    BNF(Backus-Naur Form) 巴科斯范式, 以美国人巴科斯(Backus)和丹麦人诺尔(Naur)的名字命名的一种形式化的语法表示方法,用来描述语法的一种形式体系,是一种典型的元语言.又 ...

  3. verilog Signed与赋值形式

    `timescale 1ns/1ps module test; reg signed[3:0] uu; reg signed[3:0] dd; reg [2:0] extract; reg [4:0] ...

  4. java-文件IO常用操作对比

    文件IO中,常用的方法如下方代码中的readMethod1~8方法所示. 测试了2.5M读100次.100M读3次.250M读1次三种情况,耗时(单位:毫秒)如下: 2.5M读100次 2.5M读10 ...

  5. Delphi 格式化函数Format、FormatDateTime与FormatFloat详解

    目录 Format函数 %d 代表一个整数 %u 代表一个无负号整数 %s 代表字符串 %f 代表浮点数(保留或凑够两位小数点 ) %g 代表浮点数(会去掉多余的 0) %n 代表浮点数(整数部分使用 ...

  6. 【快问快答】为什么NPOI读取表格数据的时候,遇到空格单元值会直接忽略

    答:其实就是Excel文档的问题,具体问题出在哪里不知道,反正尝试换了一份新的文档来进行导入就可以!

  7. 山寨e网通公告

    SHANZGONGG山寨e网通V1.0[换行]软件完全免费,官方绝不会索取任何费用,请勿被骗,后果自负.[换行]如果你有什么更好的建议或者需要哪里改进的地方,请联系作者QQ206044600反馈,前提 ...

  8. watch监听中的deep以及immdiate

    1 deep:深度监听 使用场景:如果是监听的是对象类型,当手动修改对象的某个属性时,发现是无效的,此时需要给监听器添加deep:true. 例如: data:{ obj:{ a:1 } }, wat ...

  9. vue3导出功能

    proxy.$axios.own.get(url,{ responseType: 'blob' //首先设置responseType字段格式为 blob}).then(res => { let ...

  10. Unity打开两个同样的工程,使用mklink.bat来进行同步

    操作步骤 假设存在一个项目xProject: 1.在xProject的同级目录中建立一个文件夹,命名为xProjectCopy 2.在xProject的同级目录中建立一个bat文件,命名为mklink ...