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

发布于:2024-02-28 ⋅ 阅读:(91) ⋅ 点赞:(0)

关键代码以及分析

/********************************************************
*	作者:			白雪公主的后妈
*	日期:			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();
}

一键取消透明

一键设置透明

一键设置透明值

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到