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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。9 w! D& N, g1 g) Y2 b5 I1 E) |8 r. f

) F0 F% O7 X  q- mstatic void do_it(void)
" [! h' T" H4 d* \5 s0 R{
  l3 F0 z; {7 h( ~7 F: X- r" b( H    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
; B! u6 I8 q8 U    char msg[MAX_LINE_SIZE+1];% p" e0 r: M# {

( `- C" K0 W& Y# z/ S. f    int object_count,
/ v7 ]2 A3 s( I        type,2 D7 ]3 J3 M' [
        subtype;, v& z. \: s% N5 }8 f  y
   
. y2 g7 b) B6 @# O8 _8 s9 G    tag_t  Q# o0 V, r2 E& o& W
        setupTag,
# ~. U; A2 k  V" y' K        *objects,
# m$ C' A6 S! ?- L. p/ O        prog_root_tag,
( I: f7 B- T- R' Y! S8 ~+ b        prog_tag;
, @' L0 Y; J2 k% H! a" N+ z& N# @4 D7 e2 k; z1 |( m
    logical  is_initialized;
3 a1 t5 D$ o- }  l4 \    logical answer;4 D' x/ ~$ M4 ~4 w% J4 Z9 P
( p1 Q7 K7 v; F- t$ i3 G* Y
2 u/ ^0 [7 p" i3 H$ d5 M% T) J
    UF_CAM_is_session_initialized(&is_initialized);
2 E& F. e9 R6 o# ^4 m8 V0 t5 Y) |4 o  C8 T4 f5 w( g

( B, D! |7 x( {+ C) G0 [# ]  X& u    if( is_initialized == TRUE )
& s- b6 f9 |5 T5 W& h    {   
% \8 L7 l5 Q0 e0 A, w        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
5 V% Q# u. ]- w        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));' x7 |# o" L3 A1 z( Q
  X/ g4 Y- Z( P' M. v0 u
  // Find the pre-existing geom PROGRAM and get tag! V& |& ^' I; R5 k' s
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
- f/ X: I6 S7 \- }$ A) P5 y, r% V( r4 R0 W7 s. m" q2 ?
     /* Get the highlighted/selected operation from Navigation Tool. */; O& ]& [8 b7 }
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); / F3 m) v: z4 D9 T* U0 T* `6 F3 S

' q/ ]( S. E6 s5 S        if (object_count == 1)
6 }- u6 M$ m6 V" X        {
8 U- @( `& v' ~: L            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
2 f+ v% g9 s7 I! y( E9 ~# ~; o" n' r, _5 A
            if (type == UF_machining_operation_type )$ q* m7 R/ z% a5 T! A( U
            {. J5 M# t; n; V- X$ R; @- u
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));) O) R( h* @( ^: e# J' Z3 [
                if( answer == TRUE )
8 _+ e* l1 B. ?  ~( K                {7 j6 B. F# P7 y8 \8 |& H+ h7 b! n
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );# M" v& R" d9 B. z. w
                } " ~" X& l" v2 d' @
                else
, ^& G6 R5 ?. _                {
2 m* r( h) v% i. _3 X                    sprintf(msg,"program group can not accept operation");
' H: x3 P. f, c3 c7 A                    UF_CALL(UF_UI_write_listing_window(msg));
- D3 G6 r) R4 H1 \; Y! _                }
1 U9 e& d, M; b4 f, C1 o8 x% A& w            }
& {2 o6 w1 D- H& N            else1 H, |0 ~% s' I3 f
            {! r* C  s# m. w0 E& q
                sprintf(msg,"object type is not UF_machining_operation_type");4 q& Q/ F( P9 K
                UF_CALL(UF_UI_write_listing_window(msg));
1 E$ ]8 y8 l9 s/ c  y& m, w7 ~$ U            }9 \0 l, v0 \1 Y1 w5 r7 R2 l' i. s
        }
7 ~$ E4 j) `3 y0 }        else& R) Q" |. N+ q2 u1 J) e: K1 F
        {& K: ^+ O7 Z3 r+ e
            sprintf(msg,"Nothing highlighted");4 M( k- q1 x  ?6 \) O
            UF_CALL(UF_UI_write_listing_window(msg));
6 L5 e! O8 }2 q! q) V& c+ I, V# d2 ^9 E        }
  E8 |2 K/ r& T9 y, x0 O6 x) q, b; o/ Y0 V* l  p
    } // end of if init; ~1 h. W* {; g; x5 k7 L
}
* v. K2 W* g# f3 I
0 S4 [8 @" z: q) p" f, y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了