PLM之家PLMHome-工业软件践行者

[二次开发源码] NX二次开发源码分享:报告当前工作部件的所有属性

[复制链接]

2019-4-25 18:49:57 3916 1

admin 发表于 2014-11-4 20:48:40 |阅读模式

admin 楼主

2014-11-4 20:48:40

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
( T9 [+ `8 b' W
NX二次开发源码分享:报告当前工作部件的所有属性( f$ C  s3 s( e/ C2 D" S' z
主要是用过workPart->GetUserAttributes()获取属性信息;2 n" Q8 c2 w$ Z* R" h/ b
  1. void MyClass::do_it()
    . g! q% F, N- C) S. z! K- W  {
  2. {3 N. q7 h2 e' g( ^/ O& a
  3.     stringstream out;2 _, G( a  ^, [2 Q( l8 B
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    ( {( ~' b0 m$ N5 ^+ ?
  5.     out.str(""); out.clear();# I; \2 H8 T2 N0 s' {4 z# s
  6.     out << "\nAttributes found: " << infos.size() << endl;
    7 t, z2 M9 i9 \* `( P* l
  7.     print(out.str().c_str());
    & i6 O$ |' u# i
  8. + _# S8 @: N) m6 \
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)
    & A0 `1 J4 U; b: }9 {
  10.     {
    5 F$ R# p& y, u: g5 s
  11.         out.str(""); out.clear();& W6 v  ]; Q, o; O- J( D4 M
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;* q6 }" U+ t' T+ r! n8 j2 b) ?

  13. . ~; i$ v" ?' u! L4 ?: x8 M2 v, V
  14.         out << " Array: " << infos[ii].Array << endl;, |" O; d* }& A7 E- y% g
  15.         if( infos[ii].Category.GetText() )
    . b' ?# _3 z) r8 G
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;: z' p7 O. L% n) V# P: M
  17.         else% a+ q% G6 r1 l5 ], ?9 q
  18.             out << " Category: NULL"  << endl;
    * H( y6 o! Z3 q4 y2 F! c0 M: g' i
  19.         out << " Inherited: " << infos[ii].Inherited << endl;0 j& i* r; m, M! L, U( C. F
  20.         out << " Locked: " << infos[ii].Locked << endl;
    8 Z1 K" S1 T4 i. H
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;
    , m' |, K1 b+ `, D8 P$ e3 @- L
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;* h  a- b, Z5 K
  23.         out << " Required: " << infos[ii].Required << endl;
    " }! N; j7 ^3 l; W6 H) b& Z/ \1 O
  24.         out << " Type: " << infos[ii].Type << endl;
    . o5 e5 S, q# K4 k) n
  25.         out << " Unset: " << infos[ii].Unset << endl;. w8 l5 V+ t% _7 M# }

  26. 4 u# K0 t( {+ l/ n6 Y
  27.         swiTCh ( infos[ii].Type )0 T1 U9 V  }- {( F. A5 t
  28.         {' u  x# _: \; T4 ~) b: a/ H% F
  29.         case NXObject::AttributeTypeInvalid:
    & c5 q/ y  `+ E. ]# p) s5 H5 `
  30.             out << " Type is invalid." << endl;, N0 J( T7 j& m  ~. H
  31.             break;
    . R7 a7 e/ B3 w' d
  32.         case NXObject::AttributeTypeBoolean:
      C5 Z: [  M1 z* v: C3 H, n# W7 ^
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;5 [% A8 L$ F: D5 l4 [! N, l
  34.             break;
    2 D- @" {2 J0 z- F( y0 A
  35.         case NXObject::AttributeTypeInteger:3 N- P3 m5 @! Q0 ^, y) |$ J
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;, U4 G2 O) e: x1 O& h1 B
  37.             break;
    ; g7 j2 c% h, h+ I9 ~
  38.         case NXObject::AttributeTypeReal:/ F! t% h$ `' E" |+ p
  39.             out << "RealValue: " << infos[ii].RealValue << endl;+ w7 M3 ?% o, E  ]7 |7 w1 s
  40.             break;
    & u# g9 I- a0 x
  41.         case NXObject::AttributeTypeString:+ x) s: A* d% ~
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;8 R7 N% Z3 j6 X
  43.             break;
    1 }, K8 [$ X! C
  44.         case NXObject::AttributeTypeTime:
    . [0 v3 w; q0 F9 G& n9 y
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;6 T( _! V; d  T0 c, Z( b
  46.             break;
    / U' ?7 T% H" N. v* x
  47.         }
    1 L; Q0 b2 I- n" H. M* E
  48. 3 Z! Y' Z7 c" R" d9 S
  49.         print(out.str().c_str());
    0 r% E! Q: Z+ K% x9 p
  50.     }! u1 c* E2 v0 B6 R4 J

  51. & z3 ~6 L& n" a# M
  52. }1 T3 F6 |. T+ v6 g+ I6 f
复制代码

5 C# j/ K  g5 ?% S7 s2 A2 W; B' ~+ c) l9 j

! d. O0 u, {5 \1 ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

593232280 发表于 2019-4-25 18:49:57

593232280 沙发

2019-4-25 18:49:57

有用的,解决
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了