PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2018-6-22 14:04:27

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

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

x
# T7 ~6 l/ T  A8 L+ n8 [+ b; y
9 U8 b" ~% C% f- Z& r1 Q
NX二次开发源码分享: 报告所有的PMI显示的视图对象
" x% W  n; j" \* R' C, |, g* }3 }7 i0 B5 I* U3 W
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
* M' d/ l% {) j{
5 F* U1 |: t! M% W    Session *theSession = Session::GetSession();
3 `" H2 i5 ?  a    UI *ui = UI::GetUI();8 R$ }  H0 p. E0 u& n
    Selection *sm = ui->SelectionManager();, K. n; ?" U7 g; ]) W6 {6 ?
    std::vector<Selection::MaskTriple> mask(1);
; }$ A; J5 ]& K! |+ I. B    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);' T0 s" O2 w/ w& n5 B  K, n6 W
    std::vector<NXOpen::NXObject*> objects;
1 U1 x0 _8 b8 T: m" m    unsigned int ii, jj;" Q/ B4 O2 {6 r3 e1 ^8 J4 d* J7 V
    Annotations::Annotation *ann;/ W9 `1 y5 e' D) `7 J: r. r6 c9 N
    std::vector<View *> views;4 A) T9 a  Z6 S. W) R: r3 Q
    NXMessageBox *mb = ui->NXMessageBox();
6 r1 H$ B/ d5 U4 C; t    std::vector<NXString> messages;9 w7 B) u: s7 J4 M' p5 I5 w
% t! S2 T; w0 G- f; K7 R

9 Y) N+ y$ {1 M& {, i- e. C6 V" ?7 y8 a    Selection::Response resp = sm->SelectObjects("Select PMI notes",* }6 O+ w1 M5 p  `& G# Q* c6 v/ l
        "Select PMI notes", Selection::SelectionScopeWorkPart,% n/ ]% M' A/ {7 z7 ^! [. I
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask," x2 P+ Y, B# e
        objects);
9 ]' u: u9 q1 }$ T
2 y2 S7 |* R) }, A$ z$ t
3 H* a% `$ o8 D" G' i+ X
    if (objects.size())
9 H6 f( Z/ ]0 _4 _6 v1 K    {5 D. U* U9 F+ L* R4 B' e3 I, V
        for (ii = 0; ii < objects.size(); ii++)
" T* e+ x4 j2 t        {
; ?: X, M* J" ]! y9 e6 z& y
" C8 a, T. A0 I* e* F  V: j

  E1 ~  `4 z% n* {3 k        /*  This may fail - see PR 5872709 */
1 K9 p$ @2 `: O, M( @% A
- [5 x7 J9 c# f: q  l% W" E1 P
+ h: b; q& v' _# P
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
$ u1 [* b% u; e( _$ K& S1 j            if (ann != NULL)0 {/ p) o! M/ H
                views = ann->GetViews();3 `7 `6 B# O; l- v8 _! ^) x+ x; I
            else1 I9 t: K% o1 X" V1 b
            {
& z! Z; d4 W& x+ Y7 `: N+ T1 H( z                mb->Show("Failure",  d1 Y6 }) y5 B
                    NXMessageBox::DialogTypeInformation,3 ?; H# k( U& N: e; s$ V
                    "dynamic_cast did not work!");
3 V" t4 [* g4 _* U% H+ F' R9 Y+ P
; Q0 ?& m( z! I- b2 y" a

! V0 `9 ^# S, ~" J            /*  This will work and is safe due to selection masking */! `5 I9 L/ E$ L6 U4 |& z: g( t/ O
6 F% y3 @. r* F! }) i: \, E. N
  k( @7 M' p( O/ }" A+ E
                ann = (Annotations::Annotation *)objects[ii];5 L9 W' n. P3 x5 A
                views = ann->GetViews();
4 N5 P6 ~* t: k            }
( r5 M& i3 l' C6 U# E
; f' M$ F& |7 s9 X* p. F
6 A% a, G9 ?2 W% j9 Y- T9 }
            if (views.size())+ P  o# ]( E; v  j: z4 \
            {
( y! I# e* X- f1 a0 v; d# d- m8 Q4 h                for (jj = 0; jj < views.size(); jj++)3 y3 Q3 k0 M8 G  x# c* ?3 e4 _
                    messages.push_back(views[jj]->Name());+ x7 F3 X- c7 `: R% l
. }7 J, N1 a; V! G! ~. u

+ K# K1 S/ B+ L8 i1 A% Y                mb->Show("GetViews results",) Q6 j/ F4 H9 l9 ], i8 X# w3 o. O
                    NXMessageBox::DialogTypeInformation,* I6 Q7 u# O  m3 X' ~4 T' i. S7 v
                    messages);
; T. ?* t' q/ J2 i+ i# ~9 D6 p1 ^: R

# L2 Z* N2 T% x6 `9 C3 H                messages.clear();5 s, {" a& c. \$ Z# H0 H% ^+ ^9 n
            }
; ~5 m' Q" q: [, z        }
1 X" n. S* R; p% n6 s9 E    }  c6 J5 m9 M* J& `$ L
}/ p$ B) }! ?' j+ Z* s- m: O2 ^$ Y9 t$ a

, f: I3 P  f+ D8 q2 D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了