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

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

admin 楼主

2018-6-22 14:04:27

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

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

x
) B$ `! E9 m" L: D; n5 ~* R

7 @2 R, w8 k  o: a; `! yNX二次开发源码分享: 报告所有的PMI显示的视图对象' B3 s# w2 s% R" ?3 [( o$ A: a
+ t8 i  m/ F# |+ J! e1 r& a
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
( k1 M* T! Z& j/ J4 J{
$ I4 U0 u0 Y* B    Session *theSession = Session::GetSession();8 H* I; j' C# }  M
    UI *ui = UI::GetUI();
5 m, f, ~  M4 I    Selection *sm = ui->SelectionManager();
7 y! O" h9 ?9 q' `: z, E/ W    std::vector<Selection::MaskTriple> mask(1);+ T. Y3 G1 h8 [1 O' t  |+ r3 H
    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);8 S3 y5 j2 a: d, y: E7 Z
    std::vector<NXOpen::NXObject*> objects;2 u2 `) }% r- m3 |0 |/ O; [, J
    unsigned int ii, jj;. L, f4 J5 \+ E; ]! y
    Annotations::Annotation *ann;
0 i* w" \4 H6 n- \    std::vector<View *> views;
' m# r* a  d: B2 V& i5 G    NXMessageBox *mb = ui->NXMessageBox();
) Q. r1 Y8 |: H8 |  i% I6 l' `    std::vector<NXString> messages;
# v4 [2 ?' O' g" U2 g' B
6 W: v" z* j5 I% ~* T7 [

8 F0 u- s8 k2 z, F. F# I5 L6 x    Selection::Response resp = sm->SelectObjects("Select PMI notes",: K/ `) S& O& {) k* [4 ]# Q0 Z
        "Select PMI notes", Selection::SelectionScopeWorkPart,
6 u; ^( b6 s* p; c4 u" \, [! C5 |        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
; F7 d: G* c4 h! U. W        objects);" z3 y, r7 b# v9 i- x' T4 Y. ~
: f1 R; Q7 _9 d( B$ O

8 X! |& f$ F# w    if (objects.size())% u" ^3 p$ w0 _8 B: a2 N) K0 R
    {
7 y. I% H) T6 M        for (ii = 0; ii < objects.size(); ii++)
- N  Z4 P" ~5 t+ _. Z' Z0 Q; O        {
- L4 ?, y% E$ e' @, m  i' w& O2 g0 k! O7 O  ?5 _

6 [5 v3 u- b0 W4 C) Y$ K. C        /*  This may fail - see PR 5872709 */! K* `- D5 ~, G2 x0 B3 T

& i. G% d( D. n" V* h. }9 @% l9 P) p" Y
5 u6 i( f8 ^# _  p3 ?5 D( p
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);4 u, H7 |4 g! m1 s) I' p
            if (ann != NULL)
8 Q3 t  N  Q  h                views = ann->GetViews();, r/ \4 T0 o1 m& f4 r% o. J; m
            else
4 B. [8 u1 L3 O! h: d1 N* `6 t, E            {) p5 H7 u) b: }8 k& c3 E7 W' Z' r) U9 c# H
                mb->Show("Failure",- o# l1 |) B1 n5 H! f
                    NXMessageBox::DialogTypeInformation,
# l# j( y7 z2 O& X$ J6 W                    "dynamic_cast did not work!");& G" {( J' W: c( @
3 o  m# m4 y7 q

9 y% M+ Q7 u* q+ c            /*  This will work and is safe due to selection masking */" S- S2 q8 s6 V+ W0 ?9 r

7 ?3 `2 d/ m* ~! |2 Q6 t) }9 @/ x' c

+ T+ b8 D( U+ P" R! b8 }& M" [. H/ H: G                ann = (Annotations::Annotation *)objects[ii];5 O2 ~/ q' \4 z: C
                views = ann->GetViews();
" D  C4 b" R$ {) y7 `: w. ^6 l- O            }: y! f7 y# @# x" E% p
8 M0 L1 D* v" Z% a
! U& L2 |2 d$ W/ Q+ N( L
            if (views.size())& ?$ ^" A6 T: h- [6 u
            {% h' w$ ^3 y( H0 y) }; K( K3 I$ R
                for (jj = 0; jj < views.size(); jj++)
6 _5 s' \' X; y  f                    messages.push_back(views[jj]->Name());+ u; _4 o% d) l; u+ Q. x) I
( N6 \3 W3 W" Y: h

, h+ ?1 v% M+ D/ K# ]: B                mb->Show("GetViews results",
- o& _: K( ]: ^6 T8 y0 M/ ]                    NXMessageBox::DialogTypeInformation,( u+ [( Z; Q; M/ f$ ]9 T4 ^1 }
                    messages);
3 U& g. x6 |2 R% M! Q+ Q! ^
6 _$ R7 Q- i/ B  L$ \' p% K) j
7 F' I9 g  V3 m% A( u$ G6 F6 f
                messages.clear();, U" ]- h, l  f2 ]
            }
, s% z7 a7 }" K7 T+ S        }
) S$ I; e3 k. n    }
: K1 |0 F4 K: F( z}6 k, C% h! `$ P- |/ ~( }/ Q3 H
- I4 s  h( ]" X/ _( S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了