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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
; a; Z$ r1 d; Q
一些关于使用ufun进行CAM加工设置参数的简单函数示例
' X+ A4 L8 o8 l$ H. Z1 X9 |0 N可以参考下,常用的方式!
! F0 m1 S9 Y; g1 m3 ~
0 e9 H$ T, Q& p6 q: Q; C# tstatic int set_tool_param( int jj, tag_t toolTag )
$ O4 l; c" c  J! i% o7 N! N{6 W, O4 K# L  m* C
    double toolDia = 0, toolRad = 3;( _# q1 d$ R' r/ g2 M
5 V. t/ V0 h; S& K( }; M
/*                 Modify the default 5-Parameter Milling Tool         */
. y$ N+ R3 b1 Y( p- d- H- ~, I
6 ]8 o( o) I" X: C5 |        swiTCh( jj )! V0 L6 ?0 h9 u/ c" M5 ~; _
        {
6 K9 {7 z4 b" |/ \: L/*                               Tool No. 1                            */2 k2 J& o/ ?0 [
/*                             Add a 3.0 MM crad                       */6 r8 u  u" i1 l
        case 1:- C3 P9 |0 J; b+ ^0 g' Z
            {- F  x( L- b0 D: j* b9 ^
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );. B% w; Z# q/ E. j$ S( k5 `
            break;! O! h" @, W2 I" c/ a7 C
            }
5 T+ A8 s" o# `7 y% W$ U4 d; a/*                               Tool No. 2                            */; `9 ?. e4 f5 \, h
/*                             Make this a Ball Nose                   */* ]4 G5 k- Q  Z# J
        case 2:
3 K8 l# Q2 e, a6 U; w            {
! y- p" n2 s3 d; j9 |) D            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );  D3 v8 _% J+ s. i
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );6 |) Q+ d" j0 W# x) W% y! c
            break;
  K1 |# l3 N* _! [6 a            }0 Z" [% v- D/ o3 M3 B1 s4 B* b
/*                               Tool No. 3                            */! @4 K/ ]& z' |& y% I& m8 N
/*                           Define a smaller Ball Nose                */! @' {, \; n; t
        case 3:
$ x( s( J- H6 M0 E* D% I0 X. ^! @            {
7 j2 E; j0 H: q: l            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
- l" A) n, s* b% n% W5 U            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
& k6 a0 Z+ g2 n7 T8 C1 w            break;
# ]8 X" ^6 K/ n) h) f            }; F4 {, W% A! Z! P- ]% ^2 c/ t  p/ o
        default:* c3 |' H; Q. E' N0 r! K
            {
1 Q6 Z1 o7 h* q( [9 }            printf( "Default...\n" );
. n- O, ^: K1 ]2 N( g/ v' x; ~            }
/ u2 O" W1 g& Q8 Z        }
9 W5 b5 \6 r: R        return 0;
* m! c* y0 _; \1 H* L1 J; I}
: Y" Z7 n, L9 V% n8 m( S6 w
8 f* [0 J, t  K) d' _6 t6 ]static int cav_mill_param( int numop, tag_t *operTag )
, {/ ~" |5 _3 F) D4 ^5 U{
* s. s! M- m& _/*   int    numop;*/
& m; W6 t; Z( x# ~& h" S5 U   double depthPerCut;
& T9 C9 g) J, `4 w  L   double stockPart;* Z  B. u9 g0 Y! G

1 c* y5 N! E! ], V$ y  T    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
; q; p* Q7 I! I    printf(" Depth/Cut default is set to %f\n", depthPerCut );
1 }+ Q. e" V: B3 b9 H$ @7 Q    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
( s2 X: a( T1 k3 G2 U    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );2 R2 Y5 p- v$ e% ^
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );# p' i; a; a+ [3 ]1 S$ o# d

! f, r* T% J: P  k1 ~    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );; E/ c) U: f& F& F1 l' k6 E
    printf(" Part Stock default is set to %f\n", stockPart );5 {" c( }. C7 P- d; G' e( q
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
5 U$ ~" d! @9 E/ j& X+ V    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );1 [6 x8 D: E5 F; Y: l4 A
    printf(" Verify Part Stock reset to %f\n", stockPart );
8 c: _! ], L- h" }! g* Y
7 j$ T  N9 W0 D% e, I6 i1 c  X5 }6 q    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );3 y& I' ^* k1 m" b4 h9 P# S' o
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );7 I7 b+ D7 @. Y, ~( Z

0 }# E) G( X- f; [2 D    return 0;
* `2 P; u! y3 r5 o  U}8 w) ^  ~( u; y  ^; f  v
/ t6 `6 V" C. y7 Q
static int flow_cut_param( int numop, tag_t *operTag )/ x8 Y4 N; @6 C  Z6 |$ i
{# [6 d$ h8 ?5 K% O6 d
    UF_PARAM_disp_tool_t display_data;7 J: C. y  |5 ^
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */5 ^/ Q: c" y5 z- r1 A3 O
    display_data.frequency = 10;) |! l( j1 f8 h8 k- ^/ P

1 v$ |: P8 ~3 E" D0 y9 i    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
" {- Z+ c7 \7 y& J4 @    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
" d/ g7 G$ S5 o+ g* l" p# P    printf("Display data for tool type returns %d\n", display_data.type );  N1 z0 D: C3 \- `
    printf("Display data for tool frequency returns %d\n", display_data.frequency );& ?" g, I4 D% s- X1 R- ]

8 p1 ?2 Y" P# }4 E7 K2 B    return 0;
$ W$ C4 ^& q7 l}  L4 O$ p4 A" v3 N# h8 B. G

8 l- f* ?/ {& L6 i- I+ m# _9 e8 Astatic int area_mill_param( int numop, tag_t *operTag )
+ [; T  `2 {) e3 V{
0 R; w5 K+ G  ~  i) }3 j" Q/ y0 i! f& X7 n, Q8 G, I
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );3 [# F" E  k" l7 U% r( e; i

/ F1 ~; F# X% J. `/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ 2 j+ D. y. G& V  W

% C: _! B' t8 T! B) W' Q    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
: F( \# V* @) L    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );: @) K4 a+ b0 q; u

8 K  q' n6 ]! O" Z3 G; M) {6 w    return 0;
7 w& V4 x7 ^9 l4 `}
; s/ y+ t1 c6 a" E( W" f% _& K0 V9 C+ R8 `  K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了