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 3459 1

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

mildcat 楼主

2013-12-4 16:36:55

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

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

x

9 f% d8 K0 ?, g8 Q8 M# {$ c( lNX二次开发源码: 使用NX OpenC++查询装配组件并判断加载状态) u+ H2 L* e1 A

' `% j' Y! ^+ |; f3 u( T

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

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

( ~  h/ k# R, _; I, G1 P
  1. <p>static void geTChildren(Assemblies::Component *rootcomponent,unsigned int indent)
    ; h$ \, r: I2 c, B2 i% b- X
  2. {       / y$ B$ @; k: B3 ~9 r( n
  3.   
    2 a1 \1 v3 F. j1 Q
  4.   unsigned int ii;
    & w) r2 G* s, h" q- R# \. W) }' M
  5.   char space[MAX_LINE_SIZE+1] = { " " };
    & V/ L" b5 K2 \9 X
  6.    for (ii = 0; ii < indent; ii++) strcat(space, " ");
    " Q$ T5 S3 `6 m
  7.   std::vector<Assemblies::Component *>components;9 }1 [4 ?$ Y* _/ z) }) u3 R9 Y
  8.   Session *theSession = Session::GetSession();
    ' [6 K/ G8 @1 s3 O% ~
  9.   ListingWindow *lw = theSession->ListingWindow();: }3 j3 l/ ~% V$ h8 q- }
  10.      lw->Open();1 E# l+ |: R2 i! c& e
  11.   components = rootcomponent->GetChildren();
    : h. N' u1 g0 u% {' f- g5 t
  12.       for (int i = 0 ; i <components.size();i++)
    - A, Z' j- |& B( M' f
  13.       {) T0 G' o+ _& [% M
  14.        Part *childpart = dynamic_cast<Part*>(components[i]->Prototype());
    0 S% T# v& e9 d7 H( e
  15.      5 }2 w4 v" y& O$ \0 F
  16.       if(childpart==NULL)  ^; z5 `  ]4 ^0 R* F
  17.        {
    , ~7 ~+ ^* e6 Z8 ?( ?6 a
  18.         lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: not loaded!");
    3 ~& ^) Z9 E1 F; f2 g1 U
  19.         }( P/ @8 l- D  z$ O
  20.        else & p5 L& Y4 J. Y/ j6 u9 X
  21.        {
    $ _* }2 O( A% _
  22.         if (childpart->IsFullyLoaded())
    2 C; P* {  h6 q. @# [; y
  23.          {
    4 \. E* ?: V% H' F! j
  24.           lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: IsFullyLoaded!");2 t6 O! H3 m2 u, Y0 w! o) P: [
  25.          }
    ! L7 t& t* x1 }$ f; n  B8 q7 B
  26.         else  
    ) F/ {& Y7 X5 `
  27.          {
    ( _& N! G6 B% V1 L0 e
  28.           lw->WriteLine(space+components[i]->DisplayName()+"\t"+"Status: IsPartiallyLoaded!");
    : |8 }! s9 P- n  w* m
  29.          }
    3 d2 E# A6 s' N3 ?: u
  30.         
    ' ^  v: _$ w1 k0 ]$ Y
  31.       
    1 K7 a" i3 ^: i6 S2 ]
  32.         getchildren(components[i],indent+5);  ?+ G& Z5 {0 M5 p, G
  33.       }- y/ R& N: N% e0 H) S8 B# N
  34.       }
    ; F7 Z2 b" r7 N, U/ }
  35. }</p><p>static void do_api()  y1 Y5 D& y' O+ g- ]
  36. {
    9 s) b* g' h6 k* Q* J1 F' k
  37. //list the components% L( h3 ?6 v" |) r
  38.   Session *theSession = Session::GetSession();
    4 [4 X, o1 o  Q) I7 u
  39.   ListingWindow *lw = theSession->ListingWindow();
    , L) w) R7 c9 f* @1 l0 n+ V0 L* X- r
  40.   lw->Open();
    5 J$ n+ G1 b# A+ X" ?
  41.   Assemblies::Component * rootcomponent;! b& E7 Y) Q- h- D/ W& Q
  42.   Part *workpart;
    3 s) S% X% H8 b/ k
  43. rootcomponent = theSession->Parts()->Display()->ComponentAssembly()->RootComponent();
    6 j* S" B! D+ {
  44. workpart = theSession->Parts()->Work();
    8 ~5 n; j# ^. t3 J
  45. lw->WriteLine("The workpart is : "+workpart->FullPath()+ "\n" );" E- _( t4 @0 ?- I. }3 c( O, c0 o" k
  46. if(rootcomponent==NULL)
    8 p2 i( O" n% v* N; q( A! X5 Y2 ?2 Q
  47. {  4 R5 f& e: S6 g3 C0 m/ o& ^- x
  48.     lw->WriteLine("The part is not an assembly ! \n " );
    ) i! N2 i0 P# C# h4 x
  49. }
    6 `0 i1 G% i9 Q4 {4 B4 ^2 j
  50. else
    2 F$ y; y$ G; W  o* _0 l8 }
  51. {
    3 p4 [* l# Q7 |& `; G
  52.   lw->WriteLine("The rootcomponent is : " +  rootcomponent->DisplayName()+"\n");0 ?! C5 x/ s9 ?% F# U4 p8 s7 N
  53.   lw->WriteLine("The children components are : \n");! \5 _! [/ T5 `' [
  54.      getchildren(rootcomponent,4);* x+ l* c* x6 j; v; s) T
  55. }</p><p>}5 V+ B5 @9 N! a  _1 Y( [) n
  56. </p><p> </p>
复制代码

# R& ^! B" L7 B! o5 D0 q
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复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二次开发专题模块培训报名开始啦

    我知道了