Proe Creo 二次开发之查找面的包围盒

模型有计算自己包围盒的二次开发函数,但是有时候我们计算干涉或某几个特征之间的几何关系时,则需要根据面的包围盒进行计算,:

(1)获得指定特征句柄

(2)遍历此特征下的几何项,获得所有面

(3)通过下面方法计算包围盒


				//获取面的边界
				status = ProSurfaceContourVisit(tempSurf,
					(ProSurfaceContourVisitAction)SolidSurface3ParamVisitAction,
					(ProSurfaceContourFilterAction)SolidSurfaceVisitFilter1,
					(ProAppData)&pp_contour);	
				if(status != PRO_TK_NO_ERROR)
				{
					if (NULL != pp_contour)
					{
						status = ProArrayFree((ProArray*)pp_contour);
						if (PRO_TK_NO_ERROR != status)
						{
							return status;
						}
					}

					if (geomItemList.size() == 1)
					{
						return PRO_TK_NO_ERROR;
					}
					else
					{
						continue;
					}
				}

				int iContour = 0;
				p_Contour = *pp_contour;
				status = ProArraySizeGet((ProArray)p_Contour, &iContour);
				if (PRO_TK_NO_ERROR != status)
				{
					return status;
				}

				// 循环:查找外轮廓
				for (int j = 0;j<iContour;j++)
				{
					ProContourTraversal tra;
					status  = ProContourTraversalGet(p_Contour[j], &tra);
					// 判断:是否是外轮廓
					if (tra != PRO_CONTOUR_TRAV_EXTERNAL)	
					{
						continue;
					}

					// 获取包围盒
					status = ProContourBoundbox3dCompute(tempSurf, p_Contour[j], tempBox);
					if (PRO_TK_NO_ERROR != status)
					{
						return status;
					}
				}

				status = ProArrayFree((ProArray*)pp_contour);
				if (PRO_TK_NO_ERROR != status)
				{
					return status;
				}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值