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 2753 0

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。2 V& Y) P1 h4 V
  l  I- U/ Q; ^2 O' g4 T
static void do_it(void)* K7 T" b# X* Q
{
1 B# C% @" B( \- d9 z+ F* M. k    char reason[UF_NCGROUP_MAX_REASON_LEN+1];9 s) n3 }& N2 g6 G+ V* d; }, y6 y
    char msg[MAX_LINE_SIZE+1];
! ~3 Y+ p4 D4 J) A" T1 E3 r  J5 z; z% y4 O8 Y, _
    int object_count,0 o9 \3 e3 ~. B. |* q; F
        type,
% }# n4 h# X. A. h! W        subtype;8 a" ~* d: M* a1 P
    ( I" K7 r' _  _7 g2 ?) q, R
    tag_t+ K8 h% x3 P% u, e0 y
        setupTag,
+ e1 Z% B* I1 m        *objects,- n7 ~" \7 D) F+ |3 `
        prog_root_tag,) X. ^) T, a0 S0 M( Q( ^$ D+ t; G5 {
        prog_tag;
7 ?) Y* h; {  b" m7 k* ~9 W* K$ U, H3 h+ l
    logical  is_initialized;
1 k" ?; A7 ~4 A    logical answer;/ T# {# h4 |) v4 h9 v) ?( k6 K

1 C6 x5 C  I5 }, s% f" y/ Q
! H  n9 d% e9 d8 G& ?& ?3 _    UF_CAM_is_session_initialized(&is_initialized);% r4 _" a! l* O

) G! z9 J: L& N0 X
. _- J' G0 V" D. l, `7 w    if( is_initialized == TRUE )  L8 @* M! B0 F" S
    {   3 I# C  K& W. [* N7 U  v. w$ N; f
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 8 ]/ `: s& \3 E) {/ H  t6 r1 t% a
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
. _7 M7 w. J- t+ b' V2 ]) o  L( H0 b0 z* j9 D' @
  // Find the pre-existing geom PROGRAM and get tag+ U& V: c6 T: r$ _9 o
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));+ a0 x) z2 c6 ~: y
" W9 K6 |8 V3 v% k& \
     /* Get the highlighted/selected operation from Navigation Tool. */
4 K6 Q5 U& y- {: x        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
0 Z! E. l& c3 i# ?2 S5 \& f* |, X& ?
        if (object_count == 1)
4 i' J/ k3 S8 z2 @& Q        {
& K7 q6 p4 f5 e% G            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
1 |" R0 k3 F# g# a
$ R0 @+ D0 A, Y) X7 R+ ?            if (type == UF_machining_operation_type )# _& A- _8 K# M: F0 |% K4 i6 U
            {% v& m3 m5 X! s; {' A8 f, I
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));' l  {+ z6 D6 m9 l
                if( answer == TRUE )
8 w7 M9 ^1 A3 t  u* `                {! `  v* y3 T- D$ C
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );, p0 o. I4 q' \* E
                } 1 Y& j2 F( S! u. Z; X- U
                else
$ I  F% z! b$ t                {, e, i1 U7 L0 F+ B7 e
                    sprintf(msg,"program group can not accept operation");# j. k  s8 v! X7 z' [" w; ^  A* }6 b
                    UF_CALL(UF_UI_write_listing_window(msg));
4 n: H4 s; b; y+ `+ G3 J                }
4 Q+ z) j4 U6 d' h4 `, G! a6 i* D            }- q, w: a& ^9 G* G) B* o- D  f
            else
, {# x9 E9 W8 ?            {
% v0 t$ d" g9 n; E" A6 G  g                sprintf(msg,"object type is not UF_machining_operation_type");
( E* j* R+ T. p                UF_CALL(UF_UI_write_listing_window(msg));0 n( V0 w! L% n2 Q$ L+ |8 O
            }. p6 q; H* n' L
        }# O( e, S6 Q2 W& k& g
        else
4 I& }0 S: G% |        {
" s, B. D+ ]4 F; R$ J4 b            sprintf(msg,"Nothing highlighted");
9 d- `6 c+ W# ~7 y4 c+ ^; j  K            UF_CALL(UF_UI_write_listing_window(msg));, v9 y" e% B: X$ D5 a& ?: {
        }3 K/ S4 w' U  Q; S% a
4 x# W9 f4 ?5 L) p$ ]9 l% d' O2 e2 o
    } // end of if init; b  s2 A+ v8 C1 V  z
}
/ t' o+ J0 b5 y: ^- o$ G
3 _9 X7 a4 O4 f! Z* l( m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了