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 3652 0

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

admin 楼主

2015-4-20 19:42:50

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

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

x

' a4 ]# Y7 D0 f一些关于使用ufun进行CAM加工设置参数的简单函数示例4 j/ s  O3 e" f) P) A, H  _( q
可以参考下,常用的方式!
1 H* u+ a. c% l# Q: B0 T& V
; i* s2 r  X) Qstatic int set_tool_param( int jj, tag_t toolTag )
5 Y6 f1 F% Z" t; a  [9 ?4 J{. K" g$ {% X  B+ c) F( e: B
    double toolDia = 0, toolRad = 3;6 j) \7 \# G0 Y; p* B
9 x! A9 Z+ D, d5 o5 b
/*                 Modify the default 5-Parameter Milling Tool         */. x9 K& X- Z7 e- z/ k: c

0 q/ A( i: i2 T4 z( r8 v        swiTCh( jj )
3 A% V- f' z( h7 i6 }+ N        {, n3 g. t) }% Y5 ~" k0 A
/*                               Tool No. 1                            */$ {3 p' K$ X: j! [+ x
/*                             Add a 3.0 MM crad                       */
) g' W* F" m  y+ z2 v        case 1:  A0 u- l, e" w/ a- O; x. M' C% x
            {- ~) Q2 T4 Z$ v+ H2 a
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
# a8 _9 ?/ B$ p/ M7 O            break;
" Q6 I& A* ~. k            }
1 H2 F; M2 e$ W5 |( e/*                               Tool No. 2                            */
" @. H) X3 X# Y/*                             Make this a Ball Nose                   */
& B( D0 P! b& Y        case 2:0 c1 A- V% v: `" P8 a* L
            {
( w- y; t8 ~# B  r9 ?$ u: v$ L            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
  Q6 w8 g% k" s0 r8 y7 a            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );$ S6 O" F  k1 K& e. G5 z! C
            break;0 E2 U+ G. v' M5 Q# M. E
            }
* m, d# b# [( v/*                               Tool No. 3                            */" n1 x0 V: s% W0 U( i
/*                           Define a smaller Ball Nose                */
( R+ A: M0 ]5 ]6 J' d$ u        case 3:
) a9 Y2 c7 [' D' a* A6 f            {, r: s* m/ w* X* w
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
! X) U" R$ s: p1 V) e            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );& p7 C8 z, p* A: @1 k  u% N
            break;
0 n# ^. X+ P* G: X- |4 z            }8 q$ I7 m8 T! w+ `7 u1 M' B$ f
        default:. U, o* v# O2 [' f% B0 H  ]
            {
( h0 E6 `! C* o9 i. O, Z! {% B            printf( "Default...\n" );
' A0 K3 x5 w9 h4 i            }
" C3 X! N4 O1 j" n/ T5 f' t+ N        }
0 v  p* i; d, ~' y9 q/ \: V. q        return 0;7 v- b0 I( m% }& x! X& L: w
}
: S; F7 I4 ]% e5 F; q3 `, e! Z; \5 p5 s. p% S" A3 G* O/ @% }
static int cav_mill_param( int numop, tag_t *operTag )
# d& v$ F, f* ]/ Y) O{$ ]* v* p- q9 ]% z
/*   int    numop;*/5 I) @/ `( u' E* k7 ~1 T- ~! y
   double depthPerCut;, a. K1 ^6 M8 \  u0 W
   double stockPart;
; T, r2 Y3 f/ @, q9 x% Y) i$ c' [4 C0 o
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);$ H' I( |$ N/ x4 B( H
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
- {# I/ y& o$ n  `/ M9 S% Z/ L/ }+ b    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
9 Z  g6 T% X: i/ `7 t4 v    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
7 k; A0 C# n- _2 W6 D    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
# _$ w; I+ u5 O( [6 O
( @, q+ [; p- |+ e    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
* U" G( S9 O2 j' [4 j+ K  [    printf(" Part Stock default is set to %f\n", stockPart );
1 v' o) S* `6 E    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );4 h8 I+ C0 O) Y: y
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );% K  |  ?7 s9 D* u- t+ Z2 j: o
    printf(" Verify Part Stock reset to %f\n", stockPart );
/ U) [, K" ]( ?+ X8 {: e5 P+ t) q- b" `  k
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );. T7 R& V  y; v  a; l
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
5 ]9 w9 A8 Q; X
0 l2 F" M- S" Y( F/ K7 F" x7 s; u    return 0;
" z  {+ s) p0 p" A* {5 d}
/ J" Z/ z7 |% X9 b3 v7 b' \( z7 U, i' M" V$ u8 s) o' ~
static int flow_cut_param( int numop, tag_t *operTag )/ L: G* L4 i0 r# ~  c
{1 ?% c5 _4 t; v5 i% L, i6 s
    UF_PARAM_disp_tool_t display_data;; ]: z' |: F3 P
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */3 J0 _8 r' _  E
    display_data.frequency = 10;
- w/ i0 G0 K7 \- c3 Q4 M" Z: f  F9 a* w
  N4 Y; t* ~* m9 L; S# r( T7 \    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
- N6 m% T  V* b' Z0 l    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
  r" w+ y( g& ]  Y    printf("Display data for tool type returns %d\n", display_data.type );  ^; U* l! ?. g  i) A
    printf("Display data for tool frequency returns %d\n", display_data.frequency );& F  A+ m& O6 i( A

1 _  s. Z, d6 P- {( e0 y7 o3 s% P. x    return 0;
6 J. L/ {+ a" h3 I) q+ `}/ Q; T* }; ^* q) [

- N2 y7 M" v; d. K5 sstatic int area_mill_param( int numop, tag_t *operTag ): k9 L8 Z: ]% P
{
, Q- R, W, G/ J6 d% c/ r
7 R8 T5 k) \( v1 \1 V    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
; H5 [( G! b: w& n6 t0 W' o& I0 ]7 T. b6 V: z' @: B1 z3 o5 X
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ & F2 J" Q& A* t; Y
' O9 p, ^, y$ |( r* B9 S
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); % ~* E6 k5 X0 K: v4 W- u2 @
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
' D) i$ x1 P4 X( U$ H! ^8 Q) p
0 }9 U% m$ U$ G( _% H    return 0;0 T/ R# d+ H& ?/ s
}
  b$ r  p; t: z
2 }# O0 A( @. H" U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了