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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
3 @6 e. l. M# e
一些关于使用ufun进行CAM加工设置参数的简单函数示例" I4 E, w3 O9 Y3 {  \/ j$ u
可以参考下,常用的方式!
8 n: k% k. ]( C& }% t2 Y( T/ m& J* x2 ~; B
static int set_tool_param( int jj, tag_t toolTag )6 H3 m( l% z5 l8 R4 E# |& g
{
( v% G! K9 {0 T    double toolDia = 0, toolRad = 3;% j7 [( a8 v1 ?( Z( q; L
% R. i3 K: a: T1 j5 R5 N; D
/*                 Modify the default 5-Parameter Milling Tool         */' x" N; _" Z- C" _! X

3 A( y' Y- s% D! {3 J        swiTCh( jj )
0 T! F3 A# l" A        {! g' g. B( e/ J: _
/*                               Tool No. 1                            */6 f% P4 u9 K9 v" B9 ^
/*                             Add a 3.0 MM crad                       */
  b+ h) z) Y% T( g3 f9 O        case 1:2 `9 M, l/ T/ N1 z# [! o
            {% O5 y2 w5 ]$ L( ]6 K0 a6 U
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );, R8 J( C' X! x# i; Y) j
            break;
( E% B* n, Y" m* M0 G            }5 |6 M2 z$ i. p7 Z9 T4 C. X5 G7 L7 t
/*                               Tool No. 2                            */
& }2 q; _* b+ v& y' D* {- u/*                             Make this a Ball Nose                   */# E/ E! A5 T4 k5 Z$ S7 J
        case 2:
6 q9 a& J' |- G% g, T/ y; i            {
4 J, \- }& ?6 ]3 J9 [: r: H            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );* ]" C9 u$ ?; \' J, Z1 A- j; `; e0 ^& U
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );
1 U5 G. E+ |) c/ ~            break;2 `9 I7 l! c6 E: z. o3 M7 [
            }
) G) ?. e# ]0 S% C- M0 o3 ^/*                               Tool No. 3                            */& M# ]: ^- P* i- X6 s/ w
/*                           Define a smaller Ball Nose                */. S& s4 ^* n7 k1 ?! Q! m" J5 u2 }+ Q
        case 3:
* ?; M* h, i  w- T            {9 T7 O0 O- H5 V" b
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );5 j' ^. k" @5 w' l. N: u3 n
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );! O# e" Y6 X- k, o& X+ R% i* E; q0 `
            break;2 c5 Y% s3 y! g. R# `
            }; H; R8 Q7 U% M8 ~
        default:
$ d6 a, p! L) v8 m            {
% X  c2 C' N# A8 C' A            printf( "Default...\n" );
1 x+ X( M% n+ h3 P" n            }! a$ z1 R* G4 v, C/ A9 t8 p. b
        }
. n. m% y$ o: Z$ M8 W7 _& ?2 y# {  m        return 0;
0 S* @% C+ x! D4 V& i* h}! T+ b9 s  z1 }: g, f

* \5 i. p4 R' U& h" m0 D! m5 nstatic int cav_mill_param( int numop, tag_t *operTag )
! H6 U: i0 T1 S7 t3 h! H5 r9 B{0 W7 U8 t0 |8 O# C$ ^3 _( e6 f  R
/*   int    numop;*/
+ {* k: ~5 h' z! w   double depthPerCut;( ?5 @% e6 o  A, a- e
   double stockPart;
# {! l& ]7 I9 M' i" H7 W- b4 L" @3 e) X0 V3 k$ J* M* ~4 A3 Y
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
. A- L# u! \# N    printf(" Depth/Cut default is set to %f\n", depthPerCut );# c" U+ t2 c* x1 t- Z
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
# e8 Q$ x$ n! K$ C" X5 C/ u$ p    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );4 h  v: v7 W* \9 l& t/ r6 A
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
* K( O& o, w" p  Q; ]& ^" L
* ?) R/ D( o( N1 Z    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
- w- E8 Y' w2 V- U    printf(" Part Stock default is set to %f\n", stockPart );
: f: y- \, |3 ~* T0 b    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
8 x2 e3 q$ D/ I' k7 q4 Z    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );* l/ J7 ?% u& m1 b8 h* G1 n# v
    printf(" Verify Part Stock reset to %f\n", stockPart );
' X' j( V9 W+ a" ]9 c8 H
8 S& N; S) o, M5 I    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );+ ~& Q* g- F" F  Q" G
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
0 a$ G3 I4 k  M5 u+ ]5 Z
3 i6 B- x$ ^/ w. [& @( F  h9 Y    return 0;
0 I" f1 F* O! i; g' l1 ]}
4 W1 l" l! V& d7 L8 f$ Y9 Q" V$ W& j+ K% n& |
static int flow_cut_param( int numop, tag_t *operTag ). J- B; O  j0 P: J0 J
{& t1 n* k+ i. D. }$ u: D' d0 U
    UF_PARAM_disp_tool_t display_data;% [5 i4 h' Q9 P
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
+ i3 B& o8 `  A0 a! o* R    display_data.frequency = 10;
$ ?5 P, M+ E7 a$ w
9 ^; W8 Z) i% ^3 U- p9 @/ E. L    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
3 ~* B/ ]$ R: h2 g& T5 n    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
3 {! B+ B: Q/ L! E& {) p( p    printf("Display data for tool type returns %d\n", display_data.type );. M" ~/ E5 g0 p
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
" @. q; w1 q3 y6 q% I6 c5 v
* F1 ^- Q1 a: E5 u; P. c  E) L    return 0;! T% h- R4 S0 O* e. O( A( p2 K
}4 [, G- \: c7 P' L

" C8 k# g2 y' u* t% d9 Gstatic int area_mill_param( int numop, tag_t *operTag )
4 x) q2 T2 J  @$ v3 D( I# U/ _4 I4 K{7 w" M9 V. \8 p( ?$ I

5 w0 l& J2 d, A9 a) p    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );; k1 Z# b' ^( `3 [

; |5 x* o. T; R6 G7 d& S: F5 E" ^/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
2 l# r$ Q! n# T: K7 d) h3 g0 ~0 T1 h5 i$ V- _. g
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
# r0 _3 o# i8 \- ], B/ h+ P# c    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
5 b9 p  N* @# y( |' Q1 F" J! ~; o# W! }4 T
    return 0;
5 q) S( m; J9 f8 A& N% v( V2 H}. M3 A8 H8 Q- j7 ~: ?$ |

# |# G; d0 U8 C6 m, C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了