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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
4 G; _$ Z* n, ~+ U: |1 z
一些关于使用ufun进行CAM加工设置参数的简单函数示例+ Q1 P% h  I" @0 `* L
可以参考下,常用的方式!4 _; o# y) W7 z$ W% g

1 W7 T' [& A, t, xstatic int set_tool_param( int jj, tag_t toolTag )9 t" k5 \: V9 d2 W! r) o" T
{& T# a0 d- n3 b, A) n9 H  y
    double toolDia = 0, toolRad = 3;
1 I4 R2 @- h! v3 o: ]' K4 W9 [$ E7 }. J/ D- a" a# N
/*                 Modify the default 5-Parameter Milling Tool         */
% r$ ^! `' Q% L1 s0 h' f) i% B; J6 B8 f' }: Z' T' N* J- H4 S& |$ |, Y  {2 P
        swiTCh( jj )
2 B3 a8 n" R9 `+ \1 q0 u        {
' ]  T! Z/ |# s% z/*                               Tool No. 1                            */1 X1 |; j# R$ \8 i7 s3 {) T
/*                             Add a 3.0 MM crad                       */
8 S/ i; a* K) L1 u0 X. e# E        case 1:0 P8 d  h! M! K( r; H4 X8 p
            {
4 S6 l* B5 ]$ @6 g9 ~2 E/ g            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );% h( T1 j3 f3 Z8 C2 p' M) `
            break;
; x2 d2 j. y* f4 w            }
1 e8 ]+ n* T+ B3 [/*                               Tool No. 2                            */! m% L5 M9 O6 a  q& A7 E; e
/*                             Make this a Ball Nose                   */
' ^- _0 ]& }3 e0 t        case 2:
" B& l* a0 \7 \# y: m& l            {- m0 N0 A1 q. F+ t  a+ W# s
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
; I2 q+ E9 W, M: i& B/ M+ w$ T  M1 ~4 O            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );/ u# e! O6 \+ X
            break;' x% ?0 Q% f4 k- K. a% i; `
            }
( t( w! y! Z1 \( D: @/*                               Tool No. 3                            */
6 j3 v( P1 F  o3 G4 K/*                           Define a smaller Ball Nose                */
- u! N4 D- Z& x7 y0 M3 j* z        case 3:
& E3 _2 \1 t# V% X, E1 d            {
( `' L' m1 m% d- Y6 }/ F+ B            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );; Y# o3 b- V  h, h% A  d
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
8 C3 r7 y$ z$ c! h            break;8 @  D/ w3 I6 n
            }# U) e3 J& z6 \# u
        default:
6 t5 z' W# I# X( o+ G0 Y            {" i' K* M+ ?& C, H. y
            printf( "Default...\n" );
3 f3 n" }, ]8 o' |6 I7 U            }
- b0 M/ h  N; J. `        }9 Z: `. v8 S; m$ \& W
        return 0;3 i5 ^- V$ `& u! Y9 d! [- I
}
* p& G/ @" ^- Q4 Y& U
; B# Q. i6 c3 y4 ]static int cav_mill_param( int numop, tag_t *operTag )
; ]. u' b2 I4 ]. o( {) L2 Z9 W{- P* y' b5 j5 G0 N
/*   int    numop;*/
+ Q+ n6 ^: L& L   double depthPerCut;8 k/ p# }7 k3 h% h0 u  B# c( M
   double stockPart;. v, i$ K, E* K( ^. Y8 q/ G

  N5 ~& S2 Q# ^( m  |  e  U* @% M: @    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);: z& a# k# ^. d( u, v
    printf(" Depth/Cut default is set to %f\n", depthPerCut );
. c* [3 U* V1 ]% L* |, l% k4 r+ b    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );1 i8 \5 B: P3 c
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
$ w7 m$ u, @* z    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
6 ^: U5 s6 {7 ]
: |" s. X) B& K( ~, l    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
' q$ [' L% E5 a2 s    printf(" Part Stock default is set to %f\n", stockPart );
( W. t4 D5 s! y1 n  g6 V    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
& V: G6 Q9 w$ {, y    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );; f2 [/ e# X9 _* l- Y+ c, o
    printf(" Verify Part Stock reset to %f\n", stockPart );
3 O- F  S5 o& k1 `
* o( x5 l2 F) W    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );+ B/ X' J6 \6 o2 x$ U
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );: J  b4 G' s. w, ~& n6 g

; a8 t) c+ H: V9 j; G4 X    return 0;* a% i6 W' J- L* c
}
  r9 I3 e" ^' P3 e6 i+ y
" U  l0 C+ y& ?" [0 B  xstatic int flow_cut_param( int numop, tag_t *operTag )  T1 h- J% _$ b- w
{
! k, u, p$ r1 @3 s' c    UF_PARAM_disp_tool_t display_data;
  w! G" L/ ]/ D3 N    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */+ g; l7 [3 r+ x" ]3 I: W
    display_data.frequency = 10;
7 o' [1 f2 G* B4 j; w" }6 D2 j: X/ R4 z7 ^7 y, k* i' j4 @
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
6 a6 M% `- n# W- ~7 B& A    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
( V1 V4 m$ t, ?9 H- ^0 t" W    printf("Display data for tool type returns %d\n", display_data.type );- i* |; E  E- V) Q8 c- J& j
    printf("Display data for tool frequency returns %d\n", display_data.frequency );" C' a4 |# Z6 D- @) Y
2 g' B$ Y/ Y( S
    return 0;  f" m, ^$ L8 `% Q3 s
}
3 D& ^! m( `& X' ?" n5 P& u0 x/ g7 N; d) ^2 |
static int area_mill_param( int numop, tag_t *operTag )# @2 {, q2 A$ _3 E2 L
{
' ^* R* X" j* z. O* O: B6 h8 F- J" p4 e1 }  d
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
& k1 l# S: @, C9 O
9 w7 N7 P, z6 v$ `/*                                           1 = Warning, 2 = Skip, 3 = Retract  */
) |. B( s: q, j9 D# Q' F; g8 J  @, y& k( t) k
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover );
% Y& W; ]+ m! }* b, m    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
4 h% Z; {- d4 H+ l) w0 w
7 T( |+ I* t( M  [3 u* o# }& Z6 x    return 0;
) n) O) ?) |9 U5 o- [}
7 W  b: i9 n1 Z% E
0 B. H, F. p+ H# z3 ?) f9 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了