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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。  K: |3 L' C5 G0 F" i# d, E

# F1 T9 L" m; I5 Rstatic void do_it(void)
! R3 D: d4 u$ s& g{* }( Y# t5 j: Y5 X! U. s0 u
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
! [( m0 m7 O0 S& t3 H5 W+ a    char msg[MAX_LINE_SIZE+1];; v1 E" Q* k2 ~0 f8 J

3 U% ]0 a- T$ F& @    int object_count,
8 Y: t+ Z, x0 y- O9 F6 p4 f        type,4 Z& A, n! [1 `/ M/ h
        subtype;
0 s2 }7 |0 a. N; x    $ H# D( G% j' H& V( l
    tag_t6 N0 k( Y2 q% L, O! n0 P
        setupTag,
6 q- K. @, W+ M% t2 |9 K, E1 e5 P        *objects,- M. @$ B* A6 ?4 ~! `  g
        prog_root_tag,. ^) ~) q$ Q6 Y" P* x) ?% h
        prog_tag;
3 @1 f6 r8 m1 H% g3 V- d9 L* _  c1 m% v# B" X
    logical  is_initialized;
6 G& o* D9 I  ?: k+ I- i% Z    logical answer;2 C. l( x; P2 b& `" X. o

; |# D5 Y' B0 J. M5 S
) g8 w6 u1 m% ]  }( i4 c+ H    UF_CAM_is_session_initialized(&is_initialized);
! g: }. x' {7 v( o1 \& P
& T/ k% _7 ]3 \2 k' g, m
5 x5 ]/ A9 Q6 l    if( is_initialized == TRUE )2 ?0 R/ b9 I2 H. Q5 y$ F$ d
    {   
4 A( Z0 n1 q$ _$ k1 l! g        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
4 l9 o/ S: a: O" o2 y9 ^9 l        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));' b$ H4 P' M$ ?( e5 {% I

$ O) U- J# {- j3 [  // Find the pre-existing geom PROGRAM and get tag
4 [! W! @5 |% d( F        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));3 W) J; c# [) Y; D$ V

! p$ Y0 r/ C* R     /* Get the highlighted/selected operation from Navigation Tool. */5 U8 ]5 i/ x1 N; K
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); % J# p/ s8 u7 l8 D$ z- P

& N7 U5 w( U+ q* ]        if (object_count == 1)
, |2 O  m" U$ i; g* Y1 [; Z        {
" ^7 P$ G6 G' P$ v) P7 K% m            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
7 t4 `* C$ t3 A9 s/ [# G0 d2 M( s+ T$ z0 v2 K( Y7 u6 H4 |
            if (type == UF_machining_operation_type )
2 D( U6 }9 a' B) _* z            {! J9 M3 S6 ^* L5 w# n
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));, Q0 T7 \2 ~6 b) y& b
                if( answer == TRUE )  H0 }  v! y6 Z8 [
                {
, ]4 H( ]+ @9 ]8 |, A                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
1 e  k, F  L1 C# r+ V5 I                }
/ ~- H, ]# {" C; {, o( F2 \                else ' R- P9 A3 W; z- K; i/ ^( K- z- N4 C
                {; A* r& p- x7 g& k/ s! ^
                    sprintf(msg,"program group can not accept operation");
/ Q* B7 t! u7 [" b* l3 K# [                    UF_CALL(UF_UI_write_listing_window(msg));
* T4 Z& C. l- B+ I; Y6 z- n                }% g: S2 d' Z. W4 D: M4 Q
            }, i7 Q  }- g* [: D4 ~7 F
            else
- {7 s* a& n$ H; |" m            {
# i& M  X6 s0 S4 Y7 {; b, _                sprintf(msg,"object type is not UF_machining_operation_type");
3 J9 M! W; }8 m7 i  Y: @, t                UF_CALL(UF_UI_write_listing_window(msg));) t; }* l$ |' Z- C# p: ]
            }
( U+ w* S5 F" H        }1 b$ x$ D+ Y7 s" j
        else& R' h# z5 E' B( C1 O) D
        {
7 y" }! D: H( }6 n7 _" _3 f! y            sprintf(msg,"Nothing highlighted");) n$ k8 |% s  V% n  M; I! L9 ~
            UF_CALL(UF_UI_write_listing_window(msg));6 S4 }1 e" r- K) P+ w5 A; O
        }
5 z5 S* V4 B, ^. a
% s0 M$ v6 p6 g7 f0 O; s+ K    } // end of if init
$ X2 o/ z3 a' _}( C' w2 ?# J' `% j; z5 `( A

1 k: L0 _& }9 C, r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了