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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。& N! G$ U) D- y7 T

4 a1 a% H  N! n( X+ m" C. X7 u" mstatic void do_it(void)
5 F  {. z1 `; D8 m3 |% @" j{
% J6 m$ d, H: [7 F. T! D    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
: E$ x+ C. e. Y9 H! m- m    char msg[MAX_LINE_SIZE+1];  Z) I/ t6 Z3 u# N  w6 q/ {6 F3 `

4 ]* ]) s- U: X/ {9 ~1 D! ^    int object_count,$ F7 {2 M* }6 w, }
        type,$ W* {7 b5 m  _% ]0 D7 r
        subtype;( i; d) |! n( o9 C( ?
    # z6 I7 Z* L8 X: o3 k
    tag_t$ s& ~" Q# F; m5 g
        setupTag,
# v* C' V/ @$ b" t( B: [        *objects,
: r: H3 O6 I. ]6 ?& `7 B- R        prog_root_tag,+ f3 u  M. j  A( k7 ~
        prog_tag;
) l! `" S& t' A& Z8 T" B  |* m/ V5 E6 k
# ?4 j' t2 r' [    logical  is_initialized;
7 r6 B# L" X& ?+ L$ f* ~    logical answer;# [4 j. z& a# z: J6 @

! l" x" _, I# m: ]
9 v# n8 y7 O; u( }. U: u+ i    UF_CAM_is_session_initialized(&is_initialized);
6 s2 J4 T$ Z0 ?) t8 H* ]+ s) T! E" y/ ~1 h$ Z4 r

9 g% Z$ U2 {% A1 V7 J9 O    if( is_initialized == TRUE )
, I9 j2 v' Y0 V5 g    {   
1 {9 F/ `* x8 a+ Q7 Q- O9 p        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
, ~7 ?: x* F# B6 a6 u2 X; S9 `$ c        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
. R) S6 j; t) v; d- S7 n' Q
% o; r; M* K  a( N( Y$ A+ N3 {7 z  // Find the pre-existing geom PROGRAM and get tag
( n* {# E% `) z& @, V- a6 r        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));4 P8 w  E# F3 t9 D" D3 s& P6 ]

: x" p, p/ v) v     /* Get the highlighted/selected operation from Navigation Tool. */+ Z9 F0 h+ H% z2 m
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
! T# H, e- O- y4 U% M$ ]: [% s% s! ]& x
        if (object_count == 1)
, J8 h! z0 W% _' [* j# Z- L        {
3 t: L) [# H( d' m            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
3 i( t4 H$ Y& o9 X) e( u! a5 J& B  e5 ]" g$ k$ K5 U
            if (type == UF_machining_operation_type )
4 `: T* P2 v( J; w4 A. }            {5 _6 d3 H& \4 [( T1 B" ^- ^
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));) J8 G9 z( G+ j2 d; a
                if( answer == TRUE )) n6 p7 d* O$ Y& c6 G
                {
7 ~0 y5 r; n+ V! v                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
) L/ |3 b; o7 }3 D" C2 M                } ) z% r0 M/ X# l( k
                else / ~+ y% r' I- V; A% g
                {
# H) C2 V+ _& k) c( V: R                    sprintf(msg,"program group can not accept operation");
! u4 t) w8 a7 w, K, ^                    UF_CALL(UF_UI_write_listing_window(msg));1 R3 Z  k: Y/ q/ y% v  t4 F2 v
                }
% r1 K* k( [5 ]6 d            }
7 [0 c& H4 m, z7 E/ V' {            else" ?  I6 C& T' B- {! M
            {9 R1 b6 W7 ~+ N) b1 L
                sprintf(msg,"object type is not UF_machining_operation_type");9 v* E0 E3 {" s/ [/ b
                UF_CALL(UF_UI_write_listing_window(msg));
+ e7 P6 y3 O4 n8 S( l" r            }
% i1 I& ^& q' D2 k' x) j        }
5 R/ A( f3 X) _9 d/ k6 G; y        else
+ T# Y, ~* v6 w& |2 D        {
  Q/ b, K% p/ Z1 E) l            sprintf(msg,"Nothing highlighted");5 Q' {: E; `- j  l7 L5 W7 w5 A
            UF_CALL(UF_UI_write_listing_window(msg));
3 B9 r8 w- K" L$ T2 P        }
# s2 O3 u; e5 b5 R0 D( v; O& `8 R+ c0 Y( o) K, a/ z, S, O- ]: ^' p1 M& |
    } // end of if init( g5 S8 a1 t7 c( C9 X/ {/ `- `
}
; `) e5 _2 h/ }4 x* u0 y* Y7 R, k) V% C; n! r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了