PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

3 l  J5 k  \, b: z4 {! `一些关于使用ufun进行CAM加工设置参数的简单函数示例
$ g7 [( V4 f% c) n2 m  u可以参考下,常用的方式!
, [+ [# Y" {, ~
5 J. B  d7 w. S) O( \static int set_tool_param( int jj, tag_t toolTag ): j* i7 a+ A7 B( W) F
{& S1 c3 L9 i" E: o$ _/ e: h9 _
    double toolDia = 0, toolRad = 3;: s2 t* i9 D% r

0 I& R; `: W2 Q0 [8 s/*                 Modify the default 5-Parameter Milling Tool         */
2 o$ P4 b1 k) _. l. B6 Y9 w+ s  A3 v3 J$ l. d
        swiTCh( jj )* ^" D5 j. h, k
        {6 R3 g6 K! G: t# R3 U
/*                               Tool No. 1                            */3 ~0 N8 U) `: Z2 D8 v3 X+ O( K: O
/*                             Add a 3.0 MM crad                       */. s( ]% i, t& R* {' |& K( N
        case 1:
) n* r9 z/ I( ]. \0 h2 X7 s( Q' ^% y            {9 c& S5 B. j  Y1 P( B- M2 C! T. j# k
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );* l, n0 t" R1 k) X* T; Q5 H! J, ~
            break;1 a1 W7 k) e; u9 w
            }8 p' q  q- l1 E% `3 x
/*                               Tool No. 2                            */
" E& z# A& h2 j) a& S' D9 g  Z/*                             Make this a Ball Nose                   */
4 Q" h1 U5 Z* y8 H1 n/ c        case 2:1 ]6 q" Y$ `+ t' l1 b
            {( s& W! w1 Q" w: {, n
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );! z7 Z6 Y; l9 b8 D( {& y9 Z4 i
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );) w$ H! r8 g0 H/ J6 h0 I
            break;
, ^4 ?! \" _# R6 Q            }1 g& a$ D, j$ x5 a6 }+ ^
/*                               Tool No. 3                            */
! k0 T' `. y* ?( C8 q" Q8 c' g0 s4 a7 N/*                           Define a smaller Ball Nose                */( D: q( }0 _& u3 ]* C
        case 3:, S* D% h- w% p  L, x: X
            {; l6 c' @5 N$ B* [( ^5 M
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
$ [$ y2 ^4 a, G/ P5 [            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
% t# n4 t5 X1 C' k. u& k( q+ M5 d' E            break;2 d6 M8 l& z) W5 V9 T
            }+ S4 _( T" T5 M/ ?( c' B. J
        default:
, Y" |0 B" ^$ N+ N, z% W- ]            {
! y) X0 ?& b3 J+ {            printf( "Default...\n" );
9 K* ^9 m3 V  s6 T  s. x' L' @$ X9 |; M            }4 X! P% N4 @, \7 w4 M
        }$ ?. }' T* I0 g6 G7 m& v
        return 0;
# y( J) t! k+ C0 R$ @" }( U}
- Z! M1 s( E9 I* r7 N) [( _7 r5 J1 ]* ~  e( W1 [! ?
static int cav_mill_param( int numop, tag_t *operTag )
, k+ t9 T( K( v% X{
6 W; W9 h( i5 O6 _0 f/*   int    numop;*/7 N3 y9 r& g/ t
   double depthPerCut;0 @/ K5 f6 u) \- v* b% C; T
   double stockPart;- g# h# c: P! \8 |; E  K
6 \/ {, z: \$ r% V1 O, q8 U, Z& r
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);. j. T" [0 U1 H8 ]$ e% L3 }4 D
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
. n; o) C+ O6 e1 D2 M. D* W3 H- X    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );: z# d: J$ d& W8 r" k' T1 l
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );5 W. k' P7 b1 L7 T) f
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );' k; `9 h; J8 ]2 R6 k; D4 }
0 M/ I$ D4 @# k! [; @: k" [
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );( l( K; b0 Y2 \! Q
    printf(" Part Stock default is set to %f\n", stockPart );# g' d  A, p# L" I0 p
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );$ i7 f; T; y8 R% Y8 x: S
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
; L9 o) F1 |0 b    printf(" Verify Part Stock reset to %f\n", stockPart );2 c4 E0 b& Z5 i  B/ e

2 X- ]) w4 K, M+ N& {/ r0 a) S' Y    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
% y( G: l3 V# I4 f    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );% ~! q+ g0 N3 Q

1 r8 [6 Y2 b$ ^+ T8 r    return 0;' y6 ~: ^$ p7 V
}$ N& s8 q3 o7 y1 J1 z) l

& d  w  X# K# B7 v8 |9 vstatic int flow_cut_param( int numop, tag_t *operTag )
% x  j1 P* w. B/ u% V# h- t% {{: i3 H4 x- Q" [, ^, b; U, _' B
    UF_PARAM_disp_tool_t display_data;" m# O0 F2 g0 [* ]8 ?
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
0 J! C4 V* Y& v    display_data.frequency = 10;
8 n( n# B" }: P% S% D7 A) [# U6 r- R: j) V% t/ h, |7 J5 c
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
8 l3 w: v# X% M4 E    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );5 u* j' J) L# v& A7 I. E# _
    printf("Display data for tool type returns %d\n", display_data.type );
" o" |+ A* j* b: q, _8 T, w& F' N    printf("Display data for tool frequency returns %d\n", display_data.frequency );
. W6 ~9 K/ o1 n& {
: X+ L0 \& t0 R4 g6 s    return 0;- l5 ~" A6 Q: }' J9 P  }" X% |
}
. z# `. l  X& m' Y5 T4 S. p8 W9 D% z! x1 ~. X; J
static int area_mill_param( int numop, tag_t *operTag )
4 B: I# X8 q" ~& v! ]  ?' r{! g" v+ `, J% d3 |5 ^

: j2 D. H) a, C# n% v0 m2 v$ }" ?3 b    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );1 ^, m/ d0 c5 [3 f; ?

# V' b  U' W+ A/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
' S! r! u! T0 N$ j0 L& ~
$ t9 X' L: x. k; @' X; I5 v    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
4 U5 r6 e7 J0 M" d4 y: Q    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
; Q# ]2 y2 I( t
$ g3 Z) F/ `! V4 ~: r2 C% c    return 0;
- Z/ a8 |- ^* F& g; a1 _# {}6 U" I& ]; s8 ?  [. c

8 ^5 D( q8 @. @( M; S
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了