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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
4 e- W) w5 A  y, b
一些关于使用ufun进行CAM加工设置参数的简单函数示例( `9 t' U& J" [. }: P: L6 d$ N
可以参考下,常用的方式!
8 W# \. H9 v' @- l, B7 k# x1 R1 W2 a
static int set_tool_param( int jj, tag_t toolTag )/ S5 M3 k4 K3 O6 q8 g5 }) ?
{
* K$ _- M/ n5 h7 G- g  S    double toolDia = 0, toolRad = 3;
7 ]6 j, n) S  P* T! u. `  r, A- V2 b7 q# |# ~* ]; g: s
/*                 Modify the default 5-Parameter Milling Tool         */
5 P8 h- r' B9 x' J. W
. \- h8 C# Q! ?* W0 {# K" B) n& Y4 M        swiTCh( jj )1 u! D# O0 e# [5 m& C" ?
        {6 ]5 C# X/ C7 }
/*                               Tool No. 1                            */
9 [( h5 P  T! V* y$ W- S# {( r/*                             Add a 3.0 MM crad                       */0 D; V1 O* D1 o/ \* j% v
        case 1:
+ h: B, r5 K! L            {7 c) u5 H& v; J. G0 V0 a( ?2 ~; R
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
* R: l2 P1 |* Q6 X0 S  Y            break;& o) K5 Z1 s+ l3 G
            }
5 o+ e2 [1 {1 N, g/*                               Tool No. 2                            */0 Q% r% Y/ V, N! @
/*                             Make this a Ball Nose                   */3 V0 \! {, E  g" r1 a7 @8 v
        case 2:& E! T! @: w& v- @' ^; P( E
            {4 G9 D" j* Y. _. l9 `
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
# a$ I/ {2 w% y            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
7 @4 ]) x+ ^' Z( z6 n" |            break;1 x0 f/ U) f+ @' Q- g
            }
) Y& [. ]) S1 u1 S/*                               Tool No. 3                            */
8 Y# R. U0 F1 j( U# V/*                           Define a smaller Ball Nose                */
8 c& v0 e! u1 M( ?        case 3:5 C; x7 c* g  q6 H0 _/ g
            {: R8 n% x% t$ |$ \% h+ a- A
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
! o( t# l+ w% G6 K, N; k            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );! E7 G! {- g) u  K
            break;) V) O0 A7 H' Y7 C* h% O6 h4 C( ]
            }  f/ w7 O  ?( j& ~! ~* a
        default:
: Q4 q! X0 S2 I9 K3 r: o            {" i7 s+ i, c3 }1 o* @. Y  v
            printf( "Default...\n" );& u/ X" k3 w- h( b4 F9 v7 W
            }
7 e0 X. w. {, g/ K+ p& ]# k8 N        }
6 M; o% E/ Y7 [1 n        return 0;& t0 \* A) |4 K, f
}
, B  y; H5 i- T, Z3 ^
9 a/ W2 u% m% u; D7 H4 Zstatic int cav_mill_param( int numop, tag_t *operTag ): x% i5 O* ?+ m9 x4 ^
{
' W, d: [8 o# x1 }* y/*   int    numop;*/
. r9 _+ N9 w- X. {: v. j8 f   double depthPerCut;
0 A* M' \; Z  U% l1 ?; z0 A   double stockPart;  q5 a; d9 T1 _* n" v' Z4 e( W

& N0 C4 Z8 O" e# |. [    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);" a; S( E% f( a7 b" B, a! m1 Y
    printf(" Depth/Cut default is set to %f\n", depthPerCut );+ L& y, X. H; D, E
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );. F: [, _" Z; ]5 L
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );' i$ X6 Y" V* b" C" o
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
  w5 m7 M/ P, E* c6 C! C: X( q0 `3 i$ B: Q8 k+ ]! v
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
; x9 \/ |2 e+ M  u1 M  n    printf(" Part Stock default is set to %f\n", stockPart );
; x8 `& @0 {, k3 {    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );. Q7 N& H5 h  h# X
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );! }" d5 d: ]+ T% J
    printf(" Verify Part Stock reset to %f\n", stockPart );
6 N0 h, ], h4 H( Z* ?
5 b0 H$ D+ w! p7 ?/ V    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );6 l3 [* _* J) @3 `' }8 E0 J  ~( s: M, E! d
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
0 h# b* ], \  U) ~. f: t* H+ t: t6 k" @& j- c9 K
    return 0;/ `9 v/ T/ i) v( Q% H# q
}6 f2 |! C6 ]( Y. `
7 ]% F; r1 c! R8 ^3 g) p6 C
static int flow_cut_param( int numop, tag_t *operTag )
! Z0 g0 U. O- v{
) A7 t: i7 n$ p$ ^    UF_PARAM_disp_tool_t display_data;
' C& F) H& T; A, V    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
7 S2 U$ x) V& E  Y6 e    display_data.frequency = 10;
! ^  }( L+ d( Z5 \) ~+ W
9 @$ u8 s2 h2 Z8 C/ a+ \    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
  G+ V- D9 }& P& {    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
3 W9 r8 r7 ?8 J; b. n: }    printf("Display data for tool type returns %d\n", display_data.type );$ W1 c% Q% O4 g1 B6 T7 l
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
/ y8 i; D1 b9 t  u2 N! B( i: ]& Q, {9 j/ C2 ^
    return 0;
  X2 h4 w6 g* Z: r}
/ ]; M4 O* Q/ ]- v# S6 K  N7 }3 f' q% n  J
static int area_mill_param( int numop, tag_t *operTag ); Q9 P/ q9 s/ `! E
{7 y$ ^# P( L3 z$ R2 ~3 s9 `- I

9 V, |5 s1 ^) ]& g# @7 d* x; m, Z    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );  Y- U# c5 b# Q# b/ r
2 Z3 L3 B) V% f0 H" @% @
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */   c' l6 I8 g  J! i

8 l3 P, O  g8 g8 {* y    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); , ~+ u1 K! O7 W' F/ b2 k- j% V2 q
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );# u1 A. {( k9 l  B- h' u

; F5 X0 r, q* G$ C  \    return 0;3 n- k+ ?' `1 u; v( }: h# e& Z
}
0 `' z$ u% R' c
& z4 F2 e% H% I( a% K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了