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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
! G6 v8 x+ Z0 ~6 M( w6 R
NX二次开发源码分享:报告当前工作部件的所有属性4 G& ~) A0 `5 `- P
主要是用过workPart->GetUserAttributes()获取属性信息;
: c' N! k$ H2 Q  r
  1. void MyClass::do_it()
    : M; h) ?* \' E; J' q+ }; O( h
  2. {
    & T- m0 F; a! o/ D
  3.     stringstream out;
    % @2 q: @' N; B0 g* e  L
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();. Y( K9 j/ v) l- C% u/ T& i& k
  5.     out.str(""); out.clear();
    - H0 C8 b7 ~; b3 \) g
  6.     out << "\nAttributes found: " << infos.size() << endl;
    $ w1 z0 O/ S4 [
  7.     print(out.str().c_str());
    - ^3 U; e7 L" f1 g. Q

  8. . f6 |9 L5 j, s( P6 T+ N
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)
    $ G" o/ R- `3 q) G1 ?0 ~
  10.     {( Z) [4 f  O) ?- \" G+ \+ [. ]
  11.         out.str(""); out.clear();, a6 J' j' `5 i3 `/ h
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;
    9 p) i" m0 W, O7 Y1 j- ]9 C: i
  13. 3 |8 r' i5 t7 a% J$ A: H
  14.         out << " Array: " << infos[ii].Array << endl;
    6 U# Z: S( Y( w3 S7 ^
  15.         if( infos[ii].Category.GetText() )3 }  z( i! @1 J5 V+ f. B- y
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;
    ; H4 m0 n9 y2 n' r$ R" a
  17.         else
    % a6 v- m% C) U# F! N: S
  18.             out << " Category: NULL"  << endl;) W; y! W0 S& S8 W3 r' ]2 ~
  19.         out << " Inherited: " << infos[ii].Inherited << endl;) j/ Z. T, G8 R0 X  u" x
  20.         out << " Locked: " << infos[ii].Locked << endl;
    5 k0 ~( C, L0 g( p4 S1 n& r
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;
    - I3 h/ z# T+ K
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;
    8 i. d9 G6 Q" Z8 e
  23.         out << " Required: " << infos[ii].Required << endl;& f3 v% p. G* J+ `
  24.         out << " Type: " << infos[ii].Type << endl;: [; B/ z+ C' u! H, s
  25.         out << " Unset: " << infos[ii].Unset << endl;- D0 g1 h) @' k$ ^4 V, r& x5 j
  26. # `1 S0 D# U2 s9 P  u& s2 X
  27.         swiTCh ( infos[ii].Type )
    8 D% p6 ]& c# [+ y, `
  28.         {4 E' D% c9 u* G  X( ~
  29.         case NXObject::AttributeTypeInvalid:
    0 x+ O0 Z0 E7 t2 k. K: g
  30.             out << " Type is invalid." << endl;
    0 q1 i6 _% H1 K: n3 a4 t* R8 {/ U
  31.             break;
    - C, J. r; M( F: \& H
  32.         case NXObject::AttributeTypeBoolean:
    ( p' j; D2 Q" ?
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;" D! T5 r8 f: p9 |
  34.             break;9 ?. M8 u: V: ^$ `5 U
  35.         case NXObject::AttributeTypeInteger:
      A+ r0 F2 K% Z
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;4 l8 k; O  s1 |% Z. t9 {
  37.             break;
    7 E0 e; x8 I9 [& l% w
  38.         case NXObject::AttributeTypeReal:- }- d. _- J) h4 b2 c6 l% u
  39.             out << "RealValue: " << infos[ii].RealValue << endl;6 j7 _! O4 o' B
  40.             break;- X9 P: x" K) i! j* B# \
  41.         case NXObject::AttributeTypeString:+ J1 v4 B6 e+ {  p( y9 a; V5 |
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    0 ?/ a- H9 a0 b
  43.             break;6 I7 ^2 B% o& h- L: {
  44.         case NXObject::AttributeTypeTime:/ |0 O1 E& d$ J8 W$ Y8 s/ m
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;! F8 R% j8 R; Y! E1 C# `
  46.             break;
    " ?+ T! O& D5 D( t, G$ ~
  47.         }
      k  t9 ]& n8 ?  s
  48. % T2 ?+ G8 f8 O% w$ a% Z
  49.         print(out.str().c_str());9 n5 ]  T, d% U# Q. U. d' }
  50.     }) Y8 x( Q$ `& O# k3 L# Q) [' D0 T

  51. 8 w6 s2 @! O7 }
  52. }
    9 P( F% R$ k2 x
复制代码
* j* f# j" s- J
# J, L2 G5 i) B/ B7 M

0 Z! a5 K2 x" y) R2 F2 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二次开发专题模块培训报名开始啦

    我知道了