iCAx开思网

标题: CAA 请教:得到一个面指向材料外的法方向 [打印本页]

作者: hjzwell    时间: 2006-4-4 16:29
标题: CAA 请教:得到一个面指向材料外的法方向
我在一实体上选择一个面,用

CATPathElementAgent * _pPlaneAgent;
_pPlaneAgent = new CATPathElementAgent("PlaneAgent");
_pPlaneAgent->AddElementType(IID_CATPlane);

得到CATPlane后用CATPlaane的GetNormal函数得到面的法方向。可这个法方向有时指向实体内,有时指向实体外。
怎样得到面的指向实体外的法向方向。
作者: xacf    时间: 2006-4-5 10:49
我也想知道!CATIA只遵循右手系,很难判断内外!

[ 本帖最后由 xacf 于 2006-4-5 10:53 编辑 ]
作者: acoka    时间: 2006-4-5 11:51
CATIA对面或线的方向很弱,做和面方向有关的东西,最好和catia的打孔之类的一样搞个方向反转箭头出来,

下面的方法可以试试看
1,取得面的CATBody
2,从Body得到CATShell
3,用CATShell::GetCell( )求 CATOrientation 和CATFace
4, CATFace::GetSurface(CATOrientation &) 再求一次指向
用这2个指向可以判断出你要的的方向
能不能准确求出,还和你用什么模式来对这个实体的面(BRep面)进行featurize有关,否则pocket之类的面方向会相反
作者: hjzwell    时间: 2006-4-5 21:08
谢谢acoka兄。
用CATFace::GetSurface(CATOrientation &)获得指向,再用CATFace得到对应的几何CATPlane。
用得到的CATPlane调用GetNormall函数得到该CATPlane的垂直方向。
该垂直方向配合CATOrientation指向的确可以获得正确的指向材料外的平面法线方向。
但是我发现如该平面与基准面共面时,用上述方法判断就不行了,得特别处理。不知为何会有这种特殊情况。
》能不能准确求出,还和你用什么模式来对这个实体的面(BRep面)进行featurize有关,否则pocket之类的面方向会相反
acoka提醒的好,我会尝试一下




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3