青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 7528|回复: 7

[疑难] UG后处理圆弧输出程序太长

[复制链接]
发表于 2010-5-18 10:46 | 显示全部楼层 |阅读模式
,因为我们用的是卧式加工中心,后处理出来一个圆弧输出就要很长,很占空间。不是像G02/G03X100 I-100就可以走圆弧,而是跑好多个点。
发表于 2010-6-8 13:22 | 显示全部楼层
我的也是呀  咋设置呀
回复 支持 反对

使用道具 举报

发表于 2010-6-9 11:48 | 显示全部楼层
PB_CMD_init_helix4 y% x( j, d7 t! ^

1 V. C- e0 J  A% g+ ^' Z2 w) e- J7 T
uplevel #0 {
7 b7 B9 O8 j: I0 _4 |#
. o$ [' i/ O7 ?. Z$ S% j8 k# This procedure will be executed automatically at the start of program and# |; c& w; n7 }; W7 O1 {' s4 f+ j
# anytime it is loaded as a slave post of a linked post.
4 m3 o* b6 c: j' E8 ?9 Z#0 E& d% c1 r4 C5 @$ V  f
# This procedure can be used to enable your post to output helix./ L4 D* o; b. K+ }
# You can choose from the following options to format the circle
  O) E6 o( W/ \5 D& d* @! t) t# block template to output the helix parameters.
- X1 ]3 h( ]1 h( A8 G0 ?#
$ A( R. w7 k3 B: t& x/ P8 Z% lset mom_sys_helix_pitch_type "rise_radian"  , T/ i, d& o2 e/ n" @2 i
#
/ P% U% r+ T$ O$ K  p4 O# The default setting for mom_sys_helix_pitch_type is "rise_radian".8 O' l$ X0 {, W3 ]  t9 g
# This is the most common.  Other choices are:. w! K0 W4 h  w5 k1 V0 L
#
% t1 m) l) S6 d( Z9 {#    "rise_radian"              Measures the rise over one radian.
6 @+ f% o8 h  |! j! f# U9 Y#    "rise_revolution"          Measures the rise over 360 degrees.9 p' S+ j5 Y$ F8 |  V3 Q6 ?
#    "none"                     Will suppress the output of pitch.
# b6 ~( k9 I7 ]#    "other"                    Allows you to calculate the pitch
7 ?/ l" `4 \. ^2 w2 q#                               using your own formula.
0 J' u, Q$ Q. a#
1 X+ T* |+ V& ~1 D  j, v# This custom command uses the block template circular_move to output  |! R  k; Z/ P! k
# the helix block.  If your post uses a block template with a different
% O; `) b5 x. v0 s) [# name, you must edit the line that outputs the helix block.
! F4 u/ m/ D2 c: ]#
: k5 \( _) D! m/ _; P#  The following variable deines the output mode for helical records.
" c. p: z% x3 f0 L" L, }" P) \2 i#; M: V3 C, j, }. e
#  FULL_CIRCLE  -- This mode will output a helix record for each 360 2 c* B# w  s. }8 k% ]( U  }
#                  degrees of the helix.
: b0 V' X3 W1 T0 K+ y; [9 H#  QUADRANT  --    This mode will output a helix record for each 90
2 i* s- M. L- V; U#                  degrees of the helix.
! j0 T- O# I" [; s; [#  LINEAR  --      This mode will output the entire helix as linear gotos.
# q" _; f# Y' a% A1 Y#  END_POINT --    This mode will assume the control can define an entire* L: F! b$ }1 z3 u5 x" {% U; V
#                  helix in a single block.
6 W. v# T9 X6 @- U# B$ |   set mom_kin_helical_arc_output_mode FULL_CIRCLE
) l' r1 ?3 A- M$ G4 V0 V   MOM_reload_kinematics
# G6 D5 o# E7 {
7 }8 g  ~  J. r( {#=============================================================- A7 |: T& v: d, q# T
proc MOM_helix_move { } {
* n8 U8 D# X; }# W& M# @7 Q#=============================================================; ]: e$ d- U6 V8 ?
   global mom_pos_arc_plane
& @+ B, w5 y& q" h2 _; k5 l5 L   global mom_sys_cir_vector( b2 }) ~$ s7 ]" z1 [- \. a3 D# K/ }# ~8 J
   global mom_sys_helix_pitch_type
' l6 F% @/ x( k" a' H; w7 k. N   global mom_helix_pitch
% h, w7 `$ n3 }2 W3 C  F3 P   global mom_prev_pos mom_pos_arc_center6 W; ~  Q9 N: M! I& ~) f- {$ U
   global PI$ N! a2 ^: Y* v9 g3 C
   switch $mom_pos_arc_plane {
4 Y& u3 G" U7 N/ f/ x6 l      XY { MOM_suppress once K ; set cir_index 2 }" f  p9 h$ ]1 s- u5 W* r- j' ~
      YZ { MOM_suppress once I ; set cir_index 0 }
1 g% d0 }6 w; V      ZX { MOM_suppress once J ; set cir_index 1 }1 F, `: {4 H0 n! q$ D# r$ X
   }
* q, E! n8 n2 P& K3 g; R" z   switch $mom_sys_helix_pitch_type {
; |) Q+ t% G  V1 @      none { }
5 n9 X+ s# p8 T: ^. Q; D      rise_revolution { set pitch $mom_helix_pitch }
/ q* Y9 c9 J2 P" {- P  R7 Q) r: x      rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}
) K! M' a4 M/ w% P/ ]      other {0 A. o+ V- I- g3 x( f) x4 z
#
5 _3 ]9 V& O# y8 Y; f# Place your custom helix pitch code here6 q6 E/ m9 Z+ T9 K! V9 `$ |
#  Z9 z+ Y) ~5 ~% ^: ]2 d" W
      }) e! l) ?$ F1 u, F5 [
      default { set mom_sys_helix_pitch_type "none" }
9 \! }! r! {6 v   }2 t# T: O$ a: t0 [: S: {
   
