PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

[资料分享] 一些关于使用ufun进行CAM加工设置参数的简单函数示例

[复制链接]

2015-4-20 19:42:50 3679 0

admin 发表于 2015-4-20 19:42:50 |阅读模式

admin 楼主

2015-4-20 19:42:50

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

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

x

# f8 A& A/ X( p( \: _一些关于使用ufun进行CAM加工设置参数的简单函数示例
  \; z$ ?) Q- G8 ?5 J, A4 S可以参考下,常用的方式!
, X+ U9 z  C. |4 M1 v$ G
$ z4 [: A' H% p7 x+ Gstatic int set_tool_param( int jj, tag_t toolTag )
1 V6 u3 f  P6 e' a6 Z* H{+ G1 C1 n6 Q0 A) B. i
    double toolDia = 0, toolRad = 3;( ]) N' a: f- g  d
( e. ~3 r2 }2 I
/*                 Modify the default 5-Parameter Milling Tool         */
: w% P. L* ~! K7 q1 V( s8 x2 `8 D7 F* H* F( o9 ?+ I+ f, i
        swiTCh( jj )7 P3 |; Z' z5 h( a2 ]2 Z2 M9 ?
        {
& M5 B0 ^' |" P# o0 b" k/ H- \, @/*                               Tool No. 1                            */
& ^  C3 K3 [" X! c2 w+ J/*                             Add a 3.0 MM crad                       */2 s: n* q8 y+ }6 I9 s1 `, ~
        case 1:) p4 \8 K; p+ x/ t; F
            {* X+ |9 I/ F% c8 m/ {9 a7 G
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
% V" F, I+ k7 s; o  ~, t# X            break;; s7 e; a- {! `' T. K5 \. }
            }, ?- x; C1 H8 F
/*                               Tool No. 2                            */2 ?6 i7 a8 q+ q" B4 A- d' k
/*                             Make this a Ball Nose                   */! |3 w7 z: V8 c: R& }+ J
        case 2:1 C6 _$ S: K% l( F2 O; d
            {
1 v: D- G: A7 s4 d! c0 Q! Y            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
8 V% M! \% {. T' ?6 j            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );* ^2 Q" x& s/ V  p
            break;7 w- B5 t8 j1 y. u2 `9 q
            }
/ j: V4 ^% e  U1 Y3 d5 J/*                               Tool No. 3                            */
3 X0 b% t% X) X6 N! e! l, u; X/*                           Define a smaller Ball Nose                */: h/ M& T$ w. d3 ~: \- q
        case 3:
! [8 g" I8 a7 a: a            {
7 K9 U4 H9 e, \7 |+ h& E! W  B* U            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
0 W- S: K1 n# Z            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
0 E2 ^- T7 _: X: ~1 f" |4 [            break;8 R: V& [# b% q4 u& A: ?
            }
4 y! V( V: N5 F" D; h        default:5 i% O8 \1 {+ I" P
            {( U% }  m2 g. M
            printf( "Default...\n" );
# D7 {; ~: V  H% ]+ H            }
5 @7 Q* l2 O" N$ e! z4 X4 Y* _5 v        }
7 L  h# r: }- F0 z% @        return 0;7 B; [) _7 Y& F% D
}: ^% v  @  s2 v5 S
) Z" g* _4 p+ [2 ^, z1 v
static int cav_mill_param( int numop, tag_t *operTag )
+ s0 R: ~# m& u" t1 E- q{, X$ Y/ @7 S: L
/*   int    numop;*/
! K; X, X0 w6 L1 m' ?  _3 a   double depthPerCut;0 R7 _3 _  N& f
   double stockPart;) l) Y- M& N( u9 t: ?& Z7 L
; D! X* x8 K5 V5 a" _
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
4 s" m- h4 x9 x    printf(" Depth/Cut default is set to %f\n", depthPerCut );
6 P/ m) c1 w6 @. _: M4 b* Z$ x    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
$ x- O  g7 O5 Y& W% [5 S$ B/ t( h' q7 J    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );2 I5 ^2 P% K2 o8 L
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );1 }  U8 c4 a; |

; o- |# T# T" G9 l; ?    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
% n7 l" @2 \6 x1 J) w0 u. p    printf(" Part Stock default is set to %f\n", stockPart );
' l) U; |# _/ Y7 z' R( e" j7 z2 k    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );- U8 O) d* [! a9 P0 d
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );2 c+ u/ G, l0 n* R
    printf(" Verify Part Stock reset to %f\n", stockPart );& x4 y' M2 `! q, B+ e
, |* ]" f. O+ k# S) ^% C. y
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
. ~5 s% }& i; `3 Q8 P7 x    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
" ]1 i8 L. I* d$ i8 a4 t0 v/ b5 U, J. u; l/ d9 ~
    return 0;) H. q, v/ B7 }1 F4 E3 R  j
}7 T5 B5 ]$ m% c
  {* I+ R/ s7 _+ R! G4 @% q& h
static int flow_cut_param( int numop, tag_t *operTag )
% P+ i$ Q" j  x' n# Z/ Y{% g! F% e7 q% r
    UF_PARAM_disp_tool_t display_data;
- ^" h& r4 ?2 {6 r: e    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */( o7 V* @' E! ~# n* H# t7 J+ b
    display_data.frequency = 10;3 v% r) c' \- p: ?

# A2 [! ]* t9 I# F  R7 _    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );, |/ C1 D; N+ g
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );" {8 K  w/ B) I/ m1 z, J
    printf("Display data for tool type returns %d\n", display_data.type );5 j+ ]; O+ [+ b* S. i4 c
    printf("Display data for tool frequency returns %d\n", display_data.frequency );6 F5 K' W. n: I9 ^( d8 |& u1 d( O

2 _" H0 Y) _5 t6 E6 U( r    return 0;
, S* ^, J+ B, u. c}% p" A8 s) H; l& C; {4 g: a
; w, Y" c" R* C# X: i; [4 U# q/ s( m
static int area_mill_param( int numop, tag_t *operTag )
0 I7 n" y$ z5 K, Q. w) a{
$ ?2 J- C1 \! Z, x
: v# A, U4 s& M7 W8 X    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );  k) O' f  `2 G) `. H3 p) Y) }

% k, Y5 h  O! T$ H* X2 [5 V  ^/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ( b, _1 j" R, I9 P# s1 t5 r  Z
. t) ^$ R# S* W6 n# x, N4 [7 x! V
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
3 H9 o; X8 H3 Q( K! u    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
2 {. j; f1 q" [0 K
2 N* s5 P& e" a* W( N: s    return 0;7 f7 I& d, F* ?- t8 Y$ c* G
}0 o- q* {* t6 {2 Z2 i  j1 u8 n
6 H& S4 W# g& A8 O  B' a: @0 W; H& Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了