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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点! ^* U: M& ]5 ^( P( B: u

( k( f1 P: ?; e- b* o2 E
! j2 u  u+ |3 q) a
例 1:获得零件中的所有几何体的代码如下。
* K$ X- w  u  _: K+ GCATIPartRequest *pIPartRequest =NULL ;5 [: c7 J: W0 \1 V
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );2 f( W8 k3 V: S1 R# ?
if ( SUCCEEDED(rc) )
# ?4 ~, B) M+ [8 E1 G, \3 [{
5 h" V# P* p1 @. m8 w2 b! K" ?CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体5 E9 p, A. l+ X
CATUnicodeString ViewContext ="MfDefault3DView" ;
& R' g% M! q* r, v3 f) Q+ `3 {$ Hrc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
) _6 O; n0 ^+ Y; t}, A. v6 l5 k) a7 f6 M) ~
例2:获得零件中的所有有序几何图形集的代码如下。
1 K( i. a, y. y) eCATIDescendants_var spDescendantsOnPart = spPrtPart;# [* ^$ Z4 ~: Y$ J% `; `; g
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集; v9 I6 g& P9 @  t1 z) s7 R
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
! |/ c, _' j1 h3 U+ B# Q8 J" z5 w例3:获得零件几何体的代码如下。* P: F7 q& x" v) U
CATBaseUnknow_var spMainBody;//零件几何体$ j  `" w& k' u. j- ^- B
pIPartRequest->GetMainBody(ViewContext,spMainBody);
, J& R7 C- ~. a- P. j. X例4:获得CATBody 的代码如下。
, q( K: T2 |7 O6 uCATIBodyRequest *pIBodyRequest= NULL;: f( g0 P5 H& H* _6 p2 g
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
* ^# b0 _1 m7 [, f' NCATLISTV(CATBaseUnknown_var) ListResult ;; M9 `6 r" j0 B4 a: y/ P1 Q! ~4 V
pIBodyRequest->GetResults("",ListResult);6 S$ ?+ a( Y1 {$ k2 T& S0 z
CATIGeometricalElement * pIGeometricalElement = NULL ;
. I/ A" U, U) ?% Wfor (int i=1 ; i<= ListResult.Size(); i++)
) r5 p4 l( H2 {# ~- u3 S7 X{
2 H# \) P( K1 e8 KCATBaseUnknown_var spResult = ListResult;
: ~5 F# \' M: n0 L1 FspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );: x) B# m; M1 {2 [' t" Y
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
% V  s; e, ~) K( P7 C}
: S0 b$ b  s7 B- g0 {3 v1 G
; t) r/ X: N1 ?+ u: x% z5 M4 n1 {* g  }4 r9 A+ N& }6 |0 H

: U# R* ^3 Z9 r9 |3 B$ X5 o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了