PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2018-2-22 13:14:09 | 显示全部楼层 |阅读模式

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

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

x
获得几何图形集等节点/ ^; P" A8 Q& S+ I  Z6 y

. ^( K1 I5 m$ P* p
9 K* @* s" Y8 W+ \! d2 X
例 1:获得零件中的所有几何体的代码如下。
0 Q% v6 |) J9 q) kCATIPartRequest *pIPartRequest =NULL ;
; s3 k7 ~  V6 i) N% vHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );& g: Q& B3 C6 y* ?
if ( SUCCEEDED(rc) )
( J7 p6 h8 Q0 Q( D7 j9 q9 G{) j5 L4 ~( _: r
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
0 O, m  H* E$ z$ I' h9 y3 [7 JCATUnicodeString ViewContext ="MfDefault3DView" ;
. P0 x  n0 n, i, ]  ]rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
$ f! X. N0 V. }  V}! k6 @2 c5 `- X& i2 Z
例2:获得零件中的所有有序几何图形集的代码如下。
2 L8 E7 O! a. W$ I( f" w) F& I( f6 [CATIDescendants_var spDescendantsOnPart = spPrtPart;+ X6 r" \# B/ s! w2 d
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
& r8 H$ n* e; g+ v8 e8 B+ [piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
, i+ v8 a/ _  X- z例3:获得零件几何体的代码如下。
0 J' L  `! P; Q* PCATBaseUnknow_var spMainBody;//零件几何体$ N; w9 C0 i. ]6 d9 R8 d# ]
pIPartRequest->GetMainBody(ViewContext,spMainBody);3 {" F) I- j; k' G/ n  k  V
例4:获得CATBody 的代码如下。
' K* p2 [! b) D' d& y( K% @: y$ H( HCATIBodyRequest *pIBodyRequest= NULL;4 Q, O: E& u- Z
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
# e$ T5 Y: I/ yCATLISTV(CATBaseUnknown_var) ListResult ;/ d2 l3 u, b/ O, v3 j; u- s6 q: E
pIBodyRequest->GetResults("",ListResult);
) [; f$ d4 b5 S2 Z/ y' k2 r8 LCATIGeometricalElement * pIGeometricalElement = NULL ;
' A; K" z# y7 h% Y7 N8 Dfor (int i=1 ; i<= ListResult.Size(); i++)
: e- \! a% I" V' n5 }{5 Z+ W% m0 `' y! R- t+ ~
CATBaseUnknown_var spResult = ListResult;
3 i9 b8 T/ n7 P: d/ A* MspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
: G5 t' q3 @& O9 [8 K: qCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();% O* b* A, \+ L# R' ]. `
}# w/ ~" a! E8 W8 W
  X9 j- Z6 g, P
9 B, J& l) ?8 ]; z4 `

, K* ?4 _; s5 X# A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了