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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
2 y6 P$ k+ s: ]; ~+ o4 E+ J, y; Q
一些关于使用ufun进行CAM加工设置参数的简单函数示例- q, n. `/ o1 g* m% I6 b; [6 _
可以参考下,常用的方式!
6 i4 J2 e. q0 g, s$ ?+ B* E; T  |0 a. ]/ \* T  s
static int set_tool_param( int jj, tag_t toolTag )5 n$ p8 `0 l! J
{
9 I* n8 `% S; I: ]- b    double toolDia = 0, toolRad = 3;% I6 y' T0 p% b0 O* w/ d1 s
0 V" d7 N8 d0 a' ?% Q
/*                 Modify the default 5-Parameter Milling Tool         */& K( m; G5 v% G
5 K! \4 y7 |5 |# M
        swiTCh( jj )
4 p3 m0 G" w1 `3 U" w        {
  `# d% N% [4 @/*                               Tool No. 1                            */
9 ?# l8 N/ P1 ~% T) w/*                             Add a 3.0 MM crad                       */
# t0 Z6 V1 V$ T& U( p3 ]4 ?6 X        case 1:
& N) Z% k# P& l: ]            {
8 s. ?  a+ v2 J1 P& c            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
0 l2 T, r# }- |8 q            break;
8 I+ @3 w9 e( W6 H9 J4 t            }
  K" u7 ~5 A$ v% B7 R5 T: R7 L/*                               Tool No. 2                            */' p8 X8 `0 h1 y
/*                             Make this a Ball Nose                   */; d8 I, W3 j5 O' l
        case 2:
! C" |4 n/ N( p! L* a            {1 ]( ?5 ?- s( C6 }* ?
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );% S; x8 {) k. B" c& M* P2 e
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
) ~! h6 O8 [, \( k% ^0 k            break;
2 x( ^- w- E/ _* p0 R& I9 t* T3 q            }
( x$ ~7 O# N2 L4 V+ n! S/*                               Tool No. 3                            */% x* n* y8 `+ M5 l1 B9 P
/*                           Define a smaller Ball Nose                */# P' V& R) Q' x
        case 3:
3 p! U% z: J) R            {
/ X+ l, Z; V9 d2 z$ F6 g4 W            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
/ o4 ^4 A( ]3 l$ ^/ w            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );' h- W+ B6 |  [
            break;
' F$ ~8 \" h2 a2 D3 l" `2 e            }
' j1 r; t: ^* |2 g/ p2 z( H        default:3 ?. j( y. V% u
            {; c+ u8 Z* R5 ~1 e
            printf( "Default...\n" );: s; J7 \8 D6 L% M$ q
            }9 V  H7 Z4 ?; v( J, v0 q
        }! A6 g/ L+ V( i1 q
        return 0;
6 \8 u* _1 n0 Y3 Y: m, n}
% o7 C  ?* V5 I# ]9 C; W
3 D' r) f* c% Z  Qstatic int cav_mill_param( int numop, tag_t *operTag )( U4 ?1 v" m& B! T. @
{6 V; C; O" ]/ R* p* S3 ~' W2 d7 R
/*   int    numop;*/* G! s8 @4 a, i  u
   double depthPerCut;
  k. u5 _9 R& P& K" d+ p9 n   double stockPart;
( R4 V- j) G+ R0 p: O: t# @  i% i7 W9 @5 u$ P  X- U1 l+ g8 y2 G" n7 |
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);7 t1 l' N' p/ v; k
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
( S  U0 Z3 j. [$ v- t    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );/ V: b/ ]# u2 D$ r& G
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );  i% m+ h0 a2 z0 X
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
  s9 y- l% O* v
! G. J; c$ ?9 k) U' _$ f6 A    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
( ~0 e, H$ m" {/ F& C5 |    printf(" Part Stock default is set to %f\n", stockPart );
. {% u- H5 l* o; s* V6 L1 g4 Q; E( e    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );- i3 |" m) Q0 V" y
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
/ o. s$ ~8 e+ w. {: z    printf(" Verify Part Stock reset to %f\n", stockPart );2 @# V! X& }8 ^
' E7 S1 }! Z( w6 c
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
5 c) c: V& I' p% m  L" ]& J. V    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );6 b; ?+ J& K' Z) {0 t- I/ h! d

4 T" v: A5 B9 T8 c3 ^    return 0;  F) s* Q* V2 W1 D1 _7 T. s0 G
}" n9 ^2 w( T: M+ C+ g0 g* u2 `

! ~  [! B" ~" V$ rstatic int flow_cut_param( int numop, tag_t *operTag )' Y0 @8 R0 t. {6 H4 w8 ]- }
{, |2 g# G& _" X* l3 {" O% i5 Z- [
    UF_PARAM_disp_tool_t display_data;
# p3 C  g  r: @8 H# d1 u    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */' D2 ~; B) Q8 ?! y
    display_data.frequency = 10;) ^$ v1 v4 S+ a8 M" A% O
7 p0 }; n, Y7 N0 I" l( j" O
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );8 U* M, l6 R2 S& C/ q
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );4 G5 t/ B1 I( `
    printf("Display data for tool type returns %d\n", display_data.type );
) X- e# Z- X+ T& v    printf("Display data for tool frequency returns %d\n", display_data.frequency );; w! v9 K8 ~) u: s8 h/ w

: W: T* }0 D9 r0 g2 G& m: s' E    return 0;. {; k+ _3 v! [% M
}
4 I% K& q' D7 Q+ ~1 T: U3 B; }9 @
* \) w& Y: T+ p, W3 o8 s: N9 Fstatic int area_mill_param( int numop, tag_t *operTag )1 |$ M/ `+ ]3 u& y- y
{
5 z$ h5 r- n! B% ^" d
$ f( ]" s( m1 B! K/ ?  v" F/ T    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
0 \! Z  B9 ~' Y# ~  ?
- p( {$ g# _( X' W# r" f# C3 J& S9 I# ]5 B/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
# E$ L1 v/ g$ M( W5 P) P% Q& ]; P2 O; ]+ z# U
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
) b6 y  L; X8 d  B2 P    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );7 x9 [: b! ]* o5 c

; q  t* B! x1 e6 e! K3 O    return 0;! p2 @- k7 }6 Y$ Z
}
" _7 R% Z3 `& r
7 o  r" k( B6 y  f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了