当前位置: 首页 > article >正文

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

文章目录

  • 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.kler.cn/news/16302.html

相关文章:

  • Java学习报培训班好还是自学好?
  • 微服务SpringCloud面试题27问
  • appium-app测试-环境搭建手机和adb设置
  • 四和能聚分析做直播带货的商家通常发布什么类型的短视频
  • 电脑的选择
  • 06.toRef 和 toRefs
  • iOS 多线程使用示例
  • JSP 的本质原理解析:“编写的时候是JSP,心里想解读的是 java 源码“
  • 什么是Java中的反射机制?
  • Syncfusion Essential Studio Enterprise 2023.1 Crack
  • AOSP编译问题
  • 【Bus】编写一个Demo虚拟的总线-设备-驱动模型
  • 电话号码的字母组合
  • 荔枝派Zero(全志V3S)基于QT实现在LCD显示图片
  • 【五一创作】Scratch资料袋
  • 使用邻接矩阵实现有向图最短路径Dijkstra算法 题目编号:1136
  • 32岁阿里P7,把简历改成不知名小公司,学历改成普通本科,工作内容不变,投简历全挂!...
  • 什么是跨域?
  • 谈谈常用Reverse shell,以及他们是怎么做到的。
  • linux下的权限管理
  • gl-opendrive插件(车俩3D仿真模拟自动驾驶)
  • MATLAB | 如何使用MATLAB绘制高度自定义的桑基图(sankey)
  • 废物,我TMD一个985却斗不过专科生(大厂自动化测试2年被裁)
  • Java使用 Scanner连续输入int, String 异常错误输出原因分析
  • 轻叶H5营销单页,让你的营销更加清爽高效
  • 实训笔记1
  • 15-4-线程-线程同步之互斥量加锁解锁
  • matlab绘制折线图基本操作
  • 『python爬虫』04. 爬虫需要知道的HTTP协议知识(保姆级图文)
  • 云和恩墨荣获2023数字中国创新大赛·信创赛道“最具发展潜力奖”等4个奖项