PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。& [+ q( l" ^7 ], H8 z* Q

8 S4 p0 b6 ]5 C; ?1 Hstatic void do_it(void)
6 k/ y1 y5 H7 ~5 K6 j" t2 `{/ i- T6 ?1 P8 Q  Q$ F) R
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];/ A6 f% f6 H: T, [* u
    char msg[MAX_LINE_SIZE+1];1 L$ l# P0 D' o! z2 h6 I2 @; P) ^

0 D/ L- t9 _. S3 _5 Z% L    int object_count,! @8 m! d% Z6 M8 B) P; _
        type,
3 o, A3 F4 [* g3 h$ [) r3 M        subtype;0 i2 `/ L7 M: K
    ' L5 _. G4 ]4 P) E  I) ~. w+ x
    tag_t* {% H& S; v4 N0 x- u& G; p
        setupTag,
% L( i& j, k  e) \7 ?' ~2 H        *objects,9 q+ q( r3 k6 k& ]* P9 K
        prog_root_tag,
' l: j7 \" E  C; I        prog_tag;, q: s( S* P/ m+ v+ K! i
- `1 S3 s2 ^" G( W' z+ o1 {$ O
    logical  is_initialized;
2 F, ]8 f1 B! g( c0 p9 u    logical answer;
- r4 L( K. c3 \6 s3 p; z, L& r& C8 v) q1 J4 b' l

; T7 o9 C& [1 t! L    UF_CAM_is_session_initialized(&is_initialized);
% b& }) P- @4 E& H) g: z/ |% C7 J$ \) y7 f4 x
/ S! ~0 E2 g# k/ T: g4 k) E
    if( is_initialized == TRUE ), c: E6 q/ w; K7 ~1 u! j3 C, j, J1 x
    {   
# M) w$ q5 q  {# ?% b        UF_CALL(UF_SETUP_ask_setup( &setupTag )); % u: d0 n; ^4 K4 Q- m( }5 }0 @
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));0 N& n  T+ F/ W' ?

7 _, E8 Y7 a' O, q" `* b$ d* o* P5 V  // Find the pre-existing geom PROGRAM and get tag0 J7 o* M& S- e% Y' ]  l4 ]3 L% \4 C
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));: x3 n" U3 y# q5 b3 D) ^; O
, c. ~+ \" a+ W5 M, Q
     /* Get the highlighted/selected operation from Navigation Tool. */& J& b2 x: s( R/ H0 U, F) d$ ^
        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects )); 1 E4 H; w  ~3 V) J% t

3 Z# [# ]* S& ^% p9 n0 B) z; b! Z        if (object_count == 1)9 x5 Z4 T+ {. K) Z( J* N
        {- v! k/ L8 f4 c! I( i, r
            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));: l7 |+ \( T: `
( i/ S2 w( c' ]2 ]% C* M, h
            if (type == UF_machining_operation_type )
( e/ l. R1 O; m) C, r+ J0 I            {
2 v% k  F7 B- g+ t                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));) j4 [! I: F; E/ k% x2 d4 P7 G: F  t' {
                if( answer == TRUE )7 {! @$ d7 ]5 `9 Z
                {* O. S+ x; \# l: J$ s- P
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
# Z0 l# R" X; ~& x                } 8 V( [% Y# Q, E/ P- P
                else * |+ w  A0 j+ v. Z. j  Q0 r4 `
                {
9 {! G4 K% ], I6 i. |                    sprintf(msg,"program group can not accept operation");8 t5 Z( y0 ^5 [! L; f
                    UF_CALL(UF_UI_write_listing_window(msg));
% E3 w9 {+ Z8 `& H+ F3 t$ |                }: ~3 X  ?; f+ M$ b$ k
            }- m6 x) Y/ m4 T- L) i8 i& e
            else
& B2 T# d. C/ H! s8 h) B            {- h; l& J! {% g, w$ ^
                sprintf(msg,"object type is not UF_machining_operation_type");
4 w: U7 L8 t& Y                UF_CALL(UF_UI_write_listing_window(msg));
0 I- P8 u% t. d' l) K0 i            }( E- P1 G- n4 P  L
        }) J7 p( F( V# R4 K3 B2 B, r' u# o
        else" u( n  w7 L  I7 ?7 Z7 N1 g
        {
  F/ H$ @4 m2 ]! c' P6 G3 B' E            sprintf(msg,"Nothing highlighted");# i2 e+ s5 W# x
            UF_CALL(UF_UI_write_listing_window(msg));: X  e0 [) D9 u  o4 z' l0 {3 t
        }
% P, ^% G$ k) R+ l) }, r9 r7 E/ w3 V7 `4 z
    } // end of if init! E: p& v+ T( R* A) g: @" }
}" I& _$ q. E( W6 T, p

  ^) e0 @3 R. E6 R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了