C***********************************************************************
C
C  THIS SUBROUTINE DISPLAYS A COMPONENT, TAKING THE STANDARD COMPONENT
C  DRAWING THEN ROTATING, SCALING AND TRANSLATING IT TO THE REQUIRED
C  POSITION.  ALLOWANCE IS ALSO MADE FOR THE DISPLAY OF A SIMPLE
C  CONNECTION.
C
C***********************************************************************
      SUBROUTINE PLACE(DUM,IZ)
C                                    DUM IS ONE OF THE STANDARD COMP.
C                                    DRAWINGS, IZ IS THE NUMBER OF
C                                    ENTRIES IN DUM TO BE USED.
      REAL COMP(4,12),DUM(4,9)
      INTEGER END,END1
      COMMON /PLA/COMP,END,SCALE
      COMMON PAR(60,6),OP(10),W(60),D(60),M(20,60),NODE(60,12)
C                                    FIRST SET INITIAL VALUES.
      I=END
      END=IZ
      END1=1
C                                    NOW SET XI,YI, I=1,3 TO THE VALUES
C                                    OF THE THREE NODE POSITIONS.
      X1=NODE(I,4)
      Y1=NODE(I,5)
      X2=NODE(I,8)
      Y2=NODE(I,9)
C                                    ABOVE ARE END POINTS, NEXT IS
C                                    COMPONENT POSITION
C                                    THERE IS NO COMPONENT POSITION
C                                    FOR A BUS.
      IF(END.EQ.1)GO TO 100
      X3=NODE(I,6)
      Y3=NODE(I,7)
C                                    FIRST ROTATE THE COMPONENT.
      SQ=SQRT((X2-X1)**2+(Y2-Y1)**2)
      COSTH=(X2-X1)/SQ
      SINTH=(Y2-Y1)/SQ
      DO 2 J=1,END
      DO 2 I=1,3,2
      I1=I+1
      COMP(I,J)=COSTH*DUM(I,J)-SINTH*DUM(I1,J)
    2 COMP(I1,J)=SINTH*DUM(I,J)+COSTH*DUM(I1,J)
C                                    TRANSLATE AND SCALE THE COMPONENT.
      DO 3 J=1,END
      DO 3 I=1,3,2
      I1=I+1
      COMP(I,J)=COMP(I,J)*SCALE+X3
    3 COMP(I1,J)=COMP(I1,J)*SCALE+Y3
C                                    THE SET-UP OF COMP MUST NOW BE
C                                    COMPLETED BY SETTING UP THE
C                                    END-POINTS AND PUTTING IN THE ARROW
      END1=END+1
      X3=COMP(1,1)
      Y3=COMP(2,1)
C                                    SET UP THE END-POINTS.
  100 COMP(1,1)=X1
      COMP(2,1)=Y1
      COMP(3,END1)=X2
      COMP(4,END1)=Y2
C                                    IF THIS WAS FOR A BUS, RETURN.
      IF(END.EQ.1)RETURN
      COMP(1,END1)=X3
      COMP(2,END1)=Y3
C                                    NOW PUT IN THE ARROW.
      SQ=SQRT((X2-X3)**2+(Y2-Y3)**2)
      COSTH=(X2-X3)/SQ
      SINTH=(Y2-Y3)/SQ
      END=END+3
      COMP(1,END)=(X2+X3)/2.0
      COMP(2,END)=(Y2+Y3)/2.0
      END1=END1+1
      COMP(1,END1)=COMP(1,END)
      COMP(2,END1)=COMP(2,END)
      SURD=SQRT(3.)
      COMP(3,END1)=COMP(1,END1)-SCALE*(SURD*COSTH-SINTH)/3.
      COMP(4,END1)=COMP(2,END1)-SCALE*(COSTH+SURD*SINTH)/3.
      COMP(3,END)=COMP(1,END)-SCALE*(SURD*COSTH+SINTH)/3.
      COMP(4,END)=COMP(2,END)+SCALE*(COSTH-SURD*SINTH)/3.
C                                    ALL FINISHED.
      RETURN
      END
