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 3314 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);
    8 U9 g6 Q7 q1 k
  2.             tree_control0->InsertColumn(2,"Status",100);
    ; a+ r4 @; d7 @0 b

  3. ) L, Y9 _, p; z* X$ M
  4.                
      K  D1 @& t8 R9 I$ [! I) C
  5.                
    3 l; V  [7 N. d8 T/ U* a% i
  6.                 // get asembly name
    $ |& m$ @7 {5 k& A
  7. & m  |. n2 `5 y: W# q2 E' N
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    " |5 y7 ]/ o! `- e, D2 m
  9.                 Part *workpart = theSession->Parts()->Work();$ _! [$ y9 O# L3 D# W% T
  10.                 // get rootcomponent
    6 D. ~: {5 ?2 r
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();! E$ @5 G# i: R8 C1 w$ j+ o( q
  12.                 if(rootcomponent)
    + s  R6 W3 F  n! l- }4 q& H* k6 m
  13.                 {
    & {- E0 \. ^' T7 b# E! U
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    5 U3 a. n  Q8 B# D0 e: F2 j
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);& n1 G# B5 `* U
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));# s6 q; g" o) x6 t6 z: d0 r6 O' `
  17.                         getcompoents(parentNode,rootcomponent);
    / q7 K/ x$ q& `8 K+ a5 j! K# S5 S
  18.                   # e$ M' |; G7 ]: p& t
  19.                
    : U! ^: h, c, q8 {# |' u# ^7 l- f
  20.                 }# C: {9 |7 u0 E0 P: U# ?: u3 z

  21. / o2 c; _- e) B( [& ]
  22.                 else: Y9 b6 s# P$ i" T7 b) y( T
  23.                 {
    2 p$ |% R* K6 |* }( P. z& G' `
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    3 w4 G6 ~/ Q5 o6 M+ M% T* d" r
  25.                         newNode->SetDisplayIcon("piecepart");
    5 C: T! r% e2 `8 D, p2 s  G, s
  26.                         newNode->SetSelectedIcon("piecepart");
    - X! l/ |/ ]( y. {& }5 e  n6 ~# k
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);1 J# Y- M  m- |+ e0 `
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");
    9 \% }" @5 m6 ~. m3 E  \$ _
  29.                         delete newNode;7 D( _5 e4 c! c9 [/ ~
  30.                         newNode = NULL;7 _  b  D3 ^! h- `
  31.                 : N. E# t  ?1 f) h+ o
  32.                 }' S% g4 N1 c& {- f( Q4 M

  33. ; s, \+ ~( f0 \9 d/ Z' ]
  34.                
    3 }% R, a+ P+ n5 z/ ^. P
  35.         }
    / n' F1 J; |( a" \- I
  36.         ( a# _6 R( F- K7 r) ~
  37.         % ?2 |6 D1 o5 N" Q4 W  b0 H" n: _
  38. ' V" B" v% |! X
  39. , D* u6 }/ o1 C. A  F
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)* A! w' ]9 Z6 Z
  41. {# I, Y2 e6 C5 b' y+ K( w
  42.         Node *getNode = tree_control0->CreateNode(name);
      `: w% T8 b0 s& g$ ?
  43.         getNode->SetDisplayIcon(geticon);) d: j# T2 ~: a8 b' a+ ?  ~  p5 _
  44.         getNode->SetSelectedIcon(geticon);
    - t3 ~. V. S6 W3 I' [5 k4 a' X
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);- a- M$ L0 J& o0 I+ a: E* @& @
  46.         return getNode;
    , _6 Y6 p& v% @% k0 n: x
  47. 2 ]" U! H9 y/ }% Y. r" ~1 T( R9 s
  48. }
    3 R4 E, B- ]7 J$ v4 e% o- u. T
  49. . Q" K/ \! K7 Q- ]$ b: p
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)' T% M, K* W- M* f; v) J
  51. {
    3 i& [1 _  h+ ]7 w: @
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());
    - w2 e3 i8 F) U; d0 l
  53.          if(part==NULL_TAG)1 r% ?2 O7 H" H; l
  54.          {5 _8 w. e8 a0 ?' Z
  55.            return "Not Loaded";
    7 \7 y3 C! h; g
  56.          }
    - [- D9 M+ I- l& c0 v
  57.          else: s. W) o0 `2 F) ?" o
  58.          {
    # C" z: o& o; G% ~% V3 G) ?
  59.          if(part->IsFullyLoaded())
    2 ]5 \' A) V6 ]( [7 y
  60.                  return "Fully Loaded";
    0 S* ?0 k0 \/ z& W3 r! H- B6 W
  61.          else6 n2 Y* A# e* I$ [6 v
  62.                  return "Partially Loaded";
    0 G' {- S0 J- z5 M: Q
  63.         " r$ I: G' w  ]- O5 b! `) s
  64.          }
    ; G2 A/ H! Z. l% g, q. ^, y0 R
  65. }; S* H* b4 f' o; x7 @
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)2 R; D2 ~* \7 w
  67. {
    , B! V- A" H6 p
  68.    
    6 n5 O8 J' m6 a( L
  69.            vector <Assemblies::Component *> children = root->GetChildren();( w" }7 ?7 K0 G, P0 X# G
  70.            for(int i = 0 ; i < children.size(); i ++)% V' B  z. C) Z% B' D! o- E& G
  71.            {" u% X( U( k1 g% Q: \8 z5 r
  72.                    Assemblies::Component *com = children[i];
    & `; q+ a4 A8 a  P" l
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    ' X0 h% h0 D# f
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));2 R) @# l; Q% o4 p
  75.                    getcompoents(newNode,com);
    * |0 M  \: L3 D$ _7 p# Y; A
  76.                        
    9 C. Q7 e- v8 d9 R3 a5 p
  77.            }" g: u' u  A% t: V: e
  78.    . q. X8 P2 B) b- L8 M
  79. ' s6 D* b) e) b+ r) i5 U
  80. 5 n  c% v* C# }5 r' ]: O
  81. }
复制代码

% ?% I! n7 l7 {$ x, Q% n模拟装配导航器treelist代码分享--树控件的使用# l4 s% M* r# M: }

) C( w! o6 S. z
$ e' A3 q3 h5 P, Z; A& d3 {4 f; `( z+ D) A
3 X  O! P* L& B+ j6 V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了