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 3333 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);
    0 z7 Z, m' |" P/ l% i* I
  2.             tree_control0->InsertColumn(2,"Status",100);
    : o) s9 V  l8 d+ O* `; @" u

  3. : X) A, e% W3 S( B
  4.                
    ! f. y. C' y2 p; w0 u
  5.                
    " [! w$ M; s; B1 U5 F7 F! |
  6.                 // get asembly name5 r. }( ^# X( A% k. Y; E
  7. ) P2 Q! K$ m. L7 p- Y
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    ' B, z9 D0 x" v5 X: |: P, Q2 D
  9.                 Part *workpart = theSession->Parts()->Work();3 _9 m, T8 N# f0 q5 s( l
  10.                 // get rootcomponent
    $ D  O9 V7 R- z2 f
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();% s9 g) I/ W( T2 |2 \$ A; I3 @" K' u
  12.                 if(rootcomponent)$ \: R( H( J8 B! h
  13.                 {
    1 T5 Y" m  u1 m: N
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());$ I- t3 B" e3 \! s, T$ L* \; V6 r
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);3 s/ N- W7 @& o$ {5 Q1 n8 i
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));
    / ?% O. x2 H  c" f: C
  17.                         getcompoents(parentNode,rootcomponent);7 D( `) ?) f0 _) u( x: i' F
  18.                   7 M; X& m2 U8 J3 g7 W: |2 \- r) `
  19.                
    , N. }9 s( x" {! U0 l! {6 i
  20.                 }( `8 v5 g# e4 [1 E  y6 Q% K+ M1 u

  21. : I6 }" Z0 M+ g$ u/ R1 O# N
  22.                 else
    3 r, l1 L2 W9 J) ^
  23.                 {7 F5 K) F9 Y( F) e( Y1 H" H
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    0 E% O" s6 n" e" ^: N4 S
  25.                         newNode->SetDisplayIcon("piecepart");
    ; H- o! M% I8 x% y
  26.                         newNode->SetSelectedIcon("piecepart");
    2 A1 N9 L) ]7 r6 j
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    ; c8 g* X2 w- L7 _- K; [9 K* o
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");3 Q1 u& y( V- K
  29.                         delete newNode;/ m7 U5 ]' ?; ?/ D
  30.                         newNode = NULL;. g% k. }, w3 y* G4 i) B
  31.                
    4 a! [& f6 B+ T$ {
  32.                 }4 \8 b" u5 o2 u

  33. ' q( C' \& B$ k( ]
  34.                 : x4 H  ^" ^( n1 e5 g! }6 k
  35.         }
    ) T5 Y! ~8 n, b: ]4 H; l
  36.        
    5 |- E! G' {, U' v7 {! a
  37.         % ]  a: g' e6 H! G

  38. 0 |2 z, ]" P8 Q  L# T7 @0 L
  39. 0 }4 j( [7 I! d% L1 [: _
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    # }9 ~, w1 A% G0 X+ m8 e$ s
  41. {% U- k# X* q& Q7 y4 i3 l% E: `- t
  42.         Node *getNode = tree_control0->CreateNode(name);
    6 S0 _6 {6 O( t
  43.         getNode->SetDisplayIcon(geticon);
    & }+ g3 D7 v  ^. \3 W* K% P, l$ @& S
  44.         getNode->SetSelectedIcon(geticon);
    & O0 T) b. ]& V1 o
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);
    & T& e9 K/ p9 f( b& G, C. M% W
  46.         return getNode;
    ! _! Q  f8 j# d  S, \$ W) R

  47. ( ]1 j2 |! b: j3 ^, R0 v
  48. }! X2 q% o5 O4 ~1 v  ~

  49. - M% s4 Z; R. i5 P
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)% z* ?& z3 z$ S) ^
  51. {9 x3 C$ P7 X1 f* L# t
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());
    ) F1 ^* B5 _9 I' I
  53.          if(part==NULL_TAG)
    + a3 c  r: z7 W, m2 F) B) g
  54.          {
    : y  \& s+ }/ h6 G/ b1 l
  55.            return "Not Loaded";& [+ R7 }! |( [  N
  56.          }7 F' ]5 C: h8 {* s- u: ]# Q5 i" F
  57.          else
    ) ~! b' t+ b. U
  58.          {
    9 I4 G: G5 @/ d5 \, l) ?/ t
  59.          if(part->IsFullyLoaded())
    ' k- v% {/ y2 Q% c7 q
  60.                  return "Fully Loaded";  E$ a# U! b4 d! N4 i! {$ P3 u
  61.          else" A/ {$ G7 q3 C& w3 g0 Z
  62.                  return "Partially Loaded";
    ( D6 C; U7 T4 i4 B. h
  63.         5 s) t1 F: a2 A2 U% D2 o
  64.          }  B/ {5 I# W. E
  65. }
    / B- n# U+ y( d3 O& a# m* r
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)( p0 r# g9 {& C- O2 O
  67. {
    8 Z4 O' [4 I: J7 z* q/ G0 S
  68.    
    / @! j/ h9 Q$ W
  69.            vector <Assemblies::Component *> children = root->GetChildren();
    7 [) h7 o6 v, \' U/ n) s
  70.            for(int i = 0 ; i < children.size(); i ++)
      n0 k; f% O( K! I* Y3 p
  71.            {( q$ H" w8 H) g1 \% j9 a' }: X
  72.                    Assemblies::Component *com = children[i];
    . }! R- a; ~/ ?0 D6 ~
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
      M/ g9 ~6 Q5 [. u" |6 f8 m  M
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));% T  M! u2 E# N: I! ?! L- r
  75.                    getcompoents(newNode,com);# W- Y7 E( |* ~
  76.                        
    " q% e1 D* b% d) G# h/ l% [8 z; t
  77.            }, [% p' A: l+ d+ \$ j8 U) T; Y, _
  78.    
    # n+ p4 G2 K4 a, ^0 l1 d
  79. . `8 c. W: L/ F: D
  80. 8 l) Z4 W7 G0 J3 L
  81. }
复制代码

& Z$ F, q8 M, B2 c+ ]模拟装配导航器treelist代码分享--树控件的使用
2 |, C9 v8 ]1 y; Q
8 v# ^+ v7 S9 L
9 q/ f" E& o' K) O$ R7 N6 f
9 D+ S3 J9 C* ~  A/ x" ~( d/ q7 R  q" O. O9 r# y# l% m8 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了