perm filename B[1,VDS]1 blob sn#133088 filedate 1975-02-19 generic text, type T, neo UTF8
TRANS	VISE3	      4.78     30.48      3.32     27.40     90.00    162.83
TRANS	SCE	     17.46     30.95      5.11    178.30     89.89       .00
TRANS	VISE4	      5.42     30.03      3.36   -151.31     86.58    -17.20
TRANS	VISE5	      4.65     30.67      5.07   -135.46     89.95       .00
TRANS	VISE6	      4.75     30.68      4.41   -135.17     89.88       .00
TRANS	BAR	     11.49     38.43     10.61   -121.44     87.84     29.57
TRANS	GBOX1	      8.98     20.88      1.51    -90.00     90.00       .00
TRANS	VISE7	      5.41     30.10      3.47    133.06     88.66    -92.05
TRANS	GBOX2	      8.97     22.10       .80    -90.00     90.00       .00
TRANS	FOO	      5.00     32.14     10.54   -108.79     87.22     23.72
TRANS	VISE8	      5.41     30.06      3.00    121.78     88.78   -103.15
TRANS	GTOP	     13.86     22.40      1.50    -35.94     89.26    142.14
TRANS	H1	      7.09     30.09      8.60   -131.35     89.71       .00
TRANS	H2	      4.92     32.19      8.63    -98.08     89.78       .00
TRANS	H3	      3.19     30.46      8.62    145.25     89.09   -124.48
TRANS	H4	      5.36     28.39      8.64    -89.72     89.88       .00
TRANS	SCRW	     17.46     32.64      5.61   -156.04     90.00     26.18
TRANS	MIDAIR	     11.48     28.75      8.03   -149.05     87.04    -14.01
TRANS	SCT	     17.50     30.96      3.63    178.38     89.70       .00
TRANS	VISE1	      5.70     31.56      3.97   -135.94     89.95       .00
TRANS	DRIVER	     20.79     34.85      8.50    -89.19     89.93       .00
TRANS	VISE2	      5.88     31.01      4.83    178.17     90.00    -47.82


VECT	UP2	       .00       .00      2.00
VECT	UP3	       .00       .00      3.00
VECT	X	      1.00       .00       .00
VECT	UP4	       .00       .00      4.00
VECT	ND	       .00       .00      3.00
VECT	Y	       .00      1.00       .00
VECT	Z	       .00       .00      1.00
VECT	UP6	       .00       .00      6.00
VECT	F	       .00       .00    -60.00
VECT	UP8	       .00       .00      8.00
VECT	UP6X	      -.75       .75      6.00
VECT	DXV	       .71      -.71       .00
VECT	SA	       .00     -1.00      3.00
VECT	MV	       .00       .00   -100.00
VECT	SD	      1.00      1.00       .50
VECT	FV	       .00       .00    -60.00
VECT	NIL	       .00       .00       .00
VECT	DFV	     15.00    -15.00       .00
DEFINE	UPBOX	
FLUSH
OPEN 2
MERGE
GOTO GBOX1 Z 4 NIL 0
L0: GO GBOX1
CENTER .3
SKIPE 2
JUMP L1
OPEN 2
MERGE
GO GBOX1 Z 4 NIL 0
WAIT THE BOX IS MISSING
JUMP L0
L1: ASSERT GBOX1
SAVE BOXC1
OPEN 1
DEPART UP3
OPEN 4
MERGE
CONO UP3 NIL 0 0 90
GOTO GBOX2
RESTORE BOXC1 0
CENTER 2.7
SAVE BOXC2
DEPART UP6

DEFINE	INVISE	
CONO UP3 NIL 19 0 0
MOVE VISE3 Z 3 NIL 0
VECT FV
0 0 -30
STOP FV NIL
CHANGE Z -4 NIL 0 60
SPIN 1 Z
STOP DFV NIL
CHANGE DXV 3 NIL 0 120
ASSERT VISE4
SAVE BOXC3
DEPART UP6
OPEN 4

DEFINE	ALTASK	
BEGIN ALTASK
UPBOX
INVISE
UPTOP
PUTTOP
UPDRIVER
SCREWS
DOWNDRIVER
FINUP
END

DEFINE	UPTOP	
FLUSH
CONO Z NIL 0 0 0
OPEN 4
MERGE
GOTO GTOP
L0: CENTER 2.7
SKIPE 2
JUMP L1
OPEN 4
MERGE
GO GTOP Z 4 NIL 0
WAIT THE TOP IS MISSING
GO GTOP
JUMP L0
L1: DEPART UP6

DEFINE	PUTTOP	
CONO UP4 NIL 8 0 0
GOTO VISE5
RESTORE BOXC3 0
OPEN 3.2
OPEN 4
MERGE
GO VISE6
CENTER 2.8
WAIT CLOSE THE VISE TYPE P TO PROCEED
OPEN 3.5
GO VISE7
SPIN 1 DXV
VECT FV
0 0 -60
STOP FV NIL
CHANGE Z -.75 NIL 0 0
ASSERT VISE8
SAVE BODY3C
GO VISE7
RESTORE BODY3C 0
CENTER 2.9
SAVE BODY3C
OPEN 4
DEPART UP6

