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 3153 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);
      Q+ e) `0 K0 s8 D1 G
  2.             tree_control0->InsertColumn(2,"Status",100);
    + @3 b+ c! d# y
  3. $ U' q, u2 m0 f# D. W
  4.                 " J/ p7 N6 r0 x3 H
  5.                 # k6 A" P( ~5 W! a0 L
  6.                 // get asembly name0 Q, g+ _8 o9 s& t2 {
  7. 5 B" l9 d, d! T1 E, }
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();9 J. F2 l+ ]: @( }7 k8 U+ r
  9.                 Part *workpart = theSession->Parts()->Work();
    1 ^. P( Y7 p, v( W- b
  10.                 // get rootcomponent
    0 g! u/ y; M! k4 R" P
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    2 O8 i- L& @/ N7 X( L
  12.                 if(rootcomponent)
    - E7 q$ }* Z- ^) w5 N
  13.                 {, Q0 s3 V/ I5 A1 A
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());# }, y9 }4 s$ W1 J; |* _
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);! b* A2 `; s, c6 _" U
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));  J: h1 I$ q3 y0 |# A1 k* q% m$ j+ {
  17.                         getcompoents(parentNode,rootcomponent);& b* u8 X1 f& Z/ |
  18.                   
    + t5 P* A, _8 I! R' Y
  19.                
    : p% [3 e/ I% e" r8 I
  20.                 }
    ' g- ~* ^& `3 L# N" q
  21. , I1 N1 f' h1 v, T4 c
  22.                 else
    3 n' X9 G, S" F6 K0 b
  23.                 {! \( A' A& Q# x' D# k# b
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());) |: R% s' F( W1 m: p+ O; u
  25.                         newNode->SetDisplayIcon("piecepart");8 u* q5 Q3 d6 C( ]# }; A/ A, E6 d7 P
  26.                         newNode->SetSelectedIcon("piecepart");/ Y" M% b3 K$ |$ Y
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    ) Y% A1 i1 k: C. Z
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");
    " h+ ^- x% J. S  @7 r4 I7 F8 |
  29.                         delete newNode;2 ]3 q9 O( n9 R9 \# L
  30.                         newNode = NULL;
    # I( {5 A- Y+ e: K+ M
  31.                
    : o- o. }) T1 G9 {3 n. \# J
  32.                 }
      j# g# W" E% h; r
  33. 5 r" e" r1 t* t
  34.                
    % A% [( p' c2 B1 N9 S5 H
  35.         }
    8 q* U( b9 u& S8 b8 k. R* B+ z5 r2 V0 w
  36.        
    1 J5 B! x, Y% v( @+ _0 s  y# h
  37.         , Z1 A0 T9 e: H; c4 l3 j
  38. 6 ~* C- U7 T' m6 C1 X: j- y4 W
  39. 2 z" E& i$ v$ j8 V( N% ^
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    9 z  k2 t2 H  ]6 h, j6 [" S
  41. {; {; b& W; {. {2 @  [
  42.         Node *getNode = tree_control0->CreateNode(name);
    2 z4 g& }! v1 U8 Q
  43.         getNode->SetDisplayIcon(geticon);
    3 [% C6 P- Z% q" e% B6 n- _
  44.         getNode->SetSelectedIcon(geticon);' z6 _! }, o, `$ N
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);
    6 C% x4 v$ r9 D) ?. _2 I; l9 m
  46.         return getNode;
    $ e3 V0 e) _6 C5 }

  47. * I1 Z" z( O/ Q9 F" d( f5 h* {
  48. }6 t& b! x2 a  H( z
  49. - E6 _% O- B, K
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component): I3 Y0 q. w8 @
  51. {. t& C# c  t% u
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());
    + s9 e- h9 s+ B0 I
  53.          if(part==NULL_TAG), r' a' n9 c+ V' M+ v0 s
  54.          {; }: F. {: l  Z& F( V
  55.            return "Not Loaded";; ^6 V4 U9 l: n6 e; U' o
  56.          }
    $ Z- Z0 b; b$ j1 B  G7 a
  57.          else
    2 i8 ~  U2 ~) D- N6 u+ e, k+ y
  58.          {! Y2 |, v- w0 \
  59.          if(part->IsFullyLoaded())
    ) ~* O5 l  k( a8 r, |9 V) Y
  60.                  return "Fully Loaded";7 r6 k% Z% S3 P" q$ E" b' C, G
  61.          else& N1 g: y5 n- e! ?
  62.                  return "Partially Loaded";
    ) l6 N9 k  m0 H# x( S8 l3 I$ K
  63.         : l- k# ?8 b/ U8 R$ k9 L2 @9 _$ q: [; l9 A
  64.          }
    6 Q& W. H2 D0 Q) r5 f
  65. }: E  x- b6 W8 r5 P$ C, L# o
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    . u$ R3 N: l$ m7 K
  67. {5 ^$ z& I) G0 @& B( ^6 ~) E+ E/ S1 R
  68.    
    2 _) G& _! [9 l7 J( w. l' r3 |7 ^, T
  69.            vector <Assemblies::Component *> children = root->GetChildren();( ?# w; h, h1 }( J; b7 y
  70.            for(int i = 0 ; i < children.size(); i ++)4 V9 a" K0 W; h$ {2 M  P
  71.            {
    " R: B3 l; ~) a9 N
  72.                    Assemblies::Component *com = children[i];  j* H0 [- M5 W4 Q% \
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    ! O8 F( F5 H: \) V
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));
    9 ]* }  O1 S  V. a% p; x7 v
  75.                    getcompoents(newNode,com);3 S3 `* h7 e0 w- Y
  76.                         " g, s2 F9 b6 u8 e* m. I9 F
  77.            }/ P8 B6 s) [3 }7 v8 q8 p8 f) [
  78.    
    , p! K6 D& r8 |$ w

  79. 8 f* i5 \6 j& a

  80. # R* ~! @  f8 Y  l$ |/ g  L% Z
  81. }
复制代码
* C! D- A: R6 i% c7 b: m! z
模拟装配导航器treelist代码分享--树控件的使用
9 @! {  i& B# X5 G. }: S* x$ X. u) X7 f' F: K' A- D

1 X/ v( u/ K) j0 p& K5 K$ t4 Q/ V  @% T' ?: u5 s+ y7 j9 F& G" _5 E

8 {% Y' o2 m6 f7 q/ o% ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了