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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。9 A& k5 s* J5 T% t; f7 Q

3 U6 l1 Y2 t: w- J" zstatic void do_it(void)) Q8 X0 o& d6 T% T' [
{
1 n1 z% n7 ]+ o4 V  G    char reason[UF_NCGROUP_MAX_REASON_LEN+1];, [; s$ u  z1 D' _: L" j& T
    char msg[MAX_LINE_SIZE+1];
, d! {. `, T; Z
7 R0 h, m! }' ?; e    int object_count,
9 z+ E& |& h4 |0 j3 E; ?+ b        type,) Z' \9 _- E2 S/ S
        subtype;
3 D' E0 e/ h2 p" m& g$ g   
/ U  e# Q. g$ `  E/ [    tag_t
8 |! R# @3 _- y/ {/ J; v& H        setupTag,0 ]3 F) ~" l4 x) k: e$ W
        *objects,
! A7 N! W7 w: i* J. {1 X) G        prog_root_tag,
. d9 n- ]& X7 e1 a% u" p- Z' v        prog_tag;
/ v# o5 C* }5 K( W2 a+ F' L+ `6 R5 O2 Y% w) r2 n
    logical  is_initialized;* i0 w8 g5 ?/ }1 d
    logical answer;1 J) s. Y/ m1 D) k& ?% }9 R0 T7 y

( B+ X# v, U: W9 N: |. g
; m0 N# O& N4 Q    UF_CAM_is_session_initialized(&is_initialized);( b* v" ]3 ]9 |) H# e: z/ s

+ f2 o; m1 X. C$ C$ [- X+ \( W
! h/ j& _  h  R7 @2 h/ N8 W. o. J9 N4 k    if( is_initialized == TRUE )
+ x& t7 G4 S3 D8 ?* `3 T7 e! ~    {   ! |" _' H* J" Q% R, Q8 v# r/ ]( W
        UF_CALL(UF_SETUP_ask_setup( &setupTag )); + e0 o; Y0 R# Z+ g
        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
, m4 K# _! @) y* V: E8 d3 \- u5 ?, y
  X# V3 l8 }! I" E( o* N* P( k' @  // Find the pre-existing geom PROGRAM and get tag1 j+ M6 u1 R- Z
        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
# @- Z' C5 f! N! j
+ }$ Q. U1 v2 \5 k( u* `     /* Get the highlighted/selected operation from Navigation Tool. */
( K6 @9 A2 K0 ~" _& Z        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
# d5 y7 i6 E: D# w1 e( y7 A$ B& C2 [  `
        if (object_count == 1)
8 p6 p! D* y9 r5 U) e        {
; ^) }3 S* {8 m4 M8 ?6 |7 Y            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));
5 s- Q# |: g; Y3 ]) Q
; V/ M1 \. b0 [9 u$ r4 X            if (type == UF_machining_operation_type )
; K/ b+ s& A5 T( ~, Z            {
6 U: B" E' x" [6 J                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
( |$ h+ V0 S5 E9 h: P  l" R                if( answer == TRUE )# W4 R. H- g9 a; A8 \5 p
                {
6 w/ E; Z: p6 _6 G: o+ x: U8 U- D                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
/ @! g" k' f. Z& Y                }
3 r7 o* S) i; O" l$ o                else
  O5 ^' H: ], Y, {                {
/ i$ J& q* ]4 d8 n9 i4 B                    sprintf(msg,"program group can not accept operation");5 Q* Y0 x+ V2 ^$ A1 {6 z% D
                    UF_CALL(UF_UI_write_listing_window(msg));
5 u" y- `6 f  v& n                }: z  b6 N8 S8 D& T" w
            }  b" X+ ^. I' B
            else( `* {0 u" `# J+ x1 J" q0 @& l! U+ B7 m
            {
% x8 ^2 B0 S( g' }0 T9 H+ J# x                sprintf(msg,"object type is not UF_machining_operation_type");
" W+ a! w: @6 m/ i, W1 C' _                UF_CALL(UF_UI_write_listing_window(msg));- Y2 i4 x6 v# U) u* d
            }
& V7 j+ x) D  x& j0 e2 N- b        }
4 \0 k% ]0 g+ ~& J. V; j        else6 x, @! Q0 A' B# U- l
        {; I( m, |" T) k/ S' y& G  `
            sprintf(msg,"Nothing highlighted");
! F1 v% q4 U8 i) ]2 x            UF_CALL(UF_UI_write_listing_window(msg));
- _, B* |" Z* M5 C4 G        }8 f8 i+ A( b% E' @8 z1 r) x7 s

6 x8 _: V0 A- @    } // end of if init
9 R7 p7 t' ?3 J}! y8 S- i, _# k3 a
6 K) ?8 A; D( A% h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了