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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点, y- u! R7 F3 p5 r

. f4 v+ H0 r  d6 n! y. n, H
% e. x/ E( S$ P+ o- s6 @3 s% N8 L
例 1:获得零件中的所有几何体的代码如下。
+ E2 z. E: p: @1 ~8 ICATIPartRequest *pIPartRequest =NULL ;
4 J- v8 T$ |- q- V" P0 ^" dHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
8 i: n6 V6 ~) k( }2 Aif ( SUCCEEDED(rc) )2 Z6 i$ E  u) |/ U
{5 x9 D. u# h0 R+ N; D
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
3 ~7 v0 e, m9 ?- O; \CATUnicodeString ViewContext ="MfDefault3DView" ;  l# n) K& {6 J! y
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
8 W/ z/ G" T4 H. t6 j# ?* P* X}
8 \" B+ H7 k1 x, I例2:获得零件中的所有有序几何图形集的代码如下。
6 _6 f  l0 N) }9 Z# `8 Y) HCATIDescendants_var spDescendantsOnPart = spPrtPart;7 Q7 c! M& F- I# c# U" T2 A; ?
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
6 G8 [3 A9 Q. y' Q& p, ^piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
) N1 |) D! d6 V5 A例3:获得零件几何体的代码如下。& T; |; H6 m4 p
CATBaseUnknow_var spMainBody;//零件几何体2 v+ ?4 H# H/ F5 x$ ]9 W; T! l
pIPartRequest->GetMainBody(ViewContext,spMainBody);
/ E! G3 f1 F, s3 i% ]# d! B4 ]例4:获得CATBody 的代码如下。. n$ u. E5 L4 }' p" G* Z
CATIBodyRequest *pIBodyRequest= NULL;
1 f, d0 c+ y7 s5 H) n5 L) y+ }spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);" H& q5 g" _: e4 B# s3 R
CATLISTV(CATBaseUnknown_var) ListResult ;
  _3 n! A* z1 e' N/ p) SpIBodyRequest->GetResults("",ListResult);
( O. l/ U  n3 }, F9 O9 ^6 ^% j) JCATIGeometricalElement * pIGeometricalElement = NULL ;
( h& H2 z& t* t. u! Z& w0 D& gfor (int i=1 ; i<= ListResult.Size(); i++); }" Y) B# G6 V
{
/ {' H- q+ P8 e6 h: E3 l, ~CATBaseUnknown_var spResult = ListResult;- G, U/ R( F) z  ~
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
% ?0 ]! L6 P6 hCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();! x& M) [7 Q4 k3 _3 [
}
0 \1 D$ J1 m# G
: v/ r9 W# @) [1 q5 y% i6 B9 ?0 N8 ?$ U  e- q1 U* Q( d4 b

" A" ^+ m, D6 s% V& 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二次开发专题模块培训报名开始啦

    我知道了