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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
, t3 ~! r! `) \/ l! B0 i
一些关于使用ufun进行CAM加工设置参数的简单函数示例; v1 g* }, _7 K/ _2 e8 {
可以参考下,常用的方式!
7 H/ J* n3 g5 c5 F2 I* k; e! I4 `6 T( Y3 @7 t  Q) X$ j
static int set_tool_param( int jj, tag_t toolTag )
" T5 G+ a* P/ w$ q8 L+ T0 K{
# ?+ e7 [* m! d( I! |    double toolDia = 0, toolRad = 3;3 q4 d1 q1 l, D0 }) G, J
/ S9 Q0 T/ M7 t, z3 }! D) X& P
/*                 Modify the default 5-Parameter Milling Tool         */. W  }4 c" S0 T: R  s4 Z7 ~
- G+ W0 c1 F* ^% {$ n
        swiTCh( jj )
0 R2 Y! o, k$ d# v9 r        {6 v4 N- v, a9 `! W' j' G: q$ p
/*                               Tool No. 1                            */* m% K1 m. V' ~7 Q$ P1 Z6 [
/*                             Add a 3.0 MM crad                       */$ [) K( ^+ L+ I
        case 1:/ q8 c" l0 }! D" K8 u
            {9 |, J" t$ U0 [  w) R
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );  {' w3 ^/ n0 l# Z! ^
            break;
; K4 o' }1 d- |7 \% m; _9 I( e2 S            }
5 u9 a! }7 l4 M; A% Y/*                               Tool No. 2                            */; S; |+ q" ~( [
/*                             Make this a Ball Nose                   */
( B1 O  e) z% a- M! k        case 2:8 A8 f7 g7 A( J! S
            {
, Y- w  C0 p! o. H9 [& w2 ^% ?, i            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
! Z" S$ {3 m" j, R, J/ ^- g$ V            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );) _0 f3 B) A+ U
            break;
) g, s8 n+ F2 X8 w+ p            }  D. X, ~( y: H6 }
/*                               Tool No. 3                            */" M1 o+ Z$ G; j* V
/*                           Define a smaller Ball Nose                */6 O: C+ e8 Z) m) |- C( d
        case 3:  R* r  @' _1 [' s5 L
            {. J3 y0 M# i8 O5 M. ~4 l8 ?  E2 s8 a
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
. ]2 d) R7 s6 u" j% J            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );, G- {0 \+ |1 K7 z& Z2 m
            break;7 o3 \$ W+ j9 u  C& O0 g
            }* R7 l4 v2 z% F  E
        default:
, b2 M, S% t1 e2 W; z6 O            {2 h3 {* _) u  ]. \
            printf( "Default...\n" );% W0 i; d7 A& I* e3 b" x
            }* x7 L/ i  v/ Q9 z5 k( _+ c
        }
4 E; F$ L) V( f        return 0;; j0 ~0 J7 U, q
}$ r2 G9 {6 Q4 @# r) T1 r) b, i

& g: H  |1 S9 ^6 _9 ^" f( x- g, ]+ istatic int cav_mill_param( int numop, tag_t *operTag )4 A- p0 l  O0 M/ }4 q
{- t- j9 X, ^8 k
/*   int    numop;*/
9 S- |1 E# D7 X  u: s   double depthPerCut;5 _5 r$ q2 g' T' _. @
   double stockPart;2 Q+ X4 e3 y/ c
5 n; @3 T- i" u* S$ J1 J
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
2 z+ w8 ?2 H5 Q. }: n    printf(" Depth/Cut default is set to %f\n", depthPerCut );0 G4 i. R- i! y$ ?* p; k1 A
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
9 m) o  {% w* e3 Y) r    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );) [0 P) K" k* t  i
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
  g% H9 S, l# @( b8 P1 v8 V4 N8 o( l
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
2 i/ m1 m4 x5 Y7 ?+ E    printf(" Part Stock default is set to %f\n", stockPart );( n8 {( T# v5 N# b
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
& U2 H, R) B: \# s    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
) _& d7 F% C7 f8 E, v, A    printf(" Verify Part Stock reset to %f\n", stockPart );2 A" K2 A; a6 }
# F; e2 e0 [/ X$ i; D8 r- n$ m
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
$ H( _, p2 w9 o4 D    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
# ]. D( m+ h5 m( A: P% A( }. x# P! |! S% U( S
    return 0;2 @( A$ Q/ N3 v, N/ j) ]% b
}
; ]8 H/ u* k0 X# S* V+ T& N) l9 G) [+ D+ w( i  K
static int flow_cut_param( int numop, tag_t *operTag )
8 l! p+ U( T2 k4 B" ]- [: K6 }{
( V7 M" \0 j1 A    UF_PARAM_disp_tool_t display_data;
* F. d* ~  U  J. C* W0 k3 |    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */) y+ H4 l$ [8 h$ w0 w
    display_data.frequency = 10;
# V) L: a( X3 _# ~- l+ a* B) U( H$ T7 p. |' i/ C! [
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
. M9 m( O6 v8 Z, b; q, D# X/ w' f    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
$ g' a; o7 i3 v5 \    printf("Display data for tool type returns %d\n", display_data.type );
, d1 V' l( q* z2 p    printf("Display data for tool frequency returns %d\n", display_data.frequency );
2 I; N8 m+ s& r! P% F& ^
0 z% y" a" a+ J( R- J# r    return 0;
% m( f: b6 [, ~0 @- Z, ^: |5 Y3 s}
6 \' r, T2 y) {1 w# z4 s5 C0 e7 ^( c! X4 c/ r& ?' A
static int area_mill_param( int numop, tag_t *operTag )/ a6 J5 q; W3 ~1 u& \% S& `
{; {% d* V, }7 Y" p

7 I4 C# x) ^" z. |    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
+ F* B3 z  r4 C) h4 f) F
- j# n- _) w* z, @/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
$ C( W; L  a) ?+ r/ {8 ?/ i- ?. ]3 ?* \/ ~: f
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
: p, ?6 N/ o( p' V2 f. Z    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );0 W, }& X6 d3 ~' _5 i' Z# j4 A' g

  n: x2 ~' _9 I    return 0;
7 s. d2 ~+ @7 S}
7 H  r" N) P+ f0 t: @; S
6 d% E, q- B3 Q. Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了