NX二次开发,判断面是否闭环面

方法一:通过UV参数判断,前提条件输入的是圆柱/圆锥面

double uv_min_max[4];
UF_MODL_ask_face_uv_minmax(face, uv_min_max);
double val = uv_min_max[1]-uv_min_max[0];
if(fabs(val - 2*PI) < 0.05)
{
//是闭环的
}

方法二:通过PK函数判断,此函数适用所有类型面,包括B取面

bool IsPreiodicFace(tag_t face)
{
	bool isPer = false;
	if(face == NULL_TAG)
	{
		returu isPer;
	}
	
	uf_initialize();
	
	tag_t psTag = NULL_TAG;
	UF_PS_ask_ps_tag_of_object(face, &psTag);
	
	PK_PARAM_periodic_t periodic_u;
	PK_PARAM_periodic_t periodic_v;
	PK_FACE_is_periodic(psTag, &periodic_u, &periodic_v);
	if(periodic_u==PK_PARAM_periodic_yes_c||periodic_v == PK_PARAM_periodic_yes_c)
		isPer = true;
		
	UF_terminate();
	
	return isPer;
}

以上方法经过一些测试,目前还未发现问题。如有同道发现问题,望留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值