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

Catia二次开发源码分享: 获得零件下所有节点

[复制链接]

2018-2-22 13:10:11 2802 0

admin 发表于 2018-2-22 13:10:11 |阅读模式

admin 楼主

2018-2-22 13:10:11

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

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

x

( [, q0 i2 H  c4 c/ n+ s2 A# M; M+ R2 l' t( Q& j
获得 CATIPrtPart
9 Z9 Y/ _# f3 T/ |2 ?, {2 T
$ v# i5 L/ b) ]& Q参考代码如下:* k6 I6 _* Y7 [6 B1 M
CATIPrTContainer_var spPrtContainer = spContainer;
( b4 k1 Q$ S8 u( E# \CATIPrtPart_var spPrtPart = spPrtContainer ->GetPart();
( l! U$ r, K0 B  i5 s( W( l! C; m; z
获得零件下所有节点
& e6 D$ I! x' a6 x8 T方法一:利用 CATIDescendants 接口; Y& f2 j+ }" S+ w) ]4 R
CATIDescendants_var spDescendantsOnPart = spPrtPart;' O' @2 ^& W- O8 S; \
CATListValCATISpecObject_var spSpecObjects;$ b/ n* C+ S4 W. H) m
piDescendantsOnPart->GetAllChildren("CATISpecObject", spSpecObjects);
! z1 C& K& ]$ u' K0 D# K. r) x4 W/ \& f9 k5 @3 ?2 I% A0 j
方法二:利用CATContainer 中的ListMembersHere 方法
, r$ H& s& }1 Z8 E3 d: KSEQUENCE(CATBaseUnknown_ptr) ListObj;. ?% J  M3 w7 `
long NbObj = piRootContainer->ListMembersHere("CATISpecObject",ListObj);
+ |" _7 f5 `8 Q' x1 G' R7 wfor(int j=0;j<NbObj;j++)//注意从0 开始, r* X! K+ I2 T* o0 `5 H; B% \2 _& ]
{}
* Y* F8 v+ R9 l5 S. t6 G; d注意:"CATISpecObject"表示将所有的节点列出,如果想要只列出某种元素,可以将该
9 ]7 u' s9 o! z参数设置为相应的接口,例如"CATPoint"表示所有的点。
+ l3 k& Z2 J" M. v8 j" x% ?  x% k* j

3 g4 u! ~$ F* L获得参考平面3 {% N# ~8 Y/ s
参考平面包括 XY 平面、YZ 平面、ZX 平面,参考代码如下:$ T5 h2 ^- C0 H
CATListValCATISpecObject_var spReferencePlanes;
) ^1 a) ^3 Q" W3 u: x; qspReferencePlanes = spPrtPart->GetReferencePlanes();
6 e8 Y- _2 P: S1 v& K" N  N7 h/ _注意:spReferencePlanes 为包含三个元素的数组,数组元素依次为xy 平面, yz 平面和zx 平
' j0 p6 M; g9 H  c  K1 O面。3 C3 `1 j2 b) S) G' F' Z& R6 T
如果要使用 yz 平面,则参考代码如下:
% O! f1 N) k3 b: e, h# gCATISpecObject_var spyzPlane = spReferencePlanes[2];
3 k9 Z- `+ v0 L( m6 y/ O1 t0 b* R- ]; G, d, N5 |+ Z! W* y5 A
0 l" F  X, c  n9 f
获得轴系
2 t- Z, ~0 R8 D/ G5 B/ j参考代码如下:. N- h# c" N7 y
CATIMf3DAxisSystemManager_var spAxisSystem = NULL_var;
0 \7 j" R0 _4 N" R0 \& d0 H5 OspPrtPart->QueryInterface(IID_ CATIMf3DAxisSystemManager,(void**)& spAxisSystem);- G2 ~% d6 Y3 K# g: |

* z' e9 Y  V/ h//得到的所有轴系
( d/ R1 n! V( ~: g8 N. BCATLISTV(CATIMf3DAxisSystem_var) oAxisSystemList;6 E8 L' I* X1 r9 m
spAxisSystem ->GetAxisSystems(oAxisSystemList);
, Q% [5 W% ]4 Y; r7 u9 A5 W
, b0 _6 F9 p4 o6 Q2 ~+ o- W
" R& B. Q! r& t/ @2 H( L! r1 [! N1 V/ S) o- T

: V  v/ e" b; q" C  O9 ^. j
9 q  h' b) ]) H' `' X+ k) M( d7 U7 \. C! @" W# z2 B( z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了