查看: 3436|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。: w, U6 o! P! v$ ~6 M

( [; \% w8 ?& B& `static void do_it(void)! G+ g- Z8 Z8 [( ^
{
2 o( T; p3 K/ Q7 r) l0 Q/ p    char reason[UF_NCGROUP_MAX_REASON_LEN+1];- g  e7 T1 m4 V" K1 _3 K
    char msg[MAX_LINE_SIZE+1];
6 ~( ]. G9 |' ^8 l% E: ~7 S  X7 J- Z9 J
    int object_count,
4 ?, Z6 R/ D% L2 w+ W        type,3 n* L! C1 p$ L
        subtype;- n, x9 \* g1 {
   
7 x2 L8 X/ }: D7 ]1 @8 x3 H# F    tag_t- F  v/ Z5 Z" z
        setupTag,0 ~9 l+ i" p' A
        *objects,$ Z! X  Y/ P. R0 n
        prog_root_tag,
% @2 \. r) q9 f1 W( i2 ~. s        prog_tag;6 f. w8 }4 \9 K) k* \
- n4 U2 \8 o; g2 k' x0 z
    logical  is_initialized;
: w8 H. I' W8 g2 h2 g- D; I$ B/ z- E    logical answer;
( h& \; ^7 S/ A( W+ e" F4 M7 m/ A+ A; d: U3 `. e0 f
# P$ S9 Q! R/ m& z
    UF_CAM_is_session_initialized(&is_initialized);
& z% [4 f4 X* }* {+ S9 {3 H
( `+ ^5 F6 V3 n$ u. ^
8 I$ M$ [8 e. b% p* `    if( is_initialized == TRUE )" i5 Z% a0 C& \; I. G1 u
    {   
- N5 ?+ S' S  r" ~1 u        UF_CALL(UF_SETUP_ask_setup( &setupTag )); ) I# e. N4 |# J: s
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));' T! w9 L. f8 K! Z9 K8 c4 f

- c3 }3 o" b3 {+ @1 x  // Find the pre-existing geom PROGRAM and get tag1 J& a  Q1 b+ }' [! [% m# \
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));7 D9 P  \4 L  I9 U9 E" N

- U- _8 D: G+ h# r: a  D) S7 ^) O     /* Get the highlighted/selected operation from Navigation Tool. */
2 s  a# l! t) q. ~. ]        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); ' z+ d7 C" q9 _
0 l: ^1 ?/ e( t$ _8 u- o$ w
        if (object_count == 1)
) Q6 i) L' B+ [        {3 ~$ Z7 \$ r6 R4 e
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));. |% z$ Y/ }  b  [7 W- F! i& n  L4 A

- P3 H, J# r5 n6 g  L            if (type == UF_machining_operation_type )
+ h  z: ~+ ?9 z+ v! h# e! U+ D& R( k            {
  O- n/ W9 ~" F+ S. u1 n                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
! b: n* R* e7 E" q( X0 F' I                if( answer == TRUE )
% t5 m8 b. c9 J( ]7 Z                {& N5 ~6 a1 C5 M
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
+ |: T, s! f6 N- F- ]! }7 |                } . u& s: D; p6 L
                else # \2 H% o, Y8 p" d' Q* _
                {. d& q5 T4 S3 T, c- c  k: y7 i
                    sprintf(msg,"program group can not accept operation");( V( R  |, ?7 H! ]
                    UF_CALL(UF_UI_write_listing_window(msg));% M1 ~1 v$ }% ^
                }9 X# L8 D1 H- `# y/ x$ v6 \
            }5 |* C$ j% P% c$ a  @- Z  e
            else; @2 Q. ]8 Q) a5 m9 @
            {
$ x; Y  d$ N2 ?1 L  O                sprintf(msg,"object type is not UF_machining_operation_type");2 v" }4 q0 P. k
                UF_CALL(UF_UI_write_listing_window(msg));) D! o; q- c  ?2 @/ V9 }
            }* J: a8 c& K0 Z7 `/ L5 j0 g- h
        }
/ P  y2 R2 C: ?8 M. b5 K$ |* w        else
  f  Y: d  E7 D6 k/ }& b. J; f        {
1 |+ e6 f7 h& b% U            sprintf(msg,"Nothing highlighted");
4 Y7 ?1 x8 }+ }$ Z; U9 o            UF_CALL(UF_UI_write_listing_window(msg));( }& e7 s' C% z( t' D# ~
        }9 S0 ^1 m" X/ i# C
, C& d( H6 i  |* c8 h
    } // end of if init
0 c' f6 [  d6 d* P4 I! f: |) R}
/ X* \6 ^0 `# p; i( U( v% R( B( x
& z9 x/ \1 n. g+ L/ H  O/ F+ d/ C$ r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部