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

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

[复制链接]

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

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

admin 楼主

2014-11-4 20:48:40

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

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

x

; ]1 m, `7 P; Z& qNX二次开发源码分享:报告当前工作部件的所有属性5 }1 V) x* f2 J- u3 d6 X' j9 Z5 L
主要是用过workPart->GetUserAttributes()获取属性信息;
% g- U1 E8 A/ W$ f# e
  1. void MyClass::do_it()
    $ V* k: E% ]  X; r2 O2 e8 I
  2. {3 C  u* U6 |" V8 @
  3.     stringstream out;& L! A  t+ f& q2 k" a
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();5 b  L+ ?6 D8 C8 I: V+ B4 k( i0 |2 f
  5.     out.str(""); out.clear();' u. a" @0 l7 @
  6.     out << "\nAttributes found: " << infos.size() << endl;
    ; _: t/ X3 c" @8 s
  7.     print(out.str().c_str());
    , ~' G8 p& X* G. T9 N

  8. $ S: C# L7 U* P8 z1 q; t4 S
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)
    : F& U' y* }# B6 K3 ~8 B0 w+ C
  10.     {
    % V; J+ \, Q3 u: \+ D
  11.         out.str(""); out.clear();6 M7 j1 J- u! p8 x2 |. J1 @4 z
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;
    5 O1 m' a8 b3 x! T# I' F
  13. 6 r7 [/ {/ X, N
  14.         out << " Array: " << infos[ii].Array << endl;
    ; m( Z( z1 O% z) `0 u
  15.         if( infos[ii].Category.GetText() )" j7 C/ _' P$ q( D0 c  z
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;
    % {4 I; L. v% p- g
  17.         else- v% c$ _% T. i' l7 O. p! b7 H7 `& X
  18.             out << " Category: NULL"  << endl;
    ( _2 L6 Q& m5 i1 j5 ?0 M
  19.         out << " Inherited: " << infos[ii].Inherited << endl;
    7 y1 X5 w5 w6 O/ [! @# j* q$ m
  20.         out << " Locked: " << infos[ii].Locked << endl;
    $ B9 S3 F. r4 l! q9 I& A
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;/ e8 g8 O2 g' V/ c/ y- ^" J$ p
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;5 v3 D, Y9 l/ F: W
  23.         out << " Required: " << infos[ii].Required << endl;
    - t) u! v/ }. e1 P2 R: {
  24.         out << " Type: " << infos[ii].Type << endl;. p# @5 S3 d: ~9 n5 l9 S' V3 M+ k
  25.         out << " Unset: " << infos[ii].Unset << endl;4 u& c1 B( U  C- C. e$ I- }& t9 h  ?
  26.   Q% F$ g$ }( s5 b
  27.         swiTCh ( infos[ii].Type )6 ?% A6 M. l- P4 \# R, G
  28.         {
    # ^7 Y! O, @6 B. j: }9 u! V2 z5 u' P
  29.         case NXObject::AttributeTypeInvalid:
    " g  k4 O0 V' {9 V/ ~5 \
  30.             out << " Type is invalid." << endl;
    , L6 N1 c$ c" y7 Z
  31.             break;
    , t! O1 b+ j, f$ c. ^
  32.         case NXObject::AttributeTypeBoolean:
    9 }3 e) ^) S4 ]% s$ n
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;
    / U$ }: @. \# o) A" \
  34.             break;
    ! Y' K" A6 S: h0 e& G
  35.         case NXObject::AttributeTypeInteger:
    : p0 n, x. }7 n: s
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;- g" _$ T% W& i: p3 j0 p' ~
  37.             break;7 L$ v) m' z/ M( B: p$ Z( r0 q0 i
  38.         case NXObject::AttributeTypeReal:
    , ?. ^& c* T8 `; y
  39.             out << "RealValue: " << infos[ii].RealValue << endl;
    6 `  u4 ?% x" k& I7 R
  40.             break;
    7 y! w& r5 @  h
  41.         case NXObject::AttributeTypeString:9 m9 C0 S; Y& e5 ^4 z+ ~( T/ n* j0 ^
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    % M: G* ~) D0 z, Y! ?* e6 c7 b
  43.             break;
    0 l' }) N5 l& E: C4 @
  44.         case NXObject::AttributeTypeTime:3 F: a) g' d1 `' |6 o. Z
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    9 m6 V3 D/ E; E% B! F! X
  46.             break;6 q( @. l+ b+ `3 G8 X- P
  47.         }( h& Y: W! a: Z) g7 c8 |$ Y, U
  48. . `& S) N+ U& O! _) }6 p
  49.         print(out.str().c_str());$ v: h/ m% v3 i' ^/ }& r
  50.     }
    ) ?' R& ^$ Q( ~7 {

  51. ( n2 `6 P1 w5 N7 v( @) ~& o. Y$ L
  52. }
    - G7 Q, S3 w+ |2 v/ {, `/ H5 _
复制代码

; G6 P5 _# |  _, I2 l
4 W. l* _5 i3 V- e
' y7 Z% |$ j0 @4 \3 ?1 k2 `( w$ r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了