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

[二次开发源码] NX加工开发源码分享:移动选择的程式到其他组

[复制链接]

2015-1-4 20:20:10 2937 0

admin 发表于 2015-1-4 20:20:10 |阅读模式

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。9 ]# t$ e) Y; u5 t3 N, t8 X) h

) \9 V5 b: \4 E% W+ `static void do_it(void)
5 \6 q! I+ N  E) E  Y# e' [  \/ q* T( q{
7 U4 W( K' f9 [8 ^6 |6 d# z    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
) i4 L) p9 H' p; R2 N    char msg[MAX_LINE_SIZE+1];
2 W- P) {. e, N# E
5 E$ Y. `  X8 L& [# x. R2 K  C7 h    int object_count,
; t  u8 f( d/ s        type,) l0 V- I$ T2 F7 S  F
        subtype;8 B% E9 t% _+ [5 [
    & w% E' f0 o, U+ `
    tag_t! Q" g. }; g1 F+ t
        setupTag,& U; V( I( F3 n0 s9 L3 p5 r
        *objects,
: t" _6 s8 V$ {3 n* R3 `        prog_root_tag,
1 E  `9 `! I- a- H) F# H8 R        prog_tag;  x9 ?+ g  D& b# R8 ^# Y3 s

5 x: ~  A% s' C. _' _5 g) i    logical  is_initialized;
  [  z& P" Y; ^" ]" A! @7 z    logical answer;, f  v5 J( O( A% x' }
. E4 A; t# }+ |6 q- o1 U
! ^2 S/ Z  G! u$ U/ n2 q. R* _
    UF_CAM_is_session_initialized(&is_initialized);. i1 a  d9 e# V5 m. ^( S- n

2 ?- b5 n4 d; O& |" l" @
8 J+ z# l7 ~- x- J0 B+ d4 b$ D    if( is_initialized == TRUE )4 a$ @6 T: G. y- V0 I8 }
    {   9 A5 Y, n4 Q8 i5 e3 h; Q3 Z
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
2 a, t) J# y2 A- |$ \( s! o        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
  \* E1 A2 B# X7 @( T) l
9 v& F7 A! b4 U, `' @  // Find the pre-existing geom PROGRAM and get tag1 ?) t: d8 ]6 G$ L4 P/ n# P
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));5 E# s$ p- a( A; d. z- v- `: H( g

: [& S8 {: @& k9 \     /* Get the highlighted/selected operation from Navigation Tool. */" {. j/ w7 ]7 k# @; G/ d) u
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
0 e8 _8 u" [1 P, R1 |8 V4 E0 R# ]( {5 Y$ I1 C
        if (object_count == 1)
$ h6 G9 \) P5 x0 Q        {
$ d! s4 i& ^8 `+ e9 c0 E1 A            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));; }* j1 `% @, l3 e

4 B0 p/ {3 f  W: m+ a7 L            if (type == UF_machining_operation_type )* Y9 S7 }, ^% j/ C; z' p
            {
: y* h- p: p. O                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));# z+ c" f8 G) }$ H  s& m8 t
                if( answer == TRUE )4 k0 t% w5 S9 u' [* x! H
                {0 U4 v8 M" R3 i5 K: C- r3 O: {
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
) ]4 L2 l% y" c9 V' o! k$ ~                }
2 }; A9 p& ~5 }9 n# z7 Q% Z                else ( G! {7 y7 }* O: l# y# {
                {
9 y% h6 w' w) j1 i5 r# G( L! Q9 p                    sprintf(msg,"program group can not accept operation");
8 B0 }7 U/ E# ~                    UF_CALL(UF_UI_write_listing_window(msg));
+ K" G. N/ S. \5 H* }0 J7 U                }, I; Q* j, n$ I% q
            }9 L8 M. P  n$ Y& H* g# y6 S
            else, ^/ X! e, X1 H  l  A" N5 ?
            {* n3 p$ y- g% U1 V( Q) b
                sprintf(msg,"object type is not UF_machining_operation_type");
- d  }. L$ t% l8 y0 r8 f                UF_CALL(UF_UI_write_listing_window(msg));
5 W! G0 O9 j3 c# j# b2 ~8 y            }
$ s( f8 P0 X; U/ C- [" }4 ]+ c        }
" C- I' ?& b4 w  n" ]  V        else! P9 A! r$ x+ y2 e: d
        {
# |3 f4 H% F6 I0 I            sprintf(msg,"Nothing highlighted");1 q& m# Y3 ^/ D$ {2 m$ y% ]
            UF_CALL(UF_UI_write_listing_window(msg));
3 \) z+ m* F' h# a( ^) W) t' W        }
; ]0 I& e2 |$ R6 R0 A9 T. R
9 ^6 a' g4 J8 v) P# Y  E7 p    } // end of if init; w) I' C* r5 ^* H
}
3 s; j$ `6 }7 ?0 y, t' [( c, D0 ?9 X/ R( 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二次开发专题模块培训报名开始啦

    我知道了