青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 2886|回复: 4

[分享] 关于部份機床不支持在G02/03中同是輸出I,J,K值的解决方法

[复制链接]
发表于 2012-5-28 13:54 | 显示全部楼层 |阅读模式
本帖最后由 migge555 于 2012-5-28 13:57 编辑
1 a6 z0 M( g  J" e: o6 T- ]$ h1 R* u/ d% i# J
关于部份機床不支持在G02/03中同是輸出I,J,K值的解决方法,方法在楼下,红色部分是我添加的
 楼主| 发表于 2012-5-28 13:55 | 显示全部楼层
##############################################################################
" J' K; u: C* [7 H" Z7 c# W#                                                                            #- N/ x! d& v5 F' z1 A
# Copyright (c) 1999/2000/2001/2002/2003/2004/2005/2006, UGS PLM Solutions.  #
, k( G' w+ H7 D# H#                                                                            #
7 V% q" B: r1 c' p##############################################################################0 }3 Q9 z  }. Y+ m( m+ W
#@<DEL>@ TEXT ENCLOSED WITHIN DELETE MARKERS WILL BE REMOVED UPON RELEASE.+ [. f9 M. L0 B) P1 d  {9 x; x
##############################################################################
! n# Y* @: k" [) N; C# 08-01-2006 gsl - Corrected "switch $mom_sys_cir_vector" found by Lili.6 d5 o6 u4 l9 g
##############################################################################
2 f, j8 s5 \- c# TEXT ENCLOSED WITHIN DELETE MARKERS WILL BE REMOVED UPON RELEASE.    @<DEL>@
9 ^4 l% j* w5 q) ]+ @6 V
$ d1 F0 R1 v# e1 `3 P#=============================================================- H# N# x2 I2 b/ Q2 L' r2 [
proc PB_CMD_init_helix { } {. B( e& J- d, R+ b% m" ~3 G) @9 ~$ l
#=============================================================- f1 D) K. A1 I" \1 x6 I8 [
uplevel #0 {% I# K, E9 @; _& S7 a5 c6 f/ S) ?
#
# X* r7 a5 ?5 k3 Q; V& N# This ommand will be executed automatically at the start of program and$ Z% ~; P* ~( s- G5 z# X6 K$ e' q
# anytime it is loaded as a slave post of a linked post.- l7 ^) Y& ?6 N7 A7 k: z
#
' ~/ t/ k9 Q- c, E, T! K5 P# This procedure can be used to enable your post to output helix.7 D  U8 U  A. X( x4 |
# You can choose from the following options to format the circle # k; Y2 f+ Q  ^/ G
# block template to output the helix parameters./ }% Z+ R( ^) P4 z, U8 ?
#! ^6 ?) h- U, O  q% j5 _/ o/ d

0 @; ]* ~) |7 O+ Z- j3 _) Kset mom_sys_helix_pitch_type        "rise_radian"  
7 x+ y# ]- p7 K4 R% O0 v! N9 H, L8 P5 `4 Q8 D5 E
#. Z. h) a. [0 N0 y
# The default setting for mom_sys_helix_pitch_type is "rise_radian".
, K  x# U7 e' m4 J# This is the most common.  Other choices are:
, p4 x( R. R6 n1 {. ~5 [. i#
# A% m+ F* v/ ]1 P, [8 }#    "rise_radian"              Measures the rise over one radian.
) K: [# v: k. ^4 b#    "rise_revolution"          Measures the rise over 360 degrees.0 x, I4 h% [% U5 o
#    "none"                     Will suppress the output of pitch.
* v2 O8 }4 E6 n$ {) W6 Q( d- S#    "other"                    Allows you to calculate the pitch1 ^+ i! K: p, v
#                               using your own formula., n6 y9 ?+ j& V8 `, z$ T6 G
#
% O* v8 q& |: `' y) q# This custom command uses the block template circular_move to output
* f; z: q7 [( @- e* k5 B# the helix block.  If your post uses a block template with a different
8 H+ G  _7 q) k9 n6 k# name, you must edit the line that outputs the helix block., [' Y1 l0 D/ c+ X
+ X0 A& R6 g  Q" U
#( `  _7 p% `* b7 @! U. }
#  The following variable deines the output mode for helical records.
9 s, [8 f' g5 @5 U8 `! w#/ p6 w1 `$ C" _' V9 _
#  FULL_CIRCLE  -- This mode will output a helix record for each 360
! O; D2 Y7 |  B* K#                  degrees of the helix.2 F% @2 y1 A, v" u0 R  ]
#  QUADRANT  --    This mode will output a helix record for each 90 7 i; k* ~- R  m. {) i$ b
#                  degrees of the helix.
  J$ B& w6 m8 d#  LINEAR  --      This mode will output the entire helix as linear gotos.
6 d2 `, B2 O/ p0 j0 C' U6 I#  END_POINT --    This mode will assume the control can define an entire
8 \4 K, E2 o8 J% X$ \& @7 s#                  helix in a single block.
/ O! d+ v1 \/ n& m) j* V; S+ J( d! y+ l
   set mom_kin_helical_arc_output_mode FULL_CIRCLE: A8 C: E# H9 v" l. x1 w( O! |0 C+ R

3 R/ V8 M1 L2 r, N( h+ ^   MOM_reload_kinematics
% V: ?( X! {% q2 P/ X4 `+ D5 T5 r+ q: b9 e0 s+ a! `( j- P
. R6 q( L* Y( d. Z

  f( h+ ~3 d9 D! f; {#=============================================================
& `- ~  ^, A2 n" e. i$ i0 zproc MOM_helix_move { } {
) L. H4 W& d8 A( P3 o#=============================================================7 z# S. a" O7 F3 u
   global mom_pos_arc_plane6 o: z! E( r/ ^/ m1 u/ L  }
   global mom_sys_cir_vector8 E( c- p5 B! T
   global mom_sys_helix_pitch_type! F0 y& M  d: w
   global mom_helix_pitch
6 b+ J0 S, A9 i" k   global mom_prev_pos mom_pos_arc_center
- _# p. n4 C* l9 u( c4 S   global PI
4 w' Q. e3 i$ D7 J6 ^8 c0 l' v3 B# N0 A# ?0 V
   switch $mom_pos_arc_plane {
! U/ n  {" a) p- r, J      XY { MOM_suppress once K ; set cir_index 2 }* h9 o0 c8 Y, K6 X& P
      YZ { MOM_suppress once I ; set cir_index 0 }, W4 y7 r: z8 `$ x& a! `
      ZX { MOM_suppress once J ; set cir_index 1 }' z, q0 j$ l$ G! |" p& i
   }
6 n, s" _) k: k1 `2 ^3 I
- j; {( F/ T' n3 Z   switch $mom_sys_helix_pitch_type {
* e# h/ h0 ^5 J/ _* t3 q* [      none { }7 i* A( ]1 W5 E$ `: O
      rise_revolution { set pitch $mom_helix_pitch }6 I9 F1 X3 k/ i' R8 Y+ f
      rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}4 m. ^& i  E( ^& K: p, z+ r" b
      other {
% c; l. y- P" Y* F" J8 c#
& ]4 o3 H4 \7 o4 \) `$ ^/ j#        Place your custom helix pitch code here' U" l$ r  Z( A% _+ x! g! f
#: ]( F( q8 }2 z& i0 _# U" ^; t  U
      }
, d1 [& c- p0 W* R4 s$ Z$ [4 _      default { set mom_sys_helix_pitch_type "none" }1 J  I) b/ w2 o1 A: e
   }
9 a; [  A! D: J3 l  o& T1 w   
! |2 p! q% }" M+ q   MOM_force once X Y Z
0 a( w/ }$ T4 ^1 Y$ M6 D( _5 L
/ F' r+ c# u/ F   if { [string compare "none" $mom_sys_helix_pitch_type] } {
# q0 e" q5 S9 D1 ^; `( z- x, V      MOM_force once I J K
  y, [1 t- n* y#<2012-5-15 yhw>
( r: I. J8 F& h8 k# v% h      switch $mom_pos_arc_plane {/ N5 |6 i, l, J" L8 b0 s
         XY { MOM_suppress once K ;}0 I7 r1 {2 Z) o  R6 X9 e5 \
         YZ { MOM_suppress once I ;}
8 f/ _! n$ @0 C# E8 m         ZX { MOM_suppress once J ;}- p9 l$ V$ J9 g1 Y  h5 Q
      }

+ A0 K( n. E4 ^#<08-01-06 gsl>
5 J% M0 x/ B$ i" a: H% b4 f      switch $mom_sys_cir_vector {% ]7 w3 f+ V1 L% j3 o7 I
         "Vector - Arc Center to Start" {' w& c, z; G) l; F. c8 t5 F: F
            set mom_prev_pos($cir_index) $pitch1 `* y" o5 s# d0 U: a/ L
            set mom_pos_arc_center($cir_index) 0.03 u: y6 [* P8 h/ W
         }
7 E$ c" H; }+ X: |         "Vector - Arc Start to Center" -/ L% Z; Q  C. |. S, ~# ^
         "Unsigned Vector - Arc Start to Center" {  V8 o- B) ?1 Y" o
            set mom_prev_pos($cir_index) 0.0
) G" v6 N" p3 H8 d            set mom_pos_arc_center($cir_index) $pitch3 U. K9 S: ]8 K  u: V1 t
         }% z- L& [$ \* {% R$ `& Q- b
         "Vector - Absolute Arc Center" {& [0 L: d# R; `
            set mom_pos_arc_center($cir_index) $pitch. u3 o! T3 I9 }' b8 z
         }
6 |8 l; |2 x3 @9 r& k. ?      }
' M& m8 C; @/ r   }9 U: D, o& x+ N. U8 y

+ [. f2 I' c! O  x5 \2 t3 f1 ]4 e
#( s' l6 M' v, W3 n
# You may need to edit this line if you output more than one block
( M* U- J6 c. B, N" D0 s# or if you have changed the name of your circular_move block template2 B6 Y& ?: C- P5 ^: J; D3 w
#1 j7 P, L! o& p) E+ o6 w
   MOM_do_template circular_move
- Q3 ^, L5 d! _; r% c) v/ m+ O/ r; }- L3 u" f, K; s
, x) C; B! b1 s
} ;# MOM_helix_move
9 i% x+ v$ u% q& o) c
% T* |9 n( Y$ q  ~9 N4 H7 g- M$ Z
( a7 S. B3 D6 _1 ]} ;# uplevel' o: |' o; O: \" x0 _& O
}
3 A2 Y3 Z( W) ^
' ?9 p: i: @% I
' A' m: o7 z. Q
& {9 a! W8 [0 v" Z
回复 支持 反对

使用道具 举报

发表于 2012-5-28 14:26 | 显示全部楼层
楼主这是什么东东?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-28 15:25 | 显示全部楼层
Orange丶 发表于 2012-5-28 14:26 ( K) {" n, l: W1 w/ `
楼主这是什么东东?

: ]1 s4 P' r% l螺旋线后处理的TCL文件
回复 支持 反对

使用道具 举报

发表于 2012-6-26 16:04 | 显示全部楼层
到底我们要怎么做??可以具体点吗
; y1 `) T' a4 G3 [4 E* T谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-4-30 15:48 , Processed in 0.061908 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表