PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-6-22 14:04:27

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

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

x
* g8 e* Y5 ?4 g' @0 `1 k# g0 E( _  n

& M% K; e0 r* INX二次开发源码分享: 报告所有的PMI显示的视图对象" X# Q3 E4 r, n

, F: n3 i* d2 V# Wextern "C" DllExport void ufusr(char *param, int *reTCod, int param_len)
; `2 m# o7 y4 N& n. r3 L. F/ g6 J, p{8 C; u7 v, _, j8 y. A
    Session *theSession = Session::GetSession();) i' M, I$ x- G8 v. v; D, o7 H4 h
    UI *ui = UI::GetUI();
( v6 L& C5 O( S* v4 O    Selection *sm = ui->SelectionManager();
- S* p4 J. p9 ?! W) d; [! ^' z    std::vector<Selection::MaskTriple> mask(1);
+ _3 _8 w0 R, H0 d% w3 X6 _    mask[0] = Selection::MaskTriple(UF_smart_model_instance_type, 0, 0);
- m* Q/ b. i6 p  k    std::vector<NXOpen::NXObject*> objects;
, _( N9 f3 C' ~* l: o4 J" R9 _    unsigned int ii, jj;
. u6 z7 L9 H' \9 [  a( R7 q, ^6 L    Annotations::Annotation *ann;, r0 c' F/ l0 E
    std::vector<View *> views;; h/ I8 g2 G3 f" t% t: ~
    NXMessageBox *mb = ui->NXMessageBox();0 K, u2 ^% s; f& Y! V1 x9 x
    std::vector<NXString> messages;
) i( U$ n# I6 L+ r) S1 u% j
* b& F6 W/ q9 O; S) L9 Q

( c2 j- Q0 ~1 U$ i    Selection::Response resp = sm->SelectObjects("Select PMI notes",
& K7 f9 i- K7 f0 |0 G4 [" V        "Select PMI notes", Selection::SelectionScopeWorkPart," O( d3 ^# q( k- w" {' [
        Selection::SelectionActionClearAndEnableSpecific, false, false, mask,
5 ?' }& _& |; Z* K+ O% F6 L        objects);3 b- j) U- t7 P/ J

0 F/ V/ L) s4 g$ y9 v6 V( }

. K1 h  d% k; _: M& d' T    if (objects.size())# p# s: u% {- S. d, [
    {
( k/ s! s3 \* H% ?& U$ u        for (ii = 0; ii < objects.size(); ii++)4 z4 q8 z# H7 j* f
        {0 |' r- \8 n1 n: r5 h
+ c5 O* N4 z9 C3 Y0 U

# F7 }3 O8 H% d) }' p( m: r5 Q+ b; d        /*  This may fail - see PR 5872709 */( y0 J5 p- `- J

# Z" u# m1 A( B" O* c4 V' y4 M2 u

3 [2 E' g" V( z6 ~            ann = dynamic_cast<Annotations::Annotation *>(objects[ii]);
( X0 L( u& ~4 o            if (ann != NULL)
- v% b; O* r4 V/ _/ t1 x$ B' S                views = ann->GetViews();* `9 h4 G/ ~5 u4 |6 K" v4 B, V
            else
3 U! r# y+ ~: x! L) K- W* j( I            {- H8 b; M2 Q; j) Y4 x2 P; X
                mb->Show("Failure",
( ?' ?; X' c7 T                    NXMessageBox::DialogTypeInformation,  L6 c- o- I9 ?$ q
                    "dynamic_cast did not work!");
7 \4 J/ J' T7 R( ]! V3 X! ]
& b5 ]: l9 G5 m: w2 _4 \
5 \$ }! n3 ]: f  B! C6 a. Z
            /*  This will work and is safe due to selection masking */1 u+ o4 O' W* f& P8 p

- i- j  I! N: J

! a4 J" j" U' R$ L# {' ]                ann = (Annotations::Annotation *)objects[ii];
( a$ f& k) A  i9 [                views = ann->GetViews();
" ^$ z, w; D1 s, y1 A$ C5 {. \            }  k, {5 R7 Z- s7 ?7 J, w

  N/ {2 y/ a: X5 _# m/ @3 p2 ~! ?

, ~& X5 o+ g; D. x. W7 Z            if (views.size())
( }6 C! y& L" Q1 T5 R            {
! s, Z% f" l; v& {! S$ {                for (jj = 0; jj < views.size(); jj++)
# ?  @. d( m& T                    messages.push_back(views[jj]->Name());
' D) w) N! j; {) P1 S9 H: M  p4 C9 I- V+ h  w( D) |

1 _, w: ?4 v# X3 r9 H                mb->Show("GetViews results",; v- e' n% d. E
                    NXMessageBox::DialogTypeInformation,
; E. I8 i6 M7 A9 d% C, v  Y# j                    messages);
+ I# W# u! P) C* F: y8 }% ^4 U9 ~2 a9 Y" R' ~& z
# V6 ~- m; u3 N" q9 S! [( g
                messages.clear();
* k0 s! X2 `6 W            }- @" W. m- J8 |  L2 u
        }
- ?5 R) y$ S9 L& e    }% m" x3 j' |5 N4 `1 r0 E
}% ^' ~' |( W8 ^+ S/ C

4 _: l& ]' n9 p! R# S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了