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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。9 V2 f5 i2 P% [+ h

8 I: @. e  a6 B% u) [static void do_it(void)
- H$ I5 Y0 F* w{& v7 c) ~9 B! v. ]) [! e0 U5 K
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];$ G3 U9 c2 U! X: s/ W/ g
    char msg[MAX_LINE_SIZE+1];
* \) ]+ e0 u' {; ]8 K7 G6 \# f8 `& A5 K! n# i
    int object_count,
$ D0 T( a1 T, A3 K        type,) {$ {- C9 x) y! m4 p! @
        subtype;1 r, h& M& p' ?$ s/ A
      Q8 y8 ]0 ~& }  Q; |
    tag_t
7 q+ {' v3 B! i9 G        setupTag,
) q2 p1 B5 s1 y" a/ S        *objects,2 T0 k, t, B( n/ c% |
        prog_root_tag,3 n& r# L3 M: _3 ^1 |" D0 w$ h4 s* X
        prog_tag;
0 R! ?: p% J9 D% I5 ]  X5 A
$ I: c3 K5 {( ~1 x0 O8 v    logical  is_initialized;0 \  m/ t+ l/ }. `4 D" x- H
    logical answer;
, c  D0 ^3 t, n5 Y
& |* J: X3 d, [1 q+ c" }- p. Y2 g6 J' i  ~/ k% T' c1 y
    UF_CAM_is_session_initialized(&is_initialized);, H0 ]" E% U# l9 |

( e/ ]. U0 o3 C5 S4 A  Q$ _- m8 G5 W# K' E- ?8 S
    if( is_initialized == TRUE )
5 J$ a2 d9 r6 `3 m! u& o    {   
6 {9 P7 b- g$ Q        UF_CALL(UF_SETUP_ask_setup( &setupTag )); % H: m- ?: L" X& V
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
4 `0 A) k$ U; H! Y2 ?) R+ T( B
2 d1 K1 U; T3 E1 O! Y. `/ N  // Find the pre-existing geom PROGRAM and get tag6 v$ ~5 O2 Q0 _  J& l* s& p( }1 i
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
* y8 y: M( k- e/ t( T( E8 t  O5 o- W0 ?: q# N; |4 M/ x. a
     /* Get the highlighted/selected operation from Navigation Tool. */
" n  N0 e/ R6 R4 L2 d$ \' a6 ], h        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
; q9 G5 `0 b3 r) C9 i* j1 \1 ]+ F, q# w5 f5 ?) K
        if (object_count == 1)$ k& p! N" t  q+ A0 G! Z% e
        {
( u6 W1 z+ n+ b: l) L5 N, K+ s            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));; I5 T  V/ X0 L3 n+ \, n( h" Q! w; V4 ]
2 |7 {: J( q5 k
            if (type == UF_machining_operation_type )
* [+ x/ _( ~. e1 `, x            {
. }/ E; E4 u- i; C* j2 E1 y8 Y& P                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
3 W* L8 ^) R% _2 i                if( answer == TRUE )3 }" D' ]2 z  [: n
                {8 H" ?0 Z8 Q) `1 i3 E9 w; W
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
1 V+ e, Q* E, \: c/ C) d                } 8 P& m6 c) J# i3 k
                else 0 U& K2 K# P  F+ l6 f  S* d
                {
& G0 y2 h* e' Y5 t9 k                    sprintf(msg,"program group can not accept operation");9 Z7 c* g' [5 n7 T, |) y
                    UF_CALL(UF_UI_write_listing_window(msg));
9 K& ]/ W* g7 x7 D- ^                }
% Y- a. i! _  P& x5 ~            }. L  k/ `7 w$ @, w6 z
            else+ ?& ?- l- S! W) r" E
            {
9 l0 D! `- _& u, g                sprintf(msg,"object type is not UF_machining_operation_type");; l, v; M& i2 g( A* a. ~
                UF_CALL(UF_UI_write_listing_window(msg));+ g+ T& ?. Y7 [; O, [, I
            }
6 M1 x- R  x; `4 S/ L        }4 K2 r$ c/ E* S2 U
        else/ x4 r. }7 F  ^# W6 O0 K& i* v
        {
5 `, S: ^! {5 y            sprintf(msg,"Nothing highlighted");+ W+ j. C8 A0 g7 O2 ^6 x9 G3 a
            UF_CALL(UF_UI_write_listing_window(msg));; Y* P0 m8 u- m9 m/ J; w
        }/ \/ `8 o. g5 p8 d6 f

+ }& C2 @' e2 G- U) ~6 \    } // end of if init
0 B" R1 l+ s2 m% m$ N- W+ M0 B}
  J  Y) P3 c/ t) M# n$ e
, ?! w; J% K# \( v7 l9 o  G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了