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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
, I0 b' j. S# @' T1 k
& U& X7 Q+ v4 B
8 h4 y' S& j7 U- T2 a9 \
例 1:获得零件中的所有几何体的代码如下。
4 o% u1 t  L2 f3 w! DCATIPartRequest *pIPartRequest =NULL ;6 l  T7 b3 t# Y* V, J' j
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );0 A% a4 t. \" S/ j' G
if ( SUCCEEDED(rc) )4 [0 C/ u5 s# ^( Z7 ^7 Q
{0 K3 H1 ?4 Z4 n6 L! ]% V# h1 P
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
. x7 A4 |3 J" A, o* g, ~9 {) C) K0 ~CATUnicodeString ViewContext ="MfDefault3DView" ;/ q$ \( U: u. R+ }4 e; }0 o  B
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
% r4 E5 M/ l6 }" z}6 w. q8 J8 }! {2 D1 X6 ?
例2:获得零件中的所有有序几何图形集的代码如下。
, m" A4 H, Q: D: l( C( ACATIDescendants_var spDescendantsOnPart = spPrtPart;
& Q8 e& \1 c+ s& a) C3 BCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集! `2 S1 F  B& K! q1 s
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
  I' @8 w9 f7 F# d% ?" k例3:获得零件几何体的代码如下。0 a7 F* o' I4 p3 a2 i1 m# F5 c8 `
CATBaseUnknow_var spMainBody;//零件几何体
9 {5 T$ o+ E' x7 m* t1 j$ ypIPartRequest->GetMainBody(ViewContext,spMainBody);
& e: f; [& ~/ w7 k+ C' E8 o例4:获得CATBody 的代码如下。
6 z4 ^, ^+ L: uCATIBodyRequest *pIBodyRequest= NULL;
+ ]: g  t6 P" K8 _# p! `% bspMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);8 z2 ^) O# P8 \
CATLISTV(CATBaseUnknown_var) ListResult ;7 b( Y3 j& X  L* @0 z
pIBodyRequest->GetResults("",ListResult);
! K# J! A+ m' _. G; A# {' x4 NCATIGeometricalElement * pIGeometricalElement = NULL ;
! e7 G+ R0 s( Sfor (int i=1 ; i<= ListResult.Size(); i++)
2 ~( k. A: i5 ~) \( S, M{! p! ~2 V0 S; x
CATBaseUnknown_var spResult = ListResult;+ Y1 P* |5 e# y/ w1 P2 k5 e
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
/ B* W1 c9 u, z2 D# J6 oCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
) V) n, I% L. K. K0 ^+ i1 u8 a/ y7 M}8 D$ f8 C3 |5 ^9 X4 ?+ a
( T/ Q* G& F% L% Y/ n3 p
& n: T  c7 F+ J# _1 x  U  B4 k4 k2 ~

2 q; ~: e8 u5 ~/ v2 k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了