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

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。, O+ S' V' a* U2 i
2 L. U9 [* `$ P, r/ K
static void do_it(void)/ X# B' z; b6 ~+ `% B0 |0 O" K% |
{: I# v. B, e( ]) A1 X
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];' V! J3 X& _8 F* q
    char msg[MAX_LINE_SIZE+1];
* ]" r6 z; z/ J+ Q. G% k+ R1 P% X/ g3 j# G. w7 n
    int object_count,2 h4 P+ o7 _# z3 Z: P( |+ N
        type,1 V6 y6 V; q) `* G  t6 U; H
        subtype;
- ^* i, P2 g( \' V  v   
7 l/ X: S6 h. R* z7 x) n7 I    tag_t
' v+ _! \1 `8 }( A; R/ u$ T3 T& K        setupTag,
) {' l4 r5 ^, {, O/ ^- a/ ~        *objects,2 b% u: O& ^) d- i, G
        prog_root_tag,
) y1 ^6 E5 x8 V& e3 L2 D' E  e        prog_tag;
' Q( F: K! K4 A3 H
: B  g# ]: f$ H; W    logical  is_initialized;7 C  _. ~% S+ v4 `
    logical answer;
* ~' V0 d0 s$ _  g; r; f! k" P0 c
* y4 {& J1 C4 O1 {1 w3 A
/ e2 \; ]% A( z. X: Y7 p    UF_CAM_is_session_initialized(&is_initialized);& m- _6 o: A- S) B6 O" f6 E
, U8 g/ ], K  F* y7 u

3 I( i4 Q; i( R$ z    if( is_initialized == TRUE )
: U7 G& G" D1 u) r$ U! v/ |* v+ m    {   : F" Q1 p- m3 l9 {7 _0 E5 h
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 2 i+ h* j3 d) J) a0 }3 h( K
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
7 M4 K% A" `5 N/ s. g6 f( j0 |1 W. L/ P# h
  // Find the pre-existing geom PROGRAM and get tag# b1 U1 O2 A& D- P: D( C3 T
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
: M- U4 D% q" B' r7 Q7 |
; m- d! m, @8 i1 H     /* Get the highlighted/selected operation from Navigation Tool. *// f0 r& L/ \0 e# t! G' ^8 i$ O
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
5 Y6 `& |! l# m* ~8 L0 [% |; h* R( b! u5 O1 ]& Z3 G$ o0 {7 O9 ]
        if (object_count == 1)
0 P. ^0 h& Z4 H7 G- s4 E& n: Z        {* e4 @5 D0 H( f* \& ^
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
* d4 J3 c" _7 a8 f5 |  {$ ~4 ^! D
7 q8 n; w" ~% V5 t% _            if (type == UF_machining_operation_type )
% a: U2 u2 @* c, v" X            {
4 B  v8 E: d; {                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));2 z4 z: k6 b' W. k2 p( N
                if( answer == TRUE )
, j9 T5 ^3 k- _$ P% C$ D                {& H- `* z) M  w) M8 X4 U
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );% M+ \$ L. M7 e/ J5 V7 }/ e+ k" D1 J" y
                }
4 ^, E4 N; w# _) o  a6 w9 T                else
. ]2 y7 @0 v+ z2 m                {
9 ~$ b/ W& _# p/ y                    sprintf(msg,"program group can not accept operation");
& v$ |  _3 o: X% k                    UF_CALL(UF_UI_write_listing_window(msg));; n% h7 d$ m3 v; Q4 W
                }
+ l! D# N/ y" x; e: g) U( l; [            }
) d; }( r! L0 [, o& e            else) s* Y; o8 m* W, X2 R" j$ E: I; M
            {: z0 W' g6 u$ O; p/ p/ f) }) \
                sprintf(msg,"object type is not UF_machining_operation_type");
0 v/ K9 P/ Q, v9 O4 z                UF_CALL(UF_UI_write_listing_window(msg));; V& H9 m; q* e( c  g0 N* @7 O7 u
            }$ D5 N4 w. ^) J, G2 i* x1 n
        }% `; N6 z7 ^$ L: I
        else
3 q6 h4 {4 E( d2 L8 J$ ]. e        {
& n0 w" O* B' T) w. V            sprintf(msg,"Nothing highlighted");' e* Z% m0 o0 N: N' m- @( d4 x
            UF_CALL(UF_UI_write_listing_window(msg));
+ a* `4 S! _. m7 y+ Y        }
  s* k0 A5 @7 c# B" O% i  [- k7 U) s
    } // end of if init0 L3 V) g1 d/ N2 s0 c% |" G
}
2 x' e8 U& v# o4 P; [& y7 N8 }- x! n' u7 I9 @2 N, u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了