PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

[二次开发源码] NX二次开发中,CAM加工的一些属性设置和查找

[复制链接]

2015-3-2 10:38:13 4341 0

admin 发表于 2015-3-2 10:38:13 |阅读模式

admin 楼主

2015-3-2 10:38:13

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

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

x
1,查找刀具属性! H7 o: N% s) K! ^% |. x* T6 S. f
tag_t tool_id=NULL;( e8 m$ ^3 F1 `; m0 i8 s2 |1 W
double tool_diam=0;
) v, E. s: `8 x# \( T        UF_OPER_ask_cutter_group(oper_tag,&tool_id);! k; f2 G; L* |0 ?( v, L$ g/ ^

' R. t( {' ^" wUF_PARAM_ask_double_value(tool_id,UF_PARAM_TL_DIAMETER,&tool_diam);//查找直径, c) Q# G5 m* o0 P  w2 ?$ s
5 v2 q* v3 L! o, |1 r$ Y* F
char tool_text[133];
1 @" Z3 s- n5 u% mchar ch_s[10]="", ch_f[10]="",*ch_p=NULL;
# o; E% x+ J1 R* Zdouble tool_s=0 ,tool_f=0;//主轴转速,进给" K1 l/ m, m. m1 d
                  
, i2 Q$ s* B1 A
9 Y0 t0 Z2 ]5 Y3 Qif(UF_CALL(UF_PARAM_ask_str_value(tool_id,1158,tool_text))==0)//属性文本/ n3 d% F3 J5 {: \0 b2 F
{ ! c) z, b- ^$ E$ Y; f
        ch_p=strstr(tool_text,"S=");$ G, y* s# V- s* u
       
