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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
/ `% ?8 H+ H6 H/ ~3 z) _" Q
NX二次开发源码分享:报告当前工作部件的所有属性
" v$ ]# i" _5 Q+ n! J( C; C主要是用过workPart->GetUserAttributes()获取属性信息;
9 L; {. B+ p; `& I+ g4 m- c
  1. void MyClass::do_it()
    # Z' ^8 v2 v4 i4 b9 f3 k
  2. {
    8 H' X: A5 N' W1 }% }" x% `2 O: H+ f
  3.     stringstream out;
    % a* R" P, `5 u/ l/ ~" z
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    6 R/ {8 }# @7 I" D+ A
  5.     out.str(""); out.clear();
    + m+ U2 t6 Z0 l( z; p* q3 O% H
  6.     out << "\nAttributes found: " << infos.size() << endl;9 T9 D1 g0 M5 u
  7.     print(out.str().c_str());
    + U; h1 u) b5 N$ D2 D/ A4 R

  8. 7 n6 t8 z5 |1 X" m+ d
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)* k3 H4 P; b. w0 L1 y
  10.     {
    9 p. a$ I. @, \6 Y/ o/ x& W
  11.         out.str(""); out.clear();% L$ j  Y! x! L" Q
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;+ ?( U3 c* F) n8 {! q3 W* d( Q: \
  13. : X. U9 G7 f+ I
  14.         out << " Array: " << infos[ii].Array << endl;
    $ L1 K- t+ c; s2 M5 @/ Y1 @
  15.         if( infos[ii].Category.GetText() )* j  q; {/ V( ^. e
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;
    / E* C3 l; K6 H
  17.         else) A7 u; y! x2 ]. D+ ~3 W
  18.             out << " Category: NULL"  << endl;* r- n' {4 t  \) s9 }
  19.         out << " Inherited: " << infos[ii].Inherited << endl;  ~7 A1 w  Q9 s- A
  20.         out << " Locked: " << infos[ii].Locked << endl;# R5 }1 K3 _3 C  Z7 N/ a
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;" _! ^; I% j1 g8 J# g
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;
    6 s, [% f3 J4 f5 ~* ^# z
  23.         out << " Required: " << infos[ii].Required << endl;
    4 q+ q; \7 Z1 S0 k* R/ G
  24.         out << " Type: " << infos[ii].Type << endl;
    ) a* Y. b9 n; M, F7 v' y! q- l, Z
  25.         out << " Unset: " << infos[ii].Unset << endl;
    9 H/ s2 Q& L5 K* U$ T/ ]0 k+ I
  26.   p. \% X% ?  H$ n
  27.         swiTCh ( infos[ii].Type )
    1 e# k3 N" J" j( y+ u6 G
  28.         {
    5 g% C$ S7 d7 M! w8 }
  29.         case NXObject::AttributeTypeInvalid:
    2 G- O8 _  k9 J8 G9 z$ \4 v
  30.             out << " Type is invalid." << endl;! j- d6 ?( L/ Y5 T+ O& ~* D7 S: h
  31.             break;) X2 x, R0 x* y" {
  32.         case NXObject::AttributeTypeBoolean:
    : ]& G! _; w+ z
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;
    5 V* e6 W" A' A0 {
  34.             break;
    * C1 J" \8 ]; u3 ~% e
  35.         case NXObject::AttributeTypeInteger:
    # X9 y+ L* V+ o. R# {
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;$ U3 g6 x- U  N, U! m
  37.             break;0 `# K, V( k% f& c1 s7 D; G9 h# l
  38.         case NXObject::AttributeTypeReal:8 m8 t  N# B2 e& R* ^  o, z' J$ Y
  39.             out << "RealValue: " << infos[ii].RealValue << endl;; p2 x$ z. d. ^! z7 D5 d( n
  40.             break;& J1 x& b  W7 F7 j6 m/ \& U9 ~
  41.         case NXObject::AttributeTypeString:
    8 ^# D' p/ u: `* S& }
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;/ w3 C- x* n3 u
  43.             break;
    5 I+ g8 r3 C5 A4 [' m
  44.         case NXObject::AttributeTypeTime:
    ) C3 H" z- l  ]5 X  O, C
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;, W; m& b. I( G1 P# E( U" m
  46.             break;
    ; f) a6 C" A( @) U. d
  47.         }- M2 R1 m6 a) `& k
  48. / u2 H+ ^$ P: Z
  49.         print(out.str().c_str());; r1 |6 S1 v) t) W7 d$ G
  50.     }6 i0 M" I* T. D7 m, W" y* r. u: n
  51. : r. r3 D( V2 S& D1 @1 p  _
  52. }
    4 g( i$ V, {# D! ~+ ]5 ?9 A8 l
复制代码

0 N( q7 L: R& X8 d; S  F) R" k; ~# ^8 ~2 l- o" e  x
* ?1 m1 H6 q: n2 F& A7 e3 o
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

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
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了