查看: 4066|回复: 1

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

[复制链接]

4

主题

3

回帖

38

积分

管理员

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

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

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

×

8 C4 F0 a. {$ tNX二次开发源码分享:报告当前工作部件的所有属性2 C5 L  {. i: h' \+ S
主要是用过workPart->GetUserAttributes()获取属性信息;
4 Z9 O( ]: F( Z. ?% C7 v# a
  1. void MyClass::do_it()
    # e6 W( N; A. U
  2. {
    7 ]  v8 {$ P/ g5 @8 n% ?- z' f% R9 D: r
  3.     stringstream out;
    $ n5 a, l! v& U+ U5 M$ o  W
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();4 D  m0 _- F$ w" P
  5.     out.str(""); out.clear();
      m( l% C; _% o& P5 D
  6.     out << "\nAttributes found: " << infos.size() << endl;2 w# p( b3 S  b. |, K/ }+ P' c
  7.     print(out.str().c_str());( ]  B. ], l8 |1 X7 x1 f
  8. & F. G* @4 u4 e! P
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)3 l& U: A- X) e" M- R" ~  F# E; K( l
  10.     {
    8 T1 v2 N$ n* x) R5 u  x! o
  11.         out.str(""); out.clear();
    & \- Q- G9 i3 s5 O3 T3 p
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;9 Y; x1 c# j) U( Y: u# o
  13. : A' L+ U& s) n  r+ Q% `7 R
  14.         out << " Array: " << infos[ii].Array << endl;! H/ R' @7 M) H% I( r* i5 t  I
  15.         if( infos[ii].Category.GetText() )
    ) {* k" {( u# d
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;- j( j+ I6 M/ l: s( G2 `
  17.         else
    8 x8 ]4 C7 ?& Z  Y) Q6 y8 c; K
  18.             out << " Category: NULL"  << endl;
    5 J3 h0 ?8 t4 n4 \" D
  19.         out << " Inherited: " << infos[ii].Inherited << endl;$ I. Q( a0 C6 V: X' ~
  20.         out << " Locked: " << infos[ii].Locked << endl;
    : E  E% I" J  \4 f
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;
    7 |" n* O, k" ^# P  D$ A, W, D
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;3 F# `" Q5 j2 J) `/ E+ G6 v+ b# p
  23.         out << " Required: " << infos[ii].Required << endl;
    2 Z8 H# N' U/ z3 M8 \
  24.         out << " Type: " << infos[ii].Type << endl;
    4 ~2 E6 [& D  |" S3 @3 V
  25.         out << " Unset: " << infos[ii].Unset << endl;
    6 @; Q1 l9 F9 _2 G6 G

  26. ' ~4 D8 O6 @/ r2 k- ?8 n
  27.         swiTCh ( infos[ii].Type )8 M4 L8 q9 |4 t4 J
  28.         {
    " z) P3 @$ r: T' G8 D
  29.         case NXObject::AttributeTypeInvalid:. @) H6 N3 E4 v
  30.             out << " Type is invalid." << endl;
    ; k% X) A# m' h2 n9 a" \
  31.             break;2 X1 J8 B( v  b& a& k6 M  c
  32.         case NXObject::AttributeTypeBoolean:
    - W/ E! H6 A$ Y( q0 x) s4 q
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;' y4 w$ T, g# x5 m
  34.             break;
    . Y! T: c6 ^, a7 X2 o
  35.         case NXObject::AttributeTypeInteger:% C3 k; {% Y$ I7 @* l3 U
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;: b1 {$ p$ ^5 c; ]
  37.             break;
    9 g' g* A# b/ }% l
  38.         case NXObject::AttributeTypeReal:+ Q  P0 {! ?. M; ~" U7 ]" ]* j6 v" m
  39.             out << "RealValue: " << infos[ii].RealValue << endl;8 l1 y# ^! j* M, b2 U3 o4 q" {% b( u
  40.             break;
    ( c+ p3 ]! ^' l
  41.         case NXObject::AttributeTypeString:
    . r" j6 N9 `* l$ z8 h0 Q( b$ _2 i
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    6 Q; |: H. O$ E1 m% Z
  43.             break;" B% M1 G: g. T! _5 o6 N: o2 L/ X
  44.         case NXObject::AttributeTypeTime:
    ; I/ K" w/ O; E
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    $ H. ^0 N' K5 J+ e7 k& i9 y
  46.             break;7 u' [! v/ ^. N) q/ b/ s
  47.         }- [- ?, k  T0 f) ]  K3 j
  48. 6 n; w& y) e( x$ C
  49.         print(out.str().c_str());* @6 |9 d1 X7 n
  50.     }
    " d4 C* h# X1 A6 h

  51. ; u9 g8 h7 A' x- Y, t
  52. }. K) c) x: d: d4 }. {' X# p
复制代码
) E( K# Q( C/ e: j' ?1 w' F

" T3 o( |6 t* Y" d9 W: w7 s( y( Z
5 e# z$ b; H% b( ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部