NX二次开发中使用NXOpen的寻找相切面

该代码段展示了一种在NX二次开发中使用NXOpen库获取给定面所有相切面的方法。通过创建FaceTangentRule和ScCollector,可以找到与输入Face相切的其他面。

NX二次开发中NXOpen的相切面

/*
选择一个面返回这个面的所有相切面
@Params: nxopen中的Face *类型
@Return: 返回一个相切面的vector
*/
vector<TaggedObject*> color::GetTangentFaceFormInPutFace(Face* face)
{
	Session *theSession = Session::GetSession();
	Part *workPart(theSession->Parts()->Work());
	Part *displayPart(theSession->Parts()->Display());

	//创建一个相切面规则
	std::vector<Face *> boundaryFaces1(0);
	FaceTangentRule *faceTangentRule1;
	faceTangentRule1 = workPart->ScRuleFactory()->CreateRuleFaceTangent(face, boundaryFaces1, 0.05);

	//创建一个选择规则数组、把相切面规则放进去
	std::vector<SelectionIntentRule *> rules1(1);
	rules1[0] = faceTangentRule1;

	//创建一个收集器、并使用设定好的相切面规则作为参数、替换掉这个收集器的内部对象
	ScCollector *scCollector1 = workPart->ScCollectors()->CreateCollector();
	scCollector1->ReplaceRules(rules1, false);
	//从收集器中获取对象

	return scCollector1->GetObjects();

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值