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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
2 _6 G6 q9 U, J% {; \( u
一些关于使用ufun进行CAM加工设置参数的简单函数示例; Z  Q7 ^$ N3 x6 }' S
可以参考下,常用的方式!
% }! [" J1 u8 G# M: R0 |% Z
4 [) O9 d( g3 ?4 Z2 ?1 }8 Rstatic int set_tool_param( int jj, tag_t toolTag )/ [% i8 f0 c6 c- d7 X
{
' w: e, J" [- Z( K, i    double toolDia = 0, toolRad = 3;
' e: k% ^9 H; L& n, f9 \! _! r- w4 p8 ]1 ~: s. P: Q
/*                 Modify the default 5-Parameter Milling Tool         */
2 K4 \) ?; Y+ z' b% w$ x; C* O9 X: N5 C; z3 i9 B) |& W5 o( m: ]
        swiTCh( jj )
+ V2 g* W9 u0 C; z! t        {
; q4 f5 Z0 `/ O3 K/*                               Tool No. 1                            */: ?2 A; |" [: C( z2 M
/*                             Add a 3.0 MM crad                       */. o6 h% o2 {9 ?7 f0 B4 w
        case 1:
5 w+ z- S1 Z* ?            {
4 T3 {0 _$ m, n; F+ ?& b- ^% N            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );" `' Y( G9 W( {0 K( p. E6 a
            break;
! W/ r* n0 f3 n) P            }+ N7 y6 r' v3 q# n
/*                               Tool No. 2                            */1 u( O& f! m$ Y4 q
/*                             Make this a Ball Nose                   */
) W1 H! `6 N9 J: X1 K! _! ^  E; }        case 2:
" ~8 K& q# J5 n2 m$ Q: A* v            {: y% g. {# u" Y$ K5 ]2 r8 x
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );5 p) ^$ F# R. ~- y% a7 [
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );- A" b3 N/ }% z: M* z$ o
            break;% z6 p, A* ?; O" e; }* J
            }
, y8 [5 E. n( G& R; c: j/*                               Tool No. 3                            */
) w7 G" ]7 ?* d* V$ h/*                           Define a smaller Ball Nose                */" K8 v* _# r! v( h, P! i/ {$ q
        case 3:0 w" {1 m" |: }3 x  \$ Q
            {
+ s0 `# X& h( i            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
1 U* _9 E/ M5 y7 M) y  j            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );& b3 b7 P( y7 B. A4 J7 h' l1 N& ~
            break;
1 q* q- U" J# |/ T            }% Q3 P& p% d% e
        default:  S2 k( m( P, N8 A% o% o  U- {2 u
            {
" Z0 W8 J& k1 X4 H7 y+ K            printf( "Default...\n" );
) {3 r* z, ^$ n. Z! G' B4 k) @3 b) B            }  Y  T3 ^6 M* |! t8 H/ P
        }
+ m* a+ U' x1 I7 p! }" r) `# L        return 0;6 v5 _9 _" U0 V3 q4 q# ]) b! c
}
' e; t% J( H- Q; S0 t, D7 t' ^7 q& O6 P' A' R; V
static int cav_mill_param( int numop, tag_t *operTag )
. r5 r) j& X' O( H* R{5 w& ]  O/ [8 S' P# u
/*   int    numop;*/
6 `5 L" _) n) |# }* [6 E   double depthPerCut;
! L( z3 d" A$ V' j   double stockPart;
% O! h: {: n% i0 U1 U( o
/ I$ Z7 R& _, x6 o1 b1 k    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);( K# B7 e* ]* m: E
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
3 f  {3 w, S2 U. T; T5 R    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );; k# U( S! I8 O- q; m
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );' A$ A0 d+ _" x; }6 Z
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
7 N  O4 I- `& [
' E  _3 R% H' n    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
2 U9 h  \& s- m+ ]    printf(" Part Stock default is set to %f\n", stockPart );
& x" O2 j4 h3 j+ F. L1 M4 H    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );3 I/ O5 Y2 G% F# f7 s' _9 @& i
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
2 k/ P2 `$ F6 F8 X4 n    printf(" Verify Part Stock reset to %f\n", stockPart );
7 ?' R! }" j2 M: G6 X6 k( k2 k3 m2 V. a
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );! `: F6 I- H+ }
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
- a0 a1 q# R( r# \, ]  ]
0 w# K# g# Z# \' H9 j    return 0;
# z. `. c4 x* U- |% u( |}
% e9 J: e+ T; t! Q
$ g# {9 W% M3 f# T3 X2 Dstatic int flow_cut_param( int numop, tag_t *operTag )
0 ~+ s9 v/ T1 M2 w% U7 n{9 d# f" v1 o$ P! z$ T+ R$ G
    UF_PARAM_disp_tool_t display_data;
  X  m' P  O6 s1 {& T/ J. W    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
" i5 k1 c6 w) }    display_data.frequency = 10;- Q. O. n' t9 y/ ]0 {' Y
! Q6 U) }+ f; O) R; ^5 ^$ Y
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
! J, P  V% a; g9 ~    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );# Z" s4 G$ G1 V, Q6 ]# f/ P
    printf("Display data for tool type returns %d\n", display_data.type );) D, ?5 i2 d# u7 P( f% l
    printf("Display data for tool frequency returns %d\n", display_data.frequency );; \0 w0 j& c9 Z+ \/ m  S$ x5 D

4 C" x. q+ F! \8 J% S    return 0;& {) `1 q6 ?5 K/ j
}
: i; R2 q! a  M+ h
2 x0 y8 H, U+ j+ \: `1 astatic int area_mill_param( int numop, tag_t *operTag )# N) B/ S$ J3 Q$ ?% G( T$ T6 d
{; r) F7 ~6 Z8 Z
* ?" E; D1 i! w. m9 `' F
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
+ o8 R* f% @7 L& j7 J- p6 }2 |1 \5 Z% U
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
1 N8 [4 E+ l( @4 t% Y' ?8 G
) X2 ]2 K2 E; G1 C' Y$ N  ^    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
$ s+ i& _1 R" o9 ~    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );2 J) U7 o& E0 |

4 |1 G$ V- ^, ^) k0 J$ M    return 0;
2 O+ D# f6 A! A8 c( D/ p3 M/ a$ {}2 N& x% X* ^: A3 X
7 @) J4 w' E6 k+ [! v9 O- ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了