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

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

admin 楼主

2015-4-20 19:42:50

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

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

x
2 V4 {) j; X* }' c* ?
一些关于使用ufun进行CAM加工设置参数的简单函数示例
# R3 R" C+ J9 v可以参考下,常用的方式!6 \. l% J$ x0 z% G6 U! V

/ C+ s6 ^# E) h4 r; ystatic int set_tool_param( int jj, tag_t toolTag )7 K' m( v8 D  G: m
{
  h) _6 `1 Y' I4 R) G; \    double toolDia = 0, toolRad = 3;3 d) M3 q( ^5 e2 t+ V

0 h' ]- W! Q7 f. I; A# A/*                 Modify the default 5-Parameter Milling Tool         */
, L$ `/ p1 z5 T
1 y# Y- a+ G" ]5 _5 W        swiTCh( jj )
8 M. h" {! h1 |7 J( h% M        {
; p9 i! [5 h3 M, ^$ w9 }/*                               Tool No. 1                            */
: m  C0 i. [+ A; ^# j8 W6 {/*                             Add a 3.0 MM crad                       */
2 C$ G1 |; s5 ^/ X# G        case 1:
- x9 [" x4 g) A, \+ ?: a# l; O            {! h4 q6 r3 J  x! [' z
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolRad );
- T& D8 p/ t3 E' T            break;9 o0 s. o  E4 _( `  e
            }" [( R, {6 l9 A: A! [
/*                               Tool No. 2                            */
3 ]. C$ @( [/ C! I6 N: V% j/*                             Make this a Ball Nose                   */- t2 ?, e: F5 v6 R0 N
        case 2:
" g7 A% I6 a$ W% W; h; s) d            {
3 R0 _, `; w) w0 a+ g            UF_PARAM_ask_double_value( toolTag, UF_PARAM_TL_DIAMETER, &toolDia );
; Q$ t9 I, a; M% e6 q            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, toolDia/2 );. V) c5 S1 k- M3 E( \
            break;5 p" M, R% j' J% H+ E
            }
& g( T2 O+ f  i1 E" c9 ^3 L/*                               Tool No. 3                            */8 \! m9 _! D/ L+ v( W; |  A# E
/*                           Define a smaller Ball Nose                */9 E" ?7 P  `. X6 W( M' a
        case 3:
& c2 Y# r* i; a, `            {% x* H3 D; _% ]" t
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_DIAMETER, 25.0 );/ u  t/ J. k* Z) v0 @7 T
            UF_PARAM_set_double_value( toolTag, UF_PARAM_TL_COR1_RAD, (25.0/2) );
4 \$ G8 `: o  ~% k! Q' y6 n0 Y            break;
' y8 U: W- `, |- d0 l+ N8 L            }
6 R" P! j1 a8 t4 O# M- e6 H        default:
# I. S2 J7 J  p9 c3 ]            {
; b+ ~/ r2 a+ G$ D1 K1 o$ F8 D            printf( "Default...\n" );3 t/ y# f! d7 {. S3 Y
            }. t  W; W$ n* {
        }9 O' d( F5 A/ k- f, ^$ [- X
        return 0;  ?  w+ A% o/ }
}2 l' a1 V3 \; P, j7 V
  j, Q5 e2 M" v2 L0 ]( y% z
