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 2295 0

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

admin 楼主

2018-6-22 14:04:27

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

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

x
, ]; H7 m! U8 b# S
! b* C$ r! B, A
NX二次开发源码分享: 报告所有的PMI显示的视图对象! U, X0 G- c4 a3 b( ?* k& g, S8 J

$ m! l2 Y( T' L$ a) q* M) Xextern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)4 Z% w5 ~% A( w" e" r
{
6 O9 p8 ]- z$ n/ R8 w    Session *theSession = Session::GetSession();' H% u) T& ]/ n2 }3 ^' U
    UI *ui = UI::GetUI();0 o4 ]9 N8 J: _1 o; ?* Y
    Selection *sm = ui->SelectionManager();+ H# x) }8 _# H+ [6 D1 Z; J$ |
    std::vector<Selection::MaskTriple> mask(1);+ D5 f1 I" \- K2 y* V3 O
    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);
- K) P0 G5 M$ I% G* l5 c  V0 U    std::vector<NXOpen::NXObject*> objects;
+ M& n, k& {6 _( G5 ^, k' P( r+ n, {    unsigned int ii, jj;
& ~( q+ _! R+ z    Annotations::Annotation *ann;  Y1 j6 p+ ~( C8 s% X
    std::vector<View *> views;
) V" n  o5 z5 T' F    NXMessageBox *mb = ui->NXMessageBox();
0 m! s/ Q9 U2 S1 K( S  R( G    std::vector<NXString> messages;  m' o! w7 V% A- m3 I

$ ^, M) [( I/ p! k9 C3 B) D

. @3 r4 ^% Q) f4 b3 q4 S    Selection::Response resp = sm->SelectObjects("Select PMI notes",
$ A) N- G6 `; q/ b2 Y: k% X        "Select PMI notes", Selection::SelectionScopeWorkPart,
4 |- s* u) z7 ?! d* w4 ?        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
2 i, _# S+ M3 M5 K  \% m        objects);1 p/ }3 V  Z1 ]) d2 n6 X+ l

, t; ~' v4 `) a

' t1 y2 r7 N6 r3 Y4 c    if (objects.size())
  y  [- |7 M. f, g    {
. Y1 i% l; ?% [8 U        for (ii = 0; ii < objects.size(); ii++)6 G' h0 f/ X7 m4 a
        {7 R+ }# E% Z) p4 `& t7 x

. \: `, g" r5 G0 U7 A4 V

. D! s" |! [% o* u) _        /*  This may fail - see PR 5872709 */
2 t9 N" d3 M8 D: {/ Z  e5 I& @. `1 j# P; D
9 i' ~3 i) }0 p& t
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
* T% b$ }3 G* r: [            if (ann != NULL)7 S# W3 ]! U& y8 W& o/ K' ~
                views = ann->GetViews();3 [3 P$ O0 o* |9 u2 F" j6 _
            else
) E$ c; d/ y, H, e; A            {7 Z; i% U. @/ Q7 |
                mb->Show("Failure",
- Y4 P# e0 R7 W6 w5 I) ~                    NXMessageBox::DialogTypeInformation," B% D' [  l" Q7 b! H. r0 h8 U
                    "dynamic_cast did not work!");: k9 l- i$ x5 r

% A: D0 H' |3 M
: R! T( g+ F9 c# n; I6 X& S
            /*  This will work and is safe due to selection masking */
0 }( u/ f- h5 J+ l% Q9 Q3 k: C( _& g1 P( _$ A# a

- _% i1 k' s9 h                ann = (Annotations::Annotation *)objects[ii];. P$ g% \5 e5 F/ h( J9 U, j
                views = ann->GetViews();
9 L+ K( \/ k& p; O& ], s            }# s, k7 t& ^- Y. ^0 p) N

, V9 y; W( F! }- M1 \
5 `6 \4 B  Y3 v/ d# f
            if (views.size())
8 B, p3 ?9 A4 P$ f5 v7 T5 _  |6 e            {
+ C7 d3 U/ T5 {- L                for (jj = 0; jj < views.size(); jj++)
# A! z. \* M8 b3 v                    messages.push_back(views[jj]->Name());; C6 }/ e$ S$ \$ U
. z- r! N, _; M1 h$ b

3 b; l4 ?' Y3 s6 Y/ O# [( A- q/ L                mb->Show("GetViews results",
' `+ _4 R- d* \8 w5 i6 ~                    NXMessageBox::DialogTypeInformation,
$ B# M+ \) A# @% Z" h                    messages);
- l, O" P) J8 N) s2 E+ G( Y
5 W& \$ B$ M" b' @

) \! ~' l( I* l, W                messages.clear();0 h3 S$ U( O7 h
            }
9 h$ m6 b6 K" N5 ^) t        }
' M0 G4 G: Z3 p# P0 e6 N- l    }, h' v9 `1 F! v( T+ \/ D- J  U/ l
}- G0 M. U8 v; m9 N$ @; G

& o' n4 F! R  I0 s$ i2 S* r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了