PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[二次开发源码] NX二次开发源码: 使用NX OpenC++查询装配组件并判断加载状态

[复制链接]

2013-12-8 00:59:17 3478 1

mildcat 发表于 2013-12-4 16:36:55 |阅读模式

mildcat 楼主

2013-12-4 16:36:55

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

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

x
1 @- X8 s" M0 l- e! U) |3 h( ]
NX二次开发源码: 使用NX OpenC++查询装配组件并判断加载状态# ^! B+ o( W$ P
% s( w1 G1 i5 ^- C/ V! A

NX二次开发源码: 使用NX OpenC++查询装配组件并判断加载状态

NX二次开发源码: 使用NX OpenC++查询装配组件并判断加载状态

, j4 Z9 }' u' C, @; C  l; U0 ]3 M$ C6 B
  1. <p>static void geTChildren(Assemblies::Component *rootcomponent,unsigned int indent)
    # s0 g* y% Q9 n1 t
  2. {      
    + l  F% ]! Z4 i: c, I
  3.   : u: m; ]# R* Q7 N% c. h
  4.   unsigned int ii;
    : o; D5 x! M* L$ _/ X1 L; B/ S4 N  S0 _
  5.   char space[MAX_LINE_SIZE+1] = { " " };4 g' `4 x; U$ I; [" H5 A  U
  6.    for (ii = 0; ii < indent; ii++) strcat(space, " ");% @8 y3 h3 W1 p7 h+ g
  7.   std::vector<Assemblies::Component *>components;- Z2 @7 b1 D% J' B4 V0 t7 C, v/ T- @
  8.   Session *theSession = Session::GetSession();
    1 c3 _" K$ K9 j; a
  9.   ListingWindow *lw = theSession->ListingWindow();$ }) ~6 q+ Z4 W2 }& I
  10.      lw->Open();* T8 c- E* o& o$ L/ e) J) A3 D
  11.   components = rootcomponent->GetChildren();
    : ?/ [/ t( s, p) T" R) i$ u
  12.       for (int i = 0 ; i <components.size();i++)0 k" P  `' }  v, G( y9 g
  13.       {* R$ D* \8 ^' H1 B3 ?
  14.        Part *childpart = dynamic_cast<Part*>(components[i]->Prototype());
    ; m+ D, J3 C0 c3 X  G" x9 N6 V8 x
  15.      7 H/ X+ n+ v3 K; f& L" p
  16.       if(childpart==NULL)
    / J# p- j4 q3 P+ s* g2 q8 |& j; z
  17.        {& ?6 [4 m+ I9 L: \
  18.         lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: not loaded!");; [/ }+ K7 Y$ M8 u" S/ a) d" A/ ?
  19.         }' r* Q3 i1 n& X; B7 m
  20.        else
    2 j2 u% [8 O5 s
  21.        {/ P% ~* x. |4 |" R
  22.         if (childpart->IsFullyLoaded())% n: E+ n/ B" q1 ?4 N2 {* ^  A+ a2 o
  23.          {, Q' L; q2 W9 w6 x* L- e$ P% d
  24.           lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: IsFullyLoaded!");$ M/ q% S! b! Q( Q/ o  u2 v
  25.          }
    & Y8 N3 b8 v. M. [
  26.         else  
    2 g% w8 J, S6 B3 C3 V
  27.          {
    ( M4 }2 m6 U# u3 [8 L
  28.           lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: IsPartiallyLoaded!");3 _2 M) I! Z7 l. G# c7 m4 Q9 s, n& h
  29.          }
    " N  ^- A, z" ~$ N
  30.         
    2 \. `5 h9 L( y) T' v
  31.       
    , t+ @' ?2 U7 ?. o( E3 j7 }
  32.         getchildren(components[i],indent+5);
    + l+ s, n6 U/ f$ G0 `
  33.       }
    2 K# T& E8 }8 a( c
  34.       }
    8 L0 Y2 q/ F/ r; \
  35. }</p><p>static void do_api()& y) \  B* m- @) V, Y  R0 H
  36. {
    " b% Y1 f, e9 H7 n
  37. //list the components
    1 e7 d( [8 Z' P0 Q6 @1 F- C
  38.   Session *theSession = Session::GetSession();, u6 Z+ P7 @: f% c5 Z8 E: l
  39.   ListingWindow *lw = theSession->ListingWindow();5 C9 U* P- S4 j! U6 A
  40.   lw->Open();( u3 @! y/ D$ x/ x, ?/ t' f
  41.   Assemblies::Component * rootcomponent;) e6 x4 Q! T; T, e
  42.   Part *workpart;
    3 ?0 G/ m1 A# s3 h$ J
  43. rootcomponent = theSession->Parts()->Display()->ComponentAssembly()->RootComponent();6 m8 f% }. W/ t/ e/ ]- e0 e* b
  44. workpart = theSession->Parts()->Work();
    $ p  @' q9 T9 A+ M4 }$ a' X
  45. lw->WriteLine("The workpart is : "+workpart->FullPath()+ "\n" );: O8 R5 m5 q) Z7 c  P
  46. if(rootcomponent==NULL)+ `0 ~. @: ]' B0 j& t0 ^  u1 g3 p
  47. {    `6 v% Y' f9 F
  48.     lw->WriteLine("The part is not an assembly ! \n " );+ f! P1 C6 z5 D; w2 M
  49. }$ m! q( T! X2 e  o& K5 M( O9 {4 g
  50. else
    5 y0 S; Y5 o5 I9 h! e3 D
  51. {
    $ I, M6 q' {) C4 W
  52.   lw->WriteLine("The rootcomponent is : " +  rootcomponent->DisplayName()+"\n");; e' T& o2 D% e4 M8 R" N
  53.   lw->WriteLine("The children components are : \n");
    2 }& i+ |7 Z% X$ R' M2 e
  54.      getchildren(rootcomponent,4);; R; Y* z* H/ w# z
  55. }</p><p>}3 g% Y& V% p+ C$ P! }" r
  56. </p><p> </p>
复制代码

6 w( g) {0 ~* @' ^# Y; p
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复1

牧马人 发表于 2013-12-8 00:59:17

牧马人 沙发

2013-12-8 00:59:17

嗯,这个不错
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了