PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2015-1-4 20:20:10

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

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

x
这段代码比较简单,但是你可以学习到如何在CAM里面进行二次开发,比如如何初始化CAM环境,如果查找CAM的程序对象,如何获得加工导航器上的选择结果,如何将对象加入组中。- R& Z7 [& L0 }6 B) O/ E9 L' E( W

4 a) U/ x" K7 ~9 [( h; Wstatic void do_it(void)
$ U7 t. G( g/ Q  r{2 n. F5 X" ]# [5 e  d* P+ G" K
    char reason[UF_NCGROUP_MAX_REASON_LEN+1];5 d; l' j7 Y; k/ R+ ]. G' S" N4 J
    char msg[MAX_LINE_SIZE+1];( \1 X: E( a" W& x& G1 f8 k6 m

, ~. Y5 {$ k, G$ M+ q* ~) i1 R& W    int object_count,
* @5 b3 e, F* C  d: ~# h5 q        type," }! w% b5 H9 k; K- z
        subtype;
" w1 W! z4 b8 S7 e   
  `, U3 }3 {% \* v4 a9 ]! |    tag_t2 Q" u/ d  F) g3 f9 I% U
        setupTag,
7 L- ]# F; T: m- c* p        *objects,
; N* `$ s) I5 m' I7 S2 Y7 w        prog_root_tag,7 g: ~; Z' m+ w# ]/ g
        prog_tag;" r3 g7 P( h5 B! Y" a
8 V$ X3 H( T* i' j5 _+ W
    logical  is_initialized;
5 r  I" k1 S$ o. v/ y# Z" p    logical answer;- {9 Z. h% o' _  ~# c# X( L
/ U3 I, [* r  Y1 x- p

+ k) u/ G+ J9 h/ p1 R, A    UF_CAM_is_session_initialized(&is_initialized);* r8 G, Q# P' n! N3 j* }  F$ {
% n6 u8 O, N* C5 a% o5 ], B! k5 e( J

  [& z" g- S, g" {* W* I9 R    if( is_initialized == TRUE )
+ V6 ]6 w8 n0 D& ~9 k    {   * A- Z; Q" g! F7 F, ?( }' F
        UF_CALL(UF_SETUP_ask_setup( &setupTag ));
. P' ]& Q' H: |+ p" a6 }        UF_CALL(UF_SETUP_ask_program_root( setupTag, &prog_root_tag ));
  ^0 g; S9 S) [# S* ^% \4 G! d* U
! z" a6 ]+ a+ o  // Find the pre-existing geom PROGRAM and get tag
# ~) @8 r( Z. @$ J        UF_CALL(UF_NCGROUP_ask_object_of_name( prog_root_tag, "PROGRAM", &prog_tag ));
$ Z. a( ]3 X& Y' d4 G7 M. _2 w$ a, f$ U0 w' @% Q2 G  U
     /* Get the highlighted/selected operation from Navigation Tool. */
, H  d, l. r& J( p4 k+ Q7 a7 y6 y        UF_CALL(UF_UI_ONT_ask_selected_nodes( &object_count, &objects ));
2 ~. {$ _! I8 p0 g7 A
7 {; M+ [) @! [2 D- W' g        if (object_count == 1)
6 g9 r. |. M- P        {
4 _; `8 R2 y5 e2 Z( \6 l            UF_CALL( UF_OBJ_ask_type_and_subtype (objects[0],&type,&subtype));3 P& i. {# ]: P* U9 ^! M7 U" d7 c; Z

0 V% }1 e5 c# U# ]7 f) }            if (type == UF_machining_operation_type )
* [0 ^7 @+ s9 t" [; n0 w" v            {
" r1 o3 [! g' R7 l                UF_CALL(UF_NCGROUP_can_accept_member( prog_tag, objects[0], &answer, reason ));
8 U$ {0 B; u$ D  @7 p: L                if( answer == TRUE )' x+ l2 ?. W" Z5 |* H
                {
+ j  w4 Y1 E* ~                    UF_NCGROUP_accept_member( prog_tag, objects[0] );
! ~) \4 y2 V3 Y. t9 `7 o( A                }
, L& c( `# i+ x- V( {                else
# x" z2 I6 |) R7 a5 l                {
! ~0 T; @+ |0 z0 H$ a7 j" {                    sprintf(msg,"program group can not accept operation");. W. n, ?% L* @$ h" d0 m; X  v
                    UF_CALL(UF_UI_write_listing_window(msg));, A9 \: \4 t; T1 J
                }9 x7 E, \2 A, d9 l! p7 E
            }. S1 U6 j6 H4 Z( p0 C# g) F7 S4 _/ D
            else  Z2 @5 G! }/ m0 n3 Y' n$ i
            {" ~/ G& Z* E2 S! u
                sprintf(msg,"object type is not UF_machining_operation_type");
: y0 c# v. `" A; w                UF_CALL(UF_UI_write_listing_window(msg));# M! y+ e4 w" t5 i
            }
; q8 X- P, r& U, y* W: F: K        }% E9 H; m3 X3 [% Z9 H
        else7 E- ~$ I; P; s
        {
  E! ~. l0 e& i) y7 x            sprintf(msg,"Nothing highlighted");
. W- E: E- H, n$ ?5 B1 y            UF_CALL(UF_UI_write_listing_window(msg));
- \9 F& R. ~9 h  U! z6 k* K! e0 t        }# t2 e) x3 R5 W- P

7 h' ]* R  d5 j    } // end of if init! h+ b4 _/ \" ^, T
}
- ?6 b1 s7 F, T2 }# y( j+ j  V
6 a) ^' D6 v5 V( Z  h
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了