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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
5 ?7 z, q6 K( a4 g
NX二次开发源码分享:报告当前工作部件的所有属性
5 K+ N* X) F+ N0 o* d主要是用过workPart->GetUserAttributes()获取属性信息;
- h7 R4 o" }% M' {; o7 N5 ]4 R
  1. void MyClass::do_it()! T- }4 O+ E" z
  2. {
    0 u& Q' v( j  J5 W
  3.     stringstream out;
    0 y8 l, j$ s& O, L" Z4 b' m: w
  4.     std::vector<NXOpen::NXObject::AttributeInformation> infos = workPart->GetUserAttributes();
    ! e$ V; z1 ]: O( A
  5.     out.str(""); out.clear();
      ]& K' U  z. @. e+ z
  6.     out << "\nAttributes found: " << infos.size() << endl;
    - E' D. S& E3 k5 w
  7.     print(out.str().c_str());+ ~9 R; _( N3 s

  8. * g( h( m6 O% W; F! `
  9.     for (unsigned int ii=0; ii<infos.size(); ii++)
    / c( Y# E! ^  u
  10.     {
    2 X1 c' b6 f$ C! r" }+ E! d
  11.         out.str(""); out.clear();" }2 K' e' |* H/ U3 U6 L) T
  12.         out << "\nAttribute: " << infos[ii].Title.GetText() << endl;
    1 e) g- H  w$ D+ s

  13. 2 Q8 X* z9 N9 S! Q
  14.         out << " Array: " << infos[ii].Array << endl;
    8 L& y- N0 F  I9 f
  15.         if( infos[ii].Category.GetText() )( E5 ~3 w2 q& v6 m% w
  16.             out << " Category: " << infos[ii].Category.GetText() << endl;2 b2 c, L( Q2 i. H8 M$ @% I
  17.         else
    ' i9 t2 N7 l& S; {( O' A
  18.             out << " Category: NULL"  << endl;* z) T. m1 j! m1 q3 O
  19.         out << " Inherited: " << infos[ii].Inherited << endl;
    3 M3 H1 [8 @% D9 |! O$ }
  20.         out << " Locked: " << infos[ii].Locked << endl;0 g: b$ [$ }: j1 ?
  21.         out << " OwnedBySystem: " << infos[ii].OwnedBySystem << endl;+ N) T& X+ ?& B7 U
  22.         out << " PdmBased: " << infos[ii].PdmBased << endl;3 N8 Z8 R  ^/ D) h  u' ?# r
  23.         out << " Required: " << infos[ii].Required << endl;" o' E% g! \% g9 B0 K  P. H7 k1 x
  24.         out << " Type: " << infos[ii].Type << endl;+ d! _  x6 y5 c! ?- K
  25.         out << " Unset: " << infos[ii].Unset << endl;
    4 p- q& H+ h: S0 m8 Y

  26. " @8 ?" n4 L# }: Y' {$ T) w
  27.         swiTCh ( infos[ii].Type )5 C* f9 |9 y! g
  28.         {
    . u' o3 {# Q- |3 ]9 \' ^* _+ I
  29.         case NXObject::AttributeTypeInvalid:% h* D. M3 |, P" {0 l4 j- t
  30.             out << " Type is invalid." << endl;8 W8 m1 }9 v: o* [! Q$ I9 B3 L9 [
  31.             break;
    " n+ r6 A/ K' F! G/ V. }
  32.         case NXObject::AttributeTypeBoolean:# l0 \( R$ g7 f4 E/ s* @6 g
  33.             out << " BooleanValue: " << infos[ii].BooleanValue << endl;
    ; X6 l2 h( o! g* e* N; o7 M
  34.             break;/ [" c- }' }2 R
  35.         case NXObject::AttributeTypeInteger:0 _/ R4 \. ^# H  I2 X
  36.             out << " IntegerValue: " << infos[ii].IntegerValue << endl;
    1 n/ [% E+ a7 o  X7 |' s" ~& C
  37.             break;
    6 B5 t7 H% }( s5 L: T% a) O' ]
  38.         case NXObject::AttributeTypeReal:
    # w2 U" ]8 }6 G& i" e, |- t
  39.             out << "RealValue: " << infos[ii].RealValue << endl;7 V2 o: D8 ^' ]8 Q
  40.             break;
      ~1 }( G; a. W7 j) o
  41.         case NXObject::AttributeTypeString:* s" o; W2 u- Q9 Q6 [  n
  42.             out << " StringValue: " << infos[ii].StringValue.GetText() << endl;
    0 F, D' o2 B# u0 Q# n; `. @, M
  43.             break;& P" `+ J4 S% T
  44.         case NXObject::AttributeTypeTime:. S# V1 S' ~0 P
  45.             out << " TimeValue: " << infos[ii].TimeValue.GetText() << endl;
    & K' L+ u/ _. d: F
  46.             break;9 n" \5 v, w2 n5 W5 L
  47.         }
    " ]' N% J" {( a+ @
  48. 2 l' q, q  B+ H9 [, P9 ^0 V
  49.         print(out.str().c_str());/ N6 y( y9 O: n3 N! H" C: y5 i1 ]
  50.     }
    9 n: Q+ z/ a. s* c' \/ W9 x# q+ l

  51. 0 R% M; Z3 t+ @3 i2 j; ~2 N
  52. }
    % N$ _1 |! W& O* o/ P
复制代码
; Y; ?; t+ n  k4 @) q7 d8 i
6 Q% d1 e; s- x& F

+ g, e: f+ k; J4 M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了