PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。
  b" _7 h3 i: Q  L' g; ?& u+ a/ I0 C) q' q
static void do_it(void)
4 F! x' H) J) W, W. c. D{5 b9 j1 Z2 z$ W; ]' Z
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
+ B( {% t) l0 d  K) R    char msg[MAX_LINE_SIZE+1];! `2 l& y, D3 v1 m
) Z5 z/ c; L% P9 F, z# C5 R9 T
    int object_count,& q/ @$ N. y7 @7 m
        type,
. c+ A4 d6 P2 ^- z) Y2 H        subtype;
; [/ s$ m) P# [2 M   
. A; \( k& j# V  X" C; @    tag_t0 E9 s1 ^; A# Q- L. x" B4 q6 d
        setupTag,
1 h7 P* |/ t9 ]' H6 p, P) V        *objects,  Q" ]! d0 w& K; A: _9 {
        prog_root_tag,
9 r1 c! }* ?% N" I0 c) L4 P        prog_tag;
. I. k1 O" n# x! r7 F' Y2 }1 d( U$ N' w- m' o4 w$ g+ ?
    logical  is_initialized;
, B( S3 w$ ~7 @& `1 m) n    logical answer;
+ @* R. B9 D6 B; O4 ?& ]7 g5 R% ]% E! D/ b1 `& o
6 d+ J5 v  T) l# }  m
    UF_CAM_is_session_initialized(&is_initialized);
+ _$ o  S  b  a3 a' c2 A- L; r+ e' ]& x. L2 H2 V" k

3 L1 p0 N1 M1 z, O' O    if( is_initialized == TRUE )
# r; r0 s9 w- h3 i' N8 u    {   4 x4 f& ]4 Z; ?* c
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));   K; y4 M& K# u: d0 [5 d! L6 H. D8 z# O
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));/ v9 w7 @& ^( n6 B5 s: y) \# W

) I% [+ k* }8 W  // Find the pre-existing geom PROGRAM and get tag
" m8 N* }- |% u* h3 F  R3 l        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
! X( S* _: u: B2 r( j% z% y- i3 Q( h3 U  h3 V7 a+ p
     /* Get the highlighted/selected operation from Navigation Tool. */5 g1 h) w; x& j0 H& O6 ~9 {' U9 g. T
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
  x& t  T, b- a- m" g1 b* i- s% u& ~# i: |
        if (object_count == 1)0 J- `! Z" P/ e, _/ Q
        {$ k3 u1 c/ o4 W
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
) w- q! n( p6 {: S
; G1 T8 q, T8 _% f8 y% P! O* g& [* C            if (type == UF_machining_operation_type )& Q1 n. {: S9 E3 K
            {9 T9 |) _" w: R+ ]
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));# q! `' K% y. B# S7 }5 M
                if( answer == TRUE )
+ Y& U4 l* i9 \( X7 G  B8 r                {+ l+ R4 m% H$ p* y& Z$ j) i
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );' x4 ~6 Z/ Y. F/ y6 w  v
                }
3 ?$ A: C0 S. A2 T' j' \                else $ k! Q* E, s* O$ X
                {9 a) X& L. I/ Q# V  k# R) B
                    sprintf(msg,"program group can not accept operation");8 |2 F9 q4 q8 q3 v! _1 l
                    UF_CALL(UF_UI_write_listing_window(msg));
! i/ h1 N; ?  T                }% L, U6 G. q" {7 Y7 Y9 G
            }
/ o5 g* T! w, l7 }8 i            else3 z  D7 g4 X/ b- Z
            {
" G5 H& t7 w# P, e; Q                sprintf(msg,"object type is not UF_machining_operation_type");* S5 e5 z5 V2 n; V# _5 g4 \; N
                UF_CALL(UF_UI_write_listing_window(msg));% z: F9 v" d! d
            }
2 ?# S$ B- K% t5 p( g; I        }
0 t, }! u! x* n( I. n, b' ]8 u- Y        else, @$ m+ Q$ S' W
        {
6 Y3 N8 U# I' a7 Z* w9 f: v            sprintf(msg,"Nothing highlighted");( M" s4 f/ n* Q* V8 j
            UF_CALL(UF_UI_write_listing_window(msg));: Z) t4 n/ c3 a) Y* m8 H( Z% e! ~
        }
, x( u3 Y$ Q2 J; R! Q4 p0 V3 J* Q* c, O$ B6 R: a2 t' C+ M
    } // end of if init
9 B! E- H6 m3 D' H) ~. t" O}
8 |5 f4 p6 a9 M$ g* O
& V: N; [5 R. ^1 K6 u: t' s3 k: w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了