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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

7 |2 O9 ]! |# B5 E2 o一些关于使用ufun进行CAM加工设置参数的简单函数示例
- x" g0 F5 y% L, Y6 R* A$ X可以参考下,常用的方式!- l8 d) P3 }, F/ n/ C2 r9 k5 H) A
/ P6 Z! ^9 b' P
static int set_tool_param( int jj, tag_t toolTag )! x( f9 j- o2 \
{  h% W4 D' `; \" m
    double toolDia = 0, toolRad = 3;3 M" ]" n3 c2 m+ l

. e% o, h$ S2 Q' u: p) e/*                 Modify the default 5-Parameter Milling Tool         */
8 w7 y2 t7 I0 m: e. I  ?
) i6 P/ [- a7 g9 S: ^        swiTCh( jj )% Z0 k& |; Y8 `  r8 ^1 K% I
        {
- l3 j& `0 @" ]6 o2 Q' @/*                               Tool No. 1                            */& F4 z+ P9 ]  |
/*                             Add a 3.0 MM crad                       */
( n/ O9 c% I/ e, j9 w. x3 [+ P        case 1:7 n- q. q7 H6 p7 y2 X; c
            {
; j9 I2 ?6 }7 [' |6 |5 T            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
; Z2 {9 L5 m# O5 V" H            break;5 S: w2 ~9 [  V% ]$ h: r
            }
7 v% a# B6 Q+ q* b! n/*                               Tool No. 2                            */+ e7 o3 g( E+ W! T* y
/*                             Make this a Ball Nose                   */# a9 q- q0 K# A2 r
        case 2:) Y2 Y- A! S" E+ ~$ ~: p; D6 c
            {
1 q" T8 J2 c- s$ ]. F  V2 ^            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );" `3 N! ~/ O8 x  I* E4 V9 R
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
2 ?, N# ]/ I0 U5 v& S! I3 t9 C; D            break;
# D1 X: p" @8 G: B) @' \            }6 ^9 I2 a; E3 l8 [$ n. a( @2 T: ~6 j
/*                               Tool No. 3                            */4 k: u4 l! ~9 @  g- t8 b/ N, |
/*                           Define a smaller Ball Nose                */
1 J' b8 e, @7 |5 C+ u        case 3:
% h5 F# D- [% `, F# f) S1 g            {& ]; R) L  N- C, X) G" B1 W
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
9 P- n! E  U( w4 I, k& m; f            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );! Z0 m% Z; d' l2 c& V
            break;
! X! z4 ?1 T( z. ~2 w) s            }; F* q# H* f: [" E+ \/ U
        default:5 P/ s- M1 a/ r' o8 C/ ?
            {
$ q/ l5 f7 s6 H2 B( Q3 |* s0 ^            printf( "Default...\n" );
$ f% l9 {0 n$ \6 x4 B- d            }
. ~$ y6 b. m$ e& N7 a        }
; B) L1 d! P9 g+ B# T        return 0;, y7 r% P4 T5 B& q
}% ?1 S5 h( y9 ~6 p- B

. V: x2 {- K" ?1 H/ |static int cav_mill_param( int numop, tag_t *operTag )
' U/ i' c( q% T9 `3 s{
2 K7 z+ r( x! X! U2 A) l6 E: h/ @) Y/*   int    numop;*/" n6 S1 y- B- A
   double depthPerCut;" Q9 b) Y& M; o$ O
   double stockPart;
  O# K& g7 t: s& A/ \4 {8 {
; c/ v7 q% x$ `% w" x$ @. P6 k0 ]2 s    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
2 y/ |. q' U9 b% l    printf(" Depth/Cut default is set to %f\n", depthPerCut );
( a2 D1 Y( N: S    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );0 H1 |( N/ g) M+ z" q- e% v
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
# i$ ]5 s1 R% S" k& o$ }; z! i    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
  a! N8 n; \4 ?3 @) h- _; R* ~' G( N5 Q: y2 g, |
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
8 d) d6 u3 J0 X    printf(" Part Stock default is set to %f\n", stockPart );
) b: W% ?! b( t! a. o% I    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
; `9 X: m& u% r8 z5 T- @% F    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );/ s9 p4 z- K& C, N
    printf(" Verify Part Stock reset to %f\n", stockPart );" R, Y' G& L; M' ~# a

+ z9 \) A% Y3 U; T6 X7 C- [* C    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
  i% Y# y; a$ e- s3 Y# W    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
1 o. a1 j% t/ K, @6 t' i& `6 ?
    return 0;2 v$ h- `$ p& ^3 k
}
5 h9 _2 D' J* Q) K3 v: T4 z: u, ^9 k/ W* E5 f
static int flow_cut_param( int numop, tag_t *operTag )# ~6 g5 b- M9 F4 \( c- n9 x
{0 e; m/ U  G3 C1 g
    UF_PARAM_disp_tool_t display_data;
: \( g2 p7 F# z: G. `% T8 D    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */  k/ l$ _) Y/ g! @9 s! h
    display_data.frequency = 10;8 W! K6 j4 t2 O
, \# ]& @8 z3 J* X. o
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );1 g+ H9 Z( }0 a% M% x
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );9 E8 F, j/ W+ Z8 w$ t! d
    printf("Display data for tool type returns %d\n", display_data.type );3 _; g$ H3 j% _- `2 `1 z8 F6 B9 x6 t
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
+ X, P2 R; c; Z) t4 ]
. I- M5 T5 |' T& A9 b& i    return 0;
3 _( d: t& L5 D: j- _% Z4 }  }% E}! q  m1 ~6 c* c$ Z& X
9 P' J2 H' n" ?2 j
static int area_mill_param( int numop, tag_t *operTag )7 j8 V  S7 h0 U0 k& o7 A7 }
{
1 M4 W* p) g: f# p; @! c9 {* w) p! b
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );' j1 R; j' M" D2 V# ~$ x* T" O/ m
, A( C7 l4 m7 q
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ % S/ k: d/ H% F6 f

9 |! N, \& M" v8 r    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
" a8 b0 p/ r: N2 o: K" f    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
* J0 b7 }$ d% j0 F9 S$ G. @( ^) W
' L3 O# g+ q% ?; T8 w! I    return 0;
- h. x; ]7 t' p}
2 `0 U: N1 M+ ~  h3 H( N1 q! o
2 J7 }) [1 C+ U% 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二次开发专题模块培训报名开始啦

    我知道了