查看: 3068|回复: 0

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

[复制链接]

4

主题

3

回帖

38

积分

管理员

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

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

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

×
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。. Y3 W+ q& b3 }; V2 K% i
8 O- R3 c' Q+ ]1 G4 l5 C
static void do_it(void)
$ M( F# ^8 R0 H{
) M0 n( e; ^2 M8 e    char reason[UF_NCGROUP_MAX_REASON_LEN+1];9 ~; @3 A; U8 g3 g$ m* E
    char msg[MAX_LINE_SIZE+1];
9 l( k1 B6 ~8 R' t4 P. g  X
5 {' ^2 f$ J6 O  v/ R    int object_count,
0 l! E0 M3 V; I7 o5 D) w, v        type,( h8 V4 A3 b0 I) r
        subtype;
: @& H8 s9 |' `$ D. Q: ~   
* N5 ?% z+ A+ N    tag_t
7 x" \1 W; U  t% M0 |' ^; Q        setupTag,0 I2 H: H- [, f0 n
        *objects,
) z: {% }0 e5 N* Y        prog_root_tag,
9 g8 a! O0 t8 l. {        prog_tag;
+ U8 z: @) @* [- z. O4 q# z: g9 P: z! r3 n9 W0 p! X
    logical  is_initialized;4 S2 y5 w8 P* D: P
    logical answer;
& h* ~- I8 c# ], K8 m, g9 p: h- R5 Y8 q) z2 K9 g/ p, m- P* x% ~

* b1 Q1 U2 u' a  s' \& ?5 F- p    UF_CAM_is_session_initialized(&is_initialized);4 _4 d. A8 q! l* o: s

1 q  `! D- _& b% F8 W4 P9 z1 _) G5 ~$ @7 A5 \3 o( `
    if( is_initialized == TRUE )
5 _1 L& n- N3 U* B9 ?! p- m! }6 I    {   
: _! Z8 Y5 h6 v6 m+ G7 E        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
+ ]( Q/ I$ f- ^" j/ S        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));0 c; u8 a4 R+ m# b# J

4 N7 t) l, w, a0 U) q  // Find the pre-existing geom PROGRAM and get tag
# f8 }# A7 G& R        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
3 e, E1 {1 P, @9 b8 v! V! k# b2 I+ A
     /* Get the highlighted/selected operation from Navigation Tool. */
: S# ?  j. z2 u) \. W        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
0 ?# x  |1 ~! P5 q
' Z, Q* c( P+ n( ^* n        if (object_count == 1)
/ B) E! C8 K+ u  D/ T2 ~        {
& W  b( `$ y6 o0 e: E# B/ o: t            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));& p1 {" b: W% s
+ G* y' B6 p7 {
            if (type == UF_machining_operation_type )  e+ d; k) b9 D+ x
            {
) {! Z+ ?% g  F! d                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
+ F8 b9 n3 A1 s1 E- c3 |% d                if( answer == TRUE )
+ r6 Q  @6 S: q8 ?1 j                {9 T( C) i& a8 J" B
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
, J0 x+ t, H6 M: v+ _6 N0 n: z                } , E2 v6 r2 o- p; [2 h
                else ) ^1 T: ~* X% ~8 a- ?" A8 Z
                {+ l" F' |8 R- l6 y: {! `  B( T& f
                    sprintf(msg,"program group can not accept operation");
  D: v: f8 W* c; A% j" X" p0 G2 N                    UF_CALL(UF_UI_write_listing_window(msg));
8 ^+ W# B6 M3 U3 r6 c                }  ]3 w/ @  T: d- _. }$ B+ \
            }7 p2 G" T2 q3 W- C" J- G& g
            else5 k( {- C: Y; b' i5 b3 c
            {! E/ I' l& ]7 \  a: D* Z3 V/ X
                sprintf(msg,"object type is not UF_machining_operation_type");
4 @, z, I! `' w4 Y                UF_CALL(UF_UI_write_listing_window(msg));
1 `4 |2 @9 D* T: a% J7 ?- r6 w+ m& w- i            }
8 g& D! c  K5 T# f7 F        }9 [( R! |' ]) I) a  n
        else
0 \) r6 d: x+ T, ?6 X        {
3 `; f) M4 K- c+ W            sprintf(msg,"Nothing highlighted");2 M0 w6 ~( I* q0 w
            UF_CALL(UF_UI_write_listing_window(msg));/ e! v0 P5 Q% z, m5 i3 M5 a3 ^
        }: s  g5 p: n* U
  B, i$ h  @+ M  V5 g8 Y# Z4 w
    } // end of if init
# r& [9 K# ?) I' a2 T. ]' e) `}5 P% R+ S1 Q$ I6 p
% |6 _" O; l! f
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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