PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2014-11-4 20:48:40

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

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

x

; i) S( X# e; n0 ~2 X& ENX二次开发源码分享:报告当前工作部件的所有属性
  X# b) @! C( e% H主要是用过workPart->GetUserAttributes()获取属性信息;2 p2 g% m8 S. n+ H: L
  1. void MyClass::do_it()% f. ?- r1 i- f  }( D& H7 ?3 P- Y9 Z! ~
  2. {
    . S5 a  c/ T# y/ u4 U
  3.     stringstream out;
    ; Z/ K& x( C: |* Z0 x2 r
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();( h  r+ d* n1 t8 k5 I) `, K! O
  5.     out.str(""); out.clear();8 ~3 Q7 g* h/ W; {5 I% J
  6.     out << "\nAttributes found: " << infos.size() << endl;
    9 \1 Z9 P* j+ {+ s% b: P
  7.     print(out.str().c_str());
    / v8 q! q& C! J4 W! R5 v

  8. % s! A- y" `5 S* j( m" G
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)! ^& |7 s, ?, ^
  10.     {
    & M8 V8 ?  O; j5 N$ ~- a* H
  11.         out.str(""); out.clear();
    " K" l5 o1 _% V5 f- W' }
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;
    9 j* G3 j5 w; X+ J% J

  13. ) l6 c! g" o) U( b- @
  14.         out << " Array: " << infos[ii].Array << endl;
    6 _' ?( o' y* a6 }
  15.         if( infos[ii].Category.GetText() )& `6 m2 b3 G! Y: C  j6 c: N
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;) x1 ~0 C. |' Z' a  g
  17.         else( {* p. }6 q# x# ~
  18.             out << " Category: NULL"  << endl;0 [0 M9 r9 T2 Q6 I# m
  19.         out << " Inherited: " << infos[ii].Inherited << endl;# Q. T6 h7 k6 W, c+ i
  20.         out << " Locked: " << infos[ii].Locked << endl;- q  F/ m" V, Z" E* f' D
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;" B, a3 p0 Y0 ?% T1 b' O
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;
    0 {3 d" m# n& g& s) A8 \  S! v
  23.         out << " Required: " << infos[ii].Required << endl;/ B7 @9 `/ F: c+ T$ i
  24.         out << " Type: " << infos[ii].Type << endl;( g9 ]* M7 u/ x+ G
  25.         out << " Unset: " << infos[ii].Unset << endl;
    6 y/ l+ V; G6 X. `6 `$ \

  26. 0 }* \/ D& g* B8 ?
  27.         swiTCh ( infos[ii].Type )" c9 j8 ~% L) F
  28.         {+ P" \4 ~+ V- k7 j# b0 ^) S
  29.         case NXObject::AttributeTypeInvalid:
    ( |9 C& F$ z. M' f8 K: J8 ^
  30.             out << " Type is invalid." << endl;
    * A6 ]! |& ]. A% w  o$ M0 C
  31.             break;
    ; b6 s8 B" D& f
  32.         case NXObject::AttributeTypeBoolean:
    4 I% C; X) _7 ~
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;7 Y8 K5 I( |& H1 ^; a0 H. T8 y2 Y
  34.             break;7 X& S5 E+ X  y2 P! m9 _4 |
  35.         case NXObject::AttributeTypeInteger:
    , \6 B4 j' K+ w% M$ Z0 R
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;' h4 [( i; n/ e1 F
  37.             break;& z3 Z* }: X. y4 R- C$ {& y
  38.         case NXObject::AttributeTypeReal:
    ' d+ C% @4 h' @1 h9 P  w& ?
  39.             out << "RealValue: " << infos[ii].RealValue << endl;
    4 B% _: V6 I: r
  40.             break;
    ( R! U: A. F& O. q6 q- E, e# c+ e# L
  41.         case NXObject::AttributeTypeString:
    % e8 [1 T% c  S+ U4 k
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    " ]4 Y8 `/ J1 W# _7 _
  43.             break;
    * w. a+ g8 W6 a, N3 J+ n
  44.         case NXObject::AttributeTypeTime:
    ! ^! o/ ?0 B' y7 W- A. T" ]1 ]
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    ; H" y, m6 C1 W1 ^- y
  46.             break;
    + q1 _; B3 r7 `- ?% V. S8 j
  47.         }
    ) i) ~9 k" D5 a1 |$ ]! f6 H
  48. + W& p$ R. h( Z% J. O
  49.         print(out.str().c_str());1 p" v* G; I: W3 `3 Y) B# B
  50.     }
    : I! _( `9 U/ L0 I) f; e
  51. 2 k; p0 T6 V" {# k% n* ?
  52. }3 ^. O1 x0 U, p9 h$ C% q7 s
复制代码

. D" w  C+ h2 C$ d; ?
( n5 `7 j7 R( R. w
0 u! s& m) A- r8 F3 A: i7 }
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了