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 3319 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);+ P/ g3 x: z8 U
  2.             tree_control0->InsertColumn(2,"Status",100);) P8 Y. J! E! Z

  3. 3 ]2 u/ i' G5 h; D+ w0 ?$ J; u
  4.                
    2 w# F; d$ T  o, i2 n
  5.                 7 B  }* n9 L* S$ U# T0 H" ^  ^" P
  6.                 // get asembly name
    0 C  M: Q# u6 r5 p! V' l
  7. * a' c- d0 _- C3 L. Y
  8.                 BasePart *displayBasepart = theSession->Parts()->BaseDisplay();
    / f  B- N+ R( n0 B, w- ]7 l# l$ e
  9.                 Part *workpart = theSession->Parts()->Work();
    - B5 f8 v" D0 ?
  10.                 // get rootcomponent5 B% I9 A; d6 E7 k1 X; q/ A/ q6 f8 l
  11.                 Assemblies::Component *rootcomponent = displayBasepart->ComponentAssembly()->RootComponent();
    ) U6 C/ }- T9 S# g3 t
  12.                 if(rootcomponent)
    & y% ?. U5 @2 x& R1 Q) h6 m8 V
  13.                 {
    $ \) m- N7 N' L/ k4 O6 F" c: [* I
  14.                         Node *parentNode= tree_control0->CreateNode(rootcomponent->DisplayName());
    & n- l2 J" ?; `0 l3 q* B' t: q
  15.                         tree_control0->InsertNode(parentNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);$ y9 r* o- L/ L* r
  16.                         parentNode->SetColumnDisplayText(2,loadStatus(rootcomponent));( X4 r! e$ ?/ Q6 X  J$ Z' h
  17.                         getcompoents(parentNode,rootcomponent);. i2 L5 Q( `$ D0 w1 S
  18.                   : I! s; e9 F. s1 Y
  19.                 5 o: a; y9 r6 g* B. L0 @& G) e7 K+ R
  20.                 }
    - |( b" Q" a7 W

  21. 7 e6 s. i. |8 L3 b3 F& i( k8 y6 J
  22.                 else
    3 X2 S* r- J3 p) t' q+ b
  23.                 {
    . _, j: o! M7 `
  24.                         Node *newNode = tree_control0->CreateNode(workpart->Leaf());4 `2 t3 b4 W: w2 U" L1 Y" v; Z' L- W
  25.                         newNode->SetDisplayIcon("piecepart");$ f/ [; f& S! n# \# P  g' ^8 I# f
  26.                         newNode->SetSelectedIcon("piecepart");( G. _+ Z1 Y& J! X" F/ ?
  27.                         tree_control0->InsertNode(newNode,NULL,NULL,Tree::NodeInsertOptionAlwaysFirst);, c6 B; z( h) F, U" k% G
  28.                         newNode->SetColumnDisplayText(2,"loaded piecepart");) K0 u+ x- `& L7 h
  29.                         delete newNode;
    7 h& @" [! `0 I. k" C
  30.                         newNode = NULL;, P6 L& e: N- i8 K
  31.                
    * q( ~4 u! \6 G% d7 j/ `
  32.                 }
    7 p4 M0 e! |% }) P, Z

  33. ( R; N( |3 H! a. p( A6 v5 ]
  34.                 9 Z9 T# u- M& r& K
  35.         }
      S  K# D; ^1 \& y9 U
  36.         ) H% F9 R, [' K5 @
  37.         % M6 v& ^1 j- C5 v# J$ G% D

  38. $ R0 E8 [6 s/ H1 E. L) B; \

  39. & J$ |6 M* h) H+ p
  40. Node * PNTDemo::createInsertNode(Node *pNode,NXString name,NXString geticon)
    / F7 A8 ?( t0 y5 r9 A1 O  F) C) ~
  41. {; i! l# ?- D5 w/ P4 x
  42.         Node *getNode = tree_control0->CreateNode(name);' y6 C, E. d0 r! {1 W: U
  43.         getNode->SetDisplayIcon(geticon);
    1 \  ?3 R, I! D' H7 ]: v/ C& ]9 s
  44.         getNode->SetSelectedIcon(geticon);7 q* w% p. ]# F
  45.         tree_control0->InsertNode(getNode,pNode,NULL,Tree::NodeInsertOptionLast);1 F1 S$ c# k5 d# U7 {7 Z6 @2 \
  46.         return getNode;
    / F/ m. J5 ?* ~/ N! ]4 G* U: {3 b& J
  47. & |4 k9 q6 J! ^9 U, \
  48. }
    : r' ^( j- S! y5 ?$ ~: G& g
  49. $ @9 }! l1 T- n# I7 B, S9 U0 Z' j
  50. NXString PNTDemo::loadStatus(Assemblies::Component *component)
    $ h  c4 b& e  D: W  F' Q
  51. {
    % ^5 n& _3 c7 {, y' Y8 W
  52.          Part *part =dynamic_cast<Part*>(component->Prototype());9 x! v0 U6 j' M# a! s
  53.          if(part==NULL_TAG)
    0 }; J0 f+ L5 K& S8 J
  54.          {
    # ^1 X% s, C! V1 V0 n* |3 O' m
  55.            return "Not Loaded";/ e1 U* F/ h0 y$ u# I
  56.          }
    8 `8 H$ _0 J* U! ^# Y4 Y; t2 D
  57.          else
    * x4 f$ N+ j/ R! Z2 ^
  58.          {/ u7 `' ^2 B. p4 ]' ~& K
  59.          if(part->IsFullyLoaded())
    & z7 X  Z5 T" O' G
  60.                  return "Fully Loaded";# h: r& ^$ S, [& H5 J0 X4 O0 k
  61.          else
    7 X1 }0 Z2 |! F' D
  62.                  return "Partially Loaded";3 q, w% u9 U7 E3 x4 l
  63.        
    7 [: n+ t" B2 C0 \" P  `
  64.          }0 @& e, u9 A& L: o6 S+ m4 d
  65. }# O8 D: ^1 B1 `$ C) m$ v8 n
  66. void PNTDemo::getcompoents(Node *parentNode,Assemblies::Component *root)* K' }$ T* b- y! E, n) D7 h
  67. {) M/ m: U: N5 p: {2 K* a+ w% C+ b
  68.    
    ) u6 H$ E! c& X' o* |5 E  n
  69.            vector <Assemblies::Component *> children = root->GetChildren();
    6 ?/ U. X. N, F2 L7 d  E
  70.            for(int i = 0 ; i < children.size(); i ++)
    0 p$ o6 d/ n$ _
  71.            {( M4 [/ x5 Z' k9 t, b" P
  72.                    Assemblies::Component *com = children[i];
    $ d* t  q9 S0 n1 n
  73.                    Node *newNode = createInsertNode(parentNode,com->DisplayName(),"assembly");& c/ D( A5 Y+ _3 C. \
  74.                    newNode->SetColumnDisplayText(2,loadStatus(com));/ C5 m% r+ U0 F, \
  75.                    getcompoents(newNode,com);, G# A$ J; [6 C7 n* ]
  76.                        
    , y3 ?5 l- r) f& B6 Z/ T. f% K, C
  77.            }1 ~1 |; Y) p8 {! l( \; l+ A0 A
  78.    + n8 x1 x2 R& j# `

  79. ' L( _3 ^4 q9 ^) }/ @$ g" x

  80. + ]! U1 W/ h1 p9 e9 z6 ?
  81. }
复制代码

5 F2 z6 ?/ R- g4 L0 F$ z模拟装配导航器treelist代码分享--树控件的使用
2 [8 v6 Y+ b; ]$ D+ _7 F. P% W) l5 B+ O& y" B& J
/ g2 ]% E3 {* T8 ~- v" b+ j( n
8 W5 g+ _$ D% \* l. \1 D

6 O' V* f" k# q/ a. B9 w3 h7 D+ s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了