* psidedn2.m
* 14" infill panel plane
* Jim Yehle - Salt Lake City - Dec 30, 2003
* dovetails at bottom edge of side
* Stock thickness set in Sub 10,11; mates w/ 3/16" sole
* Held in vise, bottom edge up, front at left
* Part zero is: x=0 at front (from psidedn1.m),
*  y=0 at edge toward operator (from psidedn1.m),
*  z=-.235 is at bottom of prior cut sockets
* Undercut w/dovetail cutter: 1/2" tip, 60 degree
*  after roughing out w/ 1/2" end mill (psidedn1.m)
Dim Abs
Rapid      Z 0.1
Rapid      X 0 Y -0.26
* Depth is .2375: 3/16 + .05 proud for peening
* (Already roughed down to Z=-0.235 in psidedn2.m)
Rapid      Z -0.2375
* Front half-socket: cut right only
Rapid      X 0.25
Call 1
* Two sockets: ahead & surrounding iron, 1.125" wide
Rapid      X 1.375
Call 5
Rapid      X 3.625
Call 5
* Four sockets behind iron, 1" wide
Rapid      X 5.75
Call 6
Rapid      X 7.75
Call 6
Rapid      X 9.75
Call 6
Rapid      X 11.75
Call 6
* Rear half-socket
Rapid      X 13.75
Call 2
Rapid      Z 0.1
EndMain
*-----------------------------------------------------
* Cut one pass across stock width, current feed.
* (A change here will affect all cuts in program)
Sub 10
*1/8 stock: Line       Y 0.125
*5/32 stock: Line       Y 0.1563
*4 ganged 1/8": 
Line       Y 0.51
EndSub
*---- same, but -Y direction -------------------------
Sub 11
Line       Y -0.51
EndSub
*-----------------------------------------------------
* Sub 5: cut one 1.125" wide socket
Sub 5
Call 2
* Middle of socket left uncut by 1/2" cuts either side
Dim Incr
Rapid      X 0.5625
Dim Abs
Call 9
Dim Incr
Rapid      X 0.5625
Dim Abs
Call 1
EndSub
*---- Sub 6: same as Sub 5, but 1" wide socket ------
Sub 6
Call 2
Dim Incr
Rapid      X 0.5
Dim Abs
Call 9
Dim Incr
Rapid      X 0.5
Dim Abs
Call 1
EndSub
*-----------------------------------------------------
* Sub 9: one pass across & back to clean up sockets
*  wider than twice mill diameter (Abs mode)
Sub 9
Line       Y 0 Feed 8
Call 10
Line       Y -0.26 Feed 20
EndSub
*-----------------------------------------------------
* Sub 1 - cut angled wall to right of current X
* Entry,Exit: Y=-.26, X=left wall of socket
* For 60 degrees for 3/16 sole, that's a .1083 X cut
Sub 1
Dim Incr
* Shift 1/2" cutter: centerline to edge (prior cut)
Rapid      X -0.25
* Will cut nothing but floor (.0025) if we go across +Y
* Total cut: .1083; 5 calls to sub 7 will move X .10 right
* Move to Y -0.08, which is what Sub 7 expects
Line       Y 0.18 Feed 5
* With X advanced for .01 cut into wall:
*  motion of Y + .26: .01 air, .18 floor, .07 floor,wall
Call 7
Call 7
Call 7
Call 7
Call 7
* Final .0083 as .007 out then .0013 finish cut back
*Line       X 0.007 Feed 5.0 *** original
* That's what the design call for, but in practice a .013
* feeler gauge fit, so adjust each wall: half .012/cos(30)
* plus .001 gap; i.e. .007 - .013/.866/2 + .0005 = 0
Line       X 0.0000 Feed 5.0 *** tightened
*NOTE: make same adjustment in Sub 2 (in -X direction)
Call 3
Line       X 0.0013 Feed 5.0
Call 4
* Restore entry-time Y,X position: -.26, -.1083+.25
Line       Y -0.18 Feed 8.0
Rapid      X 0.1417
Dim Abs
EndSub
*--------------------------------------------------------
* Sub 2 - cut angled wall to left of current X
Sub 2
Dim Incr
Rapid      X 0.25
Line       Y .18 Feed 5.0
Call 8
Call 8
Call 8
Call 8
Call 8
*Line       X -0.007 Feed 5.0
Line       X -0.000 Feed 5.0 *** tightened
Call 3
Line       X -0.0013 Feed 5.0
Call 4
Line       Y -0.18 Feed 8.0
Rapid      X -0.1417
Dim Abs
EndSub
*--------------------------------------------------------
Sub 7
* Entry: Y = -.08, Dim Incr assumed
Line       X 0.01 Feed 5.0
Call 3
* This X .01 advance cuts floor only
Line       X 0.01 Feed 5.0
Call 4
EndSub
*--------------------------------------------------------
Sub 8
* Same as Sub 7, but for left wall
Line       X -0.01 Feed 5.0
Call 3
Line       X -0.01 Feed 5.0
Call 4
EndSub
*--------------------------------------------------------
* One cut across Y, from .08 below near edge
*  to .08 past far edge. (Incr mode)
Sub 3
Line       Y 0.08 Feed 4
Feed 3
Call 10
Line       Y 0.08 Feed 20
EndSub
* ----- Same as Sub 3, but cuts -Y direction ------------
Sub 4
Line       Y -0.08 Feed 4
Feed 3
Call 11
Line       Y -0.08 Feed 8
EndSub