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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
* C, K0 o, H# X* u+ W) ~$ h' U6 w( ~1 T- @1 _# s- E6 B
: F5 P' d% Q+ w$ c4 k' v7 v
例 1:获得零件中的所有几何体的代码如下。
6 K/ Y! d# f1 N6 A2 E1 A2 GCATIPartRequest *pIPartRequest =NULL ;7 W; a% q  H+ Y# M' @- W; z& ^  u3 T
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );  q2 s* X7 d4 Z
if ( SUCCEEDED(rc) )) u  u) l1 o4 {8 h" k
{
9 b7 E( v' J& ?8 n/ B- nCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体/ d& X* e" Y, Y+ Y9 a: ~7 F
CATUnicodeString ViewContext ="MfDefault3DView" ;, U, ~( z$ ~4 w2 Z
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
8 ^, g7 l* E! S. O' g. j) z9 h) b}
$ s9 I+ Z! Y/ a/ e: R4 Z4 j8 U& }例2:获得零件中的所有有序几何图形集的代码如下。+ ]9 u; O( k. N- L
CATIDescendants_var spDescendantsOnPart = spPrtPart;
) X1 _' X7 n. F: vCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
* w7 ?, ]# j9 L& CpiDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);' X$ k; \- R" @
例3:获得零件几何体的代码如下。
% M/ \* d$ d9 h8 u- P# ?" vCATBaseUnknow_var spMainBody;//零件几何体
, r5 V6 I  ]0 P" F  `! [pIPartRequest->GetMainBody(ViewContext,spMainBody);
/ l9 P) D0 C5 F% K7 o例4:获得CATBody 的代码如下。
. m7 u8 X2 K( x/ n0 j4 {+ F# ECATIBodyRequest *pIBodyRequest= NULL;
* [5 i8 ~" z! s% ?! SspMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);: @( u( Y7 `+ o8 ^% Y4 V4 z
CATLISTV(CATBaseUnknown_var) ListResult ;
- V6 _2 _' b% |pIBodyRequest->GetResults("",ListResult);
8 d* Y3 I& |( L1 jCATIGeometricalElement * pIGeometricalElement = NULL ;
+ H+ L" Y' c5 Y4 F; U. {8 afor (int i=1 ; i<= ListResult.Size(); i++)
" c1 N" o4 |( Q5 z{
+ n* X: D/ ~5 S7 f1 g5 j+ _% PCATBaseUnknown_var spResult = ListResult;
+ @3 H; h$ r7 s( E9 AspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
% ]: b# G1 n! D9 \CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
$ M, @) H: K7 F$ N, c. O1 S}; G* L! W. O$ R5 V$ \$ s

! {: {% J7 i* P: K4 u: y; g% q! e' ~  i, c$ l8 m. p8 B+ ]
- B, U$ I; |" Z# H2 C6 I3 z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了