PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2018-6-22 14:04:27

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

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

x
8 s! d( U9 S# I

3 ?' V, j6 Y. k2 ?# B/ t/ h* P9 rNX二次开发源码分享: 报告所有的PMI显示的视图对象; Z8 p" A$ @/ U0 P+ I% d' \) d
9 r/ s+ c/ r0 |: f
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
) P8 ^/ _( h$ }{
) `3 |8 Z0 k# k0 D0 D  w, q9 v4 F    Session *theSession = Session::GetSession();
9 i0 A& l, s7 f; O& p( y  @    UI *ui = UI::GetUI();  _( p, c: v! }: y6 O) u
    Selection *sm = ui->SelectionManager();
( }( _' h, d, J. F    std::vector<Selection::MaskTriple> mask(1);
% Y' d' x% m0 I, d    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);7 B) l: J% W+ V, I* {! y
    std::vector<NXOpen::NXObject*> objects;) C) ^+ {( a( C/ ]
    unsigned int ii, jj;2 W8 o0 L7 F5 V3 o" C, f" V1 U
    Annotations::Annotation *ann;
  j: Q4 e  h7 D    std::vector<View *> views;
) o0 y+ c% w6 ~! \7 G    NXMessageBox *mb = ui->NXMessageBox();
# Z" B5 B# p; W4 c: x; @    std::vector<NXString> messages;
/ n1 y  |" h( c% t6 Z( M3 j; {3 z) e) ?

8 W: ^) B* n, _' j( g    Selection::Response resp = sm->SelectObjects("Select PMI notes",
  P% N) C, B- ^' D        "Select PMI notes", Selection::SelectionScopeWorkPart,* Q" y; s6 |' z
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,$ a) D1 M8 N  s. C( X. T- f9 h
        objects);, |  q2 A2 f6 S4 o* d' s
; z6 v! u( Y3 ?! u  O, X
: i) M" {' {( t/ ]* Y
    if (objects.size())
$ `5 _! B+ E- ]( m4 L! {, c    {* u( |- j0 f3 M6 U2 A
        for (ii = 0; ii < objects.size(); ii++)8 \, D$ u4 g6 Y- a6 x
        {
$ G5 J! j6 n& C, a5 a! G4 R! Y; b! a2 i. p8 K

' f. `2 B9 P& g+ X        /*  This may fail - see PR 5872709 *// }9 j1 f" ]' E% b, T1 Z; N; V

/ O8 e. t( Q9 P* h
6 u0 q- L7 n6 ]7 y& g
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
+ @' H8 M  ]4 [( v            if (ann != NULL)4 U& m: y: r, t' f) \& }9 R
                views = ann->GetViews();2 f$ e2 L9 _* \" W
            else: j; ~* }+ u( L# n
            {
9 E- e! |! R8 G5 ^& z                mb->Show("Failure",6 D  Y# o; J% ]* r& w5 S& K
                    NXMessageBox::DialogTypeInformation,  b. Q& e: G! N4 o! }, {
                    "dynamic_cast did not work!");
6 J/ W) H3 g& G% a# g: F5 k0 T% g" c1 K! t$ R  F
9 @! q( _7 j' K8 f
            /*  This will work and is safe due to selection masking */$ ~6 H3 Y2 G8 Z1 g  R9 h" Y

' T' X9 Y: i" w/ R; p

9 b# [9 ~" {! q9 r& E" e. a                ann = (Annotations::Annotation *)objects[ii];
- g% e, e6 a2 ^+ i" i5 }  `/ j                views = ann->GetViews();1 s0 b6 a, e5 G
            }
3 `" X+ t4 d+ X  u- i* k% X1 i" d5 A& i3 Y

6 G) ]5 }" `, c1 C+ n            if (views.size())% k% z/ W. F3 O& v3 w: x; m" y( M: E
            {2 f; M8 }5 @/ O. K
                for (jj = 0; jj < views.size(); jj++)$ D5 e3 T: m5 c' H$ t5 r
                    messages.push_back(views[jj]->Name());+ Y% e; S- x$ H" L  X
: b8 X) z2 `! F' n. m5 r+ |
+ E! g# U. N6 ^" P. w+ [. d
                mb->Show("GetViews results",9 @9 l- s& x1 m$ h. K  Q
                    NXMessageBox::DialogTypeInformation,
* |4 d% ^" |& {# T) u. i+ r/ m3 T                    messages);7 F) q5 h2 A$ G! G5 n/ `
  h" R$ [  W9 U4 T3 d

" j8 c! Q$ I, E2 L* U# k! j: e                messages.clear();
7 X, Z+ B& H5 u4 H0 }            }2 I5 T, K+ a; ^1 [) f
        }
4 k  `( W4 h  i" L0 N    }& L: F, u+ x# ^' t' J
}
3 F' Y+ N/ E3 b( ^# c8 q2 P. B: [# a" x5 K/ L4 U
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了