DEFINE	UPDRIVER	
CONO NIL NIL 0 0 0
OPEN 3
MERGE
GOTO DRIVER
VECT FV
0 0 -150
FORCE FV NIL
VECT FV
0 0 -40
STOP FV NIL
SPIN 1 Z
FREE 1 X
CHANGE Z -4.5 NIL 0 120
CLOSE 1
DEPART UP4

DEFINE	UPSCREW	
FLUSH
CONO SA SD 13 0 0
MOVE SCRW                       ;AND GO THE THE DISPENSER
ASSIGN SCREW 4                  ;NUMBER OF TIMES TO TRY TO PICK UP SCREW
JUMP 2
CONO ND SD 13 0 0
L4: GO SCRW
PLACE
VECT F
0 20 -100
FREE 2 Y Z
FORCE F NIL
NNUL
SCREW -20
MERGE
DRIVE 1 0 30                    ;PUSH THE SCREWDRIVER AGAINST THE DISPENSER
                                ;AND DOWN ON THE SCREW AS IT ROTATES
VECT FV
0 0 -50
STOP FV NIL
VECT FV
0 0 -100
FORCE FV NIL
WOBBLE .2
CHANGE Z -.5 NIL 0 10           ;PUSH THE SCREWDRIVER INTO THE SCREW HEAD
FREE 2 X Y
CONO ND SD 13 0 0
CHANGE Z .20 NIL 0 120          ;LIFT THE SCREW UP OVER THE END STOP
NNUL
FREE 1 X
VECT F
0 -20 0
STOP F NIL
CONO ND SD 13 100 100
GO SCE                          ;AND TAKE IT OUT
SKIPN 23
JUMP L3                         ;NO EXCESSIVE FORCE SO PROCEED
ASSIGN PULL 3                   ;TIMES TO TRY PULLING OUT
L2: WOBBLE .5
VECT FV
0 0 100
STOP FV NIL
CHANGE Z 1 NIL 0 0
SKIPN 23
JUMP L5                         ;CAME OUT FINE
SOJG PULL L2                    ;TOO MUCH FORCE TRY AGAIN
JUMP L6                         ;DO IT BY HAND
L5: SOJG SCREW L4
JUMP L6
VECT F
0 0 -60
L3: STOP F NIL                  ;DRIVER CAME OUT CHECK IF IT HAS SCREW
CONO ND SD 13 0 0
GO SCT
SKIPE 23
JUMP L7                         ;ALL OK GO TO HOLE
NNUL
GOTO SCRW                       ;GO BACK TO BEGINNING
SOJG SCREW L4
L6: WAIT FREE THE SCREW DRIVER PUT A SCREW ON ITS END AND PROCEED
L7: DEPART UP3
JUMP 1

DEFINE	TOH	H HRC 
FLUSH
ASSIGN MISS 10
SEARCH .07 Z Y
CONO UP3 SD 13 0 0
MOVE H Z .4 NIL 0 0
JUMP L2
L1: CONO Z SD 13 0 0
GOTO H Z .4 NIL 0 0
RESTORE HRC 0
VECT FV
0 0 -30
L2: STOP FV NIL
NNUL
CONO NIL SD 13 60 60
GO H
RESTORE HRC 0
SKIPN 23
JUMP L3
AOJ 1
SOJG MISS L1
JUMP L4
L3: STOP FV NIL
FREE 2 X Y
CHANGE Z -.4 NIL 0 60
SKIPE 23
JUMP L5
AOJ 1
SOJG MISS L1
L4: WAIT PUT THE SCREW IN THE HOLE PROCEED
L5: JUMP 1

DEFINE	DRIVEIN	
VECT FV
0 0 -60
FORCE FV NIL
NNUL
VECT MV
0 0 -100
CHANGE Z 0 Z 30 30
STOP NIL MV
FORCE FV NIL
NNUL
CONO NIL SD 13 0 0
SCREW -50
MERGE
CHANGE Z -.5 NIL 0 150
SKIPE 23
JUMP 1

DEFINE	FREEDRIVER	
CONO NIL SD 13 0 0
FLUSH
VECT FV
0 0 150
STOP FV NIL
WOBBLE .2
CHANGE Z .5 NIL 0 30
SKIPE 23
WAIT FREE THE DRIVER AND PROCEED
DEPART UP3

DEFINE	ASCREW	H 
UPSCREW
TOH H BODY3C
DRIVEIN
FREEDRIVER

DEFINE	SCREWS	
ASCREW H1
ASCREW H3
ASCREW H2
ASCREW H4

DEFINE	DOWNDRIVER	
CONO NIL SD 13 0 120
GOTO DRIVER
VECT FV
0 0 -60
STOP FV NIL
SPIN 1 Z
CONO NIL SD 13 0 0
GO DRIVER Z -5 NIL 0
OPEN 3
DEPART UP4

DEFINE	FINUP	
CONO UP6 NIL 0 90 0
OPEN 4
MERGE
MOVE VISE4
CENTER 2.9
WAIT OPEN THE VISE AND TYPE P TO PROCEED
DEPART UP6X
CONO UP6 NIL 19 60 120
GOTO GBOX2 Z 1 NIL 0
PLACE
OPEN 4
DEPART UP4
GOTO MIDAIR