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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点8 c; Y/ N2 h" d+ K* O; R
$ }* H. X# a- G5 u& C1 [
( o' A4 H/ j2 m3 I: k" `
例 1:获得零件中的所有几何体的代码如下。
8 x% ^* O7 Y8 v+ W! G: FCATIPartRequest *pIPartRequest =NULL ;
5 s* v9 h3 \/ O* N" i1 a2 C) HHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );4 r, x% S* R/ k+ h
if ( SUCCEEDED(rc) )2 O! O4 y' ]; i$ o7 A
{
: |+ O' x( n* u2 ~, c. D& ?CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
5 J) v2 O9 c( u3 m3 G1 `" WCATUnicodeString ViewContext ="MfDefault3DView" ;
' W( P9 c& [" M, Y1 G# U8 Vrc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
$ R5 s. N5 `0 ?: [' o) v: m% H}
0 [# ^" I' }' f$ b例2:获得零件中的所有有序几何图形集的代码如下。, [- z0 y2 _# t+ g) p
CATIDescendants_var spDescendantsOnPart = spPrtPart;
8 |0 N/ `; ^/ l! e$ ?( f* P) wCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集- r3 z' c; v) `7 `5 z  ^: `/ W
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);0 @& |1 T! r% q# x7 J; |  Q
例3:获得零件几何体的代码如下。  d6 ]- m0 {9 C* L5 ^3 O* S
CATBaseUnknow_var spMainBody;//零件几何体, b: s* N! y/ C& S
pIPartRequest->GetMainBody(ViewContext,spMainBody);& S" E7 `* c) ]" M7 t+ K
例4:获得CATBody 的代码如下。
, ?6 P1 C. D) ?8 hCATIBodyRequest *pIBodyRequest= NULL;" j" q. A7 H! ~- \' g, Q* b
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);7 W" ]# c7 A/ o: ?  M9 E
CATLISTV(CATBaseUnknown_var) ListResult ;. s# y  w$ X+ j5 l$ H
pIBodyRequest->GetResults("",ListResult);# s* @" z2 e: y, L' K
CATIGeometricalElement * pIGeometricalElement = NULL ;
9 D) J- w6 y* @% q7 H. n$ ~for (int i=1 ; i<= ListResult.Size(); i++)) c8 o: g3 c6 ~, Y& w0 @9 V
{' W6 \7 L1 A: h$ C" x/ K+ `
CATBaseUnknown_var spResult = ListResult;9 }3 o9 P* k% C  `+ m" k/ o9 ]
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
. @/ N0 [4 Q2 y0 Z- SCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();) e( z, r0 Z* Q* p! n% `$ g
}9 [4 y, k5 }2 l8 @$ ]# _, M, @
% V5 n+ g: m; f; R9 z) v$ k8 i, ~
0 o. v% z$ ~6 J- p) |0 ?
7 i9 }! j4 S; v$ R- v% X
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了