#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. feign返回值解决反序列化对象嵌套List失败的问题

    文摘 问题描述 当用feign client远程调用时,返回的复杂对象反序列化报错. 错误信息: Caused by: com.fasterxml.jackson.databind.exc.Misma ...

  2. Linux 升级 gcc g++

    Linux 升级 gcc g++ Centos7 上升级 gcc g++ # yum -y install centos-release-scl # yum -y install devtoolset ...

  3. python菜鸟学习: 12. 装饰器的中级用法

    # -*- coding: utf-8 -*-username = "liyuzhoupan"password = "123"def author(wrappr ...

  4. [转]md Typora旧版免费安装包(多平台版本)

    typora旧版免费安装包: 链接:https://pan.baidu.com/s/1pIqeO2nTJ9_s16IZj6z3sA?pwd=gut4 提取码:gut4 v1.0以上的版本都要收费了,我 ...

  5. springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy

    springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy   这两天自己在玩虚拟机,想把 ...

  6. 浏览器是如何区分http和https协议的

    浏览器的默认解析 我们在浏览器的地址栏中输入一个域名 taobao.com(不要按回车), 然后将地址栏进行复制,粘贴到文本文件后,发现是 http://taobao.com/. 这是浏览器的默认解析 ...

  7. EhLib 9安装

    EhLib 9安装 安装EhLib: 在Installer文件夹里找到EhLibInstaller.exe,右键以管理员权限运行EhLibInstaller.exe. 按照提示一路安装下来,顺利完成. ...

  8. faker函数造数据

    from faker import Fakerimport timeimport datetimet = time.time()import random# fake= Faker()# fake.n ...

  9. CH32V00+WS2812制作音乐谱显示

    CH32V003,自带运放.SPI.PWM等外设模块,关键还便宜,便宜,便宜! 可以尝试来实现一个低成本的音乐谱显示. 1. 硬件设计 显示方面,使用64颗ws2812组成8*8的显示阵列,通过 CH ...

  10. 在QAS里面,建立副本请求