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 3334 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);2 s7 J8 s/ A/ z( H% z  R
  2.             tree_control0->InsertColumn(2,"Status",100);
    ' H4 c' [0 i' O9 P# |1 F
  3. 8 \+ H& O* T, U) w
  4.                
    6 ^5 x& p9 x$ ~1 x- i
  5.                
    " N8 d9 t8 i+ G: a2 p" u( r
  6.                 // get asembly name5 r/ ~) t! N# f' V8 r
  7. ! ]& ~2 E, P6 m) v6 D' D" X
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();" Q# n0 W, P, S8 j! R
  9.                 Part *workpart = theSession->Parts()->Work();( D, e* K1 N* d+ [! C
  10.                 // get rootcomponent3 r' b5 n% R/ ]) c  V
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();6 U" [. l7 J6 e) v8 P( Z6 g1 r
  12.                 if(rootcomponent)" C; Y# @5 d1 T" Y1 b2 e7 S% a
  13.                 {
    5 T- F+ q3 V+ o# B8 H, w8 I, T# X
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    0 Z( ~" T. ?: v, j, L
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);9 @* t+ ^# K) r+ ^/ g8 [8 H: U$ c8 o
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));
    1 L8 L, q4 H9 I1 a  X0 F
  17.                         getcompoents(parentNode,rootcomponent);. k1 w! F1 I3 z" o  V9 t
  18.                   
    0 L. C6 L4 R; H, q( _
  19.                 6 h3 A/ T3 n) M% O0 Q" ]( [4 Z
  20.                 }) U3 s4 I+ R! S) F2 w# y4 F# u
  21. 3 Y) A/ s. T3 V. S
  22.                 else
    + _4 ]2 R5 f5 O) {! A; ~/ x! R' ^
  23.                 {
    3 n1 ^/ b: `* T
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());1 b% C: S) O( Z' G# A4 B0 A
  25.                         newNode->SetDisplayIcon("piecepart");
    " P, W. I0 I7 b& a5 ]% N
  26.                         newNode->SetSelectedIcon("piecepart");# K" N% u& c% x" Y% p/ q( z
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);9 P. R* E. \: w. F$ W' |2 R
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");6 }9 H9 K" i, u' C! ?" x9 S1 T% X
  29.                         delete newNode;3 d+ b  g6 d, ~! K$ B  \" e
  30.                         newNode = NULL;, [$ U5 s6 ?3 m# k  v
  31.                 ) @1 `. o8 n+ U* y0 B
  32.                 }( V9 o& L% y3 z  T! q; L$ }

  33. 7 S/ ~9 n) `9 ~; i) n" z/ C
  34.                
    9 u" O  U) ^& n( X7 r$ T
  35.         }, n7 w  @7 `3 b2 V, i$ ^
  36.        
    % N( B/ E$ |& |; J5 ~, g
  37.         ( n  s8 R7 [( J5 R( B

  38. 6 a; [# Y5 `, E, D% [! R# L

  39. 2 \) z9 z$ I( M/ G  \
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    " G  t# r$ @& h; ^
  41. {
    5 y% M. q0 |) K+ Q
  42.         Node *getNode = tree_control0->CreateNode(name);5 E2 o+ Y! l1 O* Y5 t  U
  43.         getNode->SetDisplayIcon(geticon);
    ) Z# Z9 a- h8 g; y3 J
  44.         getNode->SetSelectedIcon(geticon);0 D% v/ \, X  f# q1 ?+ i
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);% m9 V1 j6 e: _( e3 e; E
  46.         return getNode;9 y  U4 I+ l* O9 p3 _- @

  47. 4 p, A6 R$ W2 I9 o1 o3 ?2 C
  48. }
    ; L2 Y% V8 J6 i

  49. & C- X$ o- ?4 F4 B( r& A3 w
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)
    9 e& a+ G+ b, M: ~) A: }
  51. {
      d% Z+ w0 N, t5 ?6 _3 `/ R( S8 F
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());( r* f/ f2 D' }: g+ ]0 _8 k/ V: ~7 s
  53.          if(part==NULL_TAG)
    " @/ j! z* |/ w6 z
  54.          {" k6 @" t) q0 f" L3 q1 {; E
  55.            return "Not Loaded";9 O1 P  @% x! g: u9 k# s0 V
  56.          }
    % u& i/ P. a' H( A9 W
  57.          else7 t3 f) @) u, l- e
  58.          {* R' g( z! w- F) e
  59.          if(part->IsFullyLoaded())6 g, @8 T' r8 n3 W1 |, a
  60.                  return "Fully Loaded";
    % F& Q9 X8 c7 l/ c2 w
  61.          else; s! a: G) }' G% c/ Y
  62.                  return "Partially Loaded";
    : O" L5 t9 p# l) z- H4 R
  63.         ) Q9 f7 e8 t2 c- C% x
  64.          }; e+ U- Z7 `- G. ^9 N$ F, i
  65. }6 ]. L7 L5 l/ Q* l$ ~' v. _
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)
    + _; C- J  F; |" x  X
  67. {6 z: ]+ f+ v# [2 k* i! ?; _
  68.    4 L" Z! R# @. J, ?
  69.            vector <Assemblies::Component *> children = root->GetChildren();1 i2 o  c& q6 i% ~
  70.            for(int i = 0 ; i < children.size(); i ++)4 k, t2 _5 D5 ^) ~, @* @5 S
  71.            {
    2 |/ z- p6 a3 b  X+ b/ |
  72.                    Assemblies::Component *com = children[i];: ~, F) x% y8 u; j% ]
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    $ j2 t. Z- f$ @
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));
    / s! n1 \: O! X
  75.                    getcompoents(newNode,com);! B2 ]  \* F6 T5 T+ _' h; t
  76.                        
    2 e! W8 q% d+ o. |( s$ B! ]& @2 t
  77.            }2 ?: u3 r( J9 y' Q, w
  78.    
    4 P' y- Q5 q% R/ z; l) e' {6 W

  79. : n8 v# I9 G  u( q
  80. . \1 l9 k# Q" u
  81. }
复制代码

1 P! x  G3 I9 q8 Y# ]% V" b* l: p模拟装配导航器treelist代码分享--树控件的使用
+ {4 [5 d* D" J! M; Y6 _0 s" |8 ]+ m/ D: B& C: v  i& e

1 M# Y# E* n# u" F0 N; }, Z" t6 x  ?% ?3 u

7 @. P$ N4 z" Q' O) T4 T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了