PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:14:09

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

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

x
获得几何图形集等节点
5 h( ~, {( n7 i, F$ I' Z+ @# x( l" S
  }' R9 z7 Z3 U& L

1 P4 E7 F" J/ Z1 j7 Z! ]( B例 1:获得零件中的所有几何体的代码如下。: c6 c- D1 L, n- b
CATIPartRequest *pIPartRequest =NULL ;
5 f6 Z+ |3 H" _& ~: i: Z5 @8 AHRESULT rc = spPart->QueryInterface(IID_CATIPartRequest,(void**)&pIPartRequest );
3 z- c' L! w; o( Y% ~; vif ( SUCCEEDED(rc) )
4 ?' q3 Z$ [$ B, R' N! N. D/ v{
: Y; G& S% N, z. S+ b+ q7 VCATLISTV(CATBaseUnknow_var) ListBodies;//所有几何体5 l  K6 s5 N; k4 `1 ^
CATUnicodeString ViewContext ="MfDefault3DView" ;
/ \% e1 Q/ V9 ?. V" u2 I1 F. hrc = pIPartRequest->GetSolidBodies(ViewContext,ListBodies);  n6 _0 C2 ?  v$ O2 l3 M5 |+ B
}4 v7 @& S' L: T6 C
例2:获得零件中的所有有序几何图形集的代码如下。
0 q- g7 Q; _* n3 xCATIDescendants_var spDescendantsOnPart = spPrtPart;
) h# S  m: y' qCATListValCATISpecObject_var spSpecOGSs;//所有有序几何图形集
9 d9 @7 U/ P( EpiDescendantsOnPart->GetAllChildren("CATIMmiOrderedGeometricalSet", spSpecOGSs);
6 c  j5 k0 T" ]% M: k: i例3:获得零件几何体的代码如下。
+ @0 D7 b# _$ `, r9 v5 }CATBaseUnknow_var spMainBody;//零件几何体/ z- u! m7 _# j5 i) W
pIPartRequest->GetMainBody(ViewContext,spMainBody);/ U- Z2 [/ W5 p; L
例4:获得CATBody 的代码如下。
" X! L& ~6 x9 V2 a- }CATIBodyRequest *pIBodyRequest= NULL;
2 X3 _" i2 |0 s2 f4 gspMainBody ->QueryInterface(IID_CATIBodyRequest,(void**) &pIBodyRequest);
# x! s; Q* v$ ?  hCATLISTV(CATBaseUnknown_var) ListResult ;
6 A- ^9 _# o9 |/ |2 epIBodyRequest->GetResults("",ListResult);: B0 C5 `6 {' Z: T" ]& Y9 k+ Z' O7 w
CATIGeometricalElement * pIGeometricalElement = NULL ;1 v5 c" D" k  h) ~3 M  D
for (int i=1 ; i<= ListResult.Size(); i++)7 a( C% F' s; R6 v2 q
{# G0 o  d% M: y
CATBaseUnknown_var spResult = ListResult;( D5 Z1 \1 _2 D
spResult->QueryInterface(IID_CATIGeometricalElement ,(void**) &pIGeometricalElement );
' |% Y( }1 I2 Z8 W% X4 W. pCATBody_var spBodyResult = pIGeometricalElement->GetBodyResult();$ _2 E( }5 f( _
}, m; Z& \, y3 i2 a: S/ }2 w2 D

. M# J4 @) d; @; T% @
) S1 m6 I/ G$ N  x& X8 i# y
( j2 j" p. F# }" t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了