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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
  ~6 o, J( h1 ?! A( b
一些关于使用ufun进行CAM加工设置参数的简单函数示例' z, z" z7 q0 e; }
可以参考下,常用的方式!
7 I; ?1 d: S4 E0 b& k  e( n& c: A; _) T5 F0 ]0 @8 P
static int set_tool_param( int jj, tag_t toolTag )! d' M# B2 F  b
{
% W7 N* D) B4 y$ N; D; I    double toolDia = 0, toolRad = 3;' W! |7 M! {1 k; F
% K; [6 C. G: t) P2 v
/*                 Modify the default 5-Parameter Milling Tool         */
( E0 A: W) j9 j. ?  f
+ _# l* z: h5 M  i  K' Z/ ^. G        swiTCh( jj )* T% @5 v( S/ |
        {
4 j# y$ i! d1 d" c" t. V/*                               Tool No. 1                            */
2 r) V0 h1 S$ ~  O/*                             Add a 3.0 MM crad                       */2 u- t( I' j* Q9 A- M
        case 1:
, z) g. i: x2 s3 E6 D7 s            {, ^1 A* Z- s. U+ n2 w
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
3 @7 ]2 D/ h& u            break;
$ G/ j5 N8 A" q0 t# o# X( ]! q            }
9 Q: d4 d& U. r) N: l/*                               Tool No. 2                            */
. ^3 @6 P( M4 j8 P" Y$ N3 D# ~/*                             Make this a Ball Nose                   */9 l. y0 l1 N: ^' n: i& B  s: w( N
        case 2:3 M* Q3 r0 q- b% Z  w& Q8 {: ?
            {5 Q) D0 D# @4 ~% y6 w! V) \$ n
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );5 e6 p3 {$ K+ h
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
0 D9 a# i5 y. |/ O5 G1 n; M            break;
5 M& ]' G* ]$ Q8 c            }
2 ^1 ]8 f" p$ X  o' V/ G/*                               Tool No. 3                            */; |, }+ u/ @  e- ^
/*                           Define a smaller Ball Nose                */' Z+ s* W( \. R4 Z9 |2 O
        case 3:& @* e1 F. x# W
            {
4 G( H& A8 B9 n' P            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );4 U; f+ Y7 ]- Z. Q# c
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
8 W  X, Z' X/ i( g            break;
2 Y# @4 [$ B" u; q! Y            }
7 ]8 y' t& q" I( O        default:
( b# V, k% p) |% j+ e9 L            {
) D: D2 w6 a  V6 M) O4 N            printf( "Default...\n" );
# v$ c% E/ @1 Q4 t) E            }# O+ q' E( n- \5 R3 o1 l/ M
        }+ j4 s9 V2 }0 i4 h& u
        return 0;- g0 ~  _* g+ {: O' ?! @, U
}/ Q: c$ a; E* k: B7 b# k
" ?$ x6 C; I. k1 b% q) \; s# q# ?3 e3 y
static int cav_mill_param( int numop, tag_t *operTag )
; E& Z; Q2 v$ H3 _{& M$ W6 v7 ]/ i, f! z
/*   int    numop;*/6 J) I$ m  I; v7 c
   double depthPerCut;
; P" f5 B3 B0 _7 T9 t' u# K6 s   double stockPart;' U8 {7 b0 [% P) r; ~8 k
; b4 M* R$ D, @7 n5 j3 Y/ @
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);! w% O, v2 f1 H7 `$ W$ R3 R
    printf(" Depth/Cut default is set to %f\n", depthPerCut );, U) K+ R# {- b
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );# [3 u, q# m  j
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
$ P7 r% C" m, l0 g& Z    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );5 S- S! {- q/ U

8 J2 _. ^8 B- V* }    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
7 c* \9 ~  ^0 [+ T) a( e    printf(" Part Stock default is set to %f\n", stockPart );
9 m, l* O* ?0 w" N7 G+ D5 |    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
, r! \: _. X/ Z    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );& T, ?6 g4 x7 H6 ~) [8 f) ?
    printf(" Verify Part Stock reset to %f\n", stockPart );; f4 p. \: N$ `" `1 g
* g' \6 e6 ~0 H* \5 T, M
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );, d& Z0 x  @9 M- a5 n3 F+ N3 U
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
: V0 Z- c! a! `) ^4 k- t! s% n) n" q5 ?- k- H4 N* v$ C; V) ^
    return 0;1 T2 s0 f, h$ n
}+ O0 V0 V/ P/ c0 }1 ]
. F8 W7 J! L% p/ o, x, Z" ^
static int flow_cut_param( int numop, tag_t *operTag )
$ a5 D4 F4 i' W) N' u6 A5 \{+ L, {: v9 l7 w  S& {2 Z4 q
    UF_PARAM_disp_tool_t display_data;9 f; S# P" |% ~, _0 j
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */) S: n. w; w8 x" {
    display_data.frequency = 10;
5 ~1 [* k& k% }3 v$ {$ p2 G- {  ^& n6 a, N8 V
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
/ F2 {' j0 P) d0 z/ k- d    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
' f: I# {! ^7 V) a- z    printf("Display data for tool type returns %d\n", display_data.type );
# E8 y% @6 `9 Q/ R    printf("Display data for tool frequency returns %d\n", display_data.frequency );
  ?# D! ^, ^' N- C5 Q
, ~/ n% I$ M3 o8 ]    return 0;$ o5 O8 a% z2 o# h
}! l4 ?" _* O& R1 r! S: Y; I* C
& ~" T* U, u1 s- z1 f
static int area_mill_param( int numop, tag_t *operTag )
$ }" y1 I2 |) D9 S' @, _{
% N" U$ K! s3 d% L5 v9 m3 `
* T8 z( ^/ q( o) P/ E% E. p    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );/ B5 `0 J( v* n7 p

2 o, E* _4 f3 ^: q% i" }1 i1 @, ~/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ % z% ?" I& @9 B* `$ j4 U
+ o' ?/ u+ A. q: H
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); & s8 C& M4 B4 k, ]3 F
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );: x8 l; V, A4 \

  J& J# ?% a2 d* I    return 0;
5 \2 M$ O) ?! |2 G' P}
+ N& L0 l3 N  J( r$ i3 _) ^" e: A9 g6 ~; i7 F6 O0 }1 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了