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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。0 O# C" E( x/ n: Y: _; O# l
9 g7 l- L8 }# J/ Z7 s3 L7 ^5 v
static void do_it(void)
1 A/ F& Y2 k8 S{  q! m8 d0 P& `: \5 Z8 V
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];6 h" k0 q7 Q! x3 P: B* }% f
    char msg[MAX_LINE_SIZE+1];3 P8 h7 u' b. O* H! {! F
1 b. n! g' g- K1 Z& T: _& I! J2 U  X
    int object_count,' d7 _! R6 k1 d! x/ x, u+ O: U
        type,
0 z" Q$ i1 |0 ~: S- x" U2 c        subtype;
1 f! X' f: C3 h( a, C8 X6 W   
+ i8 |- s) o" F, ?- v& N9 ?  |3 u    tag_t
7 y6 O4 q. n& M. u" `4 w- {        setupTag,% ]: s9 T. I3 E
        *objects,
/ w' z6 W; ~5 Q: D, Z        prog_root_tag,
6 }; y: ~; T4 s, W, B: O4 U        prog_tag;: A$ v; L% F1 a! j8 I

# u* j+ S' T/ n6 W    logical  is_initialized;
- E1 i  R$ a. u2 K$ k, R+ E    logical answer;
- P' W% J5 t: Y9 h, H. X0 K8 o; Z, F; a7 O7 O; p/ G, o
2 w/ [# U, Q0 u( Q4 B. f
    UF_CAM_is_session_initialized(&is_initialized);$ P: O8 M% X1 |
" _- {& m3 x+ _8 S: Q: e& k! L

% p7 y2 b0 @1 S# b3 O    if( is_initialized == TRUE )/ c0 d; g7 X4 O" Q
    {   
# Y6 @8 f) o6 M- D' B        UF_CALL(UF_SETUP_ask_setup( &setupTag ));   o. H3 q4 N5 B
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
1 J8 V8 |% b% I6 _$ @7 {* f/ L7 V1 _3 @- Q8 i
  // Find the pre-existing geom PROGRAM and get tag
+ w* c4 y: h6 Y5 J        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));5 s/ l6 d  S0 Q: V& K) Q9 `

8 ?* h5 f% G) P$ k$ c" O     /* Get the highlighted/selected operation from Navigation Tool. */, {+ C3 g9 F. u9 p0 D9 q
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); ; h' E5 J' Z( O: r# z* \( p% U

: y/ z5 t7 }3 s/ E6 P        if (object_count == 1)
. C  R0 E. Z/ k2 h: p# w        {: D1 N3 A; u+ ]" e  |, b2 K! L8 e
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
; Y4 i3 Q) F( I0 l" Q$ ~8 y- q
( d6 \" t! j. Q; w( v. o7 o6 h            if (type == UF_machining_operation_type )( `2 G, v% n$ ~* E6 u' q9 z
            {1 g  B' ?1 P3 P, O& k5 o
                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));1 C5 y0 y5 m6 l1 p. q) s6 i! J
                if( answer == TRUE )
: }1 F6 {- o& |3 B, D                {
" ?# i1 m0 T/ c* Q0 b: O                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
4 q: E9 S, K0 B* h! R                }
1 x/ A& j- ?9 L# f9 W                else 0 B9 J% `1 k" X" Y* ?% w
                {
( ?3 g& q- c) J- n                    sprintf(msg,"program group can not accept operation");, b/ v2 b- m/ ~, N6 \. w
                    UF_CALL(UF_UI_write_listing_window(msg));5 f- c$ p' d8 P/ j$ j7 v7 t7 S7 ?, Z
                }
" c2 C. e8 p" F! u, b            }1 d! }( j/ j0 a1 r+ D8 }! {
            else
4 f7 S9 ?# }0 |* K            {) }0 a, U! \8 \1 _: C- u
                sprintf(msg,"object type is not UF_machining_operation_type");, X; W2 D& M! E) x2 Z6 D( @
                UF_CALL(UF_UI_write_listing_window(msg));
4 E0 w3 z1 L' D  ~. e5 S            }
& U: ~' R$ y4 @3 p  V5 k        }8 Q( v/ P9 l* L( q
        else
9 v6 K; s( C0 z( ~        {
: L  v# ^- ]" r            sprintf(msg,"Nothing highlighted");
/ a  E, e4 w# o# i            UF_CALL(UF_UI_write_listing_window(msg));* m2 _' E: Q1 Z/ o. Y
        }
! f* S' L# M- U4 y2 W4 K  k0 r1 W. h  l) X
    } // end of if init. U( d6 r2 h  P3 q6 ]  v
}3 s! x8 }' w9 [$ c: H, g3 K7 r6 D

. u, X) \8 }' ]" `2 ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了