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 3316 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);
    7 g  H# w8 o, r
  2.             tree_control0->InsertColumn(2,"Status",100);9 m1 t# a) @- R$ ^
  3. % }; z5 a: K+ _" O( j
  4.                
    & u6 Q, n5 S4 O1 C
  5.                
    & B  i4 P! h, u! E0 w" x$ s5 d
  6.                 // get asembly name/ o+ Q* u$ Q/ V. U5 p5 r
  7. 9 j' F  {4 W7 ^: ^: E  P! V
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();/ Y: F) o3 N; w, V( n5 U
  9.                 Part *workpart = theSession->Parts()->Work();% _% e4 i0 P- o, Z) m
  10.                 // get rootcomponent
    ( u" F/ L$ r% ]; _9 s
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    # }2 F% R8 g: h& n9 r: X
  12.                 if(rootcomponent)
    , }8 ]# Y9 b( T# G8 E
  13.                 {
    % P) @% k. g$ a3 ?) O* Q
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());# |0 R1 ^# k! k: i
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    7 p+ D) J% N4 r; r$ O9 ~: p* Y
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));) A' {" f9 k9 s8 w/ x: K) Q3 A; _9 b
  17.                         getcompoents(parentNode,rootcomponent);4 h, \: B7 ]# F# o# T4 c" }8 N' r) {
  18.                   
    2 r: b6 }5 K3 K6 W% K, b  n% R3 [
  19.                 6 h8 S0 K7 O% p/ O
  20.                 }/ {5 M; u# ]5 e9 z! T/ I

  21. * n  e1 @/ }0 X- h: B9 g* e- ~3 j
  22.                 else
    5 C, k% C& x  f# \# M4 O
  23.                 {
      Q/ y- E) W+ {$ A: m
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    / l! |0 o" Y" D0 N! a( B1 I$ t
  25.                         newNode->SetDisplayIcon("piecepart");
    $ K8 p2 G5 q1 T7 d* t* ]
  26.                         newNode->SetSelectedIcon("piecepart");! T/ V3 O2 k: I
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);
    6 h# ^' w3 B: Y4 [2 v
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");* g  |. f' u7 v1 v5 |
  29.                         delete newNode;/ R1 J$ O2 q$ U7 ?( B# Q: k6 u
  30.                         newNode = NULL;
    - s- r: [+ x3 Y2 M9 m
  31.                
    $ ]3 c# D3 ]4 {+ L7 W
  32.                 }7 z/ v% x) z4 Q* a9 g
  33. 6 D+ e3 H' x! w5 W6 C4 m
  34.                
    7 k' |( W# @7 @+ a
  35.         }. ]9 y9 B2 q( r# Y! }0 i
  36.         & M/ l6 X; t% u5 @
  37.        
    7 v- x# r. C/ }/ `
  38. / h9 d, O7 [/ X3 @+ w

  39. 2 q" M4 R+ o2 h+ B" C( ~
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)7 M! a4 i& b+ g. K; P
  41. {
    ) `9 P& Q# N) e- _$ p
  42.         Node *getNode = tree_control0->CreateNode(name);
    & ?1 Y% s. D+ d, C6 }
  43.         getNode->SetDisplayIcon(geticon);9 \8 @& X9 l$ L  K: A
  44.         getNode->SetSelectedIcon(geticon);- g6 j4 Y  _. u, @3 C! z1 F
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);% J$ [( v2 _  C9 p! i# j  X
  46.         return getNode;3 v+ O+ o) ~2 s3 K+ Y( Z9 W

  47. . N# `" ^  f" ^4 Q
  48. }# N0 K! \2 r6 N5 u: J) t( O$ P, t8 Q
  49. + f9 P* M! m# X- d
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)$ E) X) R0 s. p
  51. {
    1 O& |2 R. I0 c5 S' t: _, u& O
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());, ?1 Y! k: `3 _7 ~$ L5 M# U
  53.          if(part==NULL_TAG): z! ]4 R  j1 r  P5 i& N" L, J
  54.          {/ J# @: A  W: a: G% d. O
  55.            return "Not Loaded";  l, Q  c8 D6 E5 C- ^
  56.          }
    / Y- i( Q4 h! w* g0 ]5 j. u. u
  57.          else9 _6 S: r# e  }, a5 N
  58.          {
    # E. Q8 [1 T0 c+ }  g- R+ z
  59.          if(part->IsFullyLoaded())
    & E8 I! a9 n7 o' t/ O$ r5 T. O
  60.                  return "Fully Loaded";2 r6 J; b- @3 N! Q. e& E' b
  61.          else
    6 v  Q2 h* Q5 D! y8 q% {
  62.                  return "Partially Loaded";
    , s6 |' U) W7 a. D4 l! D  C* B+ R& w/ r
  63.         ) f% \3 A. D6 E6 q6 T  |+ N
  64.          }
    . B  l; R, {/ d6 U7 [* E# r& b
  65. }
    ' c) _/ k( W" i, D+ x+ ~
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    5 S/ g2 s* C; l& J4 T2 f2 ?& y
  67. {
    , K* S) J9 F+ X  `
  68.    8 K* y: ^  p$ C! r. Y0 W
  69.            vector <Assemblies::Component *> children = root->GetChildren();. R$ R4 X, I# H4 d0 k4 ?3 R) v
  70.            for(int i = 0 ; i < children.size(); i ++)/ ]' F! j" t* ~' N! l- _2 U
  71.            {$ I. o& |% |! _  z. j7 F
  72.                    Assemblies::Component *com = children[i];
    2 t  p: [" p0 l  {9 c
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    % D, c+ k6 y2 v9 n  c. E! h' W
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));8 {" p  P2 h. [* ~: \9 Q! w
  75.                    getcompoents(newNode,com);8 p& V" q7 x" a; ?$ m2 ~
  76.                         ( _/ T$ ]9 n- ~" u; y
  77.            }
    ( L3 p( B3 D( i
  78.    , t1 J: q( l$ y  C8 M+ w) ~

  79. 9 K3 X: E4 c5 v( T7 N

  80. % `  b! ]) z7 b3 ~: Z1 C
  81. }
复制代码
" ]" T, m7 Z' Y8 B) l
模拟装配导航器treelist代码分享--树控件的使用$ C( V  F" }3 n2 C5 I

# N: h' o: R. }3 K6 m9 B
6 f) Q' Z0 O; _
% S/ |' d; E0 e( L  s- D2 d; R, G# c% x. K, m; P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了