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

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

[复制链接]

2014-2-13 14:47:51 3290 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);
    , j7 S9 z( i* P/ b7 U* n. R# r
  2.             tree_control0->InsertColumn(2,"Status",100);+ T" q$ X/ o8 C/ B) O- C; V+ l% u4 [
  3. ! X% d9 K3 T6 v( O$ e7 E  Y% Q; H
  4.                
    - c6 g8 Z4 ]: _# n9 X5 \) r3 P
  5.                 , y; q! J- {% M) ]; q
  6.                 // get asembly name
    - F* y! k& o4 B( t
  7. ) [% r7 {3 i/ M7 e/ a! C
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    4 `+ m" z/ W  n2 Z
  9.                 Part *workpart = theSession->Parts()->Work();
    + G3 y- G$ r5 ]7 Z" h
  10.                 // get rootcomponent7 e4 _! f& M+ X4 X+ f
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    1 Z5 M* f: p1 I* X1 d4 p6 j- F
  12.                 if(rootcomponent)
    5 o( b2 [# k3 l- q6 g% x- _
  13.                 {* ]' D  R6 m* x% |% Y4 r$ m# i
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());% a1 [+ P7 {0 t2 t* c9 v
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    ) Q$ @, t* m  |# N+ P9 h% a
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));
    8 j2 U2 G( g  v/ q! P
  17.                         getcompoents(parentNode,rootcomponent);- D: P' r+ [  b6 z" L! L) G
  18.                   
    $ I6 y) d* W: K' Z
  19.                
    ! A. p) ?  K0 Q
  20.                 }
    ) I- W; e+ l, x* Y' X+ l$ W
  21. ; ^- n, {: D- Y$ O$ L
  22.                 else- M/ |0 e2 @1 @# v1 ^5 @) B; ^+ o
  23.                 {
    * V4 _  T, V( x* t9 V, E
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());8 M9 d3 }' q  I/ L2 P
  25.                         newNode->SetDisplayIcon("piecepart");) {$ p) r  K  ^1 h9 _2 ~
  26.                         newNode->SetSelectedIcon("piecepart");
    * D& R! ~) y6 L. o$ f( Y
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    . O+ Q3 o7 c$ X8 \( W4 n- f2 \2 [$ f
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");% p! p7 d1 I, I
  29.                         delete newNode;8 L" ]$ C: u4 D" c, Q
  30.                         newNode = NULL;4 A/ p; g* b5 B3 i  @
  31.                
    + `+ H% d1 l  e3 m+ C! N1 F6 E  L
  32.                 }
    5 T/ X/ Q  I/ ^/ d: U- D2 ?
  33. . a" `/ R- z0 V, \1 o, }/ f8 x
  34.                 / z; B5 g2 \" ]# B
  35.         }
    . \  x( u9 D  R/ \$ k9 R
  36.         ! R. |, Q* {  x# q
  37.         ! u% a$ ?* f' i
  38. 4 Z9 j( S0 q+ ]2 Y
  39. . K8 ?3 R* [+ p- e) H0 h  {$ Z
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)" S9 g8 t0 z9 _! D
  41. {9 V- g" {% F5 c- Q2 k- s* I
  42.         Node *getNode = tree_control0->CreateNode(name);
    8 |7 \7 t8 t" d4 E% Z% g
  43.         getNode->SetDisplayIcon(geticon);
    , t: x9 a: u& ~" [
  44.         getNode->SetSelectedIcon(geticon);
    . i" L* e4 Q/ c! u7 n- L
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);) m2 R. p6 e! d9 L
  46.         return getNode;
    9 O! z. S1 \4 m% {1 A# a

  47. 6 K) m+ h5 D, G+ Y, T) Q! Z  a
  48. }
    5 x* ?5 c. i1 n0 ~3 S
  49. 9 o+ c, D! ]5 T: E
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)  Y2 D+ E0 |- l$ c3 Z; \% M
  51. {, h: ^3 N# I% _' ~( O) ~; L
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());- T% U6 P0 g; ~. k% I
  53.          if(part==NULL_TAG)- y; X  P" Y, G8 _0 q
  54.          {" k; S+ X( a2 g. [& m; e" Y
  55.            return "Not Loaded";* i! |0 u4 h1 K0 X! E/ Y, o
  56.          }" a/ M7 Z! q# G, }. o5 J; v3 \; G. p
  57.          else
    & h% C; x3 @- ^" m7 R) F! |
  58.          {$ Q) q/ i& F3 z3 v, A6 b
  59.          if(part->IsFullyLoaded())
    % E3 F  U9 T2 V7 o3 C1 M# ^
  60.                  return "Fully Loaded";
    7 C) ?" v, j/ W7 {5 \
  61.          else
    4 p# k% u: f0 {9 s6 U" F
  62.                  return "Partially Loaded";$ E9 G# D/ y( p4 c
  63.        
    4 c: k" S- A, p1 ~
  64.          }$ C( X7 K0 S5 S% E' c" E( F) o& L% {
  65. }  i7 ^+ O$ z4 P. Z
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    $ t- f+ B' S" ]6 a$ k: ^
  67. {1 p0 \0 i# `2 m/ x/ `' x2 Z
  68.    
    ) `" P* N1 o& ?$ Z' u
  69.            vector <Assemblies::Component *> children = root->GetChildren();
    7 M9 ?7 _8 F" |0 B. J* i
  70.            for(int i = 0 ; i < children.size(); i ++)
    $ {5 c+ s& j( y  S2 Q  l. W
  71.            {( ]& s0 f( x5 h* V3 w
  72.                    Assemblies::Component *com = children[i];# j( e) ]) }& Q# H4 s7 [% B2 K
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    4 E; E1 u- Y! c& h4 _' @2 `
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));) L6 `; W& \; t5 A* z" Z
  75.                    getcompoents(newNode,com);" `. L# i+ Z) K3 O2 U
  76.                         9 E6 u9 `( ^: L' u, I9 K
  77.            }& w. l& [: R" E' F; a7 U& w9 N: c
  78.    0 m+ E8 O/ y" k+ {5 P0 u$ r8 m4 d
  79. * T; |) c5 {( ?: y  F

  80. / q( e9 B$ B; O9 R/ m
  81. }
复制代码

6 M9 N' L4 m3 T9 U( A. Y. s8 c模拟装配导航器treelist代码分享--树控件的使用
5 X$ r8 v- R. w- v
8 o* D0 {) z" M9 Q9 B' X& u7 h8 }/ w8 D4 F
. W+ Y& \$ {5 g; f" |

6 @7 H5 l  [, e; d; ~8 p& 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二次开发专题模块培训报名开始啦

    我知道了