+ \% g# v0 I( i; x        if (ch_p!=NULL)
* I; U& X) \$ r" U; }+ n        {
7 ~6 s! T0 u: R" S  ~6 u( p                int i=0;
! Q! t* X4 L+ [% b1 E2 Q( ^                ch_p=ch_p+2;
7 _' V  [. m$ Y4 S( }: F# w* X                while((48<=*ch_p&&*ch_p<=57)||46==*ch_p)//当指针指向为数字或者小数点% l- ~' W; v, S/ D, h* Q, I$ _
                {2 I  ?# s2 t5 w' e( w7 J
                        ch_s[i]=*ch_p;
) ]8 _* P$ r0 t                        i++;
. H& e& F2 A; o2 _; C                        ch_p++;+ o/ o2 e; `! w8 s* \
                }. J' V, m) @2 n7 p! |0 s
               
, F" p! ?: ?/ s7 @. r                ch_s[i]='\0';8 Q0 L; y) p) _( Z, f
                if(i!=0)
( v4 _; x" s$ \4 a" e                {
7 O% A$ H" u; I                        tool_s=atof(ch_s);9 L, a9 t; }; v* h/ T
                }/ E/ ?2 ?/ @9 C  D/ H5 T7 X: Y  D1 K
                //  uc1601(ch_s,1);
7 f) F" O* O1 ~4 v        }! a4 o. A* L6 }8 V
9 m" v0 N. D0 T1 O. O% r, A& ?
        ch_p=NULL;
. C0 e5 i4 y9 b0 m        ch_p=strstr(tool_text,"F=");
' u/ r% C& e9 q% {9 u9 m7 T# X1 L/ r4 p
        if (ch_p!=NULL)+ ?, y/ I' Q# d4 f; u
        {; G1 f' t* f' x4 r' X6 e$ q
                int i=0;. c  v0 {! S  O, V7 b
                ch_p=ch_p+2;
1 Y4 ^6 i6 r2 f! e) S* e* E                while((48<=*ch_p&&*ch_p<=57)||46==*ch_p)//当指针指向为数字或者小数点
( r8 }6 r) i( d% J; ?0 d4 c" M$ V+ H$ H5 H7 B1 ?" M
                {. x0 a2 N1 y. ?  z, U/ l
                        ch_f[i]=*ch_p;4 u' T3 w* m- K7 f
                        i++;" g9 ^0 v5 z  G& [
                        ch_p++;6 T9 D; {2 |2 ^8 t% ~- N3 L+ e
                }
! V% k3 D5 a3 z, Q; ^/ d                ch_f[i]='\0';
  U' A  V1 B5 p8 V                if(i!=0)
, Z: q7 D. s. K" \2 _+ c( t                {! C) M; M- `" x" j4 O: \1 u( F" S
                        tool_f=atof(ch_f);+ R! m9 r5 U6 l& L
                }
9 ]( X! ?1 g, A' _$ L; Q8 D                // uc1601(ch_f,1);1 [7 m5 S. f0 b8 f0 B/ _& }3 W
        }
) W: w4 q# F3 W9 ~; y& `        / |/ r+ ]; [% V" d( r# q
}
2 x( p, h5 Y: t: t3 t) G4 k' V$ L# ?1 n2 j" {* D
2,
* ]4 g, M) B: s$ W9 X" M//主轴开, F3 |0 R3 [( ~! E: V" o4 |, F4 e
UF_PATH_spindle_on_t spindle_data;" `3 t2 X* `9 s# y
spindle_data.speed = tool_s;
1 j/ }1 t% J- \; O: H9 pspindle_data.maxrpm = 10000.0;
6 n7 C: b* n; g9 Yspindle_data.mode = UF_PATH_SPINDLE_MODE_RPM;
' P) r0 C: P6 A/ ospindle_data.direction = UF_PATH_DIRECTION_CLOCKWISE;: \8 d5 R; M  w* E
spindle_data.speed_flag = TRUE;
7 K4 C! ?5 `5 \2 }; k) s& Uspindle_data.maxrpm_flag = TRUE;
( x* F5 x5 T  A4 d5 Q$ kspindle_data.range_flag = FALSE;& B4 a8 D" D& v" ]+ Y2 _
UF_PATH_create_spindle_on( path_id, &spindle_data, NULL );
0 l& Z6 e; `6 E% l% I//主轴关( f/ @& {, X$ O8 V! E$ Y3 @) k* Y. W
UF_PATH_create_spindle_off( path_id, NULL );
3 G  W- q% d3 K) |4 I  A- [' D/ e. i! J8 a
: D5 R" s" G& a) q2 ^
3,//打开刀具补偿, z" [  `/ o- r* K. J: Z
UF_PATH_cuTCom_t  cutcom_data;
; G4 M8 w6 j1 P% Tcutcom_data.cutcom_mode = UF_PATH_CUTCOM_LEFT;4 P3 r2 _! u& D9 Q  U6 P4 u3 X
cutcom_data.plane_type = UF_PATH_PLANE_TYPE_NONE;
/ M2 L, j6 k4 d$ N# W* L+ P: {cutcom_data.cutcom_on_status = UF_PATH_CUTCOM_ON_BEFORE_ENGAGE;
1 ]) V/ v4 f0 F5 y# wcutcom_data.cutcom_off_status = UF_PATH_CUTCOM_OFF_AFTER_RETRACT;
% G2 o4 K" G9 S  r) M  [0 Xcutcom_data.adjust_register = 1;
4 @5 M; ~) i  \- P' V  F& Lcutcom_data.full_cutcom_output = TRUE;( W6 m2 V9 }' X
cutcom_data.adjust_flag = TRUE;
, ^3 n+ G! k! i; ~( ]UF_PATH_create_cutcom( path_id, &cutcom_data, NULL );; ?) ]+ M5 z' v- ?( ~" E+ I& \2 D

5 E- a5 ^, X1 F% A$ o9 E" \//关闭刀具补偿
# [( q; G0 N% l6 c1 M& {7 ycutcom_data.cutcom_mode = UF_PATH_CUTCOM_OFF;4 b1 |7 I( ]4 `- f/ V7 d1 S
UF_PATH_create_cutcom( path_id, &cutcom_data, NULL );
1 S6 D7 P0 X& f* |9 @- |
$ v% J- \% w$ g: a+ D0 h5 z: Z; a1 p- e$ J1 \( c# p3 a" O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了