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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

1 x: |5 U6 _1 a5 B' o2 a一些关于使用ufun进行CAM加工设置参数的简单函数示例1 m2 s  @3 t  z; I
可以参考下,常用的方式!" ^$ o& H4 \8 C' D( V7 l. c4 M0 K
& A! `$ w8 q: H0 L
static int set_tool_param( int jj, tag_t toolTag )+ \0 g) h- u, g3 ?2 B! z
{+ P9 @7 a- J5 E2 e) |$ h  R
    double toolDia = 0, toolRad = 3;
) N$ U) Q2 e$ G% T! J/ D5 j, o3 G! Y0 R6 L! \# C
/*                 Modify the default 5-Parameter Milling Tool         *// @  m# Y" }1 K1 _
2 T2 u- Q, L" e1 O, j
        swiTCh( jj )
6 Z7 h% G% V( q2 d        {5 K5 A, ~. D) @+ }2 l
/*                               Tool No. 1                            */1 i3 a+ x: R6 Y' m/ @7 p6 N! j
/*                             Add a 3.0 MM crad                       */
4 T* V1 U/ ?7 v/ Q: r2 L* Y) a        case 1:- A0 m: s) k$ R9 R9 I+ P
            {6 k. v2 b* L6 i9 E4 `5 q
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );$ \% N& G+ L. b1 N' X4 Z$ g
            break;# \8 Z6 ?* [5 k4 _0 A" x% j8 N  q
            }5 K6 O# L3 h9 j3 ^$ ?& D# d% J
/*                               Tool No. 2                            */9 p. W( q3 `, K8 T9 G
/*                             Make this a Ball Nose                   */) z- ]* i) h; v1 R3 M0 E- E
        case 2:+ t3 w3 ]% ]) k7 H1 |. N% l3 e, o
            {+ g3 e2 l# j: D$ l$ }
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
; Z6 X* p# o9 ]$ {; F- b9 e% S0 k            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
' ^) f- }+ T4 ^" [            break;
: y/ H7 d) P1 i: O            }
* N  W, R% y7 a; \: E% L/*                               Tool No. 3                            */
. Q: O' F+ K+ w6 @9 b5 y- y* B/*                           Define a smaller Ball Nose                */+ W# \) T* \5 D5 h, Z' s5 Z
        case 3:
; B$ t4 g8 M, E1 v5 K            {, A: Y& M" ~) ]! {1 C8 i! t& J
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
/ E5 F1 E( G0 L& p            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
' N1 j/ ^8 N: a$ d8 V- S/ m            break;( c9 w6 Z6 t* r& u* y5 _) s
            }3 P) u6 d; V% M
        default:% }7 V4 V' E" V& |$ d8 y
            {  W2 Z0 m! t9 r4 J0 f9 R5 R
            printf( "Default...\n" );" h, @& c* ?2 M1 ^
            }. F# Z3 k# V) T5 e8 I8 H
        }( C9 n. D5 Q$ N4 }- ~5 w4 w; Y
        return 0;
2 n$ k1 g4 M* N2 A) _9 a( v+ P}
' f; Z. n4 W- o5 X  S1 c" H5 E: E! T" B! G
static int cav_mill_param( int numop, tag_t *operTag )* }! ]5 V; E1 V7 M2 B" D0 v8 v$ P6 Z
{
/ Z- l, ^3 C8 B0 N- q. j+ F5 j/*   int    numop;*/- z1 x7 [7 }, D! \$ E
   double depthPerCut;- e( Z, |/ c7 `( F7 D6 ~3 a
   double stockPart;
& t! @- k) _' D3 {. J) ?
0 L6 U! a5 ^5 e2 R4 X$ H    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
+ A  L% c# }6 [3 _/ ^( Q" a. F, a    printf(" Depth/Cut default is set to %f\n", depthPerCut );. y# o6 E4 d$ b) H
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );8 w, w$ @4 }/ Z2 B' v$ r5 \
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
7 t" f) V2 z) F( i; I' C    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
/ D+ @$ G- j0 x6 R9 O
/ [, G# ^9 {' @) i/ A; j% Q    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
; |# g% l3 u) ~( S. C$ ^    printf(" Part Stock default is set to %f\n", stockPart );
9 n$ B; j7 g  U2 u7 S' H9 T    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );4 N' q$ x. u" F* [: _" s
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
8 Q7 \7 n$ @$ ?: [    printf(" Verify Part Stock reset to %f\n", stockPart );5 A2 N5 j! {  r

8 `3 d/ N1 L, h3 Y: }# Q& N    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );( r$ P4 o. M8 F% A9 ~
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );2 D6 M3 r; `1 @- b- t# y6 X% v
9 w( ?5 i! z1 \  o: S: H
    return 0;
1 f( x, c9 F0 C2 g& x  F: \}
) }) v& @& h9 \3 t; q4 Q' F0 d2 @! M" X$ F# z
static int flow_cut_param( int numop, tag_t *operTag ): `# {) E" k" `$ `
{" N9 P& e* Q2 T9 I* v2 ]3 W
    UF_PARAM_disp_tool_t display_data;- l) X+ D. y# a5 |
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
/ B- e# I2 M. P    display_data.frequency = 10;
: E6 p# V( ^  a' a$ x3 `5 B0 p# W" S
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
5 u2 E+ S* H# u    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
8 p; K0 d, ]4 p% W& p  P. u' S    printf("Display data for tool type returns %d\n", display_data.type );: k+ s; O0 b' M1 c6 a
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
4 h: f4 K) E3 b
9 z4 }% L  ^) L+ }+ |" a5 t    return 0;# j  I8 E  p$ y: Z; Q6 w- H$ p$ G
}9 a9 X7 G* J3 {9 M
6 G$ k' y6 `) k% z! R& x
static int area_mill_param( int numop, tag_t *operTag )( G$ s* r1 @: T" V" F3 ~# P
{0 D* @0 w+ g! w
( ~/ ^. q3 S6 F% F) g, L! ]. V: |
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
5 j: L: \: I" c* [& p5 p/ Y( L9 y5 q7 d; z) n
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
, n1 o6 J& u- L! Q$ ^  j3 G) I! U' z) A5 g5 j' u
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); , F1 ?+ ^: `5 x/ v# v
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
: T  Y2 V) e) D5 w
) ^# `3 H, _/ j" a! @% `    return 0;
0 W$ e3 z- o1 F4 s# i5 Y7 ~}
6 r2 [" P! k7 V3 }3 {4 H8 L9 K( _5 d5 n1 p  [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了