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:10:11 2579 0

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

admin 楼主

2018-2-22 13:10:11

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

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

x

/ p  u  y7 V% c- e- w& S4 L  s  p4 t9 Q+ P! M* p; H
获得 CATIPrtPart
; ^6 D, E9 P$ Z* d0 D( n5 t' y+ A& k: H. Y0 g# A- s
参考代码如下:
4 }& l; k: P! e1 D( z8 ECATIPrTContainer_var spPrtContainer = spContainer;
% m0 Q7 @1 E2 j! P, e; ZCATIPrtPart_var spPrtPart = spPrtContainer ->GetPart();
6 |6 y7 }" j0 U% O! t: g: H1 F2 q, F5 f- t+ V! u4 C  z/ r
获得零件下所有节点8 U3 @4 o; `+ P, w+ i
方法一:利用 CATIDescendants 接口3 \" N" l' T& t. B. Z
CATIDescendants_var spDescendantsOnPart = spPrtPart;" ^6 k, z2 L& t1 N5 k9 y
CATListValCATISpecObject_var spSpecObjects;
  v+ M. Q5 m' A( p2 P9 K, ZpiDescendantsOnPart->GetAllChildren("CATISpecObject", spSpecObjects);! Z* I. P0 ]7 N' T" L

7 M1 Z! d" \5 a" E$ c' O方法二:利用CATContainer 中的ListMembersHere 方法
. p1 [3 x  S- ~3 o7 X0 D- H4 gSEQUENCE(CATBaseUnknown_ptr) ListObj;3 r2 K; T. r$ T3 F8 w4 L
long NbObj = piRootContainer->ListMembersHere("CATISpecObject",ListObj);( o8 e, g$ C! s
for(int j=0;j<NbObj;j++)//注意从0 开始) |/ v& G: {7 v( @: z, \
{}
' x" O# D: p& ]% ~+ i2 F注意:"CATISpecObject"表示将所有的节点列出,如果想要只列出某种元素,可以将该! O$ u8 k) E3 p, c
参数设置为相应的接口,例如"CATPoint"表示所有的点。4 R7 s- |0 T& h0 Y! z: G) r3 O
) W  Z4 I/ O' c& ^

0 }# L, O" z! C/ U9 k% U获得参考平面
. A+ b2 L6 F% Y2 J, V9 V6 ]参考平面包括 XY 平面、YZ 平面、ZX 平面,参考代码如下:$ _& P5 y5 r! X, f
CATListValCATISpecObject_var spReferencePlanes;. Z& [+ W) l4 o1 |( L
spReferencePlanes = spPrtPart->GetReferencePlanes();3 j: H0 b3 }0 p2 B0 m! W' t
注意:spReferencePlanes 为包含三个元素的数组,数组元素依次为xy 平面, yz 平面和zx 平! B! R/ u4 P) S! J
面。/ l  `  w% ^9 U: N
如果要使用 yz 平面,则参考代码如下:/ ]6 \/ `+ |0 h9 Q0 [
CATISpecObject_var spyzPlane = spReferencePlanes[2];2 e0 r7 ^; G$ V, S
& t5 p+ h$ L0 `6 ^9 M
. X* j! t% b3 Z2 V; P7 {2 `& X* k
获得轴系
, F9 I% `. {$ V& v: N( ?# @参考代码如下:
: I* C% G, `2 S8 {" X* b9 CCATIMf3DAxisSystemManager_var spAxisSystem = NULL_var;6 x' `  {, S: G0 I# b$ F! S
spPrtPart->QueryInterface(IID_ CATIMf3DAxisSystemManager,(void**)& spAxisSystem);
  S1 c8 f2 x& K; P, B& k7 ?' G0 k5 A4 R3 {/ t, \9 q# w
//得到的所有轴系7 g) B1 ~& i+ i2 \5 p( K  `1 s
CATLISTV(CATIMf3DAxisSystem_var) oAxisSystemList;
+ n0 P$ G7 W' Z$ O1 q3 G6 HspAxisSystem ->GetAxisSystems(oAxisSystemList);0 S! m- h. `% s: S! j
. K5 w) [. P2 d* H  _

- \6 V# W0 y4 m' G8 m2 U
  S, R2 H4 @- M3 E( j) J; o$ C3 n* n& C1 q& ~9 W/ a' r8 t

( R; h: w) O. A+ O& V: w8 `3 ]# `. o) N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了