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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。
% ?7 {" d/ ~8 v4 v/ a) ?7 O0 _2 ~0 w) t9 _& d- d' G
static void do_it(void)' U4 f& x# s0 Z
{
' G9 d% I4 m2 G! T& R, `- p% C! L    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
3 o% N9 Z* @0 a/ X) j    char msg[MAX_LINE_SIZE+1];7 b. h! W! C+ t* B; }3 K. N# Q. L

2 `: j/ n1 f- Z3 K, j    int object_count,! c& q; g- W7 g3 y/ [: a/ x
        type,
" _1 G0 ]0 f2 g( Z- v7 F/ Y& Q! u        subtype;8 `) s4 b4 K5 f& n  v5 ~
   
4 ^3 W/ R2 ?' r$ k6 \' C    tag_t+ o; x- b- Z1 E/ R9 ^9 {6 ]
        setupTag,, f1 U8 @+ o5 j  e. d8 J
        *objects,. A! d1 W! |' g6 D
        prog_root_tag,# n! J, q3 I* [; |. N
        prog_tag;
% N7 z1 P: `: Y4 q4 B& l* Z& O' g  i( c. L$ {  v+ E
    logical  is_initialized;/ q  `) k$ J" F' a
    logical answer;3 _9 k7 K& ]. T6 ?
8 ], ?  `) r; G4 a3 Z6 h) \+ l. V
; ~- O3 H0 Q5 V' e% ?
    UF_CAM_is_session_initialized(&is_initialized);/ D# k# [; P7 y+ f

7 W0 @) H% z) P. B1 F9 v1 m: o) W
    if( is_initialized == TRUE )" L3 ^. |0 v  H* P9 l
    {   * Q6 f2 [2 G& o. w3 B# m$ b% l2 m) F
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 6 F. c. K. G6 P( r
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
$ R% N9 v- U3 [8 n8 ?* l9 |$ l
: O1 Y* k2 k4 |+ i! s! Z  // Find the pre-existing geom PROGRAM and get tag( K3 A5 ^  n# u3 n/ f6 x- Y
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));1 |1 w# T2 `7 n3 ~7 T

) H; ~% t7 Y& e7 l4 W     /* Get the highlighted/selected operation from Navigation Tool. */
) @$ E4 X2 b6 s- n        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
; J4 z. F3 p; ~# `: n9 \) X: j, N+ ^' R$ ^; r" F7 N4 P6 H
        if (object_count == 1)
- D' g: Z6 T9 j( {        {; z1 b7 m: c& p
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
6 P7 {5 s2 @7 y; d( M/ K0 b$ Z
* S1 s4 F4 l! O4 z% M0 e            if (type == UF_machining_operation_type )
+ M. x: m. b0 @. h# Q3 J# @            {
4 |' u, u) L% L) I4 ^" S                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));  @) {7 B9 N9 r
                if( answer == TRUE )
3 W* Q1 M1 ]6 J: J$ _) E                {% t  b0 A7 k5 ?2 w9 ]
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );0 I  y+ J1 B! T4 p- a: f  J6 N
                } $ ]. o* G; O0 G* {6 e4 X
                else
! p6 x  B+ z4 N% n$ r! h6 }/ x& v                {
! f6 d2 {- X2 W8 g4 w' \9 T                    sprintf(msg,"program group can not accept operation");
/ I9 r9 ~* t8 l                    UF_CALL(UF_UI_write_listing_window(msg));
3 M' o8 c0 Z. @7 \9 J/ b' q" G" @' Y                }7 m3 [0 o5 X7 c1 m$ i. ^1 N5 N; J
            }. L* v' W* h8 z% j/ c) X
            else- n) [; C  W' j! D' m4 f
            {
; U: y4 B& B. F0 t                sprintf(msg,"object type is not UF_machining_operation_type");) K5 O* y* |( ~) q. ^5 P; K& @
                UF_CALL(UF_UI_write_listing_window(msg));
0 F$ |8 U+ b! Z: G" V! v, l! s5 q- T            }
) B9 Z2 H3 q- b6 S. v- Q        }
7 Y) X2 e9 h( ^5 I3 j" z8 }8 I3 p        else1 y2 v9 |4 }4 \3 x6 b% ]
        {
5 s) I) l7 v3 p' E* G            sprintf(msg,"Nothing highlighted");/ M/ Y. w: d. J7 W7 E/ T& B
            UF_CALL(UF_UI_write_listing_window(msg));( v0 \2 p6 ]( q# x: l! x
        }
; f' ~- O1 j+ F  z' d, G$ M/ H6 z0 @' n( f" s% s) Z3 w4 [
    } // end of if init
7 B1 M  e5 p+ C& h& \) U}8 c- x: P7 j" I) O+ ~1 l0 M5 N1 x- ~) Y

+ T, Q1 b8 D; }, d! p6 z1 M0 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二次开发专题模块培训报名开始啦

    我知道了