PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
6 J* P# m4 E7 K1 A- ~
一些关于使用ufun进行CAM加工设置参数的简单函数示例
0 V0 `/ e" r4 ~) t( W可以参考下,常用的方式!
( V% [5 i: `9 n9 r3 K
6 O& V8 Q& l5 qstatic int set_tool_param( int jj, tag_t toolTag )* w1 ?3 p8 ^& x
{7 x, Z% m. C& B
    double toolDia = 0, toolRad = 3;$ T" l9 P% Y0 I

& x: X9 V. F$ ]* |% H* c- \/*                 Modify the default 5-Parameter Milling Tool         */% B9 t6 z5 S( V& G5 U
/ h9 _& @! X; x6 z% U  p
        swiTCh( jj )
$ ?9 R+ B: h7 ?3 j" |' P' s% Q" ?- i. D3 H        {
: i% W, j$ m2 F5 Q/*                               Tool No. 1                            *// p' }- P9 r- r) V3 F
/*                             Add a 3.0 MM crad                       */
! X5 ]. Z% U2 A+ ]2 z        case 1:
: \9 U1 @& p. y$ f( O            {  _% n$ b9 O5 h% h  D" U
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );9 ^- f3 I* X0 e4 ^- i) }
            break;) x; Z6 b  F3 o- A. C1 [
            }2 L& ]" N0 }! K  l2 C
/*                               Tool No. 2                            */
0 b- g* L8 z" u! ?- u/ {1 t; k/ w$ s/*                             Make this a Ball Nose                   */* q8 t- W6 _2 w$ T+ R
        case 2:
- m6 z9 m0 v: G, X! q            {
+ F- b8 a5 U; B+ n, y! R* N            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
9 L3 G  R, w- Z( i: i            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
3 l1 b0 _" }1 {+ J            break;
; t! A2 l) C% f5 Z            }+ I& w4 a! S- S6 X4 f! U7 G5 H
/*                               Tool No. 3                            */
+ r" N+ \" H- ~5 A1 r* d8 b0 ?2 |- B/*                           Define a smaller Ball Nose                */
. v5 x1 a2 c! H  {" ^0 f        case 3:
1 Y7 Y. z. Q# W/ ]( C6 L6 U            {! S' T2 C1 @- T' N! s5 B0 Y) G
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );+ d( y# [; v2 S$ u3 O; B
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );) @# i# E# I0 |6 {' F+ A
            break;0 r1 N1 Z$ Q1 N" a6 J
            }
! `5 [0 K7 ~" O        default:" v  e2 i  y& y" W
            {
+ P" W% \1 a/ q' j+ {            printf( "Default...\n" );
) ?2 [0 w& n) A1 G6 Z            }0 o; ?" u, |" p( O0 r
        }/ {0 R* y! }% d; S0 y7 Q
        return 0;
9 y  ]- t$ i* H; ~2 n! o}- _; m3 w+ _7 P: G+ @* t$ `

' t' s+ q7 w. Q# q) V* Hstatic int cav_mill_param( int numop, tag_t *operTag )
% k0 r. h; c. o- q{
0 J; O9 D2 o) p: J. p/*   int    numop;*/  @- t2 q6 V. M2 ~
   double depthPerCut;
5 E# I* a$ Y6 k# t  T( {( P* B   double stockPart;
5 Q, y. ?& I/ }7 s& A! J! e
' L2 C+ ]/ H0 R- [    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
& U: R6 u; k2 Q. R0 T    printf(" Depth/Cut default is set to %f\n", depthPerCut );/ e1 `. k9 K) @- J2 P; Z
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
3 j8 G( U: A; i) e    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
( J9 o- ]1 B  f, L1 }& ]3 {    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
1 O9 _( F7 W8 B0 |4 ?" s9 c  i: K; Q& y
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );- o! P3 m* n9 K5 j& x, H
    printf(" Part Stock default is set to %f\n", stockPart );
/ V: C( Q' r- J2 {, c    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );. ?2 {9 _" ?% |" d0 G  h  {/ w- W
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
: A  ?( L5 h/ @5 b6 C    printf(" Verify Part Stock reset to %f\n", stockPart );" I. `' ]# E6 S7 f

, K5 p$ C& I1 Z% G. d+ T6 ^    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );$ j" D4 L0 I1 y" F  L
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
, U" x, |9 e" W) z
0 A6 y$ @' j: E9 Y+ n    return 0;* R2 E2 j  z- t' M
}
9 r. q7 P" m2 Z( [
  D4 U& a$ O' y" m3 @2 F) |static int flow_cut_param( int numop, tag_t *operTag )
9 O* \! v# E$ J) m6 v{6 y4 O2 U; Q1 J( W7 o6 s
    UF_PARAM_disp_tool_t display_data;$ R, j# O# ~+ ]" f6 n
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */- i% }2 `% s4 {3 B' D8 G& I8 q
    display_data.frequency = 10;
% G- j* f1 I4 F- g" l4 ?2 M4 M
+ E( z0 y0 [: B5 E* K    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
$ a+ U" Y; t2 s% s2 L7 ^: A' C    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
3 }! U( d5 Z+ D2 x9 y' `4 a    printf("Display data for tool type returns %d\n", display_data.type );0 c. s7 K/ L+ x
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
) H- n0 E$ Z3 h
' [" h1 E' S3 g    return 0;/ I: Z% n- `& Y7 y2 t9 U2 V/ v9 e1 |
}
9 I/ T: O- f7 D
5 V; ?2 f/ l% E6 [, |static int area_mill_param( int numop, tag_t *operTag )
( C, V( w0 K% H4 z3 L- X* t* V$ k{
7 P) k' a* m# f' U1 e( b' X! Y$ [4 G! I. D$ D, J% T( y) |" j2 G
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );6 R' e8 T* x+ m3 V
* _) l( E0 @; A( C" u3 ~6 {- Q
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ! n: P; [/ R/ E/ e3 B) J; A  m
' W4 D* m% T2 p' X9 r! u! l5 N" l
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
3 \' ]4 X2 D! x  e/ \    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
* m/ K8 q4 X0 F4 @2 l6 ^. \6 A5 M
    return 0;
* y" F8 \3 Z2 r' `}/ l" u' h6 P& J
6 m/ s6 Y, N' Z) y( o( _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了