PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

' U% K9 I$ E) C( R8 m2 x一些关于使用ufun进行CAM加工设置参数的简单函数示例) R& i! M: x/ O# S+ Z
可以参考下,常用的方式!
! F: z/ W% |# _( R  A& c
6 q4 t6 ?% a- U8 ?9 Ostatic int set_tool_param( int jj, tag_t toolTag )3 C1 H4 x/ {0 g1 x4 X
{/ A* I! n; [+ u$ E& H
    double toolDia = 0, toolRad = 3;
7 g8 @- C4 c1 `, P$ ^# U/ V0 _9 ~- L, A! \4 K
/*                 Modify the default 5-Parameter Milling Tool         *// V; V% e0 @. l! V9 `2 O, J) \

5 t0 T& Q$ `  w: ?, ?' J        swiTCh( jj )6 n* g; U' d: d, R/ e
        {7 j: Z* a1 j9 m/ J+ C9 M- s, T
/*                               Tool No. 1                            */3 {; X% P" p1 Z; ~  X3 S
/*                             Add a 3.0 MM crad                       */
9 |- j+ x4 I( t) A" t$ J        case 1:) B0 W/ w" P' B* ~
            {
- X4 d2 g( J* y  u7 R2 y            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );' |' o0 v% U1 k; m
            break;
2 r8 n: D& z: u3 M2 ]            }  S2 ~; Q+ A+ g" H
/*                               Tool No. 2                            */
; ~+ m+ w+ x6 q5 I% z/*                             Make this a Ball Nose                   */, {' A- D' {; @
        case 2:' ^# G( Z5 n8 O9 a: Z2 V( \
            {
* n+ H2 L# ?: N& U            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
+ r6 v  a; e) K* g2 h1 Z2 f            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
! T+ ^( i! x7 G& T0 j2 P            break;
! W  [8 x7 N, a" W' C! w            }
+ X5 i+ v; m% Z5 T4 Z+ G/*                               Tool No. 3                            */9 B. }' J! x8 k" k( B
/*                           Define a smaller Ball Nose                */
$ A5 t, L9 `9 o+ x% P        case 3:4 e( x  U+ ^0 D
            {
* ^) i, S* o/ ^            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );& I1 I9 K) g0 T* U
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );. @/ U2 J% j! m- V9 {) h( ~2 u
            break;
% o. G0 p, K' u; f" R% b            }- v: [& C$ y: }! _) P" T* p
        default:3 J' Q. J! v8 Y6 O
            {
2 w: U7 |/ \5 m            printf( "Default...\n" );
# U% h0 K. K0 z! i9 G" }$ u; X            }
2 S( h" G# V) W' H" L. P# p/ {        }6 S) @  z& S; T; w) h7 b) r
        return 0;: L  G  e" Z$ Q( j: ]7 A% [( G! b# O
}
& N3 s+ H: a; O4 M, _
4 O3 _5 x* j0 ^- v$ M! w/ Y, }2 tstatic int cav_mill_param( int numop, tag_t *operTag )
5 W# S( W, n  Z8 o1 L. Z{8 x% n% r8 L- ?4 U
/*   int    numop;*/
% i. Y4 s' r" k- c( E5 r: F   double depthPerCut;' q7 a$ [% e4 f
   double stockPart;
% O; P. n% G' L% D& e5 P- @0 X. s$ U4 N7 m! Y; Q+ \
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);+ Y+ P7 ^, ^! A% F
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
5 x- k6 R3 T4 q2 ^, D+ i- d. N# f2 i    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
$ b8 A9 I- R6 n    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
2 ^3 O0 l  O, H/ o. z    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
* @9 \# m* Z% ~1 u
. B8 m8 d2 M; G+ |    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
. J; ?1 \  n- y) ~3 t    printf(" Part Stock default is set to %f\n", stockPart );
* j* @* m' Z! u$ v7 ~) \- C    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
" M$ q, D0 `% ?) B    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
0 Y: T8 b. ~! T' ~4 |    printf(" Verify Part Stock reset to %f\n", stockPart );
" a. c2 X! W" W: q0 S' O0 E
1 Q" i% I9 \1 O2 J" ]  K    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
6 p; D/ {5 C5 q2 O9 d' `2 _    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );( ]" s. P$ ^* J& j$ j  z
) w9 A5 ^: A% W6 w; m2 c7 I
    return 0;2 \8 b5 H2 _0 C  G6 ]
}* U8 k! K2 D+ r! z& q
# C) ^( i( L/ L
static int flow_cut_param( int numop, tag_t *operTag )# J/ a& @3 ?3 u$ [/ U! ], ]
{4 Y6 ?% w# b/ H* v
    UF_PARAM_disp_tool_t display_data;
$ D% [# Y! D9 ^# t! T    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */9 d6 }. @' u/ ~* R* e- Z
    display_data.frequency = 10;
) X$ G; D- R, n9 [! k" R0 {
8 q3 I( Y: Y% n% N1 l    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
2 r3 O0 p8 L' l# {    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
. h+ t' C; N0 x8 R* U    printf("Display data for tool type returns %d\n", display_data.type );; X+ W8 w5 m* i: u# D
    printf("Display data for tool frequency returns %d\n", display_data.frequency );' }$ g6 j2 Q( N% c

% ]: m- N" \4 L: f5 Z+ V4 \    return 0;
  V9 n# g# ~4 ?  j" H) Q}
; a* {) `2 J; n, F, c5 i9 U
' v' d* e$ V: p8 j: Vstatic int area_mill_param( int numop, tag_t *operTag )0 q( p' y3 b2 f: O$ Z7 G8 T5 g
{; U0 y8 t6 I" i, x7 l  L! q

! u& c- [4 ]; b- w    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
3 t  @% e5 B+ |" \2 A, T, ^% t$ j! V/ p" `
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
" M9 z9 d) h' |3 X7 d3 D. |/ E* {3 j, C2 V% j) W6 J0 }
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
7 J4 g" w# y2 d! w- Q) y9 A    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );  z/ L! `6 y$ m* c2 o

9 _2 P% w1 y0 Z# D    return 0;
- v* R. ~# H) P* J  A6 v}
) u7 C# e  _7 [- a1 h
1 q- d: R, A4 B+ X9 \: Q, D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了