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

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

- i& u. {+ b0 ^# S0 H9 i一些关于使用ufun进行CAM加工设置参数的简单函数示例
) Z, R5 q9 T# D可以参考下,常用的方式!7 Q& F$ Q7 o2 k) m+ [, q
1 @$ V6 L  `* f6 H) z( Z% y
static int set_tool_param( int jj, tag_t toolTag )! q0 M# U- s  L3 D9 K  g/ R
{
! d6 j6 u/ V+ y) R    double toolDia = 0, toolRad = 3;7 X& d7 I4 T" o' A
( d6 L$ ~: R" ^" v
/*                 Modify the default 5-Parameter Milling Tool         */
( s$ _+ e1 r( Q& R( V0 [7 w
# @) ?9 `/ {/ L* Z, z        swiTCh( jj )( z) k; s" _3 g3 ^( P* M
        {0 X/ x, Z; [; x( Z. F' S* O' [
/*                               Tool No. 1                            */1 `1 L" S, J% K5 ]% Y+ P3 H( s
/*                             Add a 3.0 MM crad                       */) T, _! w7 D- Y3 R: Y
        case 1:) \: p8 M2 I& f3 h; W: h/ E
            {
6 R  c' M' a+ R! m. }( E            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
( G# H3 Z1 \/ E9 I4 U0 F            break;  m3 s% m! w, _+ s' ^. R
            }
* ?3 d' `) E/ \+ O2 `/*                               Tool No. 2                            */
5 h7 F6 q$ T3 T3 ]7 P" C/*                             Make this a Ball Nose                   */1 a4 C& x; j  E
        case 2:, q* q5 _( s- u- n
            {4 v8 [: h! D1 O1 r" ?" r* ?7 U/ N
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
& x( d* F. c: l            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );, K  D0 ^  @1 Z' ^
            break;* H+ h- i3 F! \" v$ H" x( K# u
            }% M2 W9 F  N8 W* J3 D
/*                               Tool No. 3                            */0 ?" f8 r7 t3 H$ L; r
/*                           Define a smaller Ball Nose                */
2 N0 y/ @0 K7 H( K        case 3:9 i: E# L# _4 T7 @# P1 J7 [
            {: M1 v4 `- Q* I4 z8 {
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
0 H/ M, q! d5 x9 i: K+ y            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
, H0 H# c( Z$ D2 d2 q* F            break;
) `# w4 I2 g" H! Y7 v& o3 w            }
: Z( [) ?) h* E5 \2 M" c# @        default:
+ ~) g1 t! j0 r* o1 \+ |            {; K4 k0 f$ l, f4 Y, w) L
            printf( "Default...\n" );
( Y% a# l7 W) H5 Q2 m. k7 U            }% }: R3 O% e1 L7 {
        }/ S* r$ }/ L) x1 H8 n5 d7 l  e
        return 0;
% s& q) [; i' {$ ^  Q' O; X8 d}
2 n4 |6 @, E5 |" \# c. |* ^( v- T9 B) R' T! S: |. k0 w& k- L2 o
static int cav_mill_param( int numop, tag_t *operTag )
8 j1 t: d6 U* }, s  h6 Z{
5 s& V" R3 I+ K+ Y! @/*   int    numop;*/+ p& ?& v7 Y* x: g, i
   double depthPerCut;7 n) e6 Y5 X! ?2 R
   double stockPart;
" w: X! B$ q' A7 R# o* E
- L$ x4 K; D. N% B    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);7 W+ k+ n/ Y4 l- l
    printf(" Depth/Cut default is set to %f\n", depthPerCut );: s5 ?/ i+ K1 |/ G
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );1 K+ h% m& E" `7 k5 G3 {
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );: E$ S' ?( e$ N: Y2 \
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );. }, h. X% f1 `. h1 U2 p. m7 D7 @
  v, {8 [, q& H" `3 s
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );( m4 ~- [6 F  ~2 p. K
    printf(" Part Stock default is set to %f\n", stockPart );
) N  M4 N( o" e% X, e/ P    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );1 I1 ^- C. h3 a  j9 {
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
8 n/ F* e  C- l5 H% \    printf(" Verify Part Stock reset to %f\n", stockPart );
) P0 ^! L; O2 H' [
% g0 B" o; ^3 t3 a8 v; G  \    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );" c3 D/ h% O+ Y8 R* W; X  ?
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );9 L) l3 C. A* @: k( `/ n9 P
4 y" {* Z" k5 V9 P2 P  _2 [
    return 0;' R8 I; R8 N5 q
}( z6 t9 X& o1 [0 a, B  p- W
- ~: o4 F  x3 }1 _& `. P( D  F
static int flow_cut_param( int numop, tag_t *operTag ); [# g3 k4 z- S; u
{
) Z- }, u. g3 d8 C. Q% d    UF_PARAM_disp_tool_t display_data;3 Y4 r9 x# `" L7 z
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
# z, J* }2 x: H* O    display_data.frequency = 10;& K7 u6 Q4 `' q/ G$ M
+ k8 x, S$ N( C, d5 e, i4 ]( W. p
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
5 n+ k6 r6 H* h; s  }, F; F    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );- Z9 B( \4 s9 @% m: i: `
    printf("Display data for tool type returns %d\n", display_data.type );! I; R  O' P0 C# u9 s
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
  a- |, [+ L( O/ N
& z: p0 R) C" L% m% \5 J9 ~    return 0;$ j# b1 v7 ?0 _6 i
}; {; z4 _4 B7 {2 O' V4 Q1 N1 q
7 e  b# U0 B' `' }4 g5 G
static int area_mill_param( int numop, tag_t *operTag )
, f- U$ B" n- ~1 v! y- e{
) J7 v+ e3 Q  i/ Y- ?1 X  k9 h- l
& D1 h8 F0 ]1 t# Q' p' z) g8 N    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
& u5 ]$ I) X4 H, f7 s( h
6 [  q3 _& J8 b# r/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
3 Y8 k8 n# [% }; }! E
1 l% [+ Q8 u# H' q- @    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
6 K! ^  s0 q, @' [2 `( g( \    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );" A$ w5 M& X2 c& L! L/ y
1 n: m, @3 |7 U" b8 M4 C5 K9 _* k
    return 0;
# \+ q* u/ U2 Y5 {}1 R: s( b- e* K! A, c9 R0 A2 a% G
- ?$ w" d* [6 l! z0 f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了