青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

使用道具 举报

发表于 2010-6-9 11:48 | 显示全部楼层
PB_CMD_init_helix8 O1 i6 X7 `% W/ a+ d: P

: d, e# s8 s  Z2 Q( _6 G9 h  g& e) }2 B+ [% T0 l
uplevel #0 {
8 t. P7 ~. `  o) V* y8 u: g1 g/ `#2 W7 k8 D. p  r0 D
# This procedure will be executed automatically at the start of program and' i8 ^4 C  _. w$ U7 G
# anytime it is loaded as a slave post of a linked post.
6 G) E$ ?: y- a( E#6 H: i5 V4 ?% a( c+ A
# This procedure can be used to enable your post to output helix., _! `' t+ V6 m+ R, \2 Y$ n# `
# You can choose from the following options to format the circle
  A2 }# g# |% q4 {; x$ }2 I# block template to output the helix parameters.
7 V. C- Z; F4 U1 Z! _#
& Z) i! _$ \; Q. s7 lset mom_sys_helix_pitch_type "rise_radian"  
) Z/ Z0 j, o  I8 V2 c, W#
/ f" V) O7 |, y0 e( r# The default setting for mom_sys_helix_pitch_type is "rise_radian".* h: S# g3 _" r) \0 I
# This is the most common.  Other choices are:) u4 _; }/ M4 R% b0 S
#
2 ?1 m' A8 Q. \) F#    "rise_radian"              Measures the rise over one radian.
' _6 y2 ^7 M) d5 A. Z#    "rise_revolution"          Measures the rise over 360 degrees.
% l: r$ a, R+ s/ n" y#    "none"                     Will suppress the output of pitch.
3 ], A. m, f1 |+ h#    "other"                    Allows you to calculate the pitch* A# I6 D/ p$ U9 X: E" S
#                               using your own formula.. u: p5 t+ @  `+ J
#
. S9 Z/ n2 M% ^0 h8 C7 p# This custom command uses the block template circular_move to output
: H& H8 B( h+ e. O$ L# the helix block.  If your post uses a block template with a different
9 d( q! V+ ?# F1 q7 t# name, you must edit the line that outputs the helix block.0 Z! ]5 b) E3 q1 ~2 T
#6 U' k: g4 ?7 R4 I/ U
#  The following variable deines the output mode for helical records.+ r, w6 j* Y3 {% A1 B) @
#5 u+ B; f% v! h  L& E* I* h
#  FULL_CIRCLE  -- This mode will output a helix record for each 360
% L9 V2 h. L) {" F9 J. E8 E) _#                  degrees of the helix.
- e; h! Y& S/ K0 D#  QUADRANT  --    This mode will output a helix record for each 90
( |5 [4 t2 t  @  n, h/ U#                  degrees of the helix., f8 T9 C) o* q) [; V
#  LINEAR  --      This mode will output the entire helix as linear gotos.
2 p; a- L9 x3 u#  END_POINT --    This mode will assume the control can define an entire7 S0 k' d' G6 c" I, o( ~- m, L, O# O
#                  helix in a single block.1 ~+ l' f$ e' r# r
   set mom_kin_helical_arc_output_mode FULL_CIRCLE
; b( [. X+ l# i8 J0 ?. d/ P0 Q   MOM_reload_kinematics
' T: X) o5 X# \/ g9 `0 a: e7 X4 m9 _& q) V
#=============================================================
* {7 {+ z% R4 vproc MOM_helix_move { } {6 I+ H% r. A) K
#=============================================================$ e1 Z& O# P* u/ N8 q2 o) r
   global mom_pos_arc_plane5 v# }! [" v" ?1 r% O
   global mom_sys_cir_vector
+ V( v% \. L' m. J) w- g1 C   global mom_sys_helix_pitch_type
: C1 }8 Y* v/ k) s   global mom_helix_pitch% K$ ^3 o; J3 v4 s2 Y- U. v% K$ t
   global mom_prev_pos mom_pos_arc_center, `6 Y8 L0 {7 \; M: \
   global PI
" {9 n1 G- E/ e" X   switch $mom_pos_arc_plane {$ Y; e8 L7 w0 M" K" o7 f
      XY { MOM_suppress once K ; set cir_index 2 }5 B; t9 i$ ?1 U) {( @
      YZ { MOM_suppress once I ; set cir_index 0 }
! H- A8 e; {) e' t      ZX { MOM_suppress once J ; set cir_index 1 }0 g* r% ^3 w& |1 [% L) z" ^
   }
$ X  u* F7 [6 G8 A5 e   switch $mom_sys_helix_pitch_type {
* {  u4 ^* X3 A. u; Y5 d      none { }
5 ?# N' t* X9 K" c' y/ s. |- d      rise_revolution { set pitch $mom_helix_pitch }
3 [( O  A/ X" q% ?! @      rise_radian { set pitch [expr $mom_helix_pitch / ($PI * 2.0)]}( J1 _/ F8 W, e5 b. v$ T
      other {# R7 i. U6 S1 A/ C  D
#
4 @$ z* F% a9 C: l& n$ L# Place your custom helix pitch code here4 W4 z* Q  r  U' b
#
6 T1 Y" d4 Y7 i, {8 Z1 A/ C: e      }( k& N" x2 s! J2 X
      default { set mom_sys_helix_pitch_type "none" }
! N2 B! ?4 C1 @/ t8 ^- i5 P   }7 j1 f' [& A5 ]
   
( n% o3 u6 b/ F   MOM_force once X Y Z, A$ L# }5 F4 \0 S
   if {$mom_sys_helix_pitch_type != "none"} {, @( n7 n8 q$ D9 n' v# K
      MOM_force once I J  ; |0 A6 w7 a$ U& _' e
      if {$mom_sys_cir_vector == "Vector - Arc Center to Start"} {* g% Q7 [, X1 o/ \. F
         set mom_prev_pos($cir_index) 0.0
# ?2 ^) _/ s/ s4 T0 ^3 _5 H- \         set mom_pos_arc_center($cir_index) $pitch& ~  H! i1 h% f, s7 B
      } elseif {$mom_sys_cir_vector == "Vector - Arc Start to Center"} {
+ O& o4 @- J; T* c         set mom_prev_pos($cir_index) $pitch, J  B  Q8 a, c, i$ S. g# n& _4 h
         set mom_pos_arc_center($cir_index) 0.0
  [! q3 g- W. L" r. b  u7 U/ y      } elseif {$mom_sys_cir_vector == "Unsigned Vector - Arc Center to Start"} {
+ H9 x% o  k/ R6 p" Y9 o; _         set mom_prev_pos($cir_index) 0.02 d$ ^( B' }% q4 s8 b- O) F' ~
         set mom_pos_arc_center($cir_index) $pitch
4 l2 H) y, t2 ^: v! b& X  [      } elseif {$mom_sys_cir_vector == "Absolute Arc Center"} {6 f: j7 {$ m6 k
         set mom_pos_arc_center($cir_index) $pitch
. ^. d3 B! K6 O* c8 D: l      }
! k$ L7 t+ _! f" \: m   }
# J0 D3 O* h  Q; H) M2 E4 x
% J5 t" \0 r1 ?2 o' L# a#
7 z4 k" j% J; N% C6 Q4 f! Q# You may need to edit this line if you output more than one block) O3 }; }4 L3 }$ i6 |0 f: t
# or if you have changed the name of your circular_move block template
( Z" M+ m' W* g% [3 `  G#
0 o) Y1 j, c7 x+ J. p6 B% v2 x. a   MOM_do_template circular_move
* V- |2 K$ b% J; C' P
/ \3 N, ], D2 n} ;# MOM_helix_move/ k( T/ z/ j7 m1 ]% J; {# |, A

* u% H7 d8 d1 @+ J( ~" Z} ;# uplevel
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2011-5-13 10:24 | 显示全部楼层
%
" z( s8 X; Y/ A  I
2 ?' d% E2 H" T6 P- ~; L# U: D  \G40 G17 G49 G80
% z4 S$ v: a9 X8 k8 k6 w. B2 P7 A9 [6 b/ |" X3 ]2 Z1 ~1 x/ V: I
T12 M06  J7 [9 K# |. }. F& _- d; Z, b; Q
. n; q1 Y$ o* d. r# f" Z
(D25 )' a: m7 w( P5 l" F2 V' h

5 J/ X8 b) P- LG00 G90 G54 X79.924 Y-10.485 S2500 M03, {0 ?( [- S# o
* t) L- r: I% \* }) t, a- P
G43 Z30. H12 M08
( _7 }# F4 L) x
  r1 Q( W: B! rZ-48.5. B; e+ g2 P4 m+ t& Q7 g; e* m
. w- G: u- Y5 p, w$ S
G03 X72.75 Y0.0 Z-50.497 R11.25 F800.2 V* f: F: ?1 v% b  u$ u
: ~3 p9 Z9 V! F- G) x3 n
G01 Y-2.75 F2500.  Y" u( r4 _4 l
# L4 a9 D; C( e$ c9 h) j
X77.25
7 U/ A- V4 U* [& Y/ v9 W1 X" O# f# R1 l/ |, R+ B& `9 V/ h1 @5 ^
Y2.75* J1 i) a/ u! P

: R+ m* j( [4 [# J9 S# R  fX72.75
9 s: }/ \% A3 k- C4 P* n
1 V4 f" E# i7 E1 LY0.05 S: O& K2 o% e% `3 Z

+ k" L! P" J1 g2 ~1 u: MX54.+ _( s3 E9 a( ]! @

- }- r5 A1 l$ d3 BY-21.5( F7 R2 b2 ~; F# @" v* a* ~7 x# n

# i5 f/ T5 M) ]3 cX96.
, A! c8 _/ U2 d  C2 i: e
8 K8 {+ x: o. a/ }Y21.5
$ W3 x- r$ G5 b5 i' c$ I' t% s% w
X54.6 g+ E' j4 A0 x' G
# m4 ~0 F4 a7 S1 {9 O# H/ W5 H
Y0.03 O4 @6 ?  n4 X6 x' \, m& r

5 Q4 N7 _4 v+ j! E: W  Y- {Z-48.997* R3 z9 T1 Y7 |9 G8 k

1 T7 |: T: w; J% l  FG00 Z-48.
$ Y7 {) E( o( P8 x7 m1 ^! O9 b; n! O% v- H
X79.924 Y-10.485, y6 j$ ~. M* q! w
1 Z7 O& v  p! p- s$ A/ Y
Z-48.997
; v, Y0 I" s" F, U, Y' ]1 s. ^9 g% H
G03 X72.75 Y0.0 Z-50.994 F800.: ]  S6 h& L8 w3 n2 c
G01 Y-2.75 F2500.
7 p% \" U$ i/ y" T3 H; f! s
& H/ n1 p0 K1 y- W- SX77.25
9 |" q4 f+ w) B7 r# v  Y. \( H3 S
( M& D. X+ B, d1 v+ B) s& lY2.75
2 w% f- L. i* v2 O: b7 n( f
( N' b* r) ]4 P' n* W' @: w3 {8 `X72.75
1 K7 ~) G% L. y& s; r  j: z* r# {1 V
Y0.0" L% Y7 [5 R6 q
3 C0 z8 L* ~+ E
X54.3 A! @1 x4 _# S) ~" _

# [  N# m  A8 b6 t* W$ `/ @Y-21.5+ @% A5 p9 i; }: \/ d- W& a1 ^4 s
# s' T0 D6 O& h% A$ A
X96.0 p" A5 f; K' A/ Q5 @: x
$ D& z1 N+ x" E* w! ~  E+ ^
Y21.52 |* t9 Z' ]- Y8 z1 C2 Q

" h9 z  _9 Z. c/ k+ f* uX54.
* p( E3 Q1 u$ O3 w) Q, Q  \0 Y5 ~& K7 u" {4 N, x2 k
Y0.0
% U$ F% j* N* I) Q- {1 u2 M
4 s9 n' ?! n3 C) V0 v: _Z-49.494
# ~' b/ P' p6 F$ C3 j* ~; e3 p
1 ~" h, g! h. r7 M  MG00 Z-48.497
$ T* `- n5 p1 E! @& j. c: `/ J6 Y7 q" c
X79.924 Y-10.485
7 b- |: w! R0 U% }1 [
. }! R, f1 E3 L6 R1 O! TZ-49.494. b: A+ k9 e- Z

7 Z8 h, C+ O: _' o5 p7 s  N3 z4 nG00 Z30.
: I9 X) |) n# U- }( Z
7 h" U# s% h( G: iM057 p! B4 \( x# Q' t5 p4 S1 j5 y+ I

- `3 }$ b2 i: tM09/ }( ]1 ^7 X' D% A/ o
% n7 [) M- t: L4 w
G91 G28 Z0.Y0.. O( n8 p$ A/ [/ T' s) u# o

) S5 T. S2 Z6 f1 \2 UM30
, I' J/ x+ }8 X  E7 u8 n% \" C. o: }5 Z6 I" z
%
# a- r0 k; k6 ^* q0 b6 Z( k/ M& d
# J) I2 u/ D4 c: h7 e! O以上程序机床走到红色上一行会报警
  l3 B0 a" M0 S4 ^* c; F( @- H( J# C8 x6 f
红色一行为什么会少个R值?
# ^$ P: W+ p/ M: T
: V7 J1 v0 G: e. Z0 R: k1 [我用UG4.0用同样的后处理处理出来的程序有R值!
. R) v' J' E  h5 o4 b5 x' F$ W- M  y, I. k/ [: s+ Y
是不是UG6.0本身的问题啊?
$ `5 }9 a0 V) t" K9 b
0 N1 f$ [0 F1 u, x' f! \请各位指教!
' ^9 [- ?; C7 E
- A, U  Z3 e6 N谢谢
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-26 03:44 , Processed in 0.067062 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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