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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82168
QQ
发表于 2015-1-4 20:20:10 | 显示全部楼层 |阅读模式

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。
7 Q$ N, L, V& K* l2 v! o; l! V! q& t& Y5 T* V; M
static void do_it(void)) R4 m. q1 h# F* C$ f* J! K
{  `( p; \6 \9 U+ o
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];2 _5 d; n5 i* }3 R. H0 A; r
    char msg[MAX_LINE_SIZE+1];
8 {* J9 Q" [, U5 k8 c2 N& _0 W. K/ N( Y1 G( S2 O
    int object_count,
$ ?2 y& d+ w0 X' E        type,
. q1 D2 B' ]. Z7 P5 D: X+ W        subtype;4 K& T+ Q/ A9 h6 y; R+ s) j0 i+ h6 k
   
- Z& ~' G9 J! ]; S0 c    tag_t
1 Y. K; O! N6 h1 ]        setupTag,
* u2 W6 V+ G7 R" Y  W; r( ?        *objects,% v$ J, `- B& J) j! K
        prog_root_tag,
: V( F  `* V: J" j( q4 \+ w  u        prog_tag;
1 @$ P" g# c7 w' C1 E
: F7 D  Q9 H2 S8 Y% a- t2 S    logical  is_initialized;
5 Y! V9 i# M# Q& s* N/ T" M5 K    logical answer;  r6 d( y) P' m
) C  u& i. _  S4 h4 b3 q
3 g: k  _9 |9 b+ j/ D' s: I* T9 [- s
    UF_CAM_is_session_initialized(&is_initialized);
2 r# C- @$ C+ t2 e7 e# V2 ~* @! O. x1 f3 [

2 `2 n7 q* G; |7 Y8 K; N& B; e    if( is_initialized == TRUE )" J& j3 U$ j& B& g( _; s  {
    {   ' ?" K- K) u! L; p$ ]
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 9 |3 m( S1 l" H
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
) t( G1 n$ a- ?, Y" b; e0 a, N" B, f  S- o
  // Find the pre-existing geom PROGRAM and get tag
0 T, F/ y( o# e: J        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));2 k4 H2 A( Y, d$ V! X* u
  b) G+ _3 o' n% L
     /* Get the highlighted/selected operation from Navigation Tool. */
$ W( I6 f* w% K6 H" m! @- ^        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
- B4 o9 _1 J* G7 I0 Y' n- ^
9 l/ S9 w5 f# l        if (object_count == 1)( l: n6 a; t6 O/ i: h3 f6 ~
        {
" F! V6 i! b0 x+ D3 Z% d% n. V            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
- z! m7 S( V2 Y9 }$ x8 H$ s5 q. D
  M# L# n. m5 y; v            if (type == UF_machining_operation_type )  C+ ~1 @& }; y  K8 K0 v
            {
7 z0 @& J# o8 W. F7 W2 p                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));4 S9 D+ A9 W- P0 v5 g
                if( answer == TRUE ): u$ c. H& |9 m, @  y1 k
                {# Z' G, ~1 f8 B' `% x/ H; R
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
  [0 d- {7 P! P7 P0 C& [' o                } - _5 t* x  x% p  z
                else
% F2 z" L3 U: l2 U                {8 Q2 {5 Q& |* q' c& Z1 i9 ~! W4 f
                    sprintf(msg,"program group can not accept operation");
2 \% o& d  R3 `* u! [1 s                    UF_CALL(UF_UI_write_listing_window(msg));
! C7 B8 b' Y2 L! U/ ]: m                }
" |* n& v% `* l% c/ v* _$ Q            }, a) N/ b: A" o0 m. a) l
            else
9 k( u8 c1 w- }. ?; [- t            {& _; m7 o  i- E" e: x6 ^+ X  a
                sprintf(msg,"object type is not UF_machining_operation_type");
) [/ Q0 M2 S) e# x- x                UF_CALL(UF_UI_write_listing_window(msg));
2 q9 S* h. V3 w# k8 s            }+ n' f' @" x- l9 o, O& {
        }
5 s0 \2 J. C8 l: ^2 w1 ?$ t9 |6 M" N% @        else
4 b* _/ @6 ^6 Q, [" y        {
/ S* k  f# a8 a6 H# C1 u; z            sprintf(msg,"Nothing highlighted");
- P. ^$ n9 O$ f4 A( v& r            UF_CALL(UF_UI_write_listing_window(msg));
$ I; Y0 U; ^5 l6 @        }$ `1 q/ [  {7 y0 H3 o" j+ a% K

& U' c8 {/ F$ k% J" i5 |. c) M    } // end of if init
; ^9 k6 W/ Z) E. U+ ?}
+ X9 w! F7 Z, U, K; b6 r4 b# v7 N4 _' r0 S1 h$ v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了