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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。
. I9 Q, S8 w8 I& u- D" m
# V# F( u- s8 Z0 g- S: _static void do_it(void)
7 s2 F5 u/ j6 x. B  d8 m{
+ f# N. I( C1 ^+ F0 h    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
' Q+ Z+ M2 \- |    char msg[MAX_LINE_SIZE+1];
, q; ^9 C- l* X, p4 G; k, [
) y& w* M: s9 f8 Z    int object_count,6 ?/ {" S7 @2 L2 ?/ _/ f
        type,* ^4 G5 a  y- i- i$ \! j  n* W8 [
        subtype;
1 ~/ E" S$ {0 z. z! b2 Q4 @% X: n- r- w& O   
+ D6 Q" W. {+ F. v5 k    tag_t0 z  X2 D9 \3 l" Z6 U& W( \# ?9 V
        setupTag,/ O$ N- m9 M0 Y. s2 }/ w
        *objects,$ i; @% E4 k' Z/ T/ q" L8 v( M5 N, D+ c
        prog_root_tag,; S( k6 y+ l1 i; l/ p! k4 I
        prog_tag;' N  P! |$ R4 ^  S/ j& T, C

) p0 W, Q" ~5 r0 {; S    logical  is_initialized;
0 E. Z: R/ Q  _# {" H% @. e    logical answer;
* m) {8 s( V( f+ `  u5 g) q! P5 a1 ~- D( a2 _1 m8 V. L$ w
1 y+ C- _' b% A4 {/ H, ]( A" z+ X$ M
    UF_CAM_is_session_initialized(&is_initialized);
! g6 K) _/ n3 U$ l2 q' d
7 B; v: J3 o8 B; F5 _
& ~! M4 c9 n& o% Q0 j0 ^; s    if( is_initialized == TRUE )
0 ]' ?* k6 J; k* f% c7 F. x3 S    {   
' R5 f5 |- {& c7 Y        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
& k4 z, }4 u' o. d: I+ z        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));' F4 V) w( l- c2 ]8 `0 B" C
. w3 G7 e, Z% M% u( q3 m) z2 f
  // Find the pre-existing geom PROGRAM and get tag8 I! k' a4 ]+ P
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
+ i0 i7 ?5 Q* P: v
& l& L+ c" m& y9 E     /* Get the highlighted/selected operation from Navigation Tool. */
+ \: e5 R* g2 u% M        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); : V4 m+ {1 l0 r/ z& \

' k5 }# W: y3 v7 j/ n0 |7 l! x9 m        if (object_count == 1)
( i4 R, H! `  Q        {7 ]+ ^. I) f2 w2 @2 r1 }& ~
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));0 d/ R' N; x" l2 L5 M7 C
9 A( @. ~) s3 a. [. U7 V  ~! X
            if (type == UF_machining_operation_type )+ y8 b, M8 t- Z# F" G% E7 z
            {
0 X( Q. ~; E& A* j                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));; o$ V% ?: ^3 z- k4 _! ^/ ~3 a
                if( answer == TRUE )
1 t4 s+ I. g1 ^% h! f" U                {
2 h9 I" I& a/ C* `4 U( b( ?" {                    UF_NCGROUP_accept_member( prog_tag, objects[0] );8 ]. L1 ~2 D; Y! }; O- }
                }
. K# a# w7 ?) ]. ^                else
# j  o" k1 ~% f2 K                {- F8 J5 h5 ^0 A" q* g: d
                    sprintf(msg,"program group can not accept operation");
3 K3 c; r1 T8 l2 B$ E' r                    UF_CALL(UF_UI_write_listing_window(msg));0 J% R/ }# F  O; y# |6 p, l  p2 c
                }2 m0 v; `+ T) s# p1 p. p4 M; j
            }
3 A% c! J; A% O1 ~$ u! k) v( e            else5 J. E' k! M5 R& {, Z7 q
            {7 `0 ?4 j9 t& D2 ?: y0 ~- \$ s, {' ^4 j
                sprintf(msg,"object type is not UF_machining_operation_type");0 P% n7 V" r5 a
                UF_CALL(UF_UI_write_listing_window(msg));
; Y3 o4 i$ }4 S7 G4 T5 F/ F            }
- U8 R" ]! r" [3 Y# s' T        }$ U7 `* o. t& h2 Q. \
        else
, A7 q9 W7 |" ?/ K7 ^0 ^3 X7 S0 X1 B        {- N- P7 @) U, o4 L* s
            sprintf(msg,"Nothing highlighted");
$ E) \. C  s- _$ f5 o6 M            UF_CALL(UF_UI_write_listing_window(msg));# O: b0 S$ O% a) G, T
        }  {2 M. g% o+ U& a

1 I% @. P8 n6 R+ y9 W- ]    } // end of if init
( G! J- U5 i7 \0 h}" Z' \1 F7 D* U9 ~; ?
3 P# @/ [* l  f. f5 i# a7 l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了