    	SUBROUTINE IFOBLI( IR, ARRAY )
C
C  PROGRAMMER: R.S. ZHOU		MARCH-1986
C
C	THIS ROUTINE DRAWS AN OBLIQUE.
C
C	IR --------- LENGTH OF "ARRAY".
C	ARRAY(1) --- DIAMETER OF OBLIQUE IN X-AXIS IN INCHES.
C	ARRAY(2) --- DIAMETER OF OBLIQUE IN Y-AXIS IN INCHES.
C	ARRAY(3) --- BORDER WIDTH (INWARD) IN INCHES.
C	ARRAY(4) --- X-COORDINATE OF THE CENTER IN INCHES.
C	ARRAY(5) --- Y-COORDINATE OF THE CENTER IN INCHES.
C	ARRAY(6) --- ROTATION ANGLE OF OBJECT IN DEGREES FROM X-AXIS.
C
     	DIMENSION	ARRAY(1)
C
C  INITIALIZE...
C
     	IRR = IR
     	RD1 = 1.0
     	RD2 = 0.5
     	WID = 0.0
     	XPS = 0.0
     	YPS = 0.0
     	ANG = 0.0
     	IF( IRR.GT.0 .AND. ARRAY(1).NE.0.0 ) RD1 = 0.5*ABS(ARRAY(1))
     	IF( IRR.GT.1 .AND. ARRAY(2).NE.0.0 ) RD2 = 0.5*ABS(ARRAY(2))
     	IF( IRR.GT.2 .AND. ARRAY(3).NE.0.0 ) THEN
     	    WID = ABS(ARRAY(3))
     	    IF( WID.GE.RD1 .OR. WID.GE.RD2 ) WID = 0.0
     	ENDIF
     	IF( IRR.GT.4 ) THEN
     	    XPS = ARRAY(4)
     	    YPS = ARRAY(5)
     	ENDIF
     	IF( IRR.GT.5 ) ANG = AMOD( ARRAY(6), 360.0 )
C
C  MOVE ORIGIN TO (XPS,YPS) ...
C
     	IF( IRR.GT.4 ) CALL IFDRAW( XPS, YPS, -9 )
C
C  SET ROTATION IF AT ALL...
C
     	IF( IRR.GT.5 .AND. ANG.NE.0.0 ) THEN
     	    CALL IFROTA_NOW( XANG, YANG )
     	    CALL IFROTA( ANG+XANG, ANG+YANG )
     	ENDIF
C
C  START THE DRAWING...
C
111	CALL IFPLOT( RD1, 0.0, 3 )
     	CALL IFPLOT( 0.0, RD2, 2 )
     	CALL IFPLOT(-RD1, 0.0, 2 )
     	CALL IFPLOT( 0.0,-RD2, 2 )
     	CALL IFPLOT( RD1, 0.0, 2 )
     	IF( WID.EQ.0.0 ) GOTO 222
     	RDD = WID*SQRT(RD1*RD1+RD2*RD2)
     	WID = RD1 - RDD/RD2
     	RD2 = RD2 - RDD/RD1
     	RD1 = WID
     	WID = 0.0
     	GOTO 111
C
C  RESTORE...
C
222	CALL IFDRAW( 0.0, 0.0, 3 )
     	IF( IRR.GT.5 .AND. ANG.NE.0.0 ) CALL IFROTA( XANG, YANG )
     	IF( IRR.GT.4 ) CALL IFDRAW( -ARRAY(4), -ARRAY(5), -9 )

999	RETURN
    	END