5 P( b7 J, f! X0 C$ [2 t: a# U   MOM_force once X Y Z* O: n! R0 x5 Q0 P+ H
   if {$mom_sys_helix_pitch_type != "none"} {3 y2 D! v7 s1 [( N) H/ k/ }6 h7 G8 x
      MOM_force once I J  
$ X+ ~; E* W* X$ O      if {$mom_sys_cir_vector == "Vector - Arc Center to Start"} {! e$ {: ]* v; b! _/ M
         set mom_prev_pos($cir_index) 0.0
9 i9 `9 k& t1 O. ?6 f         set mom_pos_arc_center($cir_index) $pitch8 P& j$ D0 L. D% u3 V
      } elseif {$mom_sys_cir_vector == "Vector - Arc Start to Center"} {
: Z0 Z, |; ?0 j3 K         set mom_prev_pos($cir_index) $pitch$ m8 M3 _* U, s8 n: B% z: |8 ?
         set mom_pos_arc_center($cir_index) 0.0
4 `5 G1 e0 V- ?6 ^+ K      } elseif {$mom_sys_cir_vector == "Unsigned Vector - Arc Center to Start"} {
' @2 u9 B6 s1 b7 `' e: g8 x  h! `         set mom_prev_pos($cir_index) 0.0) h, z5 b- t9 v1 j! j
         set mom_pos_arc_center($cir_index) $pitch+ h" z% b4 D  S/ q" k
      } elseif {$mom_sys_cir_vector == "Absolute Arc Center"} {
) Z; ~% g2 m; W: z$ V         set mom_pos_arc_center($cir_index) $pitch
0 w1 E% E0 g+ u+ U      }
+ G  S3 v3 h, X# I- _, ~. T   }
' O+ g" C! H# f" M. e+ N& Y+ P$ I3 ^
8 i0 {! E& n8 V#
! Q& M: C" R! I! E# You may need to edit this line if you output more than one block
/ k: n, M6 R3 [" ?, h/ S7 n7 G# or if you have changed the name of your circular_move block template
* J& C2 v- v/ r) ]  r#
3 Z5 q/ V& T& |7 v   MOM_do_template circular_move
* i7 y( u# M% U( e. \
4 C" T" p8 f3 t* k: m+ J, h% K- |} ;# MOM_helix_move: l9 ~/ I7 ~5 B6 U
4 Y& |, T3 W4 I
} ;# uplevel
回复 支持 反对

使用道具 举报

发表于 2010-6-9 11:49 | 显示全部楼层
在后处理中设置螺旋下刀。
回复 支持 反对

使用道具 举报

发表于 2011-5-10 13:03 | 显示全部楼层
我也遇到楼主的问题了,好烦,而且输出的数值不对
回复 支持 反对

使用道具 举报

发表于 2011-5-10 13:04 | 显示全部楼层
圆弧输出有问题,和螺旋下刀没什么关系吧?
回复 支持 反对

使用道具 举报

发表于 2011-5-13 10:24 | 显示全部楼层
%
- `. D: e- T2 Q7 s. ]: \% ^! s
9 r7 E* i3 [4 ?* w& \3 h# JG40 G17 G49 G80. e/ [& s  c( y/ n( o9 ^5 [- y. D
+ _$ J  c2 m! t1 H
T12 M06
+ ]- h6 q6 k0 I3 N" b. v
7 N, U1 f# @3 m8 g(D25 )7 o6 X0 u3 E& ^! z

; s3 g% l6 Z6 h) c' H) CG00 G90 G54 X79.924 Y-10.485 S2500 M03
4 @# c9 {; U3 h. n' e  a
' e2 j, o; K0 R) _! ], QG43 Z30. H12 M08
& V, n: M5 }# ^, |
+ |% K! ]) U5 e6 V: x# XZ-48.5' _4 K; y) X0 Q% m8 F7 i

