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

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

[复制链接]

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

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

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

x
6 K2 I% d( {1 a2 e7 S  F/ H9 Y7 q* i( |. x
NX二次开发源码分享:报告当前工作部件的所有属性& s: n; s0 ^! H. ^* z( n
主要是用过workPart->GetUserAttributes()获取属性信息;
9 E+ y6 d" K9 F2 q% j* W: v+ @- \/ g
  1. void MyClass::do_it()/ o6 ~1 U" M% H6 M
  2. {3 [- Q1 k, h' B; r) n" G
  3.     stringstream out;; A) c9 x) s6 C: k# k, [
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    $ O' g" X( z5 h- C' R: a9 ~/ T
  5.     out.str(""); out.clear();
    7 A# O) n) X( q: A: j5 ?, U
  6.     out << "\nAttributes found: " << infos.size() << endl;
      ?; `/ q6 m# f4 b5 o; l) x
  7.     print(out.str().c_str());
    : o2 Q$ v3 G) T* B0 q2 |! b+ V8 K
  8. 9 P# _9 [4 P! q- U; b
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)- |" y7 L1 \6 e* g) H' b) x
  10.     {- t7 Z0 i1 `) @
  11.         out.str(""); out.clear();% f( R5 p' B4 f
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;8 c! D2 s4 d& l1 }' Q) |
  13. 6 y& x1 z5 n% q& B3 N
  14.         out << " Array: " << infos[ii].Array << endl;: h/ O# |3 \0 m
  15.         if( infos[ii].Category.GetText() )
    3 Y1 \! v# U/ ^1 |
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;
    / b! z6 A0 P, x- Z1 i8 {
  17.         else
    7 j5 _& I& p2 f' E: G& W2 P8 l
  18.             out << " Category: NULL"  << endl;( w- G+ L  W. w( @- O1 v
  19.         out << " Inherited: " << infos[ii].Inherited << endl;& w1 M  Y$ j9 ?, z2 [/ k
  20.         out << " Locked: " << infos[ii].Locked << endl;) Y; L) K$ M. c
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;
      _: B+ i$ q( ^0 e2 O
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;% s' ~6 }6 g: S
  23.         out << " Required: " << infos[ii].Required << endl;8 }  F4 U/ Y; ]5 q% u. r+ \  n
  24.         out << " Type: " << infos[ii].Type << endl;
    & b3 u# i  n! f; v7 z( V, q5 g
  25.         out << " Unset: " << infos[ii].Unset << endl;
    1 ]- R6 s( i6 }# {( v$ F

  26. ( z1 w2 |  `9 Q; }2 m# ?( v7 s. W
  27.         swiTCh ( infos[ii].Type )
    4 k$ m) _0 _3 p
  28.         {
    5 l/ m  k( o# M5 O# g
  29.         case NXObject::AttributeTypeInvalid:/ f6 y" O2 ^, l2 k/ Q1 l
  30.             out << " Type is invalid." << endl;
    , b; M7 ^9 E* }
  31.             break;
    ' P3 @8 `: Z: x. Z$ P: C
  32.         case NXObject::AttributeTypeBoolean:
    5 j2 ?( g# G/ Y" i, E. r
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;% K6 m8 G% s* }7 k
  34.             break;
    $ s0 g# I; E& ]$ _. a
  35.         case NXObject::AttributeTypeInteger:  R3 _( W9 S! P& r; c
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;
    , S+ j4 r6 u% C& c. H# {, K/ D
  37.             break;
    & Y6 q5 w" \0 E4 V( q
  38.         case NXObject::AttributeTypeReal:
      C6 r. {- I) Q* f# e4 B) ^8 S
  39.             out << "RealValue: " << infos[ii].RealValue << endl;
      s( Z; n: u2 V8 q! s9 g
  40.             break;
    . A/ l$ d* p$ h! s( T$ x
  41.         case NXObject::AttributeTypeString:  c  L6 ]: l/ Q
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;+ t1 F6 H7 n% i) E6 i
  43.             break;
    9 A  Q& {0 x( G# I' q  o" L
  44.         case NXObject::AttributeTypeTime:
    * d8 j, E0 x7 C  ^' c
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    4 x4 j: p/ ^# b8 o
  46.             break;$ Q: b' r) D1 _
  47.         }
    : p( p* A% ?' o. `! a, o
  48. - D% g( \# D; _( ~
  49.         print(out.str().c_str());/ `: O2 k: {& X& ~+ ^# D5 u( E
  50.     }
    " e; K+ t( x* n0 v; g! s
  51. + E( a  n5 j$ v' w$ d! ~
  52. }
      ~4 C* e6 o  L
复制代码
  p/ W0 x* U9 y9 @( S
& i; a( M" m& @6 X7 b
- Y, K8 _8 e) S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了