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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

. N; f# t" K. L$ N2 A  u一些关于使用ufun进行CAM加工设置参数的简单函数示例3 @" U/ h+ K- e9 \) X- J: u3 P
可以参考下,常用的方式!
1 d- z# D( F/ |. r5 B$ D6 S) L. X, i" o/ t
static int set_tool_param( int jj, tag_t toolTag )
  C* o; G' V; D/ j, ~. ^6 ~6 z{
5 e! x, p* h6 ~  h- X    double toolDia = 0, toolRad = 3;
& y8 W" Z5 W; o: R: d: o' W
8 T: n, t, y9 v7 t) o$ l/*                 Modify the default 5-Parameter Milling Tool         */6 p& @2 w! e# Q  W3 O4 N7 E3 O- F

) I& ?! H' T9 S0 g6 [        swiTCh( jj )
1 O) e! `& ]( h% y# P2 m9 A        {
1 C: m( D6 |' I* H& H( ~( {+ I/*                               Tool No. 1                            */
, p; H  |: t) P* e$ w6 h. H/*                             Add a 3.0 MM crad                       */
! s/ k+ U! I  q        case 1:& v! s& q& R1 f* z( }& d
            {
6 Y: l, A+ L1 D$ g- _! V            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
' S7 x# W" s. r+ c9 p5 W5 ]+ G8 ^            break;" T+ g: J! F7 \
            }
% X. q6 K0 F" }+ S' G" x9 ?/*                               Tool No. 2                            */! |' ^: C' G% X8 o; R, T- b
/*                             Make this a Ball Nose                   */$ t  ^. O3 Z" u# b
        case 2:
5 H' t% e5 f8 A) ?( Z            {
9 R' r" B3 U0 T# f  P            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );  b5 v6 l, G( l( }4 l) S; j  U) c
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );3 T" u: I, D/ I, {1 n( U
            break;+ f5 {# F) z2 p& |( n1 P
            }' F5 A2 O3 Z8 N! W) ^4 V+ z% Q/ B
/*                               Tool No. 3                            */
% G/ ]0 I) Z; H3 Q& F/*                           Define a smaller Ball Nose                */
1 v* F- o) B% H% q, L        case 3:) i2 I1 X" d! n2 r+ T1 i3 ?
            {# `3 y& `4 V0 I- J9 l
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
: j1 o/ u0 v4 G4 O7 q" E            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
: }% k7 _) H1 u            break;. l  H# ?& i6 O7 ?5 ^8 i3 b4 q
            }+ l$ A: O) V0 i
        default:
7 _/ s; |) O' C/ [1 Q            {
: |& T$ ?3 e) l# w* H$ ?( Y            printf( "Default...\n" );
- b. i- [9 q2 ?+ \" C6 J! K            }
* N# {- i6 e+ T$ D        }1 G7 f1 ^4 C3 S
        return 0;$ K8 N, J: _  F% P  Q8 Q5 b, J- b
}6 T* \% S& _& c+ u

, T5 l0 t+ r( M, gstatic int cav_mill_param( int numop, tag_t *operTag )
9 D; m# K* X  O. H$ J8 Q{: {' v6 R/ E- ^) F4 \: u0 u
/*   int    numop;*/" L4 \2 j% l/ }% E- ]  x
   double depthPerCut;1 h; \: j8 A# V* t
   double stockPart;7 v$ q1 t8 u# e4 d

$ w0 H  q% m. Z' K9 [    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);9 I! A6 t8 ^% ~7 z% X) D
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
. R* ]( n0 I4 [0 {7 k    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
1 y0 {% E2 j2 ~* \    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );6 I# l8 }1 Y' y% p$ M1 x2 q6 r5 L
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
7 G) S4 x% u$ `$ `9 i' t4 B
$ z* g  {1 i8 E+ a7 n" S+ X1 r    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );9 A6 [9 Y( Z2 R6 F. V
    printf(" Part Stock default is set to %f\n", stockPart );8 W" M0 i8 Z% N" t( o- A2 Z
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
3 u$ {' g, j) _4 \6 c$ l    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );' R: s! d% x9 O, N# P8 x
    printf(" Verify Part Stock reset to %f\n", stockPart );
. m: ?, Y. A8 T( c0 G$ f7 B4 ]) F7 Q8 m$ A
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );
" q0 y( E- P3 s' F' `6 @: Y    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
  X  m) D0 L3 {7 r& K- k+ E
/ Z& ]* X! k; L, n  I1 }- b    return 0;
* Z* X# Z* T; D}
- R# S3 e+ ^! ?
# ~* u# Y: @: S4 d" V1 ?: Sstatic int flow_cut_param( int numop, tag_t *operTag )/ c2 L, p6 C/ r  |! x2 P
{
# J" r9 }5 \2 p0 }1 C    UF_PARAM_disp_tool_t display_data;) V; v0 t! u. \* }8 B
    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
" ~1 t" @; ], a4 K; o/ l    display_data.frequency = 10;
, |* z! X3 y( M' E4 R& }# O3 v, R2 H0 b' L+ S4 d9 s% P% P6 e
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );1 N( w$ g; Z: f9 q/ P
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
% r7 ?" l$ r6 U+ m$ @0 w8 A0 E    printf("Display data for tool type returns %d\n", display_data.type );/ c; q- m* U8 V9 f
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
9 t+ e) D5 I% m9 q5 f4 p  ~% d
+ ?1 u. u# Q$ A, L5 y7 i    return 0;6 c! p: ?& o0 n' e3 L
}
6 ]6 R, u5 p+ q
+ `' S5 V4 l1 t& ~- Zstatic int area_mill_param( int numop, tag_t *operTag )
1 o( L8 L+ c  f+ K, J: l! D{
* e) ]6 C/ G+ {- U
' y, X1 n$ t+ C7 q; K, I    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );4 p. h3 ], t6 i8 l0 ^

- Z/ F- c1 m7 U/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ( U+ ~7 C' O% {3 l6 L3 c$ f6 [
! e7 ~# N5 y4 h- X- R( k7 J' g9 ~! v
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
! k+ N. F  N0 R4 @; c1 y    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
  b9 {" t' `) Q9 _: T0 s' i- U  |' M# V5 o$ V; r3 g7 z$ D
    return 0;
" c3 s: `" u/ T- T+ ~- U}
% f; x( {  D: _; ?
/ B0 r; g: M4 U6 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二次开发专题模块培训报名开始啦

    我知道了