PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。8 ^7 @9 ~, s! \0 U

+ N' w5 w' a& k/ I5 `$ P& l2 j  t2 estatic void do_it(void)
. I4 e4 }; l# \3 f" y+ D{
2 ]% I: {- i5 Y. H  {    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
5 Y. v/ h) L7 b8 w    char msg[MAX_LINE_SIZE+1];
- E0 C6 ?+ N/ p& t) j9 n! b4 _$ q2 L  Z1 w  g, X% c# U5 P7 C' g
    int object_count,
7 ~" Y# d" N' y        type,
) K- o$ n( n6 j# w        subtype;
: {$ N+ `9 h1 w) |$ N' l  \   
0 k! {' b9 D& E) Q1 k, v; Z$ ?    tag_t0 b; P) |. ?$ _6 M8 t9 K
        setupTag,5 y6 J; |" ^# a# F- S
        *objects,3 q, j8 b' P; c8 M8 s
        prog_root_tag,2 d8 u: K, c! d
        prog_tag;' \! R1 V9 x2 s" J1 Y- a

2 H3 ~7 d3 v, c- o* K    logical  is_initialized;
1 L& {4 S4 e! E9 r" d! y    logical answer;
, X1 D  Q% f# r* X) p* j0 m( `( B. z# {2 S
1 z" \+ d! ^" l: h
    UF_CAM_is_session_initialized(&is_initialized);
; m& ]; k4 l8 T* i
. a2 c+ d( i6 a% P2 l5 J5 W4 |% T/ ^8 l# c& y
    if( is_initialized == TRUE )
$ p8 s: P) U# b+ b    {   5 r; j5 _3 m  V+ L! d
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
; C- [" i& l. c; n        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));, }# J" q' r; M8 D

% M& N; F9 Q( Y$ Z6 t  // Find the pre-existing geom PROGRAM and get tag
5 t- a; n( z7 i1 ?" [7 n7 b        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));$ Q0 m: w; s2 W  Z+ J1 ^; ?

( Q0 n" {3 r2 E. t; L' S     /* Get the highlighted/selected operation from Navigation Tool. */
, N' u( o/ z& F: p$ k6 {        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
# r! A" [4 W7 t# Z7 `1 D* N4 i% p  N  m$ C" H" e" d" R$ s
        if (object_count == 1)
- \! W# K" ^) A; D! q' y        {
: ?& H1 I7 {) L+ U6 G* {            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
5 r5 T; Z. i0 X- A" E
. z" p) J3 f  Q$ G+ j" J9 r( u  |- w            if (type == UF_machining_operation_type )6 ^) Y; E% o. R, k6 {, z. J
            {! F4 j+ h* J: Y- T+ s/ \
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
5 |3 F" O8 n; ]                if( answer == TRUE )
# S* d& k, l( K                {4 q9 ?, Z9 I' J, ?5 S" X9 A  M; F
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );& t+ m2 V3 u2 j$ Y- E
                } - R) @3 ]8 ?4 @5 ?# v
                else " Z9 e- f* T/ W- s' E
                {* ?" F" C6 s1 o9 g% }
                    sprintf(msg,"program group can not accept operation");
; B$ h( }1 l! Y/ A+ ^                    UF_CALL(UF_UI_write_listing_window(msg));
& S/ p3 L6 m) h7 Z% Q* c4 ]8 T                }
1 ^" ~5 s. h- C* t* b5 P7 F            }
" E. Q. \% K' [' o            else2 V# P( t# ~! y
            {
7 v- u. _: a9 W) X                sprintf(msg,"object type is not UF_machining_operation_type");. G! D/ H' w, C. b2 [) ]: u
                UF_CALL(UF_UI_write_listing_window(msg));
/ d0 ~( [- w6 N5 P" J! j$ b" \            }2 T$ B0 {0 X  y* \* |) i& B$ s
        }
  L$ G! a) w$ O        else
! r3 J9 W; \/ |) h0 x/ ^        {
( w0 p0 G* y+ A+ Z; a- x5 x            sprintf(msg,"Nothing highlighted");2 u& b+ O+ z% S2 \3 E' _" X
            UF_CALL(UF_UI_write_listing_window(msg));. _# |( H: Y* r8 F- |* g3 o5 u
        }
/ y3 b' _( `6 w+ }: V3 ^9 ^. _- S/ S7 r$ _+ [1 f
    } // end of if init
; o: H& \8 y( e* k* _}; h6 Z; _3 b/ }6 P: q; ]

) z) V, r1 ~; i, J" w$ T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了