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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
3 C- U5 ]! B$ Z: T* [3 d0 S9 y( o* C$ R. o$ ?

  {8 m& M) I. l4 {' d3 ]3 K例 1:获得零件中的所有几何体的代码如下。/ R+ p1 u6 ]/ m. U  T+ h) n5 L4 y
CATIPartRequest *pIPartRequest =NULL ;& @9 a/ r8 N* `& {, u
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
( d8 \# A/ ~% N$ xif ( SUCCEEDED(rc) )
4 X9 v9 g$ s0 L) S; \7 t2 u{
8 R& c2 T* D; a3 N, jCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体3 S; D- Z4 x$ L% z
CATUnicodeString ViewContext ="MfDefault3DView" ;
( Q, J4 t. z8 R- b4 N$ erc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
% a2 y) }) O/ o, X/ p5 F0 S}2 P# f, [9 S$ C' N+ K/ P& ]
例2:获得零件中的所有有序几何图形集的代码如下。
) T% @3 L1 f( _0 F/ o. Q/ B3 @3 B9 DCATIDescendants_var spDescendantsOnPart = spPrtPart;
" G1 p2 Z" E% F$ n* C/ ?' wCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集; `; z& {  z. K- M2 `/ j4 o2 R
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);! K7 _# d$ l3 ?5 Q2 N
例3:获得零件几何体的代码如下。3 _# l. J# f/ U0 w" @0 N
CATBaseUnknow_var spMainBody;//零件几何体' I+ r. @- L0 s" a. f4 k1 {
pIPartRequest->GetMainBody(ViewContext,spMainBody);
  A9 s- U  _- ?例4:获得CATBody 的代码如下。7 \) z& F3 Y4 V* S, |
CATIBodyRequest *pIBodyRequest= NULL;! P1 t) B+ ~/ u# U, _# \! k
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);+ ~+ U# g9 D& k" R4 V0 i, z9 h3 m% R
CATLISTV(CATBaseUnknown_var) ListResult ;
3 K; o6 r2 c6 i$ K6 Y- b: OpIBodyRequest->GetResults("",ListResult);
2 z& n+ Q) l+ H+ e+ TCATIGeometricalElement * pIGeometricalElement = NULL ;
- J- O; D) E4 Rfor (int i=1 ; i<= ListResult.Size(); i++)
# }5 G. r0 p! y{) h7 H% l2 m. U* L2 Y( C; ~
CATBaseUnknown_var spResult = ListResult;
0 o: g4 u) F& D5 YspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
  b- a; e+ r8 r1 |3 {CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();' D( A2 ]* F3 d- n, N% s- Y
}" q! a' S2 _$ V' f

8 Q4 T1 L' R5 W3 d
9 T- L$ x) y7 w) E7 Q
2 K. l4 E* Z* Y9 ~& Y) q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了