      SUBROUTINE OBJA(EX,EY,EZ,IDS,IDL,DIST)
      LOGICAL B1,B2,B3,B4,B5,B6,B7,B8,B9
	DIMENSION LIST(3)
      COMMON/EYCEP/EYE(3),CEN(3),UP(3)
      COMMON/BULK/I3STRT,I3END,OBJ(6,30)
      COMMON/PAINT/I2STRT,I2END,PIC(4,30)
      COMMON/OIL/IVECT(200)
      COMMON/LIMITS/XMIN,XMAX,YMIN,YMAX
      DATA OBJFOR,D1,D2/5H(1X,1,5H9H EX,5H   EY/
      DATA D3,D4,D5/5H   EZ,5H  DIS,2HT)/
      DATA FORM, F2/5H(1X,4,5HF5.1)/
      CALL BUTTON(1)
10    B1=.FALSE.
      B2=.FALSE.
      B3=.FALSE.
      B4=.FALSE.
      B5=.FALSE.
      B6=.FALSE.
      B7=.FALSE.
      B8=.FALSE.
      B9=.FALSE.
      CALL BUTTON(3,B1,B2,B3,B4,B5,B6,B7,B8,B9)
11    DX=0
      DY=0
      DZ=0
      DD=0
      CALL TEXT(0,0,0,0,0)
      CALL TEXT(100,300,7,1,OBJFOR)
      CALL TEXT(100,250,7,1,FORM,EX,EY,EZ,DIST)
 2    CALL BUTTON(2,B1,B2,B3,B4,B5,B6,B7,B8,B9)
      IF(B1.AND.B6) GO TO 12
      IF(B2.AND.B7) GO TO 13
	IF(B3.AND.B8) GO TO 38
	IF(B1) GO TO 21
	IF(B2) GO TO 22
	IF(B3) GO TO 23
	IF(B4) GO TO 24
	IF(B5) GO TO 10
	IF(B6) GO TO 26
	IF(B7) GO TO 27
	IF(B8) GO TO 28
	IF(B9) GO TO 29
	GO TO 2
38    CALL INPUT(3,36,LIST,.FALSE.,.TRUE.)
	DX=(LIST(1)-1020)/1000
	DY=(LIST(2)-1040)/1000
	GO TO 20
21    DX=0.1
	GO TO 20
22    DY=0.1
	GO TO 20
23    DZ=0.1
	GO TO 20
24    DD=0.1
	GO TO 20
26    DX=-0.1
	GO TO 20
27    DY=-0.1
	GO TO 20
28    DZ=-0.1
	GO TO 20
29    DD=-0.1
	GO TO 20
20    EX=EX+DX
      EY=EY+DY
      EZ=EZ+DZ
      DO 19 J=1,5
      OBJ(1,J)=OBJ(1,J)+DX
      OBJ(2,J)=OBJ(2,J)+DY
      OBJ(3,J)=OBJ(3,J)+DZ
      OBJ(4,J)=OBJ(4,J)+DX
      OBJ(5,J)=OBJ(5,J)+DY
      OBJ(6,J)=OBJ(6,J)+DZ
19    CONTINUE
      DIST=DIST+DD
      CALL ROTER
      CALL MAPPER(DIST)
      CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,0)
      CALL DISPLY(6,IDS,IVECT,1,LAST)
      CALL DISPLY(3,IDL)
      IH=IDS
      IDS=IDL
	IDL=IH
      GO TO 11
12    DO 18 J=1,5
      OBJ(1,J)=OBJ(1,J)-EX
      OBJ(2,J)=OBJ(2,J)-EY
      OBJ(3,J)=OBJ(3,J)-EZ
      OBJ(4,J)=OBJ(4,J)-EX
      OBJ(5,J)=OBJ(5,J)-EY
      OBJ(6,J)=OBJ(6,J)-EZ
18    CONTINUE
      EX=0
      EY=0
      EZ=0
      DIST=8.0
      CALL ROTER
      CALL MAPPER(DIST)
      CALL VECTOR(1,PIC,I2STRT,I2END,IVECT,1,LAST,7,0,0)
      CALL DISPLY(6,IDS,IVECT,1,LAST)
      CALL DISPLY(3,IDL)
      IH=IDS
      IDS=IDL
      IDL=IH
      GO TO 10
13    RETURN
      END
