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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

' f/ c) l) O' Q) _NX二次开发源码分享:报告当前工作部件的所有属性- J6 A3 s8 k8 f, R
主要是用过workPart->GetUserAttributes()获取属性信息;+ N7 J0 b- U0 l2 b
  1. void MyClass::do_it()
    " Z4 o" g4 Q- H' C* B' H
  2. {) k, ~& K+ F- `* {
  3.     stringstream out;0 {' @7 @8 c9 e5 ?9 h: g+ i
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    ! z( R) Z% u" C1 O" l
  5.     out.str(""); out.clear();
    , k) H; ~( d- M/ M  A2 V
  6.     out << "\nAttributes found: " << infos.size() << endl;! f! _8 G' n9 w7 m  l
  7.     print(out.str().c_str());
    . ?3 l2 E; I5 F5 ?* o9 `: }' E
  8. 2 b" U1 w( Q2 `2 f9 Q2 }) ]5 c
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)! h0 W$ L2 ^8 K- C9 Z" J$ o2 k
  10.     {
    ( }5 ]2 x5 w8 e) `# }. M8 k/ c% C
  11.         out.str(""); out.clear();& |2 R: R# K% i8 Z+ }! S: a1 K
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;- e4 Q  i/ R7 ^" t0 V9 ^" X
  13. - H5 u5 W. o* D/ |7 X9 ~
  14.         out << " Array: " << infos[ii].Array << endl;
    9 V8 A2 [" ^- e/ s/ F3 {
  15.         if( infos[ii].Category.GetText() )
    9 Z' x' J3 J9 n% Z7 e4 F5 p# t" L
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;  N. _2 ]. R  ^+ R; J+ M# o
  17.         else
    ! q) `8 D' `  L6 P& \$ A/ Z8 }- c( F
  18.             out << " Category: NULL"  << endl;
    # R& i3 Z  X( e& V: R5 Z$ u9 i
  19.         out << " Inherited: " << infos[ii].Inherited << endl;
    . o" x- P+ z5 [' y3 z3 H
  20.         out << " Locked: " << infos[ii].Locked << endl;9 m1 y3 L9 F" b# k' I
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;, I0 B# k' v# b' n/ ?  g. \
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;5 h0 s5 t1 t* Q0 G0 n1 C0 x
  23.         out << " Required: " << infos[ii].Required << endl;* [0 {; m2 ^' t0 b1 \# x) {  j4 k
  24.         out << " Type: " << infos[ii].Type << endl;
    6 x8 a$ W3 q) j3 s% \- N) x
  25.         out << " Unset: " << infos[ii].Unset << endl;) B/ Y+ ^6 x  \; b* {
  26. % |: f8 m+ K& g% L" v7 |  n
  27.         swiTCh ( infos[ii].Type )
    $ s9 Q" s* O+ M+ l- p
  28.         {
    # U, K% @9 B7 L' F9 ?& G, S+ Z
  29.         case NXObject::AttributeTypeInvalid:$ B' w- X1 g# l# a+ I
  30.             out << " Type is invalid." << endl;
    5 z# j6 W  `- }! ^3 a
  31.             break;
    * P5 w" }' h* z7 ]6 R# L1 L7 B
  32.         case NXObject::AttributeTypeBoolean:
    " h7 p, ~" S) Q" i* r2 f* C9 J* ]) A0 a
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;9 u& A. L, J1 F7 K
  34.             break;/ m7 ?% i; j. w/ s' N
  35.         case NXObject::AttributeTypeInteger:4 g" Z5 I9 G4 P0 ?; _8 u7 T( n
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;6 N" t( J- W! q
  37.             break;7 }8 B) D- U! Z9 F  h
  38.         case NXObject::AttributeTypeReal:
    0 @- p; i) v, v* |; q7 F2 [
  39.             out << "RealValue: " << infos[ii].RealValue << endl;
    . ]/ z+ R$ E6 o# l  n
  40.             break;* x# r$ B) i# a9 K  [
  41.         case NXObject::AttributeTypeString:: B2 p0 O4 S5 u. F
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    * ^4 w* O2 y# t1 t5 W& Y
  43.             break;5 F! J5 A1 f. P- P
  44.         case NXObject::AttributeTypeTime:
    ( i) G3 k" @! M7 S1 v
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    4 u. Q+ l! E9 h  m9 U, T+ X
  46.             break;
    * U! h, f0 N* G# h# @
  47.         }
    ; l% P' l& W# ?9 z+ p! S

  48. : A# d/ a) z' j3 A  w" M1 o' ]& U
  49.         print(out.str().c_str());
    . \1 X. e, K+ o
  50.     }
    * u! y" d6 U5 a! K8 F! i

  51. 1 [1 L* @8 ~3 ^4 J
  52. }
    2 s9 V  P! h6 L5 Y
复制代码
/ B. H* y7 y% b5 w: A& T

. ]/ N; e" @) p% G: Z0 \2 F1 a# e* ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了