PLM之家PLMHome-国产软件践行者

Catia二次开发源码分享:获得几何图形集等节点

  [复制链接]

2018-2-22 13:14:09 2759 0

admin 发表于 2018-2-22 13:14:09 |阅读模式

admin 楼主

2018-2-22 13:14:09

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
获得几何图形集等节点- d+ Z5 e" c9 d9 L# I8 S( G% m4 [: w( M

: ]- i% [1 V& i' |/ e
0 p: C& |% p( J5 Y1 b; z
例 1:获得零件中的所有几何体的代码如下。
1 q1 {" `! z# [( Z% YCATIPartRequest *pIPartRequest =NULL ;
# k* L: }3 _1 N7 [: m( N  BHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );# G6 D$ h' Z; ]  ~5 z
if ( SUCCEEDED(rc) )
6 J4 t/ R9 H8 a9 P; ^( X) e1 J{
$ A- y* G! S" @3 G) YCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
' B, Q" [% A5 n. K( [$ X  W8 MCATUnicodeString ViewContext ="MfDefault3DView" ;# E: F; k& B! O" b, G3 a
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);5 b$ |4 V6 U# x) U# I& Q
}0 C! z% k+ b7 A" R/ F2 T/ }& f6 _
例2:获得零件中的所有有序几何图形集的代码如下。; d6 f/ u1 K. O5 i2 `
CATIDescendants_var spDescendantsOnPart = spPrtPart;
& k. V' y8 D# Z6 PCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
( ]: d# e) c% x7 @3 u6 I# E' HpiDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
3 l! U( v/ I' V- w; P例3:获得零件几何体的代码如下。
+ z1 c  P: V1 f: y) @' j6 Q3 W2 v4 hCATBaseUnknow_var spMainBody;//零件几何体" P0 z7 X2 n9 W" T' U
pIPartRequest->GetMainBody(ViewContext,spMainBody);
9 a- v6 w% ?; C- a7 L例4:获得CATBody 的代码如下。
7 f, U  ^5 ]% L9 u1 U6 iCATIBodyRequest *pIBodyRequest= NULL;  u% N, X; q6 @4 S' b2 _
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
+ D' y# A( y% ?CATLISTV(CATBaseUnknown_var) ListResult ;
6 F% z; S" U4 H, T6 dpIBodyRequest->GetResults("",ListResult);& M( b/ U; e" ^
CATIGeometricalElement * pIGeometricalElement = NULL ;+ r. E* E: j6 N6 ?' d! K
for (int i=1 ; i<= ListResult.Size(); i++)7 T; G4 c- Z& ?. i0 d7 p5 B1 B4 T
{. ]3 g! E6 G9 x/ `8 p
CATBaseUnknown_var spResult = ListResult;! r( ^6 X0 _5 n2 A6 V
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );/ \$ j* g9 V, j& Y% M: L
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();. F$ s2 `5 D$ A/ G8 Q5 A) w
}
! c' s2 w. a0 z5 f$ S6 }' p6 D/ Q" H! z, w

7 D: O9 o: T) l: \$ w3 U+ s* K
# L# V" y+ A2 f
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了