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

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

admin 楼主

2018-6-22 14:04:27

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

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

x
9 y2 ^6 X7 x* s! Z- [4 L

) |$ r# H* ]- t5 @* RNX二次开发源码分享: 报告所有的PMI显示的视图对象
8 C+ O. T! W* j3 O" A  z' l( L& R5 G' P
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
( j$ I& g, e! \9 u" ^7 D7 q3 E- y; H9 `- k{
/ v0 p9 H, @; ^" ]. W    Session *theSession = Session::GetSession();7 u! g4 D  s$ \: l9 X
    UI *ui = UI::GetUI();$ i& D; k% {8 z  K& ?: f7 w
    Selection *sm = ui->SelectionManager();# \% S1 t) d( `; Q
    std::vector<Selection::MaskTriple> mask(1);
' [2 {  R; e7 U# P$ H    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);
" m7 J2 m3 E1 f/ K    std::vector<NXOpen::NXObject*> objects;
) S- Z7 k0 S' i. Q% S    unsigned int ii, jj;- N  G; _' Q/ g! a8 h8 t0 T
    Annotations::Annotation *ann;0 N1 l; `9 m9 n+ h
    std::vector<View *> views;
6 K2 E  ], X" B, U' }  Z) B    NXMessageBox *mb = ui->NXMessageBox();
6 b6 J6 x1 z, e  {  @) O! p    std::vector<NXString> messages;
' f% Z! Z" x1 @0 {3 ]/ `2 ~; C' I4 a3 P/ A7 w- V
( G4 R, [" y' w- t1 u: t
    Selection::Response resp = sm->SelectObjects("Select PMI notes",
' g; b" J  n. e$ q3 F        "Select PMI notes", Selection::SelectionScopeWorkPart,/ d5 H% o$ D* r+ i
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
$ N3 C- {; o! e$ r        objects);
! t& c0 Z1 T/ p5 y4 L4 [+ v. a9 G. R2 _2 g3 L

+ h5 y; K: R  c% N    if (objects.size())
! e' P' x/ b. b    {. k( J, k% t: X8 u6 p
        for (ii = 0; ii < objects.size(); ii++)! s3 ^2 T. o  t/ y2 {8 p( |9 j
        {
2 k1 Z, Y$ C* q' p6 A2 w% ~* W! r& I9 ~
# @0 a3 d% Y  m$ k5 r' ?! b
        /*  This may fail - see PR 5872709 */! K/ @. g9 M" b; s6 D

: g5 c* P2 u5 I5 [4 x1 R) o% C
& ~6 n. A/ z$ r1 Q" ?
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
' O. Z4 ?/ q. }0 ]; v, R, w            if (ann != NULL)2 \3 O' }" n$ `# t2 j
                views = ann->GetViews();$ d" |$ {( `# w) U, t
            else
0 E8 |  m' ~9 _5 l# y            {
# f' H6 y7 n0 G                mb->Show("Failure",
9 u; L3 d. v; v7 j/ z                    NXMessageBox::DialogTypeInformation,
9 m3 u6 l& w# L6 Y' ?                    "dynamic_cast did not work!");
2 \! M6 h' m0 P; R7 J
0 i6 _# Q3 ]. P

: x) |, A: J% L! z            /*  This will work and is safe due to selection masking */
% m" X, [. b9 P
# ~6 t& c% h  u: g# S0 ^
1 u7 }7 V" r4 ]1 r6 O  ^8 ]0 X
                ann = (Annotations::Annotation *)objects[ii];1 Z) s* h$ X$ `8 L+ \
                views = ann->GetViews();
' }7 {7 O  q! d  O) [" D            }
! ~& t7 J/ X/ ]$ \" Q4 S( B( U, t; ]9 Q. g9 D+ p! Q
# v( p( C4 A% |8 [) F9 y! x- e
            if (views.size())
! o. Z" m$ p* o4 r% p2 F            {+ c' ~- d9 p/ K! R
                for (jj = 0; jj < views.size(); jj++)
5 V3 {- O7 I! N- J: l                    messages.push_back(views[jj]->Name());' `  r2 |5 S: F! ^! n3 n
0 ~5 @& ~" Z+ q1 f# h8 O7 v

+ I$ `2 M4 O8 ]( b8 a7 S$ S                mb->Show("GetViews results",# G9 p9 h% y! r
                    NXMessageBox::DialogTypeInformation,8 W- j' z& I- p! r" M0 I  O
                    messages);
6 b5 x; _0 a* w" a" H, ^8 ]# |7 ~. l5 H" J( a* s
# Y3 o6 D; n3 Z' n
                messages.clear();/ ]6 ~8 U7 d7 T! H5 L: r
            }
- c% x! e+ r7 S. C* ^) f% N6 X' z        }0 ]  v5 X, V) I
    }
" }, M% U( `) f+ T, d9 I9 g1 ^}9 P0 A+ C9 E" Q  i8 }+ O2 C1 ^

* ^4 \8 p/ s7 I7 u& _4 G4 J
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了