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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。. L# \  ~& c6 U2 @: d& m

" u# j+ \0 \. U. pstatic void do_it(void)
$ L, N. W# ^. P{7 V! h1 w: Z2 [2 n
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
2 O! B( \7 j. T( A6 o1 \; u/ ?    char msg[MAX_LINE_SIZE+1];& M8 ]9 w6 T6 x. O
; J1 G' F/ p" s# v6 |1 Y
    int object_count,0 Y! {1 w7 `1 m' n2 }1 [& X
        type,
$ D, S  q9 |* S+ V2 n        subtype;
" ~' ]) z% F  N! @% ?# R   
% n8 u" Z% K+ x& Y* L" ?9 m0 r' b    tag_t( }. i6 e  ]( |) ~' \' n' b
        setupTag,
* x8 z  C( Q; q  J6 ~/ l7 b        *objects,
7 r: u+ B) y: O* D        prog_root_tag,
% ?! W  j' a/ S* s' I- }) X        prog_tag;1 w$ c9 F( U. P& _7 c. ^
1 z2 ~/ b, G; f* N& v3 L
    logical  is_initialized;; e6 [: ]1 b: m6 B# m
    logical answer;5 z/ ?8 A  I) d
2 U# i, p& D! W! S
/ @2 U- M2 `9 |6 o' ^; U8 `
    UF_CAM_is_session_initialized(&is_initialized);( S1 ?9 w4 Y# v/ Q& Z8 ~

' H1 b7 F& p2 D/ z* V6 c9 V# b6 W- R  I) D) S
    if( is_initialized == TRUE )
2 Z9 k7 B( Z  e& |    {   * w0 u' e6 C$ v% R* Z
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); * w" S4 X/ _1 ]0 g' R: D# q" o
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));, I! _& l1 L1 b5 T. `
7 D9 V7 F$ d. @7 n
  // Find the pre-existing geom PROGRAM and get tag. |& T% ?3 ]( f9 D( B8 o
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));* p: H( W0 V- _4 g+ k

6 R$ ]/ M' r' U( W0 E6 e: l3 m* F     /* Get the highlighted/selected operation from Navigation Tool. */: l4 B9 I2 l! ]) L5 C
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
0 h' j2 a! k: f% c4 z2 O; \
( w0 G% T! Z. c) y        if (object_count == 1)! U# U2 Z; Z7 C
        {$ x3 \3 F3 @) ?5 [. h" U: y- H
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));5 r/ L# D& R- X

5 n( ]- P4 @3 j% G8 a# N( d            if (type == UF_machining_operation_type )+ m6 V  t) [1 l' }- u
            {
* A& Q! N5 D2 }! b) Q( s                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
3 z# h% O) p- V! F: j  @  ~6 R3 }                if( answer == TRUE )
" T0 G$ L$ U. S' z2 g                {
+ H1 K, {2 e' `                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
# Z  X4 L" p9 @, v4 e9 K                }
& S  i5 q; n  T* e                else
! s1 y* ~$ Y  G1 y# D                {3 \9 _" \8 P  q( K' B5 Z+ E  r
                    sprintf(msg,"program group can not accept operation");
5 Y4 U4 Z) |/ h/ r6 p' R) e1 Y' J5 H                    UF_CALL(UF_UI_write_listing_window(msg));0 |8 p1 Z) D0 o* @$ S& Q
                }
- x% U) Z9 t9 B1 w  p' `% i            }
' W  J$ q8 W- ^' _            else# X# Q" R: J/ ^5 @$ r$ O
            {
* j8 O3 m- p9 l2 u' ?5 r, a                sprintf(msg,"object type is not UF_machining_operation_type");" o! h9 b9 e% h" J! Y8 t
                UF_CALL(UF_UI_write_listing_window(msg));. |* x! Q3 |2 Z. S  o! s9 K9 R' E
            }# f1 R: o" w  j7 M# U4 _) v: h
        }
9 p2 J0 O$ B7 J0 x1 J; e4 y) x        else* O% ]* o: e7 i5 m
        {& f2 ?2 e0 h2 d/ W
            sprintf(msg,"Nothing highlighted");
- C  T) ]* _1 @8 _* A8 C$ d8 w            UF_CALL(UF_UI_write_listing_window(msg));4 ^3 s4 P) E8 J4 t& l  O
        }
+ b1 A3 h* T+ E4 d* x6 X! w' g& r7 k/ x, B6 F! V# s! x1 x
    } // end of if init
, V& W3 x5 q4 m* f6 G) f' x- t}
/ h9 c; S+ n5 ~! f& o4 M, A0 G& h
5 D+ M/ n; e* O  [0 ~+ V# j4 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了