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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
  ^# v0 X; x1 c3 |  y' R' F, R
一些关于使用ufun进行CAM加工设置参数的简单函数示例' W- u" u+ G! b
可以参考下,常用的方式!
$ s2 p6 v$ G* L6 K- F- M2 f: P
' ~( t6 ]8 E+ C9 O3 `/ E3 Pstatic int set_tool_param( int jj, tag_t toolTag )
4 ]( W) s0 G$ J* r{
* `5 ^, K$ G6 O6 i    double toolDia = 0, toolRad = 3;2 ~2 [/ x/ L2 M2 K$ X7 q( k

% l) t/ K. M( y+ g/*                 Modify the default 5-Parameter Milling Tool         */
/ f' ^$ ~' A5 Y+ a, K3 Y  x  ?3 b1 J8 i$ M1 D% B. w
        swiTCh( jj )2 H, D$ T# b! T% A
        {
) [8 ~% A  B0 ~3 J( V/*                               Tool No. 1                            */
  x" s7 Q9 U" [7 s9 Z1 ]  a- \/*                             Add a 3.0 MM crad                       */
' M' s7 I3 s8 o5 ]) c4 ~/ `        case 1:
& M& Q0 o) z' J5 L3 `, @2 v5 D            {
6 c; J9 D* ?" i0 }4 q            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
4 H4 X% e' `" L0 P: W& t            break;3 I, j2 e' S7 N6 l
            }$ U! {4 W! ]# G4 b6 v
/*                               Tool No. 2                            */& f4 o- A' l$ e# k5 V4 W$ w% N& J
/*                             Make this a Ball Nose                   */- U) J: ~  W2 p$ {( R. \4 L. u" B
        case 2:
( ]8 N- i2 V6 v) b2 B. X            {
+ r6 D8 D$ l' c3 c! q/ Y$ D) G            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );, P- Y1 |, o7 L$ f8 ^
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );8 _+ {9 p9 d. J+ @" M
            break;
  Z3 `2 \$ p& P0 \7 V            }9 @9 [+ d! O& `& ]5 |5 x9 Z
/*                               Tool No. 3                            */# O. w9 X8 [3 B
/*                           Define a smaller Ball Nose                */
' c% ~  r* j. C5 g        case 3:
% p+ @) W, k+ Y2 L/ N/ h            {) g0 V3 j' K! c$ U' |" a4 f% `, K
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );. e5 Q& @3 v' |! O4 Y( ?
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
, R$ o8 K7 P: S  ~+ t5 B# z            break;5 T" f$ d# O4 J" L
            }
1 I- A$ k$ K6 W4 s        default:
' S; q% M7 z9 }. J% e            {
+ B1 Z) Q: M5 Z2 j; ]% O* l2 T0 _% y6 w            printf( "Default...\n" );
- T; Q; |  a3 q6 [9 w: h' j" _3 D            }0 T; X* l4 S' m5 k: {( M- a
        }2 @  w6 A; f! q' m; O
        return 0;$ r  ?  J) K( ^* R" i' N) E
}1 l' J2 s1 u) L; o8 z
5 c& E% S9 l6 Q; {* V3 E
static int cav_mill_param( int numop, tag_t *operTag )
, i7 ~3 [: j5 f; K- V; `- P{
) l# ^  u6 D8 Q+ o4 [* V2 r/*   int    numop;*/
, N* D* q( k" Z. [( ?2 V+ V   double depthPerCut;
; Z- Q" f& k4 n   double stockPart;* s" Z# M( [6 d' @6 Z5 t/ K
+ v# l+ E' u+ G, C% \0 ?
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);+ F' A8 ^: I! G- [) d6 j( x& ~
    printf(" Depth/Cut default is set to %f\n", depthPerCut );- A0 e1 O! J4 R* z* k+ j2 F1 h" E
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );* A0 u, m7 U9 v. w+ C2 R, q
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
, m6 B  u$ Q4 t- ^' M    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );2 Z6 v( G4 B. ]

+ ?$ {/ i1 q/ f% z/ U' q    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
' [1 D& Q3 {1 s0 U  Y2 i4 E; ?    printf(" Part Stock default is set to %f\n", stockPart );
! a5 c  x: e# A# a# m, e$ n    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );% j7 f6 \5 ]! X$ d. i
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
, j( @  s+ n, Y    printf(" Verify Part Stock reset to %f\n", stockPart );
$ M1 k5 H7 x2 _2 G* N) Z, X( X* s5 g3 r  Q/ z, X" E% n
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );; B# d: X5 X/ ]0 k/ \4 r! R: q  {4 v
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
& v/ p6 T/ m" Y4 f" Z
( u! }8 V) q" M' R$ M) W    return 0;
7 B) ]0 O7 h' t- q' m}6 _/ [( W9 R4 y* S9 E; M( I4 R
; A+ W% w: X0 z+ ~6 ]# T
static int flow_cut_param( int numop, tag_t *operTag )
# p3 D. z1 _$ Z. n- M; X{
! e& o! r$ p& x2 g7 [  u) K( O4 q    UF_PARAM_disp_tool_t display_data;' V( v6 k' c- U( L
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */, v. b7 s7 @3 U) s0 v& ]
    display_data.frequency = 10;* v, [8 r6 H3 o! n

/ g6 b7 H5 W9 E    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
* @; H1 w2 W; D6 }7 i- ]    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
/ k0 g* j1 C- n) h+ Y: d3 I    printf("Display data for tool type returns %d\n", display_data.type );
% Q' v" f& W( s% n, d3 V; R    printf("Display data for tool frequency returns %d\n", display_data.frequency );( U9 c8 u  s2 l* f
" h, c8 h( D+ K' A: Z
    return 0;
2 D# I! T6 S5 y+ P  e}; C+ ]# S1 d  c3 P: H  f: a
! K4 d2 w& g# T" G& z3 P
static int area_mill_param( int numop, tag_t *operTag )
1 P* a5 H' Q1 F0 x$ A{
) a( e1 k  H. a# ]9 B0 v( w( a" W
" m7 w5 x, \; y( m    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );# F* s$ H) {: B9 t/ [
6 p4 G! R1 D) A$ [1 d
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ( H# N8 z6 o3 ~* w1 X
9 B9 K" R" ]! r6 p( B: p' h
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
. A" Y. g7 g7 ?+ j    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
8 }0 a+ |) Z- w: h6 V7 p+ C8 \: o& R& M8 S$ P/ b$ g
    return 0;3 ]; _" h8 H7 [, p3 Z  d/ B
}
- Q/ N1 d. T0 w2 a7 N" D- x0 k& `* G  N' T3 y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了