|
#=============================================================# `8 R7 T% e! _& ]$ Y/ S
proc PB_CMD_before_motion { } {+ V2 s& { Y5 H& z
#=============================================================: C6 Q- x |# x% h z1 O. v9 d6 ~: |
0 ^8 w/ }5 F' W( F Q5 ], W# _
; v1 x! V" Y* ?! |5 l9 dglobal tool_changed
" ?. F/ f# }5 u+ O! ?* w0 B1 |global mom_pos
! M, t2 ~% G- c0 |global max_z min_z max_x min_x max_y min_y
8 ?' g! k2 h) @2 v if {![info exists min_z]} {
6 A' }) _: K$ I7 S set min_z $mom_pos(2)
# r0 N! a4 y5 }1 F: C } elseif { $mom_pos(2) < $min_z } {, e; p6 q. A- m
set min_z $mom_pos(2)
W, h. \8 S) k" i/ ^ }
9 P: n* W' {; s6 S# _9 B2 k* f; X if {![info exists max_z]} {% p! ?0 c/ X7 F3 h
set max_z $mom_pos(2)
; c6 ]+ h+ M( |' W* b# J } elseif { $mom_pos(2) > $max_z } {
/ `4 z4 y9 }, | set max_z $mom_pos(2)) @: Y# ^8 ]: I" ^: R. Y$ H
}
; V4 U- k/ j4 J8 x& M/ J if {![info exists min_x]} {' r2 r: C3 B. D0 u% e9 d0 o1 K0 d
set min_x $mom_pos(0)! t. s) ~5 I5 r$ u6 @( U
} elseif { $mom_pos(0) < $min_x } {+ z6 [& T- p. b7 ]
set min_x $mom_pos(0)" q- w' ]' c# @* t9 R. p
}
+ {. \! ~6 s, U( s7 S* p0 A if {![info exists max_x]} {
: ?; U! t! H' h* i; l: C set max_x $mom_pos(0), ]1 x$ u% I! T( c
} elseif { $mom_pos(0) > $max_x } {
3 _/ G& y3 d; Y0 N" V4 l/ b3 j set max_x $mom_pos(0)/ {' k) R6 W/ F
}
7 B$ C9 d. z1 F: J$ m; p if {![info exists min_y]} {) D" V" Y2 q5 Q5 ^1 j5 k- l; `, T! n- T
set min_y $mom_pos(1)
8 y' r' T% w, b3 z6 e } elseif { $mom_pos(1) < $min_y } {# q, t0 z& z; [4 Y( |
set min_y $mom_pos(1)
. h6 p' e$ a5 K }" p4 r6 O4 N' p
if {![info exists max_y]} {
; |% x" `; Z& B/ ?9 d set max_y $mom_pos(1)
6 h( w1 ?, O- ] } elseif { $mom_pos(1) > $max_y } {$ h6 c( e1 J/ J5 v0 _, }9 ?2 A/ E) g
set max_y $mom_pos(1)- a5 C1 O8 z& A/ h+ d) [# t4 r
}# m5 v. E5 g0 F* k' r6 j6 {* y2 u
global mom_tool_number
% p* W3 k* k& ?8 x3 Xglobal mom_clearance_plane_point( G7 L$ ^. D0 g# }$ X" v* k
if {$tool_changed == 1} {
3 }# W# A1 p c7 V2 y9 c% j #MOM_output_literal "G00 X0. Y0."
3 |- l7 q# ?% V MOM_output_literal "G43 Z200.0 H$mom_tool_number "& \* p) D3 f% J9 E. X
set tool_changed 0 l' y: g: E4 Q, D) Q" ]
# z5 Z) J9 x& y- B4 `+ F
}- s2 L1 Y" \8 K) R- _6 R
9 `" q* |7 I6 F6 p
global mom_motion_event mom_motion_type
$ t* t# N1 E \( L2 nglobal pb_start_of_program_flag i& L! G9 f% S4 M1 L; f: e
( n1 U1 }. A$ }0 x8 p7 S+ iFEEDRATE_SET
. ]" \3 M0 |- `7 l! V
1 f$ A+ [+ L- _ S' p
! @3 {1 t" `$ j) O switch $mom_motion_type {1 K( M$ G) R/ G; @) [5 o( W c
ENGAGE {PB_engage_move}
8 N3 W7 S @# H+ a5 m1 D APPROACH {PB_approach_move}4 s- }' j# d3 q' I
FIRST_CUT {PB_first_cut} p* I8 w5 g: x+ J. R, C t! E
RETRACT {PB_retract_move}
, W% A# ^! R5 q3 d$ b% O RETURN {PB_return_move}
. d4 D d, j: R: j }
m! v4 k& T3 d; h+ O) A; ^
; V4 }! Y) P$ p$ v3 a; m if [llength [info commands PB_CMD_kin_before_motion] ] { PB_CMD_kin_before_motion }
& a4 j. v a% S$ h: {! l7 L if [llength [info commands PB_CMD_before_motion] ] { PB_CMD_before_motion }
* I& I. _1 ~8 r1 L- J! ?' Y# t3 m
# if {[llength[info commands pb_cmd_before_motion]]} {pb_cmd_before_motion}9 v, B- d/ M5 H Z
set pb_start_of_program_flag 00 e( `7 j W2 j9 X3 H
7 l6 H& |& ]: \9 pglobal mom_feed_rate
4 n1 ~5 g+ ?) z0 r+ w- x$ Z7 vglobal mom_feed_cut_value mom_feed_rapid_value mom_feed_approach_value
/ d: W0 P, V. O' {1 f- Z: ?+ l; mglobal mom_feed_engage_value mom_feed_first_cut_value mom_feed_stepover_value% I) v4 x# f9 f1 `
global mom_feed_traversal_value mom_feed_retract_value mom_feed_departure_value
! \: |# h' v$ m& u: Z* T9 Z* u- w3 {8 c! U9 ], S8 S2 F3 D
if {$mom_feed_rate == $mom_feed_cut_value} {
, r. r+ H7 j- M6 u: j7 |! {set mom_feed_rate "#100", D9 C3 i d1 A$ ]
} elseif {$mom_feed_rate == $mom_feed_rapid_value} {" U$ r- @* r) h& m
set mom_feed_rate "#101"
& }2 M3 W" P$ M3 K* K- r} elseif {$mom_feed_rate == $mom_feed_approach_value} {
* p6 O4 K& R- vset mom_feed_rate "#102"
% P- O# J, _# H4 k& q} elseif {$mom_feed_rate == $mom_feed_engage_value} {
- L; P& I* ]% l8 Z( k) `# K- D7 `set mom_feed_rate "#103"
% r5 A# _* n! D3 ^ P1 Q} elseif {$mom_feed_rate == $mom_feed_first_cut_value} {
0 y2 v4 L8 n9 h' uset mom_feed_rate "#104"( H9 F7 t6 a' e% {
} elseif {$mom_feed_rate == $mom_feed_stepover_value} {9 g( i2 e6 p8 Z$ n* P: x1 ?
set mom_feed_rate "#105"
. [% K) L5 x- \& {* Z3 C} elseif {$mom_feed_rate == $mom_feed_traversal_value} {
$ T! X4 D- c x* A" Q d5 a/ R- K- zset mom_feed_rate "#106"
W) N' Q3 I& M! s} elseif {$mom_feed_rate == $mom_feed_retract_value} {% b+ l+ G0 c2 N/ K/ [ }
set mom_feed_rate "#107"3 N: n6 N+ Y9 ] R% u3 x
} elseif {$mom_feed_rate == $mom_feed_departure_value} {8 @# G) R; O5 a6 b( ^
set mom_feed_rate "#108"& \6 b, n' f: H# M: @
}) q9 ` \' u2 U" A6 W
" B" t" y. h& S3 d9 }2 j. ]
! G) s& n0 `0 Y: }
#============================8 w0 f5 |) u0 }! w3 l5 z6 W9 V
proc pb_cmd_custom_command_30 {} {; H# }8 k7 {) y V; n
#============================
& J2 ~5 ~! y7 u0 j6 I) C5 Z1 aglobal mom_feed_cut_value mom_feed_rapid_value mom_feed_approach_value( R/ p( u" J* K, F
global mom_feed_engage_value mom_feed_first_cut_value mom_feed_stepover_value9 W" z4 @' r/ \% l$ u
global mom_feed_traversal_value mom_feed_retract_value mom_feed_departure_value
- G3 f' H) I6 g4 {6 t) VMOM_output_literal "#100 =[format %.f $mom_feed_cut_value].(cut)"
8 C5 W& _: f0 _2 HMOM_output_literal "#101 =[format %.f $mom_feed_rapid_value].(rapid)". q: |* M) S) ~+ T/ f m# ~! M
MOM_output_literal "#102 =[format %.f $mom_feed_approach_value].(approach)"+ s: Y' T( J; k4 [3 i
MOM_output_literal "#103 =[format %.f $mom_feed_engage_value].(engage)"& ^: K3 t ~: x
MOM_output_literal "#104 =[format %.f $mom_feed_first_cut_value].(first_cut)"
4 c$ i5 _& N' A. qMOM_output_literal "#105 =[format %.f $mom_feed_stepover_value].(stepover)"
6 J5 F0 M3 D0 T" I& r4 ~2 F+ rMOM_output_literal "#106 =[format %.f $mom_feed_traversal_value].(traversal)", S7 [5 @9 D( P8 H
MOM_output_literal "#107 =[format %.f $mom_feed_retract_value].(retract)"
6 s. K; W7 F" S9 ?/ X3 s( YMOM_output_literal "#108 =[format %.f $mom_feed_departure_value].(departure)"
0 t0 o6 o0 V0 g: R% Z}3 Y& W% N& o1 ?; y+ Q3 A5 m
* p9 G! U7 g# ~$ }. c0 n
& u- q. D/ Y( i9 H( Q3 E1 P) D' @- [$ n3 G1 \2 ]- ` t
# a0 R0 W( S/ N: H8 D}
5 k( f1 K! e# h2 \3 g2 [
8 Q- @! H6 Y1 n |
|