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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。4 Q! D3 R+ I) ]0 f

- D' B4 e6 e5 N$ `9 g' g4 f, Cstatic void do_it(void)
& }, v4 [0 v0 o: @' A{* n1 W/ F8 q# P$ l' x* h) q% ^/ H
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
3 \" X2 k" S% m' M( J    char msg[MAX_LINE_SIZE+1];2 S" _+ {+ ?: D) e" y; `

2 k# F( z4 K3 Z& k! I8 z2 C    int object_count,
# Z0 e1 y) h; d        type,- @0 p) n9 G( E; R
        subtype;! e$ `9 a8 x3 b7 G6 ^  w( M$ t
    * m$ a, ?, c; g! g. d- N
    tag_t2 e0 Y; o+ k4 _4 }; z
        setupTag,
* h/ k  S/ U9 q8 D' O: X( y        *objects,, v' `0 i8 d( R
        prog_root_tag,0 x0 |; E5 G% W1 J
        prog_tag;. S- s0 D  G6 \

: b$ Y! M. l5 ?' L    logical  is_initialized;
: S  u9 L; T: I# s# J& @7 J' z: F) J    logical answer;
) u3 ^+ ?5 s5 S6 g( V& \* d; ]& g2 ~( P* f
; B! m' T, e' R9 H. y- k1 I
    UF_CAM_is_session_initialized(&is_initialized);
) n6 k% ]& I. W5 c# I
4 |; W$ r/ F- H2 O% \* e- Y- r+ z. Q7 V5 N2 y
    if( is_initialized == TRUE )
( a; {& l( {! W) b& Y, F    {   $ X1 T/ `+ Z# Z  k$ t; ^
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
$ c2 U! j. ~! p& x" b0 ~$ Z( c3 D        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
: @2 m) @" A& j& X! b/ k
0 P/ ?3 Y& J/ T1 Q9 v( I9 c  // Find the pre-existing geom PROGRAM and get tag" U: y) s4 z, P
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
8 q, [$ T. q5 P) f; Y* y# H  X3 w9 _# I, d% f
     /* Get the highlighted/selected operation from Navigation Tool. */
4 a! E% i6 m7 e1 t7 |        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
5 m$ @) a) m  F! h# q
6 f1 V- F2 s  S6 j3 x' I, D        if (object_count == 1)
; y9 I5 n/ }" s        {4 C0 q- R* K+ D
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));) o8 O! N. `" k% ~- f) O+ O; y$ K
9 n) H7 r$ p  t1 j4 k
            if (type == UF_machining_operation_type )  D' O6 B, T8 Z6 C; f1 e" P4 {# n& M
            {0 N! s" V2 g# {2 F' ?
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));4 X3 T6 S8 I' ]
                if( answer == TRUE )
' u. J' ?' A  b5 s9 u                {) D- F3 e/ V9 G6 Y" _( Z! E5 {& _3 Y: R
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
- b9 D' K2 y; v/ \4 S                } 9 Y- \* h7 L! c7 q* d
                else 6 }  `  n  [# n" h$ r) u2 ^& G
                {
8 D) a! Q! V9 I5 a' m' C' w                    sprintf(msg,"program group can not accept operation");
: I, ]- U& k0 ^: l                    UF_CALL(UF_UI_write_listing_window(msg));. ^, Z) A# u. P" c
                }
. I2 G) `* t  h            }) I3 m" g# O( @5 p0 m/ ~/ e  x
            else
% ^; ^7 j: F8 w            {7 R) v! X3 q1 l& N
                sprintf(msg,"object type is not UF_machining_operation_type");% u) j; `& a5 d! i+ o
                UF_CALL(UF_UI_write_listing_window(msg));" D5 P  ~- V" K9 z& g  H. O! q0 r6 _
            }" e: u) j7 m" _( m/ D* a
        }; q3 {$ H& A1 u  F9 L; A3 b
        else
* H$ e  p+ F7 t, N& ^        {
0 e* t7 O8 [& J6 b+ l8 c            sprintf(msg,"Nothing highlighted");
3 t, @& s7 k/ P: `1 Z% z2 t            UF_CALL(UF_UI_write_listing_window(msg));
" ^* V5 L) v# w        }
* V" ?' n6 z. Q- g2 l+ L& Y/ c' `" R6 [
    } // end of if init/ D9 Y$ w; w9 r) }3 X3 F5 P* f
}
0 f' D' i; ]+ Q0 ^' {7 v4 C
1 i, I( C3 S8 U& ?( g' ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了