! q7 K% ]) ?9 J, ^G03 X72.75 Y0.0 Z-50.497 R11.25 F800.
, B) J) _- ?  [6 M8 {2 w' @: y# Z  k0 B) S: I8 |
G01 Y-2.75 F2500.
8 v# S- s& P" K) G8 l" D2 Q0 r: a6 _8 o/ N4 M- B; O+ p3 s
X77.258 c1 f( ~5 U2 n8 m# Y# I: ^
# \2 g5 \0 I: @+ M# T6 r. K. k
Y2.751 t" F! y! A8 {  T4 n) J
9 t7 l8 B: Y6 s( G8 c
X72.75
' ]- l/ @9 n  w6 t. Q. h- u& Z7 e9 D$ Q/ V/ r
Y0.0
: O. S* G$ ~) y
6 ~, G" [2 r3 i( CX54.7 I  _3 D7 U" j1 f. b
2 |$ T( g1 Q- ^" g6 W, G/ R+ W
Y-21.5
! S8 B- }+ J$ Q7 P3 T) i
2 v, v- H% `+ B; e) M1 ~, r  QX96.9 \  l& W7 r( w$ u! _% |; [7 R
2 H4 c5 b; s' h- I' M% M5 W* C
Y21.5
) y; y, l8 F$ h2 s) ?
" C9 S0 v+ z" k+ x# iX54.# N+ V/ e* R, @+ E) B4 `3 X

2 a) _) N& O1 C% C- cY0.0# s% U+ L% v' y

4 e0 X+ k% _% S! v* U5 UZ-48.997& b5 Z$ K/ B  v# S
+ }# B& l9 j7 s, y, e9 R
G00 Z-48.+ d/ p. J1 b8 J" b

