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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
9 P# H+ [4 k* ^: {
一些关于使用ufun进行CAM加工设置参数的简单函数示例' H( }9 s3 j) M$ P$ U' u/ M9 b
可以参考下,常用的方式!0 ?* `9 F0 v$ D8 O

& H! b8 `# V; e1 K( \& _static int set_tool_param( int jj, tag_t toolTag )
3 s  N6 V. H- l. y+ a- z* `{2 b  [8 `- |/ ?5 ~: S! U
    double toolDia = 0, toolRad = 3;
8 p! K$ A& B: m+ F. E6 S8 m  q: B% J; ]1 n& {+ L! Q) ^
/*                 Modify the default 5-Parameter Milling Tool         */4 b( s3 t% b1 Z
3 n* P- o0 b1 u* a/ ?/ F
        swiTCh( jj )) e$ ^6 i1 v8 ]3 M
        {2 X1 H& D# `3 A1 H! J$ G4 X
/*                               Tool No. 1                            */
1 ~" _. H2 b# S( E# Z1 t/*                             Add a 3.0 MM crad                       */
/ q' ^! C! V1 U( H  C7 D' j( f( U        case 1:: i0 b6 W5 `2 K3 u$ S5 O7 d
            {& n% G- P+ }$ W! p1 p
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
" @0 u; j. F# y1 _1 w# D            break;
- S5 y2 L' S9 z) W7 k* A            }
& G) J& M  P, B' }, U/*                               Tool No. 2                            */# o1 k" G" W2 I! [! ^( C
/*                             Make this a Ball Nose                   */' n  X% _* P4 k
        case 2:2 Q( C! `1 t& C7 X2 s7 v
            {, x) {1 _( {( Z* p" G( j5 \2 x
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
$ E3 h: w' L0 D. W1 l            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
+ F; x3 W8 V# g            break;8 K  n0 M1 Y2 Z. y
            }
$ p) g8 ?$ U. N4 x+ Q  V/*                               Tool No. 3                            */
3 Y+ u0 O6 f& n9 d9 b6 ~2 V+ i/*                           Define a smaller Ball Nose                */
& R0 V5 [( z2 z        case 3:* f# T/ `: y5 l) Y2 [+ q* t
            {
, m5 b  L" p1 }$ u4 y, n            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
. l1 ~3 o0 k# @  K) {- X0 F            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
4 j- n$ v- z# Q2 G! B6 j- }            break;6 F5 o' H" n9 s( s) E7 V
            }4 V; J7 Q0 W. }" P" Q% |0 f: q
        default:6 m$ L4 m# M8 S) j" w9 ?  O- W1 y
            {
3 L: Y6 ?3 @( |" r- r7 N! H            printf( "Default...\n" );
* w/ t/ R5 O! k6 s$ a, j            }
) {3 U" f, x5 l; W3 X* h7 I' x        }
0 O8 T3 i9 q7 M        return 0;" w& @! m% e. Q% V% {; M
}9 ~" i5 u& @% C6 @: _
" i2 ]9 i8 z! d$ i$ D0 x% R
static int cav_mill_param( int numop, tag_t *operTag )
0 y# Q% D% H# G# _{
6 O! n) L" `( s: _- n1 o  d* R/*   int    numop;*/. b- S% q) m5 N% z
   double depthPerCut;
4 _- k( c. E# A. ?   double stockPart;
% G" B& z! _  I
2 U3 T! U' M& G+ f- l& W! E    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
# L9 Z3 y2 y9 p    printf(" Depth/Cut default is set to %f\n", depthPerCut );  ^8 }4 z+ R8 T+ v/ L  G
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
# J8 G; Q1 D( g    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );  w- e# v8 x, P
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
, M2 j* D1 N( X* f
; R* q  Q0 O. G4 ~; J& ]% x0 ^    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
* Q* z- U6 g$ l( N0 `' a4 z    printf(" Part Stock default is set to %f\n", stockPart );$ M0 g" a3 T% {' A
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );) y4 R) ?/ }* Y! ?" Y
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );+ h# h) w# [9 M- V* F7 k: |$ M
    printf(" Verify Part Stock reset to %f\n", stockPart );, v3 ^+ m; M  W+ b5 M
% y% |' b* [& B. C& Q
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );7 W% d5 s  s) c) ^$ a8 y6 [7 }
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );: W, X# l0 u: ?/ O* s5 }- V
7 T8 o  d% ?5 d: S* ]) ^: r! z6 \. P5 m
    return 0;
% a; |9 e$ F6 d8 X( j1 ^}
. X" l! U" V8 q, m! Q: x
" T! E4 G) H* C! @, V% Lstatic int flow_cut_param( int numop, tag_t *operTag )# p) S4 P+ n" b8 \% ], K
{
1 J  ]; c9 w: q+ S: V: P) K    UF_PARAM_disp_tool_t display_data;# _0 \8 n3 h) O7 @
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */! ?- ~1 ?* D2 x/ O+ X# X
    display_data.frequency = 10;
4 V& k; v' {6 U8 A! {  P" L' \5 T% Q9 H5 J
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
, O6 ~5 b  R) V$ X9 d    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );/ z7 @& z$ O  Q# |: ~" H- K) \
    printf("Display data for tool type returns %d\n", display_data.type );  ]4 e, F& W/ H/ _. e
    printf("Display data for tool frequency returns %d\n", display_data.frequency );% M1 O3 k# O5 L7 {3 \9 d1 b

% }9 U( i; t9 b! u. t5 K5 D7 m2 ]    return 0;
. M6 B5 {* z, x, y}
; z4 ?$ b, X3 t- P
( l2 ]! g  Q: F/ p2 istatic int area_mill_param( int numop, tag_t *operTag )
) W1 h3 S1 w% D) J3 T' r' v+ o; s{
6 `; c) f) w& j7 z+ C4 Q# m
% A" |/ @8 d# |2 [6 \! M1 k    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );: \& O" E4 I! b# \
5 E5 Q4 I: @0 w$ w7 j" R
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ $ O5 o( ]. D& k0 ^3 [2 Z7 A6 D

& O4 @# X% E3 L) ^# |    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); ) F* z1 L: s1 U3 B1 Z* U3 E
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
3 B/ P1 L9 c7 y3 E3 |/ y4 `; m
* r/ ]% k" b6 i; S    return 0;( p1 e) @. C: g* o- L
}' f  h* \/ a  o. G* ?( `

3 v0 r0 m$ p5 `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了