查看: 4341|回复: 1

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

积分
82265
QQ
发表于 2014-11-4 20:48:40 | 显示全部楼层 |阅读模式

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

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

×

3 R( K' z; D; Q( I5 HNX二次开发源码分享:报告当前工作部件的所有属性
: l  |7 z" ~$ G3 a% |2 L7 h主要是用过workPart->GetUserAttributes()获取属性信息;+ _; M, P) G; u3 L, P3 d% ^  I
  1. void MyClass::do_it(). R4 S6 y4 ^# U: z# A+ g! f
  2. {9 [  N: H. g: {% h" M* n
  3.     stringstream out;
    + j% d. Z5 ?* [
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    / K) y1 c& m/ h
  5.     out.str(""); out.clear();* i7 b, o  v1 v0 S& }
  6.     out << "\nAttributes found: " << infos.size() << endl;
    / c; K. a! r: k& R, A- \
  7.     print(out.str().c_str());. B8 ?6 j7 l7 }! x& j
  8. 5 t2 E3 j) k" I9 ]+ l
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)
    9 k* z" k- k; d% Y& c5 h. a% L
  10.     {+ D" z. h) {- @) |
  11.         out.str(""); out.clear();1 x5 H4 w$ t9 n/ n
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;
      D: c( L: d, A8 k

  13. ! I( K9 M5 i$ L
  14.         out << " Array: " << infos[ii].Array << endl;
    & J6 ?/ J; v: [: o  @$ p
  15.         if( infos[ii].Category.GetText() )% D8 C0 n5 _% |* V$ s
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;  G$ P' h1 {# L- v  [2 w
  17.         else
    % v/ k  r+ _' I5 _
  18.             out << " Category: NULL"  << endl;% r2 J" I# L6 K' W* T$ a
  19.         out << " Inherited: " << infos[ii].Inherited << endl;+ Z( s/ P0 E0 F% a1 U  V% z$ k
  20.         out << " Locked: " << infos[ii].Locked << endl;3 u% g6 k7 L9 g/ `3 S3 G' h
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;/ B0 Z, ~- ^1 E) M- ~7 _( [& o2 [
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;
    . d' K1 x& t( f5 C4 A% W$ u
  23.         out << " Required: " << infos[ii].Required << endl;
    1 G/ H, v" ?2 A! e
  24.         out << " Type: " << infos[ii].Type << endl;8 j& w/ R1 s8 ^: ~4 a8 z
  25.         out << " Unset: " << infos[ii].Unset << endl;) x5 a1 u" V3 @) k3 p9 ]

  26. ! t! l# w/ E! {' O
  27.         swiTCh ( infos[ii].Type )) P/ a% b& T4 ~. j$ K
  28.         {) G% W+ T9 R  v
  29.         case NXObject::AttributeTypeInvalid:5 q: w+ N& i4 P& B/ y, v
  30.             out << " Type is invalid." << endl;
    0 }( X5 ]9 L% ~4 k$ i; N
  31.             break;' D/ \% b% y. l: y: i. V" [  L
  32.         case NXObject::AttributeTypeBoolean:
      {( r/ h& A1 q; A3 ~! b) X3 j3 V: r
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;
    : a9 u/ P; {8 R. x& m+ R3 E
  34.             break;
    0 G* f6 ?( d1 W2 a) ^5 l
  35.         case NXObject::AttributeTypeInteger:# w/ n& g; N+ X9 Z( a' m
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;
    " L3 v0 h8 \2 d2 N! }5 U( f: s
  37.             break;
    6 @' q. B* ]1 f1 u4 T+ A  q
  38.         case NXObject::AttributeTypeReal:
    " e4 C) l! L% h0 u
  39.             out << "RealValue: " << infos[ii].RealValue << endl;. o4 {$ L4 Q3 y% v8 ^  `
  40.             break;- `5 r( g' [. J9 B6 M. Q9 @
  41.         case NXObject::AttributeTypeString:
    ) K" `) [% m4 D5 a
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    / D1 E0 [2 l( B' m4 l: j
  43.             break;
    , o! Q& j" C' q: b. @8 c
  44.         case NXObject::AttributeTypeTime:
    7 Y! `! L4 @+ X
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;+ k6 _6 O0 o7 }+ O. v0 r7 g1 `
  46.             break;
    2 d" [7 i2 Y& p- M
  47.         }9 a4 {9 P* q5 U/ v
  48. 8 C0 E1 o/ a4 z4 k0 a4 |
  49.         print(out.str().c_str());
    / Y( f2 Z7 T7 y
  50.     }  s$ F) ]' a; U2 _' _& q. J

  51. 3 {  d2 [5 u2 y3 q
  52. }4 J1 ^9 [- R8 Z- w) ~5 _  k2 c
复制代码

7 B1 a4 A: i: i2 h% q& B3 i3 e) M5 j5 n, [

( `% i) N; h/ O* i
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

0

主题

13

回帖

56

积分

注册会员

积分
56
发表于 2019-4-25 18:49:57 | 显示全部楼层
有用的,解决
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部