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

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

admin 楼主

2018-6-22 14:04:27

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

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

x

, P4 P% k- B& i) J2 J4 f
9 k5 f$ i: S" G1 A6 q: sNX二次开发源码分享: 报告所有的PMI显示的视图对象( a# o7 ^8 y# |7 Y8 U
7 ?5 o+ k  p2 A$ R2 _" k7 e
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
$ |# s$ T6 v' V- Y# S& X0 F{5 w+ z7 m2 s# c; {9 v6 g
    Session *theSession = Session::GetSession();
# {# g' S' {" ?* x! N. e  b2 R    UI *ui = UI::GetUI();
3 \7 F8 }# O6 k8 f+ l. y" w    Selection *sm = ui->SelectionManager();( }& ?* F& c8 M5 q
    std::vector<Selection::MaskTriple> mask(1);
: ^- m6 F" ?: E0 D% o    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);
) J/ i, k8 F" c4 Q. S$ D* Z* u5 u( P    std::vector<NXOpen::NXObject*> objects;$ v( y/ Z+ R8 O) ?" E
    unsigned int ii, jj;$ g8 J9 S4 m, q& D# @
    Annotations::Annotation *ann;" z  i% o6 A4 f( r+ I) T0 ^' |# c
    std::vector<View *> views;
# ~+ j4 t& ^6 \" D  Z1 c    NXMessageBox *mb = ui->NXMessageBox();
* C6 |0 |2 v& e, F    std::vector<NXString> messages;- x" P0 F* B6 M" z8 R1 g% l
2 i) u# P" U" |: ?

7 r( s8 Y3 R" b' H. n' X- H0 Y    Selection::Response resp = sm->SelectObjects("Select PMI notes",
( I+ i. `9 M8 f! y        "Select PMI notes", Selection::SelectionScopeWorkPart,2 |: y2 W0 F* h: n8 u4 |! o
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
0 h: e: _- S) b6 j7 ?! s' o; l- q        objects);
( V- b% ^% L. y; S+ K
$ x8 I* K( ~# p5 d( |
$ R$ s# C3 B2 z* p% N2 |# T$ [4 X
    if (objects.size())1 r! B$ s" f* O. H# g( {" [+ y( H" Z
    {
+ k1 P* T! ]) d* b/ i! B1 D        for (ii = 0; ii < objects.size(); ii++)# v* l/ j8 R% X! J/ M: Q
        {3 b6 q/ q5 Q% u6 I" g; Q
" K% a9 B* U! u+ A0 w. I

: t, ~4 X" K9 F" G' U8 ?        /*  This may fail - see PR 5872709 */( m- A, t  f% s& Q7 C1 V
# `: {( t6 }4 D
9 q, \6 z: g1 r  R
            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);8 t" ^" L( c1 }( h, ~. m- d4 C
            if (ann != NULL)
: p1 z0 I0 o& A& ?+ k+ ^; n                views = ann->GetViews();
' [2 |3 G4 ]3 O' I2 y5 m7 g  N            else* @0 a' c/ w, ^9 V6 m
            {
. c6 s8 W4 g8 }                mb->Show("Failure",
" @3 y* `. w1 y6 X" k1 e* `# ]. p: ~                    NXMessageBox::DialogTypeInformation,
6 p& i  K0 N, K# d( m8 W( V                    "dynamic_cast did not work!");; F) n+ {% T1 \- Y/ W! C
. k# W9 D, x8 h# C

( o. [: f4 E1 s2 v' N            /*  This will work and is safe due to selection masking */6 u* p: g3 g  G3 I0 f6 ]% ~
) P, d" V' D) L# t" a3 t8 D1 ~
2 }0 `. c: e! o9 Z
                ann = (Annotations::Annotation *)objects[ii];
( _8 H% ?+ X! O1 w                views = ann->GetViews();
# K7 H& `  N$ W/ G. S2 I            }1 D# K1 f4 S0 k) Q
* D! b+ i4 j, F# p. I) _& r; [
, f( {9 E" L+ Y4 a' N
            if (views.size())/ _3 j7 c. ?, w; T3 J+ v& t) p! W
            {
+ D. H( N1 h# a$ G, q4 B+ l  [                for (jj = 0; jj < views.size(); jj++)
. y1 T/ e, `) O+ n( G1 G0 \+ H                    messages.push_back(views[jj]->Name());" L8 v5 @9 T6 M) }/ e5 f
+ o3 p; B! f4 z
' j5 A5 M+ f* e) {
                mb->Show("GetViews results",
/ F: `& X3 _- D! O9 ~8 C2 ?4 q% V  [                    NXMessageBox::DialogTypeInformation,! J/ l* t" K; {& G# T, v4 z8 e
                    messages);
  c$ W  F" w3 z. V+ T
. H. k! X! z6 K
3 J$ w  r  u' V) Z$ L2 b2 [- f
                messages.clear();
2 v2 |7 R9 _- y9 x            }" p4 |$ v" X3 |% i8 U2 c, T, L
        }$ {% H( V) V/ n
    }
# X$ J8 A: l1 ^: q, ~}4 G- v0 h- S" V1 ~
; W: r3 w2 {+ R) q, W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了