( c" I# I' [+ R- N, C' mX79.924 Y-10.485
3 g6 T1 i) Y; D' F8 P# ?- s8 M! @$ y
7 E7 c1 s9 |; r) O1 O# BZ-48.997
  I6 Q5 M3 [: M0 S9 C' d- h
4 l; `* M* P. w( j; Y4 y; A9 Y- K' MG03 X72.75 Y0.0 Z-50.994 F800.
! q  p( R4 c' n0 [* NG01 Y-2.75 F2500.+ S8 B0 v0 Q; S) x
8 O% ^, P  V) l8 n" i  N, d
X77.25
; ~1 t! j) \0 G5 z3 e' X: w" P* k0 D; d- }
Y2.75
! o& q; Q3 B  b7 R1 y- x# q- w
1 q0 D1 j$ y% v/ P- QX72.75
- b7 Z  _- Z0 d% H8 V3 [. A0 P& z6 u/ h# Z" h! \" e
Y0.0, @3 v1 ~, ^  P9 h! p/ I7 j3 R

; J; ]' x$ Z$ J( Y9 m& i$ [5 Z+ KX54.
* M0 \0 {/ U+ U* L8 L7 J( H# t& ?% l8 h0 K% S
Y-21.58 [! K. t' t8 _2 f$ H1 ]

- H  ~+ v& f7 X2 e# p7 kX96.
  @/ {3 G9 R" |5 r9 q+ o
2 K( I7 q, I) ^1 j+ v/ [7 p6 RY21.5
0 _! C8 H7 z& K' h; x  h: q8 \" O
X54.
6 E+ R' b7 _; S5 q. D7 w. S
& o* X( i, b. P; ~- _$ N4 |; K6 m9 YY0.0/ ?( ?0 F0 p# R* O: f/ g) k
! t; H: ^+ `3 `1 [  ?, G4 z" h
Z-49.494+ M' |, `0 k8 F: x( T6 m% u

8 O0 g2 S! E  K2 LG00 Z-48.4978 n& _/ w: Q" S4 ~
) ]& x4 T3 r6 [% o3 k
X79.924 Y-10.485
" i2 n' }+ ^8 z" X/ [8 r2 r" d) W/ }5 u- o
Z-49.494
$ u: w: m: b: v+ Q
4 E) j% l+ F) b& @G00 Z30., d( a$ ~& ~8 s+ g: C, n4 ^* l

4 j' N" [5 f" B. KM05
: _8 w  T: s& E8 M- V% H3 G$ @2 s4 D& a
M09
5 \8 N- |, |( ~1 T& E; N
: z6 k, E3 j, V( M( g  ~& Y+ AG91 G28 Z0.Y0.5 X* t" J" w$ e
, o; z6 f1 t9 E+ n0 C' c3 U$ D
M30
' Z7 V. s) S2 j6 C/ e& P" i, i% E; h. i; M2 ^/ D/ D; B& B! e
%6 U4 k, r' K6 f  F$ R$ q, M

: Q. }6 x$ ^, X. z* n以上程序机床走到红色上一行会报警
2 J7 d$ w1 b- V7 ~1 M
1 b; d* ?0 v* g2 [9 U  h红色一行为什么会少个R值? / J; L" p% E; I; G5 q( m! W
: [+ Y/ k: k3 q) k
我用UG4.0用同样的后处理处理出来的程序有R值!
; `9 I. v' X! @3 r& C! e- B- R+ ^! z# I4 i7 B
是不是UG6.0本身的问题啊?
) R' ^) P+ V) A6 o5 N+ z( ?" x% _' _( {# g2 T0 x* C. m9 }
请各位指教!( Y5 |5 |% O( u, j+ ~
: a/ }0 Q: B$ `* ]( \( o
谢谢
回复 支持 反对

使用道具 举报

发表于 2011-5-13 13:03 | 显示全部楼层
方便的话上传你的POST和PRT,或QQ:1342607201
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-26 03:47 , Processed in 0.052782 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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