PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点; O6 i  C/ x$ U) G, {

$ `( i5 K7 x, p8 l8 s. A. D' b

; A- h" u$ r5 j# {7 k9 r5 @; w, M例 1:获得零件中的所有几何体的代码如下。; {9 R% a! |* F3 p6 E
CATIPartRequest *pIPartRequest =NULL ;1 i- i, A* p! ^) r1 ^8 q
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
, D1 J" u) a- S& xif ( SUCCEEDED(rc) )! e4 B1 |' t6 ?  Q( Z
{3 j4 Z8 J0 ?+ Y4 J$ A8 Z
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体4 R) c/ C) i' S5 b1 Z# B* u
CATUnicodeString ViewContext ="MfDefault3DView" ;9 @$ X9 I' e$ |7 _! q
rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);5 N7 p- t4 w; `% }2 d% I9 {
}# b1 G; q, u) P# S
例2:获得零件中的所有有序几何图形集的代码如下。; z- t( @. w' z4 n# D- [
CATIDescendants_var spDescendantsOnPart = spPrtPart;
7 k  `+ }2 _2 }; L6 lCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集; v# \4 D) ^" G% Q( l
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
+ J* d( e* P  G$ [例3:获得零件几何体的代码如下。
! ?) o7 a/ N3 ]; SCATBaseUnknow_var spMainBody;//零件几何体0 k8 z0 ]  c- O: `' H" Z
pIPartRequest->GetMainBody(ViewContext,spMainBody);9 x  d3 u' X+ r4 ]( U0 w! S% D5 ]
例4:获得CATBody 的代码如下。# E' \+ D; L* B
CATIBodyRequest *pIBodyRequest= NULL;
3 H/ O  L7 `" H8 EspMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);/ o# t/ l1 n$ K0 |+ g5 v
CATLISTV(CATBaseUnknown_var) ListResult ;
( ]% H0 }  k: v! ]# T6 N% ~pIBodyRequest->GetResults("",ListResult);
9 \" k& E. N& M# m' S5 w  QCATIGeometricalElement * pIGeometricalElement = NULL ;5 j. J$ L! n( x4 p% K. _* o: q4 a
for (int i=1 ; i<= ListResult.Size(); i++)
, }$ a8 w+ e6 n( e# Q- h% s{) r) L, p# k5 Q4 [0 \. f( Z8 g
CATBaseUnknown_var spResult = ListResult;
% L. d' A2 G4 uspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
- q6 j! X2 R7 [' u1 _+ qCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();8 M$ z, x) t/ D' q3 e( n3 Z
}
6 ?/ W  D: e$ _3 l6 X4 w/ S( F
( A# K: V  I# H( L. {+ D
' k% l) M" |8 W8 X# q' M
0 ^3 ^$ a9 M9 a' O. p4 f& 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二次开发专题模块培训报名开始啦

    我知道了