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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
9 F* y2 h4 a7 q# W8 g& D
6 D6 l. T( \! x) \7 `3 \3 G

( P8 k- i: n+ b- |例 1:获得零件中的所有几何体的代码如下。+ ~8 ?! e* y& H2 E9 F% X! X
CATIPartRequest *pIPartRequest =NULL ;
6 b! T$ D( m$ Q% K' [6 RHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );( N$ I5 F" Z1 |  i
if ( SUCCEEDED(rc) )8 U- I' Q9 ^1 n7 A
{( G0 L7 }. Z  H7 i3 O; }
CATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体
+ T$ l* m0 j6 x& I/ G0 [CATUnicodeString ViewContext ="MfDefault3DView" ;
8 _0 W. f0 b' V5 \rc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);
$ L, h4 }# z) W, C4 K% z" |}
( }# F. g6 V7 p5 r例2:获得零件中的所有有序几何图形集的代码如下。
- v7 R0 ]5 R8 D, JCATIDescendants_var spDescendantsOnPart = spPrtPart;/ H- H9 {/ O3 n9 X$ Y9 [
CATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集2 f% d% G) D* a) ~; e5 o! a
piDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);" b* v# D0 L" h  k/ o5 g6 i
例3:获得零件几何体的代码如下。" w" L0 n: V. k# E$ M6 s& [
CATBaseUnknow_var spMainBody;//零件几何体; Y1 y6 a: Z$ m' e* d1 E* p9 q$ p) o
pIPartRequest->GetMainBody(ViewContext,spMainBody);; Q; [# Q0 m& z) w& h  Z
例4:获得CATBody 的代码如下。
+ u  M2 x) y  i7 H1 y& D) vCATIBodyRequest *pIBodyRequest= NULL;& I7 U! o% F4 U- I' }. C% A" V; |
spMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);& O, V: H- `" b6 A0 J
CATLISTV(CATBaseUnknown_var) ListResult ;
8 D" O3 {) {: n# K+ o7 s& dpIBodyRequest->GetResults("",ListResult);; T" g/ y- ]7 d* G3 ~9 Q
CATIGeometricalElement * pIGeometricalElement = NULL ;
- n. L2 p* [2 I( |2 v7 _for (int i=1 ; i<= ListResult.Size(); i++)
. r4 w8 m5 {- }- V* E6 b  U$ g{. V' h. {0 m7 d' u; \
CATBaseUnknown_var spResult = ListResult;
4 ]: g( v8 F) c9 g* EspResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
. e' B. n! a, C$ {CATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();& E% j6 F  c  o( p+ R
}$ @( o$ W1 x" m5 Q

% ?' B& L% ]4 L" U
$ V* |. V9 v9 f$ j2 L3 a$ z0 c

3 ^: F4 `* y# _/ G( w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了