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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
$ g+ I( V+ l. |
一些关于使用ufun进行CAM加工设置参数的简单函数示例
- y5 e& F' T8 j. g可以参考下,常用的方式!
# @& e( |5 p2 q: |0 B+ W' f  c' O, U4 Y! X9 ?, I8 e3 x8 q
static int set_tool_param( int jj, tag_t toolTag ), f3 e+ ~1 a8 Y' i/ d5 d
{4 s' U3 t! ~% |7 w1 J3 A3 {$ i7 Z
    double toolDia = 0, toolRad = 3;1 o9 ?6 [* s% ]! `+ n8 l9 P( g
# \+ x; U2 q6 r9 T8 V
/*                 Modify the default 5-Parameter Milling Tool         */
0 B8 C2 Z3 o3 \3 O5 s, l- E+ G- f2 h/ h
        swiTCh( jj )
; A7 j' k0 h) C! |        {
( e) @! R# ?  ]- T0 H& o/*                               Tool No. 1                            */: o( A. b3 M: I  e5 X
/*                             Add a 3.0 MM crad                       */* M8 d0 i9 T4 b, p
        case 1:
! i3 p! m/ l7 K( @' k* ~6 l            {
; d: y' S. {( S# h" X0 q            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );$ B' C' y) d1 T% X  S
            break;7 w- r; l& K. ?4 y
            }
3 Q! }: {; b% v0 L* V# a/*                               Tool No. 2                            */
6 d- |# h" N4 m6 t$ v$ t0 {/*                             Make this a Ball Nose                   */& x! n/ U+ u7 ^
        case 2:
* I, M" ?2 \9 B! n8 a            {
, t. |6 _: e7 o( D            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
4 O% B: B9 t  a' K: w            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
$ F7 p4 N7 ]! ?3 c            break;' r( Z" E9 N% ~1 O  M
            }; [, r! b( B- w) c
/*                               Tool No. 3                            */
7 U* r8 A7 H& j" ~5 m/*                           Define a smaller Ball Nose                */
& b7 F7 E0 s: D. {/ r        case 3:
3 J/ V$ _3 m2 Y; ^+ Y* d            {" T" n4 }" m) r- Q0 l
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );2 L' @+ c2 z2 p& L2 u
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
' U" `( f& R0 F6 y            break;
  w% w8 b/ V- @$ V            }
' ?8 g+ [5 P' Y0 X1 p1 n        default:% t+ [/ i* [& Y7 x, _
            {# s0 e5 c2 f9 |4 t: `1 |1 O: ~2 o
            printf( "Default...\n" );
! n1 {8 v! N' ]. S/ z: u+ ]            }
" b& v4 D; d1 |1 y# V. A        }
' q+ U2 e' n- F. P) D        return 0;0 K/ }& m! u9 t$ L1 r
}
3 @- v+ C+ _2 Q6 M0 w9 a6 M- w+ O) E4 T3 ]& j
static int cav_mill_param( int numop, tag_t *operTag )  x) c9 P' t/ P9 @# B6 q
{
' j1 m3 G1 T' k0 Z& v. t/*   int    numop;*/+ e! v9 {3 z# A1 F
   double depthPerCut;9 T4 A0 }6 @  r: P
   double stockPart;
* {" @9 C! n  I5 H; T
, {$ v2 ]( `- T    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);/ S4 V% r5 V" y# E
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
! \4 ^/ x- w- x. {% {/ h1 p4 z" y    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );: y* z5 s9 S8 g/ l0 M/ `
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );2 {/ S5 L( R* L" S$ [
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );, m7 g' z6 M5 @# U, W
# T; F' f1 w/ d2 ~" Y) g5 G4 V; V
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );6 W+ q+ T' ?+ v1 ~+ O7 u
    printf(" Part Stock default is set to %f\n", stockPart );
+ f" _9 B2 u" }5 P7 i2 _    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );9 Q2 G; b4 k7 ]
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );- G: f+ d3 h* x
    printf(" Verify Part Stock reset to %f\n", stockPart );2 L$ N; L# P$ j% \

8 G, y! K+ S% V    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
# ^% T2 j3 o/ s3 ^    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );) k( M6 `! x# Z9 b% c& m4 E0 R

; v$ d  B" ?$ Q    return 0;& _: [- d% `+ b
}
. m) C5 r- i" x0 w! ]. P" y! c- R. _  k
static int flow_cut_param( int numop, tag_t *operTag )6 K1 Z, F+ a# m0 M5 x! `5 v
{( I9 j- B# k) s% K& |
    UF_PARAM_disp_tool_t display_data;
, z$ g8 {& G% K8 z# H    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */: o" P& m0 ~: @- K
    display_data.frequency = 10;
2 F  I% [& i# ]  G* f! A% ^  Y- b, [
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
3 d& g4 K. y. W9 w5 {    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
6 P5 C6 x' `& h- Q& Y) s. F& e2 l    printf("Display data for tool type returns %d\n", display_data.type );, E% p( q" n& |5 k( x+ j) p
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
' r4 i& E( Q" h9 G4 H4 w4 {3 J2 j" H, D) v: ^* p3 X
    return 0;
  F5 f7 b$ W8 v; ]}
4 j$ o+ ^# r& i" K+ [- k, W
6 z' w  r9 W7 A7 g9 B6 Hstatic int area_mill_param( int numop, tag_t *operTag )! f, v+ O# x- C4 ?: j2 V' E, _, q
{
; V& f1 }$ e7 n* [
# g3 d( m; o0 x8 v    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );  X% `# s$ n/ n; H8 b# x3 Q
/ j- ~' V6 v; n, \% r0 i9 L* C' t
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
& y  W- T' w# f. O( }
- I" }3 M4 J* i" Y' _    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); / P1 D! M2 W4 V& O5 W; I
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
7 Y8 K1 g: y9 d6 V) R
% c" W, t4 e. D! {9 U+ c    return 0;
9 n6 s+ e! y, {3 Z7 h9 e* {}" v  W  [5 A/ @  }# c% T
# j0 j" V2 T  j  K9 |; c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了