PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82170
QQ
发表于 2018-6-22 14:04:27 | 显示全部楼层 |阅读模式

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

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

x
5 ]* [! R$ g" ^+ o) x4 G  w( a0 S

" J% i0 Q9 {4 H6 xNX二次开发源码分享: 报告所有的PMI显示的视图对象
7 s0 S: Z- b6 G! j1 t2 u. }' L  A; B, W7 D3 M
extern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
' j5 y9 m- z# g* K7 \6 v5 a{/ e9 L- [& G7 n6 }* R* g/ j8 d
    Session *theSession = Session::GetSession();+ |/ ?; U% q& q
    UI *ui = UI::GetUI();
5 V; o1 `: K8 I    Selection *sm = ui->SelectionManager();
+ U' k0 y7 t+ S3 l+ P4 x    std::vector<Selection::MaskTriple> mask(1);  G; W3 D: L$ p+ L
    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);# C/ y! M7 n, j% A
    std::vector<NXOpen::NXObject*> objects;
  c$ H( E' s9 Z, I! E% \/ Z9 z    unsigned int ii, jj;% k: ^$ n  y) ^* b
    Annotations::Annotation *ann;
7 \" @6 t0 |2 f; e" K* C9 M& T    std::vector<View *> views;4 Y. k1 W! `$ y( s* c  r8 G7 d; j
    NXMessageBox *mb = ui->NXMessageBox();8 J* ?7 J. j5 A6 ~% G* X
    std::vector<NXString> messages;( [7 y  \! l- p7 ^5 c3 v  O: H

5 @3 F# I% m" s$ V3 K1 v& ]0 h
  s$ Q, I& z6 S- n" H
    Selection::Response resp = sm->SelectObjects("Select PMI notes",
, e& b. t4 B% M5 |6 b        "Select PMI notes", Selection::SelectionScopeWorkPart,) \$ I) H0 i/ g* x
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,; D; R3 g3 V3 d
        objects);
7 U+ I' B, ?& D0 {/ c8 Z9 _: `: k/ _- M( j
3 g+ H4 ^* }- P
    if (objects.size())+ O" _4 A5 W1 |# i
    {
  g1 Y2 \2 J0 B" p; L' m6 j        for (ii = 0; ii < objects.size(); ii++)1 s" d7 W) J! N. W
        {
: x  f; t; w, s# h% X- l: d! i3 J6 h3 W* r4 v/ D( b, Q% g  x
4 [: B; ^& E7 a3 T6 X* Q  A& k$ r0 P6 y
        /*  This may fail - see PR 5872709 */2 k' i; V& U1 P

, \/ C4 K% S  `% f) q5 j+ a) C

* F% ~* ?# L+ Y) c            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);" D3 i+ ^" A1 D+ `
            if (ann != NULL), s+ d6 ~/ ^9 b# u  t
                views = ann->GetViews();
- I" o+ u: f/ Y! w  W: H$ ^            else; o" |% m; G3 n/ ?  i2 l" ]" G
            {
% @3 W5 ^3 s6 Y                mb->Show("Failure",
& {0 M2 C0 K, e% ~                    NXMessageBox::DialogTypeInformation,/ C3 V+ B/ G$ b' W5 E8 ~, W
                    "dynamic_cast did not work!");
0 d6 {& f$ g% U# F+ \
. r% \7 r1 Z( v& `9 b2 L; _4 a

2 K  u8 R9 G+ v3 W9 `0 z( Z            /*  This will work and is safe due to selection masking */- }3 a: O8 }; }, B4 D( Q$ \

6 K! C! J# m( S7 v5 h( l9 Q
/ g# |$ X- j" z# L: X" o7 L+ C
                ann = (Annotations::Annotation *)objects[ii];" N; S3 b) N2 P7 Y/ W
                views = ann->GetViews();
7 d% l0 s' T$ W+ |: v. z9 x8 k5 O            }3 R- z; i* d; Z8 f! X+ p
/ ]/ N( ~8 \# ]( Y, |$ o. n" ~) _
- f; x3 v/ K3 f& o; I
            if (views.size())
+ }" E2 q) a3 O0 T/ V3 ]& G            {5 k. I1 f; \: o- h/ ?% G8 P( K
                for (jj = 0; jj < views.size(); jj++)* A, T( g: |8 r* }( g+ ?' r9 t
                    messages.push_back(views[jj]->Name());
/ ]3 H; f* j3 [2 d3 a9 u8 l8 \. l7 F% ~  I# e

- X! q7 h' o: j) t  X3 T. Q! ?                mb->Show("GetViews results",  W! d/ F+ O6 U2 H
                    NXMessageBox::DialogTypeInformation,
, i3 ~2 J% \. q+ a5 f4 m. J- h" K0 T                    messages);( t2 A- G: O+ y

4 t( \8 k& X" p9 L, v/ @1 E
. G$ J" I4 D1 `( Y; `
                messages.clear();* k8 w: `6 f, ~( `) c5 `2 ?
            }% N- ~' `# ?( M, D( S% ~
        }
- `2 v- b& n  m) r% z. L% t8 R    }0 m6 N& R" _' m3 j) [8 ~8 |" b1 _
}) d8 U. J( l5 q% {5 s9 O

% S# c! H7 Q2 X- `' D' Z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了