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

[二次开发源码] NX二次开发源码分享: 报告所有的PMI显示的视图对象

[复制链接]

2018-6-22 14:04:27 2543 0

admin 发表于 2018-6-22 14:04:27 |阅读模式

admin 楼主

2018-6-22 14:04:27

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

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

x
3 z9 z8 k, K: q' e' U; S
4 B5 j  n( k6 i+ R! t! d
NX二次开发源码分享: 报告所有的PMI显示的视图对象
/ H0 h$ U, ]6 s, ~0 U
# x5 L: F" B: ]4 ^6 Z% N7 vextern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
2 h' m/ Z9 _/ J. T& M/ J& k' ?* U{' C; g4 X' C( e( l6 ?% B
    Session *theSession = Session::GetSession();
( p% O6 l: R. r5 E0 D    UI *ui = UI::GetUI();. W; M' ~3 {8 k
    Selection *sm = ui->SelectionManager();9 |# A8 m" @$ B* E$ u4 Q
    std::vector<Selection::MaskTriple> mask(1);% W$ L$ n  k  E, z4 a% E: E
    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);
! P7 y6 F1 s. |' W    std::vector<NXOpen::NXObject*> objects;
* h; X# G, t9 W    unsigned int ii, jj;) J  R* L! W* O5 h4 Z" M
    Annotations::Annotation *ann;: b8 M- l0 E7 x  a4 J3 h
    std::vector<View *> views;
5 _( a8 I1 a. P9 a! e7 `; V    NXMessageBox *mb = ui->NXMessageBox();
$ [2 ?; A( Y3 I) P  v3 J    std::vector<NXString> messages;% v9 K1 Q7 o* ]4 ?/ g6 @, X

4 P0 u5 N1 V( }6 y+ \6 {  ^6 s$ f
& R: F. v0 A1 s" v- U& k( o9 s3 \
    Selection::Response resp = sm->SelectObjects("Select PMI notes",2 i1 y: }4 C" c( |- u' J+ F6 S
        "Select PMI notes", Selection::SelectionScopeWorkPart,
4 [) K1 F* A. _/ Z( @        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
# ?5 E% _5 g$ I2 u1 q$ {. H! V3 a9 Z. O        objects);
% E: `% B1 b. b- J5 b6 h4 B, F
" w) b9 ]4 i7 K7 L! C0 J  _

" j8 V, A+ Q7 U1 ?2 f. I    if (objects.size())- d3 t* i) M: f( h9 ^
    {. g( }0 f6 T, Y3 B/ A+ z3 c# ~" P
        for (ii = 0; ii < objects.size(); ii++)0 h6 _/ {9 o- U) z% z
        {
  q+ s" ]1 n1 A! M. C1 ^% [9 x, ?% e" |# O& N5 z  P
( q9 I. o( a, _4 Z  |& [! S- X. v
        /*  This may fail - see PR 5872709 */* S# k0 n% G! L
' a8 z& V5 R  `1 }& C7 g+ Q4 R* D- j
7 Z6 C5 |- ^$ N
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
, \% m( E4 s' ]" M+ H! H            if (ann != NULL)
) S$ d2 C) {0 k1 r                views = ann->GetViews();
* d8 F) h5 v( Y" J5 J+ \- i! q: N7 {            else
; M( p1 ]1 f. s8 t; R) k            {
9 S+ }9 Z5 q8 S                mb->Show("Failure",; e* n9 h$ A/ i' e3 A
                    NXMessageBox::DialogTypeInformation,6 r: i; I$ N& L" R3 N9 `. L( f
                    "dynamic_cast did not work!");4 y+ H# ]) e- `. A8 s0 v

, K/ p7 j1 o5 e) w( K

3 p7 {/ w3 C9 J+ Z/ ]8 r2 B            /*  This will work and is safe due to selection masking */! M: I$ h" L$ ^+ f7 l2 T) }

9 X9 x- ]0 ]! ?7 k$ |- W$ k. K$ e* y
- y1 l/ O3 r9 U' l$ B- |; h
                ann = (Annotations::Annotation *)objects[ii];
- s1 C0 v$ c7 t                views = ann->GetViews();7 N2 t. d. D8 H
            }
# C) d1 N! B; u7 Q2 t6 t1 ?  P* F
" J) y2 y/ t- u) [" r% L( Y( @
% {: w& @7 }# y! y+ l9 ^7 ^; T
            if (views.size())9 @; h6 Z, q: X
            {# \. E. N" ]7 o& r% J* q
                for (jj = 0; jj < views.size(); jj++)3 m! Q& |3 }  k/ C2 @
                    messages.push_back(views[jj]->Name());6 m; m- I3 U, ]3 c0 @

% k9 G. Z" x/ ^( F8 y, n7 E

+ t3 C+ O5 L. K; q                mb->Show("GetViews results",( `6 N- n! Z) X! m4 z! Q6 Q
                    NXMessageBox::DialogTypeInformation,
# E% Q4 A! F1 d. V. U                    messages);
6 Q: ]$ j, V  P2 \9 O- ]% W$ [3 {3 j3 `. H5 y* N8 @" Y
# |$ |5 w" ]' s: e& a
                messages.clear();* _# u- @- z" a' }. N
            }" S/ @2 q" \3 u& o2 Z; X& G" c* j
        }/ W. I) s5 Z1 L2 s& m
    }
4 o& K0 q& {  b}
6 Q; B% ?, w. Z$ R: t- K6 j6 C, P: |+ `
0 O7 ^8 [( ^: Z( v1 {
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了