static int cav_mill_param( int numop, tag_t *operTag )- V* l' v# d/ H$ k+ e, }
{
# \- p4 X# Z. i/*   int    numop;*/& `8 P- E' D& t! e% X' D
   double depthPerCut;
' j# z' c+ U' n. C; G+ ^/ [/ e$ B   double stockPart;
! g4 f3 z/ m. U2 e) F
: _& k6 Q  g7 N  C3 h) K    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut);
9 u6 i4 g% a# a, h8 e; T% u* D    printf(" Depth/Cut default is set to %f\n", depthPerCut );! I) p, P& \+ C7 t
    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, 12.000 );0 p& b" W' H! m: o" I
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_CUTLEV_GLOBAL_CUT_DEPTH, &depthPerCut );
- m7 T7 g) ~  J/ Y' g+ @    printf(" Verify Depth/Cut reset to %f\n", depthPerCut );
* r+ [4 N8 }0 _
/ j; I1 @8 p. ]. [    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
7 p% b- r* h7 c& J4 M) I* `- T    printf(" Part Stock default is set to %f\n", stockPart );
- j9 d" U8 J! f- O6 l7 i0 X/ O    UF_PARAM_set_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, 1.0 );$ e' f  d6 a' U8 [* ]7 A
    UF_PARAM_ask_double_value( operTag[numop-1] , UF_PARAM_STOCK_PART, &stockPart );
3 \  k5 g  d' X0 `+ W, d! d% R! x    printf(" Verify Part Stock reset to %f\n", stockPart );
8 i+ R" N$ a9 |0 C( N! S* Q' z% L7 D% c2 w  Y4 n; q  l
    UF_PARAM_set_int_value( operTag[numop-1], 327, UF_PARAM_cut_trace_method_tolerant );) w, C  z+ u0 Z8 _3 G
    UF_PARAM_set_int_value( operTag[numop-1], 328, UF_PARAM_cut_ctrl_trim_method_silhoutte );& \# l- Y: e7 Y7 L

1 B* y: {0 d, q: _6 [    return 0;  m0 B- H" T/ |9 C6 Y. ~
}
. k$ M" |" Y2 A7 ?8 e- }: V9 J
# C$ H0 l$ q- L; b" T% x: H# l, t9 \static int flow_cut_param( int numop, tag_t *operTag )4 V0 a1 K$ v/ f
{* V* s$ Q7 t: O7 d9 G/ z
    UF_PARAM_disp_tool_t display_data;
1 L9 U9 R* R: D$ P7 |) D: U6 p    display_data.type = 2;             /* Type = 2 produces 3D tool display in tool path. */( L2 X9 @& A/ I- I& v' L9 U' Q
    display_data.frequency = 10;6 k$ b, w  u6 j4 C$ o8 T9 V5 {
8 f' z4 j: l5 W
    UF_PARAM_set_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );4 I/ t' |- p. C# l% V7 U
    UF_PARAM_ask_subobj_ptr_value( operTag[numop-1], UF_PARAM_DISP_TOOL , &display_data );
7 I5 R: V4 |5 ^. {3 C0 z/ i% c0 y  U: s    printf("Display data for tool type returns %d\n", display_data.type );
5 |8 @" _1 f0 M  a" ^6 E' x8 C  n    printf("Display data for tool frequency returns %d\n", display_data.frequency );; d- l; t1 a+ c% c3 g4 I
0 v- B: @; D+ N' h
    return 0;
# p' R# c, N0 f# o! I}
' K9 d* ^+ o8 q3 c+ t9 W
4 K- J7 K% T. g; U3 ostatic int area_mill_param( int numop, tag_t *operTag )
& L& S# g% A9 u* ^% X{0 e  y* m2 V& }2 C+ B! i% R
  `$ W4 _9 i, ?9 ^% U
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_EDGE_TRACE_REMOVAL,UF_PARAM_edge_trace_removal_on );
1 m3 j+ b7 E; n8 p" C4 c/ m8 B
, p6 f, n% d& ^7 g0 n9 [* |+ _9 u/*                                           1 = Warning, 2 = Skip, 3 = Retract  */ ' _6 f8 }, [( u( @& H
$ |$ [" A0 C: w! B- O  X. m5 o3 W% h
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_AVOIDANCE,UF_PARAM_avoid_stepover ); + I6 M! v' {1 f5 Q( ^
    UF_PARAM_set_int_value( operTag[numop-1],UF_PARAM_CUT_FOLLOW_CHECK_STATUS,UF_PARAM_cut_follow_check_on );8 i# |8 W) Y& X5 _# G; w1 h

& [5 r/ A* F, t/ Y; _    return 0;# Q8 m1 r; ^3 y; f7 h7 T, E
}
% ]8 n) a7 f& b, j" `. x4 Q* M1 v" ?3 s9 ?& e# X& y6 {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了