PROCEDURE savoye;

VAR
	ANZAHL_SÄULEN:INTEGER;
	SÄULENHÖHE:REAL;
	KÖRPERHÖHE:REAL;
	cStartX:REAL;
	saeulenStartX: REAL;
	saeulendicke:REAL;
	saeulenAbstand:REAL;
	gebaeudebreite:REAL;
	gebaeudeRand:REAL;

	i:    INTEGER;
	
BEGIN

	ANZAHL_SÄULEN:=PANZAHL_SÄULEN;
	SÄULENHÖHE:=PSÄULENHÖHE;
	KÖRPERHÖHE:=PKÖRPERHÖHE;
	saeulendicke:=PSÄULENDICKE;

	{*Stift einstellen*}
	penPat(2);
	penFore(0,0,65535);
	
	{*blatt zeichnen*}
	moveto(-10.5,-15);
	lineto(-10.5,15);
	lineto(10.5,15);
	lineto(10.5,-15);
	lineto(-10.5,-15);

	(*schnittlinien zeichnen*)

	(*gebäudekörper zeichnen*)
	moveto(-6.5,0);
	lineto(-6.5,KÖRPERHÖHE);
	moveto(6.25,KÖRPERHÖHE);
	lineto(6.25,0);
	moveto(-6.5,KÖRPERHÖHE);
	lineto(-6.5,KÖRPERHÖHE + SÄULENHÖHE);
	moveto(6.25,KÖRPERHÖHE);
	lineto(6.25,KÖRPERHÖHE + SÄULENHÖHE);
	moveto(-6.5,0);
	lineto(-6.25,0);
	
	(*säulen zeichnen*)
	moveto(6.25,0);
	lineto(6,0);
	
	saeulenStartX:=6;

	gebaeudebreite:=12.75;
	gebaeudeRand:=0.25;
	saeulenAbstand:=((gebaeudebreite-2*gebaeudeRand)-saeulendicke)/(ANZAHL_SÄULEN-1);

	FOR i:=0 TO ANZAHL_SÄULEN-1  DO BEGIN
		cStartX:= saeulenstartX-i* saeulenAbstand;
		
		{*Stift einstellen*}
		penFore(0,0,65535);
		penPat(2);

		moveto(cStartX,0);
		lineto(cStartX,-SÄULENHÖHE);

		moveto(cStartX-saeulendicke,0);
		lineto(cStartX-saeulendicke,-SÄULENHÖHE);

		moveto(cStartX-saeulendicke,0);
		lineto(cStartX-saeulendicke+saeulenAbstand,0);

		
		{*Stift einstellen*}
		penFore(65535,0,0);
		penPat(-2);
		moveto(cStartX,-SÄULENHÖHE);
		lineto(cStartX-saeulendicke,-SÄULENHÖHE);

	END;

	FOR i:=0 TO ANZAHL_SÄULEN-2  DO BEGIN
		cStartX:= saeulenstartX-i* saeulenAbstand;
		
		{*Stift einstellen*}
		penFore(0,0,65535);
		penPat(2);

		moveto(cStartX-saeulendicke,0.2*KÖRPERHÖHE);
		lineto(cStartX-saeulendicke,0.5*KÖRPERHÖHE);
		lineto(cStartX-saeulenAbstand,0.5*KÖRPERHÖHE);
		lineto(cStartX-saeulenAbstand,0.2*KÖRPERHÖHE);
		lineto(cStartX-saeulendicke,0.2*KÖRPERHÖHE);

	END;

	{*Stift einstellen*}
	penFore(65535,0,0);
	penPat(-2);

	{*blatt faltkanten zeichnen*}
	moveto(-10.5,0);
	lineto(-6.5,0);
	moveto(10.5,0);
	lineto(6.25,0);

	(*gebäude faltkanten zeichnen*)
	moveto(-6.5,KÖRPERHÖHE);
	lineto(6.25,KÖRPERHÖHE);
	moveto(-6.5,KÖRPERHÖHE + SÄULENHÖHE);
	lineto(6.25,KÖRPERHÖHE + SÄULENHÖHE);

END;
RUN(savoye);