NXOpen二次开发——一键透明、取消透明及设置透明值功能

关键代码以及分析

/********************************************************
*	作者:			白雪公主的后妈
*	日期:			2024-2-27 
*********************************************************/
//函数声明
static void UserUFBaseFun::SetSolidTranslucency();//一键实体透明
static void UserUFBaseFun::SetNoSolidTranslucency();//一键取消实体透明
static void UserUFBaseFun::SetSolidTranslucencyValue(int TranslucencyValue = 65);//一键设置实体透明值

//函数体
void LiangFuns::UserUFBaseFun::SetSolidTranslucency()//设置透明
{
	tag_t workPart = UF_ASSEM_ask_work_part();//获得工作部件
	tag_t bodyTag = NULL_TAG;
	//UF_OBJ_cycle_objs_in_part(workPart, 70, &bodyTag);//遍历获得第一个实体
	UF_OBJ_cycle_objs_in_part(workPart, UF_solid_type, &bodyTag);//遍历获得第一个实体//uf_object_types.h中
	while (bodyTag != NULL_TAG)
	{
		UF_OBJ_set_translucency(bodyTag, 100);//设置透明度,0-100 
		UF_OBJ_cycle_objs_in_part(workPart, 70, &bodyTag);
	}
}

void LiangFuns::UserUFBaseFun::SetNoSolidTranslucency()//设置不透明
{
	tag_t workPart = UF_ASSEM_ask_work_part();//获得工作部件
	tag_t bodyTag = NULL_TAG;
	UF_OBJ_cycle_objs_in_part(workPart, UF_solid_type, &bodyTag);//遍历获得第一个实体//uf_object_types.h中
	while (bodyTag != NULL_TAG)
	{
		UF_OBJ_set_translucency(bodyTag, 0);//设置透明度,0-100
		UF_OBJ_cycle_objs_in_part(workPart, 70, &bodyTag);
	}
}

void LiangFuns::UserUFBaseFun::SetSolidTranslucencyValue(int TranslucencyValue)//设置透明值
{
	tag_t workPart = UF_ASSEM_ask_work_part();//获得工作部件
	tag_t bodyTag = NULL_TAG;
	UF_OBJ_cycle_objs_in_part(workPart, UF_solid_type, &bodyTag);//遍历获得第一个实体//uf_object_types.h中
	while (bodyTag != NULL_TAG)
	{
		UF_OBJ_set_translucency(bodyTag, TranslucencyValue);//设置透明度,0-100
		UF_OBJ_cycle_objs_in_part(workPart, 70, &bodyTag);
	}
}

//函数引用
//自定义头文件
#include "UserUFBaseFun.h"

using namespace LiangFuns;

void MyClass::do_it()
{

	// TODO: add your code here
	UF_initialize();
	UserUFBaseFun::SetSolidTranslucency();
	/*UserUFBaseFun::SetNoSolidTranslucency();*/
	/*UserUFBaseFun::SetSolidTranslucencyValue(80);*/
	UF_terminate();
}

一键取消透明

一键设置透明

一键设置透明值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白雪公主的后妈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值