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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82166
QQ
发表于 2018-2-22 13:14:09 | 显示全部楼层 |阅读模式

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

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

x
获得几何图形集等节点
; c3 v, V# N3 v* v$ M
) G) j  h0 s# Q' y3 d9 @3 r

$ m3 N' A" c- R* t例 1:获得零件中的所有几何体的代码如下。3 z' `( _/ y6 c/ W, V
CATIPartRequest *pIPartRequest =NULL ;/ u; ?/ f3 B( F9 m( n
HRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
' S! E; W, u- p* Cif ( SUCCEEDED(rc) ): C, i, Y( ?* S7 ~$ e
{2 w6 W; Q/ N' x& y+ P$ w
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
* X  g) F) g/ w# p  v+ R# SCATUnicodeString ViewContext ="MfDefault3DView" ;
4 \( J; s9 W  Y1 @* `% c% Arc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
+ I0 g9 T. h* f% l" ?: p}6 D  ?. X  C5 h8 p( w2 S
例2:获得零件中的所有有序几何图形集的代码如下。
' e. h) G) A; ^0 [CATIDescendants_var spDescendantsOnPart = spPrtPart;
; y7 G4 x* i3 U' z! P* V' ~" HCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集+ ]/ ~- N0 P& |- ^
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);! O; g; y6 H0 ?+ _: e
例3:获得零件几何体的代码如下。( R/ V1 X$ M  v* K  ?, d
CATBaseUnknow_var spMainBody;//零件几何体' Y- M/ m  j, b
pIPartRequest->GetMainBody(ViewContext,spMainBody);
) h7 G/ C. Z1 q: m8 h例4:获得CATBody 的代码如下。
1 T8 F3 O- \- R; C) OCATIBodyRequest *pIBodyRequest= NULL;
) p- ?6 f. L2 H/ \. a2 VspMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
; j0 h, a* ^8 x8 HCATLISTV(CATBaseUnknown_var) ListResult ;1 G3 Z; }7 o& \8 ]. |+ p8 J4 e
pIBodyRequest->GetResults("",ListResult);% r9 X$ q0 f, r# D/ b4 v
CATIGeometricalElement * pIGeometricalElement = NULL ;- o2 ]4 U' Q4 h: p# H1 d) M$ Y
for (int i=1 ; i<= ListResult.Size(); i++)& A4 X; y3 s/ s5 v) @, h* o
{
3 t  i( K) c$ I) yCATBaseUnknown_var spResult = ListResult;
! Z( s( s4 f# N8 J1 tspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );0 |) _2 R( z: o0 f* c
CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
8 C% w+ c/ f8 v}: T# R3 B4 [) T; w+ L  |5 C

: r" L# f/ U  F
. t% k2 P% D, @
+ p. Y4 n. e1 M- g! E9 R! G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了