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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
; _1 ^2 N2 B. b( J& d
! f% h) x6 Z& E" V4 T. @! I

, h, g; \) }# u3 U) X* H例 1:获得零件中的所有几何体的代码如下。0 F# t2 s/ l# H) a9 E2 X$ g
CATIPartRequest *pIPartRequest =NULL ;
+ j; V5 r  i+ b! Y. kHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );) l" d$ o. U7 c( r5 V; v  E$ S
if ( SUCCEEDED(rc) )
0 S  c2 f6 r+ `" Q9 W0 m7 r$ D{4 W' j& S/ `( A- ?( F& Z
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体* I. T' r: B- a9 O0 Y% e3 j6 a, H
CATUnicodeString ViewContext ="MfDefault3DView" ;
5 c1 T7 ]" ~4 y+ s3 T4 ]7 E$ ]: p( |rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
6 I% O' \" t- o  D  h  m8 _}
5 v; A$ R* f* E' H/ r( W例2:获得零件中的所有有序几何图形集的代码如下。
% I/ Z7 M: C+ e/ E! V1 lCATIDescendants_var spDescendantsOnPart = spPrtPart;
3 r5 U: t* m( ^CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集) J0 d, u1 H( ?7 }/ q! d/ v
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
3 ^/ B6 Z) k: U9 A. A" h( X: g' s例3:获得零件几何体的代码如下。
. }! _/ l* g9 m5 uCATBaseUnknow_var spMainBody;//零件几何体
/ M, K9 c6 @7 z( {7 e5 t- H. epIPartRequest->GetMainBody(ViewContext,spMainBody);3 b) Y" R: p4 o& y( _' x
例4:获得CATBody 的代码如下。% w, G7 B( g) j+ [' r$ Y
CATIBodyRequest *pIBodyRequest= NULL;8 C0 O! w2 I' Q, ]4 y
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
4 U6 S! C# Z  O3 f0 G8 TCATLISTV(CATBaseUnknown_var) ListResult ;2 ?7 S* g" Y0 q; i
pIBodyRequest->GetResults("",ListResult);, y" ?7 y$ Z" I! c0 Q) p$ R: a  W
CATIGeometricalElement * pIGeometricalElement = NULL ;
2 Q6 T* P# i4 b3 [for (int i=1 ; i<= ListResult.Size(); i++), X# _0 M* ?9 b; L
{
3 w* k+ E1 Q% r1 C  l/ v2 TCATBaseUnknown_var spResult = ListResult;
4 r6 t8 y1 z3 N6 s- hspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
. U& i/ W1 T9 f; `. }$ aCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();
' G8 j" @$ j" p0 [2 ~1 @7 w}' X, `* K0 T/ y2 |
* L6 a1 a' a9 Q3 A% W' E

- l7 l1 M: [$ Q2 r
6 ~: L; m9 ]$ X" v% 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二次开发专题模块培训报名开始啦

    我知道了