查看: 3402|回复: 0

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

[复制链接]

2477

主题

1280

回帖

60

积分

管理员

PLM之家站长

积分
60
QQ
发表于 2015-1-4 20:20:10 | 显示全部楼层 |阅读模式

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

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

×
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。
+ W* w* D; Z4 C$ Y9 c; ?/ P. l& L" v, T( ^
static void do_it(void)2 @! ?0 ~7 x. E% n4 ?; ?
{
& Z8 M( U  \' \) G1 G    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
% x6 Y" @! c& {    char msg[MAX_LINE_SIZE+1];
; M# h- @1 \' I* M# g5 `% h/ ]
; F4 Q$ e  M0 u: b6 U    int object_count,# p5 X  ~+ j4 ]
        type,. s& h: \, v' e1 R
        subtype;
8 k) M, i' u5 d8 |/ p    3 [9 v& q( |7 m( g& D
    tag_t
( r- K' @! i. g, D2 v        setupTag,
9 a3 z) P8 O9 Z; x7 d; ?/ n& p        *objects,4 C/ q8 y4 p$ T, X
        prog_root_tag,, {  a! M9 ]4 S9 F! G2 p' E0 A2 B
        prog_tag;- S/ |+ M9 ]( A. ?8 @' \5 w
/ G! }; ?; E; Y, t3 z/ l( R
    logical  is_initialized;* o2 X4 ~' t) g2 [( N3 [% z' e3 f
    logical answer;
( D; ^5 U/ S0 a! w5 L0 x8 q! g; ?5 P9 Z; f
( P, i% [9 h4 g/ F1 |% @$ p2 p$ N
    UF_CAM_is_session_initialized(&is_initialized);
; C2 q! {, P) m' w! H1 L+ c( E% `
& W% j# |4 u+ B
# S% f* h9 U' ]7 W    if( is_initialized == TRUE )9 ?6 m( h. k+ h$ b5 u: q
    {   , ]7 J* t# J: I, ~0 ]5 |5 C* f
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 9 k, s% `8 Z1 L% ]
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));% f! C2 ?% \8 u7 J: c& U0 r9 m2 [

" {$ |  R  G- [6 o7 _0 T  // Find the pre-existing geom PROGRAM and get tag. a3 [+ o$ V* [" \
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));8 ^' w5 s* `3 j3 V- ~9 D7 f
( T( m& g3 C- E: {  R
     /* Get the highlighted/selected operation from Navigation Tool. */
% r3 f0 t$ d- {' q* V        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
' H" ]7 F9 a9 }3 s
, y. f" K) i! }& r2 z/ C        if (object_count == 1)" N2 s9 V" k8 P' y
        {  M$ E3 }8 S: |, M+ {
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));2 {, V8 A8 B* T; K

. c' n1 b, L- G$ {% n5 x            if (type == UF_machining_operation_type )
8 y! l1 ]) f6 C( i2 V! q6 \. {            {/ g) o6 g: `( Y$ E. `. Q. E& [
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
" J$ }9 g, s  L: O7 R2 B0 |                if( answer == TRUE ); z9 F" D, [. c
                {
4 u& k9 j9 Z- P. v                    UF_NCGROUP_accept_member( prog_tag, objects[0] );% c# a* X* o; K* U
                }
; N: D! q# y, c- M/ Z                else
( m0 }( ]2 F; @; j7 _0 x                {; d$ h0 ~  `" ~' p9 w7 G
                    sprintf(msg,"program group can not accept operation");
0 q( W6 s; ~% B, [" x3 y                    UF_CALL(UF_UI_write_listing_window(msg));" b: A* `; S1 P) l$ E" c
                }$ h- N/ t" \  n% M# V
            }
) \) n0 o- I) m, c/ r" Z: B            else) @" Y: H4 j* q7 D# i2 G
            {0 b8 U/ A% ?  l" \+ u5 j
                sprintf(msg,"object type is not UF_machining_operation_type");! ^% J: M( e: f7 A" b
                UF_CALL(UF_UI_write_listing_window(msg));
/ M3 @2 O+ [2 N8 r5 n  }  Z; I            }
6 h% J3 W! H8 }$ v        }) r# l5 B! H, |9 N/ A/ a& u2 q" l
        else' F! p* C' K& {& G$ C* ^. t
        {+ ~) O- b  v2 v5 U% ]# N
            sprintf(msg,"Nothing highlighted");
$ c9 _4 a0 |! [2 f' G- r/ @: g            UF_CALL(UF_UI_write_listing_window(msg));
' x" O: C& H- O. z8 L) I        }
" K8 \2 E2 @1 p7 m
: D3 A: U, w* O) Y0 D    } // end of if init
3 P& T2 Q7 I2 i}% r) p6 Y+ v+ o4 G

+ D' u4 N+ i9 x
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部