PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。$ k6 j* q9 |9 f. L" @

) H! T9 w& W3 o" Wstatic void do_it(void), X9 E* Q* ^+ j% a4 B4 E8 d
{
. Y4 f5 b8 B+ y9 s, ?) t    char reason[UF_NCGROUP_MAX_REASON_LEN+1];8 J. E" N7 x+ I* Z
    char msg[MAX_LINE_SIZE+1];: n( J. W& M6 p* K3 d  Q7 l4 L
& I9 o, p- J6 i6 p& _9 J% B
    int object_count,
  P8 X" u7 H0 n" J% Z        type,. t# s, w, }, _! n- R5 [$ `
        subtype;
! V2 @6 u2 o4 Y( I; O8 R" U7 c' f   
5 a: `. u- P2 M2 Y6 W    tag_t
* t! v8 T& Z' q* l' F        setupTag,
& e& [2 g! z  K/ o; J: V' ~! ?, C        *objects,
: u: |6 h$ G' c9 a        prog_root_tag,9 Z  o: y0 f% Q8 W4 V3 l1 E
        prog_tag;0 {; b  _5 w) q

/ V* K7 ^$ p' z/ Q" `: ^    logical  is_initialized;
0 k: X8 t; [5 C3 u% s% L% T    logical answer;% {+ J1 s, a  c# S
$ J( y; [  n1 F( A% q; {; U3 _: h

0 u* U: g0 o+ p" q1 l4 }    UF_CAM_is_session_initialized(&is_initialized);
( g1 ~# s0 L0 w  B/ v% j4 M; @: N0 x- R; \" _8 h# n6 l3 h
$ G. \- R0 C# [6 K* y9 z7 C
    if( is_initialized == TRUE )( O; X6 ]: Z1 r$ e" @
    {   : Y. v( @; Z  s! P5 V3 \  G- N
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); ) S9 \. R4 d  A7 Q/ }* ]9 M8 P
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));# C: ?+ J- ]3 x0 i' }2 s" [. Q

" E5 r' }+ v, _0 }/ M/ ^0 z  // Find the pre-existing geom PROGRAM and get tag
! d) ~3 n+ d; S; E/ J/ D2 K; M        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
* h. [2 g' o8 j9 Z: F; {6 k- h" E+ s2 }" V* [6 W& q( o
     /* Get the highlighted/selected operation from Navigation Tool. */0 y% z* {. N8 _0 B' R% q. ?
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
2 y$ ~! K$ Z7 s6 _% I9 ^  C& ^
$ j' c: ]$ m1 f' n& s7 Q3 [4 C# s        if (object_count == 1)! N* D# w. B1 e  \& A5 {
        {
5 T/ n7 x+ ^6 k( X. V) ^            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
% H: i' q, s. X* B1 S5 F) w5 w, t0 I6 ]5 O: F  k
            if (type == UF_machining_operation_type )% L# \7 }* ~" [, r3 v
            {. z+ ]# ]5 m8 }! x
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));) F9 R: ]3 H/ }2 p3 Z) R
                if( answer == TRUE )
7 h4 ~1 P( w# U7 m/ A, o                {
6 F( R2 m3 M' M" x& z: d1 s                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
- B0 A: j' K8 |                }
$ m( b$ X6 B% z& d. _( }                else
: H6 U# |6 w5 P1 Y  a                {
& j" N" m+ ?# j6 p                    sprintf(msg,"program group can not accept operation");2 A( B# `. ^, ]: L3 E! K, R8 T6 q
                    UF_CALL(UF_UI_write_listing_window(msg));! q0 u& R$ F; \9 u3 p
                }( T# F$ ~9 _4 H8 q% A" c: _# r
            }3 f% f1 U) g  y" t
            else
$ P, d; C# `8 `( `" t            {
* s7 l( P. F- W                sprintf(msg,"object type is not UF_machining_operation_type");
9 m6 m5 F9 _! V. o% S. \: U                UF_CALL(UF_UI_write_listing_window(msg));9 J8 q) T6 a- Z& c! `9 {- G
            }: y6 z3 i9 `" A
        }& W, u3 @; O- b# A- s
        else. |! P7 z) P8 `. S6 U% I
        {) n. n1 z% S, \  v6 i! H, }0 j
            sprintf(msg,"Nothing highlighted");
. X, A- H* A1 C2 t            UF_CALL(UF_UI_write_listing_window(msg));
! y! _4 K( T, `. X        }
- S+ {# X  x! H, x# p7 @
& `) I) ?0 E4 c* E    } // end of if init
$ f0 m" Y: i# s- b1 H  P}
- r0 m2 \6 x, k5 [2 s; g% b# b7 t2 x5 W5 `; P0 Q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了