PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2015-4-20 19:42:50

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

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

x

; e) k  B) R  l/ v一些关于使用ufun进行CAM加工设置参数的简单函数示例! s1 r2 |% I  u* q9 U
可以参考下,常用的方式!
) r7 g0 w1 I' U9 ?* ~& ?. l+ O; {* b. t4 A$ H
static int set_tool_param( int jj, tag_t toolTag )
# ?# N; Q$ p/ [7 V4 t; ?4 l# P{
( M0 q3 [1 P1 d$ I    double toolDia = 0, toolRad = 3;
; i9 U, }* W- R3 K" V: D' \  r1 }( I4 T. K
/*                 Modify the default 5-Parameter Milling Tool         */
1 Z% [9 K2 L4 c
, `2 r: \1 e7 `        swiTCh( jj )1 s. y2 H9 V6 k: f
        {2 U1 T% k* o4 }0 A; x
/*                               Tool No. 1                            */
; u& `2 x. s/ u9 B4 H5 j" Z/*                             Add a 3.0 MM crad                       */
% Z: x2 X9 \  S/ s! M3 N        case 1:, {% ~1 O4 B. k8 D" ^
            {$ Q" p* n( ]- Z3 I2 X5 E  T
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );0 `& V$ C/ ~1 S$ N* M
            break;
* X* ?2 I7 q! |# x7 w            }/ t: q; B& V- n0 E
/*                               Tool No. 2                            */2 j- L( |" s5 z) Q+ F
/*                             Make this a Ball Nose                   */
- f8 U# E9 I; W6 \3 x. R  B- W: Y. y        case 2:  B6 [( @3 _4 A2 ?6 t6 ]
            {5 e) K0 N- e4 d4 ]
            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );) P% N  e* a. i/ _  M, {
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );  E* m1 W0 M. Z* `
            break;0 m, l0 Z' A; O+ }* A
            }
' t: x) g. o  W) e, Q+ v: X/*                               Tool No. 3                            */4 R. m# L0 O* u8 H
/*                           Define a smaller Ball Nose                */8 s9 J2 t0 |) v* L/ E
        case 3:
4 p  g; K* B7 B            {, Z8 \: d1 x$ E
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );
1 o: \( N2 J2 w, |) B$ q            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
* i( i& b) u5 q0 w            break;
2 s* I* S# }8 F6 I            }" \4 e0 d& w: D5 P# P) m- E
        default:; U% Z9 Z! w: }7 P% y  e
            {
1 }/ i' y# f8 q$ d! ?) X* n            printf( "Default...\n" );
3 ]7 A8 [+ {- M% W/ k% a            }
+ B+ i, m' q9 O0 S; ?1 ]        }( K) z. _0 P- e" t# {
        return 0;) ^* i: ^) r0 ^' r5 r3 P( y* w
}+ g, L5 C! ?2 Z
! o6 O3 A. v+ {% C" e4 F
static int cav_mill_param( int numop, tag_t *operTag )' m" C9 |6 K% |- q. v- _
{1 W$ o  O% g9 T. e) u$ j
/*   int    numop;*/
- `" V9 R" J1 k1 R3 g   double depthPerCut;  R# W- F* D1 A; o
   double stockPart;
: O0 R% L: j. g& `9 R  `- c7 C$ \3 P
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
9 x7 L/ e6 _$ v3 m$ B  {) D    printf(" Depth/Cut default is set to %f\n", depthPerCut );
/ P  j3 t: N$ t    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );
1 b' Z% W' U1 W    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
$ Y7 F- h9 J) c* v) z    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );8 U& |6 w( G# E; @3 i
$ O0 V( K( C; Z) c$ a
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );( w/ C1 S5 o. d% `+ C& h7 @9 v3 F
    printf(" Part Stock default is set to %f\n", stockPart );
2 J* m# V" G2 ?5 L/ q: |    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );
+ o+ {1 T# x" [; _: b& V; n    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );. J9 X) [% a4 W' T
    printf(" Verify Part Stock reset to %f\n", stockPart );
/ V& r  Q5 f7 W3 a% q6 C5 U5 n+ m- {# C6 Z
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );$ \2 Q+ n" `/ r* T4 Q: b! I
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );. O; D( V9 h8 e( R  K

2 M5 [0 E- U* D* R: Y. N    return 0;
5 e  @0 r, E5 T, Y9 U0 V& D7 Z& o1 e}
! L# g% Y' A" `$ ~4 H8 D. U/ B" r4 ?8 s; ^6 @- ^
static int flow_cut_param( int numop, tag_t *operTag )2 f. R& ^5 v2 V* T# g
{
7 M# b0 u5 b+ X* f8 u    UF_PARAM_disp_tool_t display_data;
6 J. K. Q( q) `4 |    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */
/ b. B! F+ J) P! {, ^    display_data.frequency = 10;* d8 V. r% P3 l2 R1 C$ [' y" m1 K

- |4 v9 F+ B! ?& L! w% k/ o. d    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );# @) d/ f* A. a
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );+ X' D/ ^5 E( |& n
    printf("Display data for tool type returns %d\n", display_data.type );0 i8 C  q2 O% m- z; \" Q
    printf("Display data for tool frequency returns %d\n", display_data.frequency );
: Y) [2 Q4 K( T9 {1 |9 O  l; U6 D% v# l, ?0 _
    return 0;
! C9 T+ C% k5 j' Q8 G}3 q5 A2 S8 m- n7 t
" ?% R/ `: Z* B7 f
static int area_mill_param( int numop, tag_t *operTag )
4 I8 `( B( z7 d- e1 x2 \{: n4 S& g) k  |0 p

; G: }1 f% `3 }$ s" E, f    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
  Y" D$ |  z! ~1 F% T* S$ ?7 C. ~1 s' E( e
/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ 0 k, ?3 u: z' ]$ K1 a/ _$ J# n5 L
3 e# G, y; z- ~
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); 9 l# K9 n$ a: x  M. g
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );
; d" v' @+ Q% }# j
7 j- n1 i) h  w; I0 V4 M& s0 a  {. L    return 0;7 K7 X8 W6 d2 \: Z; h4 _
}
& \% v4 K2 d7 p+ i+ `
; q9 i6 _$ Q! u. z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了