PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

: x' C* |- q8 O7 P' Q一些关于使用ufun进行CAM加工设置参数的简单函数示例1 z3 L% O; G( r5 G% c! p
可以参考下,常用的方式!
2 K9 l. ?) b1 ?4 U/ v5 `' u2 \8 `' G$ g4 o5 V- w; m3 W$ T
static int set_tool_param( int jj, tag_t toolTag )
* D( e& V6 b8 M  Y3 c{/ I) n2 l0 \! r8 h5 _: X0 \
    double toolDia = 0, toolRad = 3;6 X- b! _6 x# k8 J) N; c& ~
8 O( B+ m0 Q/ L. v9 [: i# h# f
/*                 Modify the default 5-Parameter Milling Tool         */
% J6 p" ~& ~0 t: U8 V+ H7 b" I1 O5 K0 X
        swiTCh( jj )
* ~% j8 y1 ^3 E5 ~& r+ y        {
3 b' G$ p8 ?- g2 Y6 j' f' s5 F/*                               Tool No. 1                            */" S1 x: H/ |# @. X$ R% b
/*                             Add a 3.0 MM crad                       */
: _0 I& F& Y9 ^: [- {5 {( v        case 1:3 p% l, u2 S9 e& ]  A
            {
3 y1 W; Y5 b; S$ Z0 H            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );5 w/ t$ x; h- ]& l( R
            break;# @6 q# y% e& N% u: q  a% v
            }
$ R& N0 ?2 O+ y, p  J! H, g: ]/*                               Tool No. 2                            */
; z- |" z. u) q9 J5 H/ ]! S/*                             Make this a Ball Nose                   */5 m0 h% Z. j! a( ~
        case 2:
8 x- t" u; w7 j3 b" D0 H& B- ]            {$ R* ]6 M4 \9 i3 V
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );# a6 t8 U. y( P% e( H$ J) F; G, v
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );( r8 C& @, r8 R' c8 Q: d* _6 y% j. g
            break;
# W9 k5 V: N& @$ i) Y! s* e            }. k  j$ q" m9 o. b, m. E
/*                               Tool No. 3                            */
5 S* C/ n" g6 {4 K/*                           Define a smaller Ball Nose                */$ u$ F6 i  T! V6 h7 x; k
        case 3:
5 |5 ^# M  K6 ^9 R# I0 N3 Y            {, v5 {8 J2 @, o( w) T0 t- V
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
; E) {: W+ m; N, N; q3 D            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );0 y6 v# ]7 `6 Q# |0 h" r- s
            break;
; ?- f0 x% L) P# p4 e; C/ q            }' j3 |3 F& F2 o& B( v' E) a
        default:' Q) ~* ~0 F9 E" F: i
            {1 ~* E- @1 ]4 R3 Q
            printf( "Default...\n" );# K. a" c: C( ]: n. W" {( _
            }
1 `+ Q- s6 k( L( @" C& p8 d6 n        }( s: ^8 \/ R! z- P
        return 0;/ _+ M' U* S8 {
}5 c1 Z; P) b% R! C! a5 t

- n; I8 j4 Z% C3 @static int cav_mill_param( int numop, tag_t *operTag )
8 N; d( b5 L3 z5 c' [{
* R' f. A2 A, c: T. M/*   int    numop;*/8 C+ j; z* }* z  v' ~
   double depthPerCut;
7 Y$ z% t4 ~2 B, r   double stockPart;( L% Z( d: h( r, s7 a" d; c. ]
- n4 z/ ^/ g4 E' q+ Y3 ]' ^
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);7 B" Y: L. C! [$ d- s) M
    printf(" Depth/Cut default is set to %f\n", depthPerCut );: j% l# B) [% I- |
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
) @; r! n0 f0 O, z% H# R) v2 D    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );% c6 d& P! N' v8 R* \( h
    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );5 K" i' m5 t' t/ w3 S) Q4 J$ [
: K* V, F9 N- }% a
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );' h1 N$ ~  ]) `3 `# X% y
    printf(" Part Stock default is set to %f\n", stockPart );) d. u, L" z; p
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );0 G- |- {/ z6 M8 c
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
0 F3 Q1 o7 z2 C# K  V0 y' a) b    printf(" Verify Part Stock reset to %f\n", stockPart );
: P" k4 @7 V; ]+ b. D( ]6 i
. F% c; p# a1 W3 ^+ e    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );' m& M* e6 x! `9 R0 j9 m4 j
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );
( H/ F0 M* v# c8 F5 D( z: S& R* c4 R  a) S/ s" ?. r6 y3 p
    return 0;
- F) H3 r# S& K- q! O& y}! y  E: i4 U% X

) J; D) O, j# B3 m+ ~static int flow_cut_param( int numop, tag_t *operTag )' j# I* X, z5 Y; Z
{
4 l- H: E; M* a1 L    UF_PARAM_disp_tool_t display_data;
! w; l  M* F+ t/ g" }# H6 d    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
0 C, ?0 t. T  u9 ]) V& ]    display_data.frequency = 10;* a5 t- a. i# L1 L" I) p
9 i) T# @" u& S- V1 n
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
' a( r+ ~* j) u# h3 J+ [, |    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );( v' o$ h) s. P6 a  E
    printf("Display data for tool type returns %d\n", display_data.type );
5 W8 f$ Z! w5 ~: U- ^1 Y    printf("Display data for tool frequency returns %d\n", display_data.frequency );! }1 B  Q5 A' N- a  ~. k! J0 j8 {
/ i& j- L$ z3 W5 u& a6 N& h# D  V
    return 0;5 U2 k9 i5 M; P
}
! o/ L& L' t, j% v3 Q! a; z0 Q/ i5 {- Y
static int area_mill_param( int numop, tag_t *operTag ), z7 y8 Y7 ~( u- y3 l& e* x
{
2 a7 P0 u1 ]$ L& C
! p% U9 o9 m* ?  |    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );& }; A( H' _9 c) t8 X( J, n

% t/ o8 |( H. g$ ?6 F/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
9 ]; o+ C, u5 X9 t: ~
. v3 u  M" p3 T    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
. `' L2 C$ h) N: K    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
9 t: H7 I- ?2 a3 L9 O! u  L
6 J. i( z& x" l8 f    return 0;/ W+ i: ^5 t* F9 e; [
}2 {) x9 a: N* M/ H% f# ]2 J" h9 E

  ^" I& P( t* N" p( [& H0 `( @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了