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 3313 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);4 j0 M0 X* `& p
  2.             tree_control0->InsertColumn(2,"Status",100);
    $ a6 F& q% V0 L; W: _: E" p
  3. 2 _: `' h6 e' E9 P: o6 f+ u) X, v
  4.                
    $ ~+ A1 Y4 c% R3 O% @
  5.                
    8 {: C: g2 a; o5 b/ e+ g
  6.                 // get asembly name  V- L" z: X" C$ S0 j9 T
  7. 5 S" L" a! ]9 l3 U
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    5 k2 o+ t; v+ V6 c
  9.                 Part *workpart = theSession->Parts()->Work();5 g/ t0 d; [" s9 _1 B  {4 i) m
  10.                 // get rootcomponent, Y/ m+ \, [2 b( `* H( o
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();. Y4 X; D3 z4 \2 j5 P: x9 {! r
  12.                 if(rootcomponent)4 p" n5 ^" i) S
  13.                 {; x# f0 B) k# {7 H+ I" m$ l
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    ( G. I0 O- t/ g
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);/ Q9 x* ?) u; i
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));5 A5 p9 }4 c0 X% D) U
  17.                         getcompoents(parentNode,rootcomponent);0 m/ Y; x: [' Z9 C
  18.                   & H/ C: \; a/ T$ u; P
  19.                 - }% `2 f2 h3 T) N
  20.                 }4 F5 _" `4 G& j, T* @& m: u& L
  21. 2 P9 a2 N" H5 k8 S
  22.                 else3 w6 X1 `! @) K- T% J8 x# \8 ~
  23.                 {, y- T% t' g: N$ T
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());
    ) Q7 P  c. o8 u0 s7 A
  25.                         newNode->SetDisplayIcon("piecepart");; F( ]$ m4 b. x- ~. k% L" b6 x- ]2 o
  26.                         newNode->SetSelectedIcon("piecepart");  I" C2 B! B* n
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);" b! y9 S9 `* p$ O  n" g
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");- K8 H, y" h6 F% ~8 ?# d. {
  29.                         delete newNode;% N* @0 `" m* s% U# j7 C. B
  30.                         newNode = NULL;
    : K, o5 A3 l! M4 w9 ^
  31.                 : E. w  j9 g2 H0 B3 V( J/ Y
  32.                 }7 L9 w( b' T, w) H$ o9 M

  33. 7 {& q2 G0 e5 I2 `
  34.                
    # x- G9 g/ `& y) R
  35.         }
    1 X& Q! @! p, b! L8 G# G% O
  36.        
    $ e4 `+ x3 d) k' v# z5 N
  37.        
    # Q6 b. C4 ~. j; |" U1 L

  38. ) t8 W* U: d, U- o, N( F0 D: [+ n

  39. ) H% p5 O7 {/ @+ Z
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    + e( ~4 c% o1 v! I
  41. {6 X  L) [" d  y$ Q
  42.         Node *getNode = tree_control0->CreateNode(name);
    " k% J1 O0 [, G: ]* E
  43.         getNode->SetDisplayIcon(geticon);/ c- |* _8 ~7 X9 M
  44.         getNode->SetSelectedIcon(geticon);
    " M1 n& S2 Y% v& D& K' J
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);
    6 R1 X/ q; b! z7 t/ B
  46.         return getNode;
    ; [& y- U4 Y6 l/ a5 `: j
  47. , j. b4 |& R6 P3 Z
  48. }. D( Q/ g9 y' m: \. k% x# t0 ^
  49. 7 {. S3 c: {" w) F$ M. e0 A
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)/ F1 S9 F( |, u2 k3 y" n$ X
  51. {
    1 s  r6 F! j5 P; m7 w( l1 C# [
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());5 L% U( z3 h: t7 U  P
  53.          if(part==NULL_TAG)
    0 B2 J( b3 P* S' C4 w
  54.          {
    : m' }! N" O1 ?* z6 E/ Q5 u  w
  55.            return "Not Loaded";
    4 W6 {8 M3 {9 z4 P/ b
  56.          }
    * g5 v% g; S, C5 w8 M% H) r% y, j
  57.          else; r6 A  |2 Q  a+ R
  58.          {
    , d' s3 V& _" j7 Q1 W
  59.          if(part->IsFullyLoaded())
    * o7 [6 u: T* Y3 G, P  d+ j
  60.                  return "Fully Loaded";
    ) n; Y$ Z0 a. ^
  61.          else& V, W) h" H: _  ~
  62.                  return "Partially Loaded";# D/ v+ e/ ^: o, X6 s0 K. i6 i' S/ y
  63.        
    , e. \* ?: g- C( B- E
  64.          }
    4 \1 R' t  e0 U; g
  65. }
    1 [' Z$ w* Z! ?% A8 n, u2 K
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)3 L- D# [- s4 A3 \
  67. {; _+ ?) H# Q: b( X
  68.    ) n' D  m' ]! T+ J
  69.            vector <Assemblies::Component *> children = root->GetChildren();# v8 G0 M+ ^/ j2 {. |) K
  70.            for(int i = 0 ; i < children.size(); i ++)' k, K" y0 Q& `: l+ b% l" z2 o! A2 h
  71.            {
    * a- M* O1 t) k3 L
  72.                    Assemblies::Component *com = children[i];* `+ Y  Z% ^% C- v$ @. g+ z
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");
    & U5 h  _! Z" C
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));6 u1 Q0 R5 I+ D' u4 @
  75.                    getcompoents(newNode,com);' R8 M: K$ W* I; ~8 V" _
  76.                        
    / a8 ^# C2 Y7 I
  77.            }
    1 f4 `: v' x$ u) i
  78.    
    - Y# [% r0 X4 \' e+ s
  79. 6 u6 O, D# D# ^7 G% H  J. `
  80. 5 _( h# d+ S9 {" y) ?) x/ K) P/ g- t8 b
  81. }
复制代码
% o+ P4 y  O( g6 F5 ]& a8 O2 |
模拟装配导航器treelist代码分享--树控件的使用
+ Q1 P* h! T3 r' b( T
6 g! R! Y0 v+ y, h$ m2 @" M8 p
. g4 k  e3 H) b: E4 C% p* }2 W6 J2 @0 U% c8 [0 O& |2 m

* V7 f6 s, f. s. c5 V; ?% Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了