PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。- ~9 E% f5 Z- l4 h- N

& B+ O$ ?% _8 b- t& ?4 Wstatic void do_it(void): ?# i& a& X6 ]. x- r; n' b
{: R5 b9 F) b2 ^. z6 E
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];
! j, Q) c8 N' t6 B9 ]* R    char msg[MAX_LINE_SIZE+1];+ e0 g) d* d5 ~. z. N( |' ~) p
7 w! c, o! y5 ]2 L4 ]$ q
    int object_count,) ?9 u- e4 V" X$ G7 D
        type,
+ n6 e/ a9 R. s0 K        subtype;
: |) V' |, r( r   
' P0 d0 g; T2 r4 I    tag_t  u! e+ I! o+ ?. q, ?" t/ I
        setupTag,9 O" j. T" P$ ]% ?; u& q
        *objects,
! m2 o* B. ^! {" @! w' A        prog_root_tag,
/ O0 h* c, X' }" T# U        prog_tag;; n  @+ w5 k  w. |7 H2 d
( r; T* {9 Z: \7 q, y0 L
    logical  is_initialized;
6 v+ L# G5 h; }& i    logical answer;
) m1 X' M& [4 D' L* E. U
+ ?2 C; D& N! ?3 x: V2 `* ]) V) s6 b3 z0 c) q: N9 G! h8 m6 @
    UF_CAM_is_session_initialized(&is_initialized);( @( {' N  {! B

" R+ x3 U& N5 _4 ?% I+ }) n
; v. e2 X& D$ h7 {    if( is_initialized == TRUE )/ ^2 a6 P' O& O& R+ c
    {   
' }- W  j. k# E9 z" y, \0 ^9 e# ]        UF_CALL(UF_SETUP_ask_setup( &setupTag )); 4 Q! v2 L8 `3 _/ [2 w* `' V
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
! i+ B) a8 _4 i) g, k" ?& f( w) b7 G! T$ A
  // Find the pre-existing geom PROGRAM and get tag
- \. [2 s. |6 v+ c- x' L" [; F        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
5 O+ |. L) ?$ i8 g, @0 F8 f, r+ P, n8 w' \# }9 {$ m. y
     /* Get the highlighted/selected operation from Navigation Tool. */
3 t$ u7 R4 Q. O) O5 j, w& C        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
7 B% i$ q2 g' q% M# j9 D. D% P8 _0 P6 Q$ d7 y& l" O8 S% u
        if (object_count == 1)
+ \: a5 J+ z% |& d( v/ T6 G2 B: C        {
! d) t  ^5 P' t1 W: R- l- K1 p$ ^+ r! d            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
; s# B9 m1 }0 B: u/ ?/ y0 \* h0 y5 J
            if (type == UF_machining_operation_type )& |' x5 H, Q" p( i) G- Y3 Q% M( h( h
            {
) G  R# r; j! i& y  V$ ]* x                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
( c4 l. {* R6 [2 F! z3 X* k8 n                if( answer == TRUE )3 q4 F0 B  m  ~- N- J
                {, W5 `6 T3 g$ `/ }7 U6 Z
                    UF_NCGROUP_accept_member( prog_tag, objects[0] );0 }# g  k- H4 N1 O2 v
                } + C) H/ @) w( D  n
                else   J: ?6 D1 d6 L, @# I- _0 o
                {- P- ?7 |+ x6 c. O( n
                    sprintf(msg,"program group can not accept operation");
* o; C2 Z4 ?  l                    UF_CALL(UF_UI_write_listing_window(msg));$ q- v( w8 p& |7 I7 Y
                }9 M9 I/ J# N5 V0 t+ g" s
            }
" l9 ^# ~9 _& L% ?; D5 H* Y            else1 r; }( R1 Z8 K' L% ]; V4 z
            {
  V. D5 s; b& }  M                sprintf(msg,"object type is not UF_machining_operation_type");
/ C/ W2 b9 j, }$ B                UF_CALL(UF_UI_write_listing_window(msg));( P+ G5 R7 `+ W' a' l8 X; O3 r5 b& Z
            }' ^1 ~6 p! U" [+ F4 P/ X
        }5 {+ c. w0 R- S& P$ \8 t3 L3 i
        else' D! I0 h1 X( }2 h5 b0 P5 |
        {, Z7 X2 ]2 e+ _0 b% j
            sprintf(msg,"Nothing highlighted");: Y) S; }' \* I; w* `7 {6 @
            UF_CALL(UF_UI_write_listing_window(msg));, I( [2 V0 V5 j) U1 l
        }
6 f& V1 A# M. J/ y2 n/ E0 e( x- i) F& _# x
    } // end of if init
, r+ N. `( ~2 i}$ e& E7 T9 [, q& V- c' F1 H7 ~

; v. |: d8 w$ T! Z" 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二次开发专题模块培训报名开始啦

    我知道了