查看: 4138|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2015-4-20 19:42:50 | 显示全部楼层 |阅读模式

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

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

×
7 ?8 J0 ?* N% f+ z. E% R0 y3 S+ J' i0 W
一些关于使用ufun进行CAM加工设置参数的简单函数示例: d1 w4 y$ g! |/ a* S; Z5 w
可以参考下,常用的方式!3 M, w: y& l: k8 Q6 U+ L

, A9 Z% c0 ^) lstatic int set_tool_param( int jj, tag_t toolTag )
) G1 M: m5 `% t2 |{
! J4 \, w7 p0 O; ]* D! r    double toolDia = 0, toolRad = 3;" X& R- k4 K5 @2 \
, }, @. [% r4 j# c! b
/*                 Modify the default 5-Parameter Milling Tool         */
9 I9 ^- P( g, E
( A$ r4 L( ?! U( }! j% j: R! o        swiTCh( jj )
- w* u1 F; |! d7 v3 N/ j; t% ?  @! N        {
: v6 d7 n6 ^* z/*                               Tool No. 1                            */8 I5 @3 [( j* t1 H% r
/*                             Add a 3.0 MM crad                       */) I: F" y- \5 x( f! S) E9 A
        case 1:# B8 ?% \0 x# g- L7 F
            {
, _7 g" S  M" n2 {* X            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
( b" y2 K' j" C8 F            break;
" |' H3 i8 K& s) `/ Y            }% Q/ j# ?+ R$ k, O
/*                               Tool No. 2                            */
: x! F2 Z4 C: F$ e/*                             Make this a Ball Nose                   */
2 z0 s: q5 e! |; V        case 2:! o/ [: r& }9 l6 {% ]
            {
3 @7 Z$ V/ w8 x0 H0 Y) P* a            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
& _+ U5 P+ O( |& n. G* O            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );' h) t: ~$ S* l+ x& M5 N
            break;6 ]9 I2 |: l  ^
            }
4 H5 B) g& f& `/*                               Tool No. 3                            */
  n% z: M. ^' a# F# c/*                           Define a smaller Ball Nose                */1 E( J. K! m% R" H8 G% E3 c
        case 3:* b: j$ S" e. L, ^' {- X( s( J
            {; S) ^" r' ~0 p9 d
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );, o9 s5 B8 b) g/ R$ q- t
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
) r4 B2 X1 ^, U( @            break;
* V+ r: c' k+ \; \2 @            }, u* N) r6 k- v: r; X! I+ ?
        default:
/ ]" @4 D2 m9 a            {7 W5 T  _* E5 a" E; t) n0 k9 s6 h
            printf( "Default...\n" );
' d6 B% ~" s( _2 G3 W, Y/ @            }
; P9 L* A( L' t( `% g5 ?; h* v        }  P' i- x3 ~( N& Q3 }0 g
        return 0;
, N0 |8 i; H5 q& d, }3 {1 S5 j}: s3 i8 n% |; R3 E* s

5 l% \5 U: n6 ]( N' Y. n2 sstatic int cav_mill_param( int numop, tag_t *operTag )
0 ^% P" [' c4 ]' R* ?; `" k{
* b( v: [( z5 b/ J6 H0 O4 ]/*   int    numop;*/2 s( w/ L6 l; w0 a- I
   double depthPerCut;
& @' I, \$ X* }! t1 {- v# z8 C/ c  d   double stockPart;% T" x# N. t2 [& A5 R9 @/ \4 F
, x6 L, c% X# |' h
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);, B  h6 T- a6 H* P! M+ N
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
- \/ X% z) O# k% ^. o/ A    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
0 z) {$ Z& R) _. T    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );" B! h0 g- M1 P+ x' u) M& Q
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );, ~9 }2 Q& A. l5 o7 x1 d: b

; E  a. w, q, T' h- U; t( J    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
8 g" m! Z0 Z, @9 d    printf(" Part Stock default is set to %f\n", stockPart );+ U0 \$ U2 V: {, ^# j" u- W
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );' U# o2 I- l5 l3 k# f' l2 H* Q9 q
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );; Y( J+ }2 q" _. V1 m# e6 W( L4 e
    printf(" Verify Part Stock reset to %f\n", stockPart );
  u# j6 F- k+ T/ x, ^" D9 Y  e/ V& u1 F  x. \" w" _7 o6 y
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
, M0 X; o  V  x7 v) J. b1 g* o- }    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );6 f" o! Y; Y* O/ r* w1 w- M4 |
5 h: `* Z! b# X' y& C9 K4 x5 t
    return 0;
, f" b) F$ o/ C( M% K! p4 \8 k( ^) ?3 \}* m! S- ]7 j  z  o5 {' J
) q  f9 t) |; s- m1 E3 S  G
static int flow_cut_param( int numop, tag_t *operTag )% i3 _7 n" M# H$ \
{! p. a+ A+ {+ b0 k
    UF_PARAM_disp_tool_t display_data;
9 P' E4 J) P9 H- I/ h    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */# y" F" E  W- Y: E% Z
    display_data.frequency = 10;
0 l7 F7 W0 z0 T$ T- W4 B# p+ Z" I9 B, \8 ^' L# ~2 p
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
( [" S9 r) C3 h    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
% O" @! m$ A9 c9 |; n* K# j; Y7 L! t    printf("Display data for tool type returns %d\n", display_data.type );3 _2 V( l$ e8 c( w0 f( Q1 Y
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
  R% [7 A6 U2 I6 o# F4 Q
" z" a3 r' B1 U6 k3 P    return 0;
1 p0 V6 C% ~- E1 t0 g/ O}
9 ~: H9 |9 \9 Z. O! d
9 f  p& Z+ A- a0 F/ e8 W7 Vstatic int area_mill_param( int numop, tag_t *operTag )
* R6 u9 f& \1 Z) ]- R! K{
" C% D( r9 \1 o
, m0 e* |8 Q/ \% p- N3 P+ f& K5 k    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
, |$ L# y8 ^* U/ u" }2 c3 @" s9 d
) h+ K1 \9 R3 c) l# s/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ; M# x9 s$ g0 N! {! J# M) i4 @
( {/ r6 A: C8 R% A4 G. v
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); 8 Z8 E" l% Y& n- v  L4 A
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
2 X4 S" @) H, X2 R3 O0 Q. t& ]2 |2 }' t
% R% G% |: O4 ~3 j/ A    return 0;
7 S0 g  _6 q* U( e6 ?6 L}. i: ?9 ~  i6 c1 W. Z* d& W
8 B' [$ F- I$ j- ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部