UG NX二次开发(C++)-建模-修改NXObject或者Feature的颜色(一)

news/2024/10/31 3:30:45/

文章目录

  • 1、前言
  • 2、在UG NX中修改Feature的颜色操作
  • 3、采用NXOpen(C++)实现
    • 3.1 创建修改特征的方法
    • 3.2 调用ModifyFeatureColor方法
    • 3.3 测试结果


1、前言

在UG NX中,改变NXObject和Feature的操作是不相同的,所以其二次开发的代码也不一样,我们这篇文章介绍一下修改特征的颜色,在下一篇文章中介绍一下修改NXObject对象的颜色。

2、在UG NX中修改Feature的颜色操作

以下面的长方体为例,长方体是一个特征。
在这里插入图片描述
在过滤器中设置为:“无选择过滤器”,默认情况下是选择的特征;
在这里插入图片描述
也可以将过滤器设置为:“特征”
在这里插入图片描述
这样,在视图区选择一个对象,点击右键,弹出右键菜单:

在这里插入图片描述
选择“指派特征颜色”,弹出如下的对话框:
在这里插入图片描述
设置“指定颜色”,在“面颜色”的选择框中点击,弹出“对象颜色”的调色板
在这里插入图片描述
在调色板中选择需要的颜色,则特征修改为指定的颜色,如下图所示:
在这里插入图片描述
则指派特征颜色成功。

3、采用NXOpen(C++)实现

3.1 创建修改特征的方法

/// <summary>/// 修改特征颜色/// </summary>/// <param name="feature"></param>/// <param name="color"></param>void UFModel::ModifyFeatureColor(Features::Feature* feature, NXOpen::NXColor* color){NXOpen::Features::ColorFeatureBuilder* colorFeatureBuilder1;colorFeatureBuilder1 = workPart->Features()->CreateColorFeatureBuilder();colorFeatureBuilder1->SetSpecifyColor(NXOpen::Features::ColorFeatureBuilder::OperationTypeNoColor);std::vector<NXOpen::Features::Feature*> objects1(1);	objects1[0] = feature;bool added1;added1 = colorFeatureBuilder1->SelectFeature()->Add(objects1);colorFeatureBuilder1->SetSpecifyColor(NXOpen::Features::ColorFeatureBuilder::OperationTypeSpecifyColor);colorFeatureBuilder1->SetColor(color);NXOpen::NXObject* nXObject1;nXObject1 = colorFeatureBuilder1->Commit();	colorFeatureBuilder1->Destroy();}

3.2 调用ModifyFeatureColor方法

在do_it()中添加调用的代码

void UFModel::do_it(){			std::vector< NXOpen::TaggedObject* > any_objs = select_any_objects();	NXObject* nXObject = dynamic_cast<NXOpen::NXObject*>(any_objs[0]);Body* body(dynamic_cast<NXOpen::Body*>(workPart->Bodies()->FindObject(nXObject->JournalIdentifier())));NXOpen::Features::Feature* feature = body->GetFeatures()[0];NXOpen::NXColor* color(workPart->Colors()->Find("Medium Orange"));ModifyFeatureColor(feature,color);}

3.3 测试结果

原始模型为:
在这里插入图片描述
调用dll:
在这里插入图片描述
选择特征:
在这里插入图片描述

结果为:
在这里插入图片描述


http://www.ppmy.cn/news/58645.html

相关文章

基于松鼠算法的极限学习机(ELM)回归预测-附代码

基于松鼠算法的极限学习机(ELM)回归预测 文章目录 基于松鼠算法的极限学习机(ELM)回归预测1.极限学习机原理概述2.ELM学习算法3.回归问题数据处理4.基于松鼠算法优化的ELM5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;本文利用松鼠算法对极限学习机进行优化&#xff0c;并…

unity NGUI使用方法

基本用法 很多基本模块比如按钮、slider等都能从Prefab中直接拖拽到场景中实现&#xff0c;但都需要有一个Collider&#xff08;Prefab已经自带&#xff09; 因为不仅是UI&#xff0c;所有带有Collider的游戏物体都能接收到OnClick&#xff0c; OnPress这样的事件——前提是需…

加强网络风险生命周期

当今业务环境中云原生应用程序的激增帮助组织简化了运营。 企业现在可以近乎实时地监控数据、与客户互动并分享见解&#xff0c;帮助他们克服曾经阻碍生产力的低效率问题。 然而&#xff0c;使用云也极大地扩展了企业可利用的攻击面。 CSPM、CWPP、CNAPP、SAST、SCA、IaC、D…

GO数组切片-线性数据结构

数据结构 类型 什么是类型 &#xff1f; 内存中的二进制数据本身没有什么区别&#xff0c;就是一串0或1的组合。 内存中有一个字节内容是0x63&#xff0c;他究竟是深恶 字符串?字符&#xff1f;还是整数&#xff1f; 本来0x63表示数字 但是文字必须编码成为0和1的组合 才能记…

Photoshop如何使用绘画和图像修饰之实例演示?

文章目录 0.引言1.给图像添加渐变色效果2.快速创建一副素描画3.清除图像中多余的景物4.快速融合两张图像5.调整图像光影6.人像面部瑕疵修除7.美化眼睛 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对PS进行了学习&#xff0c;本文通过《Photoshop2021入门教程》及其…

全面带你了解AIGC的风口

前言 一、AIGC的介绍 二、AIGC 的几个主要作用 三、实现AIGC过程的步骤 四、科技新赛道AIGC开始火了 五、AIGC对世界产生广泛的影响 六、AIGC技术的主要风口 &#x1f618;一、AIGC的介绍 AIGC (AI Generated Content) 是指通过人工智能技术生成的各种类型的内容&#xff0c;…

ArduPilot之开源代码基础知识Threading概念

ArduPilot之开源代码基础知识&Threading概念 1. 源由2. 基础知识2.1 The timer callbacks2.2 HAL specific threads2.2.1 AP_HAL_ChibiOS2.2.2 AP_HAL_Linux2.2.3 AP_HAL_ESP32 2.3 driver specific threads2.4 ardupilot drivers versus platform drivers2.5 platform spe…

得帆智改数转系列《SAP新一代集成白皮书》-SAP集成现状概述

SAP集成现状 SAP系统一直被视为全球ERP产品的领导者&#xff0c;国内有很多大型知名企业都是SAP的使用者。伴随着企业业务的发展&#xff0c;SAP使用逐渐深化&#xff0c;为满足业务需求&#xff0c;不可避免需要和其他业务系统集成打通&#xff0c;实现数据传输。目前企业实现…