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 3332 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);
    1 @5 H  q" _8 V6 s. }; d
  2.             tree_control0->InsertColumn(2,"Status",100);/ i, M, b3 I0 Q0 I4 j6 ?

  3. & C6 `* b2 F8 y
  4.                 ; ]; O, s5 p0 g# O- H! R
  5.                
    : Y# X0 ^4 }+ f* `* S
  6.                 // get asembly name, ~9 `! ?# C0 |5 c3 W( b

  7. 5 b+ Z) C) K, |% w/ R. G( Y
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();1 R5 y0 J% F7 h. C
  9.                 Part *workpart = theSession->Parts()->Work();
    " J& k+ ^) h3 u. C
  10.                 // get rootcomponent
    0 F8 ~( V4 X6 K( g
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();- R$ J2 R* Q9 d: X  c1 A
  12.                 if(rootcomponent)
    2 n! p* i1 V7 H+ c% O
  13.                 {' h5 b; f3 P: Y
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    ) J/ \+ g5 |& x3 p* ?/ l& Z4 N
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    8 Y) T7 u/ R5 i/ x: V
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));2 c' q% V" X1 R' Q9 D& f
  17.                         getcompoents(parentNode,rootcomponent);
    " J; Q3 B5 o  N  B2 f0 `; \
  18.                   
    4 U! w5 V' h& L  M" G: ?
  19.                
    3 B( A' s! b( f, t+ ?$ P
  20.                 }* B) K' \$ b' _/ P% F$ V: V; J0 G

  21. 5 z; s. O  X/ T4 y& s2 I* G& I3 X# [
  22.                 else# V- J) r) s- ]' ?2 o( q
  23.                 {: U! q0 o* \% p7 m& Y% n
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    ! U& L0 g  P' U( f9 j" V2 K9 J
  25.                         newNode->SetDisplayIcon("piecepart");
    % q" R, w9 a) M( V1 J2 M
  26.                         newNode->SetSelectedIcon("piecepart");) j. Q4 Q& X" r+ i. s* A' l- q
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    ; X4 ^6 A8 A1 \0 n2 I9 w: d9 S0 }
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");
    6 t5 X' j; e4 V% T! M
  29.                         delete newNode;; o9 N  N) W+ P& E2 @6 u8 Q
  30.                         newNode = NULL;
    - }# R) O; o3 ^0 G8 I
  31.                
    1 X9 h6 ]+ {& Z# I0 Q2 @# V% u: E
  32.                 }
    0 q0 T: z6 j2 L2 T- `; |

  33. 8 N% C1 T$ \" o) q. m5 \# }
  34.                 - b0 ~# Q6 A% [, N. n& C, ^
  35.         }
    ; c* K! G+ }# W
  36.         " q& x* {2 U' K7 W6 O; B% o
  37.         7 }; Y; j% v, M  R8 z
  38. ' j% q) ?% g; m6 O0 s: N
  39.   a* @+ W) j- z8 z# S2 \/ v
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    / p1 M+ Q: P1 ]& E1 ]$ w  F
  41. {) X# a+ t- @; P+ O5 r0 ]
  42.         Node *getNode = tree_control0->CreateNode(name);& ]; B9 C: r% g: P1 E+ Q
  43.         getNode->SetDisplayIcon(geticon);; N8 N4 X; t) n" y  u
  44.         getNode->SetSelectedIcon(geticon);
    # b0 |# @5 z4 {$ p! E" R% p
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);
    & Q! V, g+ v/ n) h! K
  46.         return getNode;
    . I% l% P  E* x- B/ N! P) ^8 z! z
  47. 4 t0 e/ N  x+ o1 q) M1 O, \) W# R
  48. }
    : f0 v' w9 d6 Q7 j* _  Q

  49. 3 ?9 T. m9 l/ U1 I
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)
    ! x: F" B  y1 K/ Y
  51. {6 g7 _1 ?0 e1 [! b% Q2 @
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());
    : X" F) }9 q6 Z: W; S
  53.          if(part==NULL_TAG)
    " }5 C5 }& U: |. Y( |) U; A4 a$ U8 J, Y
  54.          {
    3 j9 S  X0 r: _5 V3 D& x
  55.            return "Not Loaded";8 g) U1 B0 o( h/ T7 R# z8 F
  56.          }
    ' S+ Q) G! ?! w# F
  57.          else
    9 l5 d: D3 d3 U  Z) P. w1 d5 k
  58.          {
      h- i$ J2 y# b9 M/ ~5 `
  59.          if(part->IsFullyLoaded())
    . f% Z% l  J2 m2 t9 j% u
  60.                  return "Fully Loaded";9 A! `9 w! Y! ^
  61.          else" N* N! O8 J2 M: w) V
  62.                  return "Partially Loaded";1 G7 {* a  q/ @- P5 K
  63.        
    3 ^/ f6 K- f: h4 H' G8 B' M
  64.          }
    * J) D3 a3 i- A" o" G2 g) F
  65. }+ K7 o$ {2 y& n8 M/ H6 ]  A& f( r* y
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)4 Z9 Y8 G2 I4 `& _& i
  67. {  F6 G& F8 d# W6 F! G
  68.    
    + H- M, B- E, p0 I9 U
  69.            vector <Assemblies::Component *> children = root->GetChildren();4 f- j$ A# Q; h! E6 P5 ?) G* ~
  70.            for(int i = 0 ; i < children.size(); i ++)5 x% C1 G8 J- d3 O
  71.            {
    3 _8 g% r" v2 N3 _1 G
  72.                    Assemblies::Component *com = children[i];
    4 _# Z! a4 B# [. W
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");- E% C0 }8 ]3 E8 Z7 ~
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));5 B9 B0 @( v: R# |
  75.                    getcompoents(newNode,com);
    8 f) ^( M% T* h+ `8 E7 ?
  76.                         7 p, b5 r) B. W1 J% H
  77.            }
    9 s6 N8 s. D; g- {3 X9 t
  78.    
    * }( Y; l! S$ N3 A% l* _

  79. 7 j- v% y0 Z; C0 d3 o

  80. # q  G! v- R# Z/ V1 b! F0 H; E% u: f
  81. }
复制代码
0 S3 Q% g( |) J2 H7 R* T
模拟装配导航器treelist代码分享--树控件的使用8 m# M9 a% F% O4 f1 L
8 f! u& I# R) H( k) N8 c4 X

# x; ~9 Q0 V5 v  P& p2 t- y) S' C* y3 n7 D0 X  z  s- J
0 W9 Z* [2 K+ q, z* S4 B) a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了