PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2018-6-22 14:04:27

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

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

x

7 m; M( z; ]8 N8 e
2 n; k+ _0 F0 a+ H! f1 M: m8 pNX二次开发源码分享: 报告所有的PMI显示的视图对象
  V( X) K- O' O& d2 a* ^
+ X" R+ }7 Q3 Y3 [0 Hextern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
! Z* P/ r6 Z' d* d( ^) q* d{! T# }+ o& }/ F
    Session *theSession = Session::GetSession();
; t# [5 A; f5 X3 W; `    UI *ui = UI::GetUI();; e2 M3 O; C4 C$ \
    Selection *sm = ui->SelectionManager();
9 p" H, Z0 C  K    std::vector<Selection::MaskTriple> mask(1);1 `8 K/ `2 |0 t
    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);3 P. _! V/ u* r, W$ j+ n! m
    std::vector<NXOpen::NXObject*> objects;
8 a2 D+ T' K# s7 ?* d, k" F# K  Y: F    unsigned int ii, jj;
1 S6 x0 N' ?# B    Annotations::Annotation *ann;4 U5 K- M2 o  e: U% O$ i5 n; ]! p" Q
    std::vector<View *> views;3 ~& k& Y4 E) z# L0 i+ a+ v
    NXMessageBox *mb = ui->NXMessageBox();, F8 j) S2 P! j0 v! m4 M: `
    std::vector<NXString> messages;
! \+ l- w. Y% J3 A2 b
; p5 z) {' B. t0 g4 f2 D
  |$ p" n5 |0 J* Y/ W5 C) n
    Selection::Response resp = sm->SelectObjects("Select PMI notes",2 k3 W9 T1 o/ i! u2 n
        "Select PMI notes", Selection::SelectionScopeWorkPart,
/ ?2 T8 \) k+ }1 Y+ `        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
0 ]+ S" X7 t; x2 j: A( `        objects);( G( r# a* A5 r- j8 d; X
( b/ l2 T4 v4 B9 N& A
! U/ c+ ~- p. p0 h$ i1 S, ?
    if (objects.size())
& Z% j+ E4 |% L& a+ l$ f' C    {+ l7 j2 O1 n/ F
        for (ii = 0; ii < objects.size(); ii++)
& j5 e2 u& U% h( J        {. `2 D/ t9 ~! u# R

2 I8 C+ x/ x* @3 `) \, ]

, }" p: u* D$ ?        /*  This may fail - see PR 5872709 */
1 k3 x, z( ?/ T1 ]9 K* L  m
4 Q) Q+ \! @0 y
5 S; J7 k( K2 S. L' U% M( F
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
% ]& ?1 |! P7 Z4 q8 g            if (ann != NULL)
% {2 o9 y" z4 x                views = ann->GetViews();/ o; H, H' q" [8 m  ~
            else
6 l( C& B! X% P; T4 \            {: h6 x3 S/ }  m' w% p& a4 n9 {
                mb->Show("Failure",
# @/ s2 _' s9 l% ]* U* ], }                    NXMessageBox::DialogTypeInformation,
# f. p* S2 J+ ?6 g& V                    "dynamic_cast did not work!");# \* C( I& m/ @% d% ^* N) @

5 n7 F% U$ s! Z% I( p4 R6 h8 y3 v

6 H' d5 C2 v+ l: I3 T# E            /*  This will work and is safe due to selection masking */
7 I! o: [2 T2 R7 v$ G% n9 ?
6 o- c# T- _! O0 f* _7 N1 B: D3 G
" M! ~- Q8 s# d3 o$ n% C) q. r
                ann = (Annotations::Annotation *)objects[ii];" Y& D4 v5 a, ]2 S( O
                views = ann->GetViews();9 B' Y- ]/ L! }  o
            }) F+ p% i0 h7 g1 t

+ W- F6 O. V& P

( w" Z% h( }2 ]4 I/ P. [            if (views.size())
& m2 ^: ~6 s1 G! _0 c            {2 j" u( J/ m/ @% r/ o7 b
                for (jj = 0; jj < views.size(); jj++), z- I. O% j; w, M
                    messages.push_back(views[jj]->Name());
/ i% s" U9 ~: q8 O! R$ d- n: c" L/ w/ P+ \
, w$ D# R5 l* R$ T( v% t" ?, B! G) i
                mb->Show("GetViews results",
$ Z! T* U+ V- M2 I: G3 ~; O" x( d                    NXMessageBox::DialogTypeInformation,
2 p2 o( \- J. p% U                    messages);
" v* n# @( h. N8 [. R. J& N6 N( r  W. b7 d+ ~% W/ `# R

9 R. G% D; ?6 c4 ^+ y; l                messages.clear();& C; ]9 G9 O& n
            }
4 h; R, L) j/ \  A1 L        }
" W& q5 p) @0 f1 t, r8 T    }1 @' b: `" m; }4 r' M
}, u- C4 X9 ^4 `/ V
3 m# _+ n" I! v) h1 P! u# d! X
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了