PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

admin 发表于 2015-1-4 20:20:10 |阅读模式

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。3 r* i3 e/ D' K/ A" p

/ v8 E5 h9 y8 r- Z. N  nstatic void do_it(void)/ }7 D! \% W7 F
{4 o. p  C: I* s
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
# B/ J9 t+ f# @- f& Y    char msg[MAX_LINE_SIZE+1];
. d6 v7 T0 J; R3 b
* G* x& S8 L" R0 q/ }    int object_count,  T8 \& b' \7 t% n- p! q$ B
        type,$ j) ?9 s* e  f6 z* h1 G) D
        subtype;
' n& Q- f" \2 _2 p   
8 S8 v; o! `) S6 }4 R! ~7 i7 {    tag_t
3 l: Q0 d$ x0 \. L        setupTag,
) {+ w6 A2 E7 F) M- X5 @        *objects,
6 G: X# j) [4 Y$ s4 O" H) c3 s1 Y        prog_root_tag,
' S! _5 @8 `! g6 x        prog_tag;
5 i+ a& P) m0 }- ~9 [, T: s6 o1 R+ X1 d; R% p) A; e
    logical  is_initialized;# A  C# D$ k7 B0 `5 n& O4 C
    logical answer;
3 C: ~1 {! M# n4 I7 \$ k  f+ r' |# r( m- F, T6 \6 X$ ]4 x3 k

6 K: y6 q" b2 E9 K* @    UF_CAM_is_session_initialized(&is_initialized);0 p* e$ V  n) w7 h

0 W1 I! I0 j" @& F, Q4 C  q9 [: F% X4 C: A, ]
    if( is_initialized == TRUE )8 J! }7 x3 f$ j
    {   " d* }) Q# {0 n3 T: y$ H" Y2 n
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
! D# h) c! J2 @  ]$ |3 ~* x. g        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
5 N  J1 |. H% @7 C3 p% o
& b0 R% ~' p! E# Z5 S6 U  // Find the pre-existing geom PROGRAM and get tag7 r7 |# N1 d8 l9 \* f* B
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
( V- o/ G' \# ~4 z( z" o. M
  ?1 Y+ G3 G3 M     /* Get the highlighted/selected operation from Navigation Tool. */
5 O% e- _; d% O; x8 n0 d  p7 w        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
: l+ Z) _3 d6 ?5 g- |( e3 O6 C6 v) A$ Q8 d1 Z7 e, a$ S
        if (object_count == 1)+ N. E- e5 ^8 }( ?$ R$ N; x
        {4 o  ~  \* `" \( ?! E4 J' O
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
( r* X! a1 Q/ V8 v/ S$ g. q1 [7 ]2 ~: @2 O  Y, K
            if (type == UF_machining_operation_type )
& \' D, D6 M$ T            {) e9 C3 J; z3 o$ K1 A3 R/ ~6 v
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
4 j0 R0 z" S5 g8 m                if( answer == TRUE )! j% G( M9 W* H8 ]
                {9 o& u( C. {: J
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );3 S7 T* ^- X  \7 J/ p8 T% S
                }
/ b0 L- L9 r- g# L. S  o                else
. t" M0 K0 p$ l7 U                {- [) E, Y. h, l  U7 Y1 B& U
                    sprintf(msg,"program group can not accept operation");. i' w5 N/ F; i. S' ]; O& ?2 z
                    UF_CALL(UF_UI_write_listing_window(msg));) ~& ~" [7 K3 |0 t  |6 D: J
                }( N9 f6 Z. z3 I# g
            }
! x- E- Z, W2 h2 O2 A            else# z7 u+ \1 p* s
            {' e8 h' S7 }9 {0 |. _3 n) F
                sprintf(msg,"object type is not UF_machining_operation_type");* k2 P2 f  r: I: G2 l, t
                UF_CALL(UF_UI_write_listing_window(msg));
: k/ y0 t- v+ t  T3 b" d            }
2 `3 J' ?; q, r7 w& u        }# h0 ]& s  e, c1 L% X1 e
        else
' G& G3 o" y4 V6 x3 n; M        {
/ k8 |: e2 E3 j( H9 c3 ]: _3 p            sprintf(msg,"Nothing highlighted");
: e8 i8 S4 J5 P: n/ _' e            UF_CALL(UF_UI_write_listing_window(msg));
/ e( l( u. \6 G1 T8 Q9 E        }4 R9 v) v+ Z9 s6 M3 ~8 E
1 m! x( Z) @2 W9 _" v4 z+ m
    } // end of if init
. G0 J8 f# H5 K0 g% F8 }. H5 L) F* ?}
7 K- ~7 B, o& J# R9 K. Z3 a6 ~4 p7 Y$ G% \3 o7 |8 C: R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了