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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。5 A7 k* Q* N& F$ f( m

2 |. R0 {. Z4 p3 @static void do_it(void)! r# r4 i# B/ A. J1 j
{
) N' w' u" E* h8 X. V" [# O5 [    char reason[UF_NCGROUP_MAX_REASON_LEN+1];. a3 ?4 B* M- o7 d! m
    char msg[MAX_LINE_SIZE+1];
0 w; ]. b+ Y0 Z% y+ b! M* {, G1 P! B7 h' p7 A+ m% p
    int object_count,
! C4 L; X. y8 n% c  M! j- t) N        type,
+ N5 r7 H$ l: @. `        subtype;, u% |4 `! p1 @, T2 ~. t1 k9 W& D
   
  C  v1 p0 h- a+ I    tag_t
% L3 u9 I  ~, A# J# @" [! ^        setupTag,5 ~( d* k$ H( P  W: q
        *objects,
* D9 C. U4 Z' c6 r9 N. x        prog_root_tag,
8 o$ z  J# Y2 _8 |- E' X        prog_tag;6 y& |5 @  R/ e2 r8 G
1 R# L& ~) x; e/ k1 D
    logical  is_initialized;
2 g" Y* l& V( ]. e/ F    logical answer;) R4 \' B* ?! ^- m2 B

- j9 W7 E. m1 ~, Q! i8 m
9 c/ M) [4 g) b    UF_CAM_is_session_initialized(&is_initialized);1 l! r' q. Y% u( V
$ q7 E+ B3 L& [  f8 d. ~/ }+ K
1 ~$ Y0 c9 T  u8 R- p. T  [' @9 \
    if( is_initialized == TRUE )
( M5 [* r0 v+ D9 Q& m    {   
; ?% O) N6 O/ z' N' o        UF_CALL(UF_SETUP_ask_setup( &setupTag )); % w% s0 n& ^$ x) D
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));8 D  a5 ]3 |6 @3 ]$ G

  j7 A+ Y/ r: E3 G( {: B" J1 j. N5 E  // Find the pre-existing geom PROGRAM and get tag1 t2 b0 u: K# \' A
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
+ o7 M! l- p9 b  Z- I! ]! J/ f3 c; w/ i( p) n9 {0 |* t! g) v
     /* Get the highlighted/selected operation from Navigation Tool. */
6 y1 O3 F% b9 h$ N        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); / |+ o: }, t" ?4 b! Q# e# {
9 S1 N2 h8 n$ s* Q. K# d
        if (object_count == 1)
' a, j* w' K+ y6 N0 @1 s        {3 \1 Z8 G$ b  O$ |2 E9 [- M1 u
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));$ [( l4 G, Z# O* X1 d5 y/ T+ X# D, Y
' `. d  e7 n( K- V
            if (type == UF_machining_operation_type )
. X/ M2 Y3 l* {. b3 B5 n! b: f' T            {
0 L8 N" x$ l) F# \# R2 J5 h                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));% ?4 l/ R2 Y( c0 @9 a3 i0 u
                if( answer == TRUE )- o6 L" f6 P0 D$ P
                {
5 u; V1 E2 N/ {+ w0 D                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
8 e  U# l+ B2 \                }
$ S5 Q; G1 I1 j4 @) a                else 9 l3 q4 I* n0 a& T7 M! g; f
                {% E: E, k$ J! t: l# t
                    sprintf(msg,"program group can not accept operation");
+ r' H8 v6 H, y% p2 x                    UF_CALL(UF_UI_write_listing_window(msg));
* l+ B8 p! l' l5 |/ Y' [5 m: C# W                }
2 p; S8 {' f9 A8 B, i1 f: v& ~            }/ j! O- ?. ]! K7 [2 h$ ?. A
            else* z# {" I. ?( h0 ~
            {
; U( u# _8 c5 t& H: a: W! n% \! \                sprintf(msg,"object type is not UF_machining_operation_type");1 m1 {+ S' q4 {4 R3 l
                UF_CALL(UF_UI_write_listing_window(msg));
9 z, k6 I- J/ K( F            }/ X! R5 y6 ]0 V+ g
        }9 ^! N$ M/ |! S- p, c
        else
( U& s0 Y" X+ u# Q# i, m% U1 A        {8 K" \( Y5 ~0 C( K, K, K, p
            sprintf(msg,"Nothing highlighted");
; m" A0 m. J+ p. W            UF_CALL(UF_UI_write_listing_window(msg));
8 l' T& d" O5 Z2 Q. \        }
" L4 V/ g% J2 ^, [2 g- _- n+ l3 w* V% o
    } // end of if init. o& O2 v1 Y0 M4 K$ r
}5 x- ]* H  z, U+ [
$ T! |( c/ i6 F5 h7 M1 \
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了