|
发表于 2020-8-8 16:45:51
|
显示全部楼层
global mom_kin_machine_type
8 f$ J2 d' v* d3 G; C' f F global mom_kin_4th_axis_type mom_kin_4th_axis_plane7 O- p" j" @& T& y
global mom_kin_5th_axis_type9 a2 b' q! C+ _( i& l( r) D0 z
global mom_tool_axis mom_sys_spindle_axis mom_kin_spindle_axis
! E3 k+ n( H% P7 Z x9 j% K global mom_pos: P* y" w, ?9 j+ ^1 @
global mom_cycle_spindle_axis mom_cutcom_plane mom_pos_arc_plane& h. q3 z5 h5 x7 l! ?
& J7 u6 F% I2 Y' {7 e# p
! P8 X0 T( M2 J' S g
# Default cycle spindle axis to Z; g4 ~# e! k" x2 K1 n
set mom_cycle_spindle_axis 2* w' j/ ~& y2 |/ s9 V. d
- b* C# B& p+ J- H4 m! ?; }
# t I0 [8 G$ v: X) K if { ![string match "*3_axis_mill*" $mom_kin_machine_type] } {9 Y9 Y5 I; `2 r. b3 G- A
1 Y5 x3 K v6 o
if { $mom_kin_4th_axis_type == "Head" } {
& z& y6 p7 b, O% W" W, X: w
8 K3 ~6 S$ Z) j5 V if [EQ_is_equal [expr abs($mom_tool_axis(0))] 1.0] {
3 ^4 A! W1 v# }& \* _$ ?3 | set mom_cycle_spindle_axis 0
8 ^6 h9 ?+ U n e) v7 M" T }
0 B/ |+ ~+ G0 z Q1 b( d1 K+ \9 b- {! j0 I
if [EQ_is_equal [expr abs($mom_tool_axis(1))] 1.0] {. j+ q- b% G" h0 E1 k& s/ c
set mom_cycle_spindle_axis 1 ?: }. M2 v# O
}% a' Z7 w. Z9 ^8 H- p% R: D
! Q2 S2 r8 z7 U if { $mom_kin_5th_axis_type == "Table" } {3 r. D6 l6 t: B6 d0 q6 b3 s
* L" X! f" L e2 l* c
if { [EQ_is_equal [expr abs($mom_pos(3))] 90.0] || [EQ_is_equal [expr abs($mom_pos(3))] 270.0] } {) G% W" O0 ~! S5 b
0 y2 V) g4 I7 l) K; ~8 o switch $mom_kin_4th_axis_plane {
6 u4 q# Q6 `( P "YZ" {4 k, ~/ }' r4 L3 `: m
set mom_cycle_spindle_axis 10 K3 u4 J# F" k I# G5 g
}
5 H% \1 X" m( M "ZX" {
! R. @: F" S$ M9 q5 Q0 Q& e. B set mom_cycle_spindle_axis 0& V' H4 e5 ?, r5 f& F9 J0 S. n8 Y
}
{; @, c4 P% @; B# k1 z3 C }
3 `" o! A1 W$ Y Y( ` }
/ I+ B! x; x4 R% R' T4 R }
( X' P: N) f7 B }% }# U1 p. g( W# ^
}
( i! J9 k p4 u( z- R( g4 h8 p1 z2 ]1 G1 U
, q" h4 o8 Q3 y' \5 @! g1 r
switch $mom_cycle_spindle_axis {
& e& \1 W6 I! B" |- h 0 {
! D. E, s% _ r) J. C' C set mom_cutcom_plane YZ
$ I3 Z( v" k0 A8 |, P1 N& v/ V set mom_pos_arc_plane YZ1 K% R- Z- C+ f: {# |, M9 a
set principal_axis X4 J8 R0 ?2 `4 X. o2 }9 d5 L' r
}
, P( ^% S: {; U, r2 S0 R7 @ 1 {) q6 T) |6 m& |) K& H* B
set mom_cutcom_plane ZX
& A* y- }0 h) {2 {1 {( ] set mom_pos_arc_plane ZX3 H0 m# G! H; u8 U9 c
set principal_axis Y
+ V. h, y! p7 C9 _; T0 P }
5 \. C) N$ O6 I h/ ]: U5 ^9 O; _ 2 {* }! N4 E$ k+ L$ a/ h+ z) I
set mom_cutcom_plane XY- t H6 s4 k! `: _: ?, |& f
set mom_pos_arc_plane XY4 O$ A0 ~ N4 |. Y1 B
set principal_axis Z. W+ [5 s9 u1 x! F5 V2 t" _
}7 o* ]; t0 d# ^$ }5 j
default {
) E4 W" Y2 O5 c D; n1 [ set mom_cutcom_plane UNDEFINED9 h% n- e3 U K' A6 k8 C
set mom_pos_arc_plane UNDEFINED+ ^( ^; U2 O4 p& l9 F
set principal_axis ""
5 M/ r% `5 w+ z, ?9 t }% ~, V5 M5 k7 `5 L/ \; b
}
0 Y) u: H. D6 w& h
& }# O! J( k }; z' @$ ^9 |% D$ T3 ^0 u$ Y7 Y8 p6 U
if { $suppress_principal_axis && [string length $principal_axis] > 0 } {; U1 L3 U% i% c# w* D
MOM_suppress once $principal_axis
/ o2 B }( b. m6 q* I3 u5 e }" Z; {2 x/ n: O. `
6 b8 w: v: h. G" y V9 e) W+ G( W: N# T7 l4 f3 B
if { $force_plane_code } {7 w6 l6 @9 \0 b# ~
global cycle_init_flag
! n( n7 s; h5 G( y0 ~- Q
$ T F# Z5 r: i H6 V if { [info exists cycle_init_flag] && [string match "TRUE" $cycle_init_flag] } {" E; D$ z1 f% g9 N, Z G: h- Y
MOM_force once G_plane
& W; J% U/ y* o! V }
* D* C; M" L- i9 X } |
|