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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。$ S( x1 O5 j1 U" Y5 f9 l
# p; Y( O" P9 o4 D9 y
static void do_it(void)+ J& G" z0 C4 `% F/ N
{, f7 f% y" f: v* ]/ i' u
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];& [( a' E# \3 h% w3 h, A
    char msg[MAX_LINE_SIZE+1];
- F* y- M1 m5 G5 r* P
! x. S6 E0 w; F; P5 C( n    int object_count,
7 N1 N8 D% p* E' w& L        type,/ v9 a) r. d% _+ R0 h) s: K! v# \: \6 L
        subtype;7 P, u9 q+ G5 S' {% e! ]) i! [
    / ?! `+ W8 M3 L
    tag_t
; Q. k) g  ~1 C) G& I' o  ?7 t        setupTag,& p% W0 V, x5 u7 t3 m& F" k
        *objects,6 C1 }% a) K' u1 f: T: G  E
        prog_root_tag,( r8 w4 y, j& o' I* o& H6 H
        prog_tag;  f# c- A. s( p4 i
/ n# w7 ^3 v3 K
    logical  is_initialized;4 Z/ e5 {. f$ F3 K& B
    logical answer;/ \4 S. ~  O; b, a

0 ^9 z- s% N1 g" m0 o; q7 G( _, ]
    UF_CAM_is_session_initialized(&is_initialized);9 X3 Q+ h/ F" l% @) p( ~
  g# N0 \& Y# G/ K# N9 K$ j; b

# c4 M/ R2 d' h' j0 l4 a; @9 G    if( is_initialized == TRUE )9 }7 t; Q$ }1 C1 q
    {   
" K+ b3 |3 `% g0 R& c        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
5 P; k* k: X; M+ ~% x9 ?2 r        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));# v$ P( K( Y. I9 g- S8 f. H* \
7 k$ L2 O2 v# K1 g" J/ x, {9 P
  // Find the pre-existing geom PROGRAM and get tag
; h/ p: d: l6 ]9 I1 p" v        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));* M9 e7 E/ |- J  o# G# \

9 ~3 ~. T& v% {  I; t/ {6 ]' P. U8 E     /* Get the highlighted/selected operation from Navigation Tool. */2 g/ \5 k" @! u4 w) o) {9 F
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
; c2 Z/ b2 @, x  s
' f" c2 f! t$ H/ [& _4 h% l* v        if (object_count == 1)
- ^- _  [9 Z6 k  r        {
' k6 p' U  g& N$ c4 L( ^            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));+ }2 Z& ?+ A0 P1 }+ `, c% n3 @" R- J

8 A: \! K+ y* M            if (type == UF_machining_operation_type )) h1 _% N0 W4 l' B' |, F( E3 @
            {) N5 @& y" D! }) q2 h3 g
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
0 O* m/ I$ C5 ~7 V! F                if( answer == TRUE )) z. M+ S/ l7 j% C% N+ Q. n
                {
& f1 O/ ?4 H/ H1 o/ I$ x8 g$ ?                    UF_NCGROUP_accept_member( prog_tag, objects[0] );$ {" W3 m' T4 ~4 Y1 u9 Z
                } & w$ Z; Q, O0 i
                else 2 Z8 k- V" o4 b0 @6 Z3 |) }9 o
                {
+ h& N+ ~8 k  R  H' N                    sprintf(msg,"program group can not accept operation");
. c" X$ Y. M' q                    UF_CALL(UF_UI_write_listing_window(msg));
  G' F7 X$ S6 w5 h' H                }
% ^; m; H; v. v$ n0 C% `' }            }) j4 l! }) K; `2 H
            else
" l7 o. m5 _% z9 W: Z            {
1 D; V  \% ~) t7 \, J                sprintf(msg,"object type is not UF_machining_operation_type");
; {" Y/ \% J1 k9 c7 a2 [7 O. ?/ K                UF_CALL(UF_UI_write_listing_window(msg));* H$ U* V7 Y; y6 r' R  U
            }" F# E  }- W! Z- {" J
        }
- |2 N( f' ~0 n; C        else
, B% g' B' ^$ h- Q% P        {
. d- f. }& \2 T! V( }1 e            sprintf(msg,"Nothing highlighted");
* D, Y+ K$ y8 U            UF_CALL(UF_UI_write_listing_window(msg));# J" h* l$ b6 v4 t+ K* j" C  P
        }
' Q7 P* Z* x# x, H5 ^  z$ H$ m. U5 b( p. U
    } // end of if init
; ~& P7 {6 L' B. S* ^5 g}
1 F0 M. u& E# v0 U4 _
& {& \- z: K7 D9 l% ?7 a: F! ]7 x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了