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-国产软件践行者

[二次开发源码] 模拟装配导航器treelist代码分享--树控件的使用

[复制链接]

2014-2-13 14:47:51 3323 0

admin 发表于 2014-2-13 14:47:51 |阅读模式

admin 楼主

2014-2-13 14:47:51

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

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

x
  1.                 tree_control0->InserTColumn(1,"AssemblyName",180);
    . M- }: Q, m6 c. I9 J
  2.             tree_control0->InsertColumn(2,"Status",100);1 G' @. u! d: h# C! z
  3. , ?" L& G0 M6 ]3 l2 e; l& e
  4.                
    . Y* m% B4 t: Z6 p1 F) I
  5.                
    & j4 H, l- T. M" f
  6.                 // get asembly name
    5 Z9 l, u7 F+ F6 w) w5 L7 x
  7. 6 J6 Z4 [2 |/ u6 l# L' x
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    ( x3 u9 }2 q  @
  9.                 Part *workpart = theSession->Parts()->Work();( I% y5 S& h3 T& \/ K& {: X
  10.                 // get rootcomponent
    3 n% }- w8 U9 f* f& u
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    ; R" y" V8 Z- J/ ~/ }5 ?
  12.                 if(rootcomponent)( I) S6 I1 N* _/ W
  13.                 {
    ! a' r+ T# j3 ~) h2 E4 W0 }
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    . R3 s" Q5 U  w3 ]" w( A" L
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    ) ^* l2 x" ?* p+ g; m, E4 H
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));
    9 {2 S) b5 v. K
  17.                         getcompoents(parentNode,rootcomponent);2 a; d6 H- o0 S
  18.                   
    " U8 u6 W6 H" W9 m( ]
  19.                
    7 _+ z/ o4 @0 g7 H
  20.                 }
    5 j* i" H/ c: Y0 t  p3 M
  21. 6 w% c7 A& N  \0 U, U3 F
  22.                 else5 C& Z- L2 _8 X3 H, }- v7 X3 P
  23.                 {
    5 K& K- q! ?4 B% X. K
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    + A( _9 z8 {: }, G; E
  25.                         newNode->SetDisplayIcon("piecepart");5 h- }1 C# x$ I  |2 J5 z2 X$ P8 P
  26.                         newNode->SetSelectedIcon("piecepart");
    3 U$ U* X- f" X" W, F* t* Y
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);. @& @% ~+ n, [  K6 D; z' h' E& i0 h
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");
    4 b1 i4 v0 C& e( U& t
  29.                         delete newNode;  Q$ R* a' v2 e+ H) o* W- S8 e
  30.                         newNode = NULL;
    - W( }, j( A9 [$ P& W
  31.                 2 o; ^, Y( `2 g8 I% O2 S
  32.                 }
    ' M: P, Q9 y3 C( D, Q0 |+ z
  33. 6 q6 h9 o  y( M# R3 w# {% u
  34.                
    " r" ?% i# N4 L
  35.         }4 ^% G+ {& P4 @% f
  36.         - I' N0 F. C' ^6 p  N: {7 s. x) z
  37.        
    ( j5 |" m- m: J; m- D. a. H. U
  38. . I( q  Z0 ]- g8 D

  39. : b" v/ W1 _7 g) C. N( L" |1 p/ q
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)$ I9 }' `5 t% u0 n/ U9 N3 l
  41. {! R5 d) i4 p) U! n0 i
  42.         Node *getNode = tree_control0->CreateNode(name);
    - t1 c  M9 }+ k( G; `: H
  43.         getNode->SetDisplayIcon(geticon);5 g' |% \$ g# `) d: h
  44.         getNode->SetSelectedIcon(geticon);$ |$ G% F9 t2 Q& a1 a8 t
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);. h" p* C- u; B" h, ]7 b8 m
  46.         return getNode;
    # W- B& x+ X* w# y! z; X, h

  47. 6 s, r% q# c& t7 e4 {
  48. }
    ; w# U1 E0 [, y1 G0 K0 z8 x
  49. 4 \3 W5 M! H# P3 t% ?2 Z) ~
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)2 e" F/ v; U6 m+ z
  51. {
    ; ]  M& ~( N" a
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());$ `6 i6 y8 e- U( T
  53.          if(part==NULL_TAG)3 v! Y: J6 ]/ F$ x. e
  54.          {/ n0 B! N. m; a# M! q* O, P
  55.            return "Not Loaded";1 B' r+ Y9 N# b
  56.          }
    : T, p. e6 z1 S' q
  57.          else- X& O* {$ [: w: R
  58.          {
    . a9 i7 V8 W5 r( h1 i! w
  59.          if(part->IsFullyLoaded())  Y& m& w  a7 t0 z* @  b- C( J8 |  `
  60.                  return "Fully Loaded";/ x; |0 n, m3 o: O0 B/ U4 {
  61.          else& Z4 R% y# _$ o& Z8 B5 f! Q0 H
  62.                  return "Partially Loaded";& n( C1 v- b" {1 R; e. v
  63.        
    2 d9 t/ Q% b* Q
  64.          }
    " c" m- A/ \/ G$ b' E$ y
  65. }
    0 o3 Z4 t; G: D& @
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    : C( ^  O' |0 g& _
  67. {& m# Y6 M! Y; {2 l9 `- _/ n  b8 m
  68.    
    / q8 `2 F* d! S& i% O
  69.            vector <Assemblies::Component *> children = root->GetChildren();
    # u) W3 O  B1 T) q
  70.            for(int i = 0 ; i < children.size(); i ++)0 l- G. N. X2 x5 t# R
  71.            {) K7 N6 q, I- Y' u, L! y
  72.                    Assemblies::Component *com = children[i];
    , f1 C4 w0 S1 y+ I: h& |
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    ( P0 e. Z0 R3 P; g. E- g8 {
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));
    ( y4 Z: i' |" z& W
  75.                    getcompoents(newNode,com);4 T$ c2 b5 T4 _' v, I( {
  76.                           R) A" l2 q/ C0 Y# u8 x
  77.            }
    ; V& D# s/ H7 l. z6 j
  78.    / R' y- Y& @; I0 }( v9 N

  79. 5 U8 `9 x0 `1 Q' [$ E4 G
  80. # ]' V3 @5 j/ A- ]
  81. }
复制代码
/ `5 V9 h- h  m1 i
模拟装配导航器treelist代码分享--树控件的使用
7 V3 I- d% u, k) e. }
# k- k+ C) b  D
; C- h  s8 m1 H* {3 Q
2 ~8 G9 C: [8 f0 C" @" O
: c+ D! _, b7 x& W+ \. K' [. k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了