PLM之家PLMHome-国产软件践行者

[资料分享] 一些关于使用ufun进行CAM加工设置参数的简单函数示例

[复制链接]

2015-4-20 19:42:50 3837 0

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

admin 楼主

2015-4-20 19:42:50

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

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

x

  z! S8 `: I4 L8 k9 z+ p. U7 D一些关于使用ufun进行CAM加工设置参数的简单函数示例
! |& @, e" l& g7 d# e可以参考下,常用的方式!/ M  U; b# l3 @% D; q- Y, z+ i
6 q3 c' R! D* |/ z  g! d
static int set_tool_param( int jj, tag_t toolTag )9 D, u+ Z1 l) n& i! A- Y
{
! n- Q1 @6 q3 Q# j3 P    double toolDia = 0, toolRad = 3;8 D3 _7 z& q  n# x
- x0 O$ M  S) }; M% B2 p. S# D1 w
/*                 Modify the default 5-Parameter Milling Tool         */
& Y5 j- \/ k" `* o6 A5 s1 N  u# {7 d8 B* j0 {( a1 P
        swiTCh( jj )% I2 A; h$ e8 P  [6 H) k
        {' Y: e5 _) m# D5 r& H$ N
/*                               Tool No. 1                            */
" i) H9 k5 F! n/*                             Add a 3.0 MM crad                       */
% D) B( s# Y" b$ z' m        case 1:
3 e3 g) J1 K7 D+ v% [            {/ w8 O7 p  L: h* d" ]; s
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
5 c; a' Z& }1 }' z" |- @7 o$ ^            break;
! |* }6 D# l, k  j# v            }, W" A1 E7 H' S
/*                               Tool No. 2                            */
% o* O" [$ e4 X4 V/*                             Make this a Ball Nose                   */
. h/ G; i* a* R0 C$ I  s; \        case 2:' ?# I5 ]" U! D
            {) y( O* [& u' V/ Z% w1 z2 L
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
( h$ k! d; v" W3 `( F            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );+ f# i) i! M, R' t; u
            break;
) A) r6 |; ~2 _* j9 J            }
6 B5 r1 v. i) u! M' M+ x6 A/*                               Tool No. 3                            */
0 b5 q% r3 W# G/*                           Define a smaller Ball Nose                */
3 @' K; ]' U% u9 S: T' D+ A, v        case 3:' ~# P) s9 o* e* P
            {$ @2 J2 m3 H( ]
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );) s/ K5 m; v6 A! l
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );, c+ t0 I5 L* O
            break;$ @# J+ [* n2 _" M9 W: K
            }
- j2 j0 a( _9 d4 y; t) J        default:6 U, Y6 P, n1 Y, ?% ~$ c. \0 O
            {7 m: k' C( J8 @6 K( s) n$ ^' Z
            printf( "Default...\n" );
2 N( X$ D# B; }: t! {            }
" W' O4 k, `* ^% N# o( n. Z        }
$ H, f* V; ^; [9 ~/ I) Q" ?        return 0;, Z2 M/ I+ d( r& `6 [) d" ]
}
* A& m+ K" g5 A  k, b' {' }# b* t  Y$ T  q  B# _
static int cav_mill_param( int numop, tag_t *operTag )
$ f! M6 q3 j8 b1 q+ c2 S{6 I5 B6 L; B: u0 g
/*   int    numop;*/
+ T5 V; y, w3 [8 A$ O   double depthPerCut;# i8 M+ _. V+ r+ G
   double stockPart;
* R/ ?, s9 l" D
2 z9 W2 V$ a, g: w    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
! I+ }) t) ]4 T3 [. S    printf(" Depth/Cut default is set to %f\n", depthPerCut );: W) M) \8 n' u1 P- g
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
" B) Y8 P% P, O; A    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
; W$ m, w: c$ y" V( K    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
$ s5 {% u( d) a4 c" c5 t5 B) T4 @0 i- _6 E" D4 s4 _
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );$ U, O! g3 M- p$ ?% I- z
    printf(" Part Stock default is set to %f\n", stockPart );( I; f& G- L9 v  ^
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
/ K. j" R9 u( _7 _( c9 K- F    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );. U# N. s$ \; S( n8 A) i" @2 {2 P
    printf(" Verify Part Stock reset to %f\n", stockPart );
, x( p8 J3 ]. C5 J' O% P* X
) J8 T3 x2 r# w+ s; ?    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );9 o8 _3 c6 C7 b0 C- @$ ]
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );' f% n$ i. O4 f7 z- u& N. k
! o( M0 P4 Y* b( F( T1 K* v
    return 0;
4 B- p4 E) D1 q  j" n1 K- j}# K/ U' m1 ~2 g

  s6 C# U. G+ V/ rstatic int flow_cut_param( int numop, tag_t *operTag )
: Z) R+ @% M1 w{
$ V2 L: v$ a8 e1 t2 Z/ l5 h    UF_PARAM_disp_tool_t display_data;
6 A* u4 c- ]$ @9 [; x) T    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
6 k; m% e- h. F, k6 [1 J6 j    display_data.frequency = 10;2 s( K( N) s, g! F: w6 S4 P
  D& f- D" s, |, ]) Y( U: G+ x
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );% ]" R# X% z- N( }* {
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
- d0 f- g" S0 i! m5 q4 y9 `    printf("Display data for tool type returns %d\n", display_data.type );- |! ^3 i/ e! C' ?3 w% g  H" g
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
  y! R1 Q9 O$ W: ~) T) S
# T/ r0 h9 I  S* @& S. E    return 0;
5 I4 J+ a, t& Q2 o( ~7 t}/ D' q  `; a7 ?  _7 f( S/ |

( ^9 Q$ X$ q9 ]static int area_mill_param( int numop, tag_t *operTag )
1 g# Y9 {2 w8 I, k  r( w- z{
. q" c1 C# h+ m- A4 f$ J
$ H% l: x8 U# ~5 {6 p! Q    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );& f* S2 ?. c2 W
! L3 c; m% Z+ K
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
: j, T3 N$ s% g, I. e& g3 c% ?/ c4 ?$ u, ?" T1 c
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
9 |! b7 `" G: }! i  Y    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
+ S& ]# k  x: l$ A/ O$ P" m6 o7 c1 ]: J/ k, c2 }: d. d7 T4 U
    return 0;
8 h" }/ t2 j# g6 t5 t}
6 b; V2 Q$ p& q& ^' I: }# z8 L- y" [- m. {& O1 j4 Z( g
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了