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 3301 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);
    % c. {0 }0 O3 n0 v2 Y* ?, _% m, I
  2.             tree_control0->InsertColumn(2,"Status",100);
    5 X- `* t( J" ]# _. Q0 F( b4 V: L
  3. 3 [2 E) m. |! `
  4.                
    , S1 q) r) a2 U3 u" Q; k9 l) a% W
  5.                 1 K  v6 R3 g* v9 k6 H3 V
  6.                 // get asembly name  z6 _3 i" A" [, w! F2 ^8 b

  7. 0 Z+ D) I& |/ P- m
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    7 y+ ~2 B; z/ G! |
  9.                 Part *workpart = theSession->Parts()->Work();9 J  d! a! ~: }4 p6 l: h
  10.                 // get rootcomponent  T6 M3 a) R) v' }9 t" n4 E3 b
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    : T4 ?$ S& z; f, v/ R  ~8 [6 b: s2 ^
  12.                 if(rootcomponent)# B/ A, }# s' O' }7 T
  13.                 {4 }% ?5 ^9 ^# K9 j  V
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());7 }1 f0 K6 O. k& W
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    & p2 G% q3 V& Q* J
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));
    2 u; h( F/ z' k9 \6 |3 _
  17.                         getcompoents(parentNode,rootcomponent);  X# t$ O. d; f$ l; g' a
  18.                     u7 p! V9 v+ Q* a, I) z
  19.                
    2 @; P$ ^# g5 e. f5 j- t. }! m
  20.                 }
    ( r+ E5 z3 D2 t4 R# P) N
  21. ! m& T) {: Y  Y" A7 @; Q
  22.                 else
    - S" q; {+ R( F# x) \! u4 I; R
  23.                 {% w$ b9 d/ t6 }
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());" m/ Y2 y, ~- r1 e. u+ L$ S  S% z
  25.                         newNode->SetDisplayIcon("piecepart");. J) f* ~; R$ M+ y' J! Y; |
  26.                         newNode->SetSelectedIcon("piecepart");
    4 p6 ~1 w/ C" x& G6 J- Y
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);& T) j, e! d# ~5 x( z1 D  F
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");8 G9 v1 `8 \) H% _! |
  29.                         delete newNode;
    " y* U6 e& X5 ^4 ?  C2 F4 ^) ~
  30.                         newNode = NULL;
    7 l1 ^' ?* s7 w2 B
  31.                 9 z# B/ S, W# q8 h
  32.                 }1 I5 L6 V: q1 \
  33. 6 D; ]" c9 A5 b+ c( R! ~! W
  34.                
    ) |! q/ B, ~; `. l) V% R( [! M, r
  35.         }$ u4 o' L7 f% S; p
  36.         % M* k% {6 B* @% f8 i
  37.         " u# T  a8 _& e9 d: X

  38. + M# g# n# u) f; L

  39. ' {6 ]% f8 J$ G/ u# I) }
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    7 R7 d. k3 V$ x0 D9 u
  41. {) O: ?! b# i! `+ T. P2 _% ~3 S
  42.         Node *getNode = tree_control0->CreateNode(name);2 E( Q$ X5 K& T5 n
  43.         getNode->SetDisplayIcon(geticon);7 o1 ?7 i( ]5 ], t
  44.         getNode->SetSelectedIcon(geticon);
    . e  {: j! p( F. c3 T; b9 r( @
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);
    4 {  g1 W/ Y) ^8 t6 {! `' U. n: P
  46.         return getNode;+ p' i2 T4 [4 X

  47. : }( _  R4 E, b" U* w. Q
  48. }
    ' n4 ~) f. k! k5 @" g5 Q7 [5 L
  49. 6 C! q  k" G6 l: S0 ], K, v
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)
    4 \& l. r& [  S/ g2 p+ A- N
  51. {+ r& I" D0 J: s+ c
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());: u$ ]3 v* [; r, G* x0 ?7 j9 q
  53.          if(part==NULL_TAG)5 u* C& V! I) c5 r( ^
  54.          {
    ( l- R6 y/ b* I) b3 V4 z
  55.            return "Not Loaded";% w6 k4 F2 W& \. }$ _
  56.          }
    * e0 p  E3 y' L8 C
  57.          else
      o# m" [- m& v& x6 L
  58.          {: {" X7 a. p$ G7 Z' s
  59.          if(part->IsFullyLoaded()). P! g: o. l' j# K
  60.                  return "Fully Loaded";% x$ ]/ x0 d, t0 K- _1 e
  61.          else& L# Y: x$ S- H7 t" B' N* {* `
  62.                  return "Partially Loaded";% f1 v% w  F" p6 G, I. h: q
  63.         7 C# {3 G. X/ v
  64.          }; m) @+ v* B" v9 Z3 v1 X8 _
  65. }8 X( P/ M4 n% p# R8 |
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    ) V  [# }0 s" j
  67. {
    % q: m  z; k  |$ K! v( S# ]
  68.    5 Y6 v' A' r  B7 I: {1 q6 B' H
  69.            vector <Assemblies::Component *> children = root->GetChildren();
    9 T' U7 J) a, ^/ L! m& |; r
  70.            for(int i = 0 ; i < children.size(); i ++)
    ! O5 m  `4 x3 r$ @2 c
  71.            {
    * j3 S# `  ?) U; b$ C
  72.                    Assemblies::Component *com = children[i];
    & Q$ p1 ^2 h! X
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    5 `, `  {# X' }( A, z/ _
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));
    , q9 c- V6 V% H9 t
  75.                    getcompoents(newNode,com);# y. Z. a- F9 H6 V
  76.                        
      a% y- d3 M6 z" @* `& v; P0 K
  77.            }: e0 N# d; R( X3 \8 R/ i
  78.    
    4 L8 S* e( s' s( y
  79. : e' _- v  ^( n% f
  80. : V, z0 W" O1 w- @6 T
  81. }
复制代码

9 k2 s5 h* _" g% z  Z/ O: }8 f模拟装配导航器treelist代码分享--树控件的使用
  M: ]1 M7 v# s/ Z
- L0 s' X5 o! V9 i& Q8 a$ q% D/ `% `7 d

; |% c3 T- E2 ?; ^- S5 O/ I# |" n" T  Q4 R% D) A1 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了