# Eingabe eines rechteckigen Einzelfundaments mit Stützenanschluss
# Seitenverh. Fund und Stütze variabel
# Stüzenanschluss Hauptrichtung horizontal bei Quadrat und liegendem Rechteck
# vertikal bei stehendem Rechteck. Anschlussbew. 0 möglich.
# 2022-09-29 LF

save_fsm();

# Auf Eingabemasstab umrechnen
name(r60,"mstab");
mstab = wcoiuf / 100;
name(s2,"txformat");

# writeln(" "); write("Eingabefaktor 'wcoiuf': "); writeln(wcoiuf);

# Variablen benennen
name(i20,"janein");
name(r20,"fubrx");
name(r21,"fubry");
name(r22,"fuhoe");
name(r23,"stbrx");
name(r24,"stbry");
name(r61,"betdeckf"); # Betonüberdeckung Fundament
name(r62,"betdecks"); # Betonüberdeckung Stütze
name(r63,"abstxverl"); # Stababstand in X-Richtung
name(r64,"abstyverl"); # Stababstand in Y-Richtung
name(r65,"absteckei"); # Lage Eckeisen Anschl.Bew in Bügel

# Variablen vorbelegen
janein = 1;
fubrx = 260.0 * mstab; 
fubry = 260.0 * mstab; 
fuhoe = 80.0 * mstab; 
stbrx = 30.0 * mstab; 
stbry = 30.0 * mstab;
betdeckf = (4.5 * mstab); 
betdecks = (3.5 * mstab);
posanzahl = 1;

dlg_init(): #Init new Dialog
string_copy(txformat,"-20.31");
dlg_label(1,1,"Alle Macros wurden nach Kundenwuenschen erstellt",50); #50= use 50 columns for text
dlg_label(1,2,"und dienen lediglich als Beispiele",50); #50= use 50 columns for text
# TRANSLATE_TEXT(s1,0,"Schalkanten vorhanden? (Haken=JA) ",txformat);	
dlg_checkbox(1,4,"Schalkanten vorhanden? (Haken = JA)",35,janein); 	#CheckBox
TRANSLATE_TEXT(s1,0,"Fundamentbreite X:        ",txformat);	dlg_editbox(1,5,s1,fubrx,10);
TRANSLATE_TEXT(s1,0,"Fundamentbreite Y:        ",txformat);	dlg_editbox(1,6,s1,fubry,10);
TRANSLATE_TEXT(s1,0,"Fundamenthöhe:            ",txformat);	dlg_editbox(1,7,s1,fuhoe,10);
TRANSLATE_TEXT(s1,0,"Stützenbreite X:          ",txformat);	dlg_editbox(1,8,s1,stbrx,10);
TRANSLATE_TEXT(s1,0,"Stützenbreite Y:          ",txformat);	dlg_editbox(1,9,s1,stbry,10);
TRANSLATE_TEXT(s1,0,"Betondeckung Fundament:   ",txformat);	dlg_editbox(1,10,s1,betdeckf,10);
TRANSLATE_TEXT(s1,0,"Betondeckung Stütze:      ",txformat);	dlg_editbox(1,11,s1,betdecks,10);
TRANSLATE_TEXT(s1,0,"Anzahl dieses Fundaments: ",txformat);	dlg_editbox(1,12,s1,btanzahl,10);
dlg_start("Geometrie",i5); # 0= OK;  -1=Cancel;  > 0 =Button Number
if( i5 < 0) then
	restore_fsm();
if( i5 < 0) then exit;

dlg_init(): #Init new Dialog
string_copy(txformat,"-20.35");
dlg_label(5,1,"Fundament",50); #50= use 50 columns for text
i70=17;                # Anzahl Eisen X
i71=14;                # Durchm Eisen X 
i75=17;                # Anzahl Eisen Y
i76=14;                # Durchm Eisen Y  
r70 = (fuhoe / 3 * 2); # Länge Aufbiegung (1/3 h)
# Hakenlänge abrunden
if (wcoiuf = 1) then
	begin
		r70 = r70 * 100;
		r70 = r70 + (1 * mstab);
		i34 = r70; r70 = i34;
		r70 = r70 / 100;
	end;
if (wcoiuf = 100) then
	begin
		r70 = r70 + (1 * mstab);
		i34 = r70; r70 = i34;
	end;
if (wcoiuf = 1000) then
	begin
		r70 = r70 / 10.0;
	#	r70 = r70 + (1 * mstab);
		i34 = r70; r70 = i34;
		r70 = r70 * 10.0;
	end;	
TRANSLATE_TEXT(s1,0,"Anzahl Längseisen X-Verl-Ri :     ",txformat);	dlg_editbox(1,2,s1,i70,10);
TRANSLATE_TEXT(s1,0,"Durchmesser Längseisen X-Verl-Ri: ",txformat);	dlg_editbox(1,3,s1,i71,10);
TRANSLATE_TEXT(s1,0,"Anzahl Längseisen Y-Verl-Ri :     ",txformat);	dlg_editbox(1,4,s1,i75,10);
TRANSLATE_TEXT(s1,0,"Durchmesser Längseisen Y-Ver-Ri:  ",txformat);	dlg_editbox(1,5,s1,i76,10);
TRANSLATE_TEXT(s1,0,"Länge Aufbiegung :                ",txformat);	dlg_editbox(1,6,s1,r70,10);
#
dlg_label(5,8,"Stützenanschluss",50); #50= use 50 columns for text
r78 = (75.0 * mstab);    # Anschlusslänge Stützenanschluss
i78 = 2;                 # Anzahl Eisen X ohne Endeisen der langen Seite
i79 = 0;                 # Anzahl Eisen Y ohne Endeisen der langen Seite
i80 = 14;                # Durchmesser Stützenanschluss
TRANSLATE_TEXT(s1,0,"Anschlusslänge Stützenanschluss : ",txformat);	dlg_editbox(1,9,s1,r78,10);
#Icon
	dlg_button(0,0,"WPS_2D",0,0,0);# 0 = Path for Icons /artifex/data/bmp/wpsdemo
	# (Spalte,Zeile,Bildname,Breite Spalten,Höhe Zeilen,-1=Icon/+1=Button) -----------------  + string
    dlg_button(1,10,"Fundm_VAR",24,6,-1);# Button Nr 1 (less 0 means Icon )
TRANSLATE_TEXT(s1,0,"Anzahl Stützeneisen X je Seite :  ",txformat);	dlg_editbox(1,15,s1,i78,10);
TRANSLATE_TEXT(s1,0,"Anzahl Stützeneisen Y je Seite :  ",txformat);	dlg_editbox(1,16,s1,i79,10);
TRANSLATE_TEXT(s1,0,"Durchmesser Stützeneisen :        ",txformat);	dlg_editbox(1,17,s1,i80,10);

i81 = 8;                 # Durchmesser Bügel
r80 = 25.0 * mstab;      # Abstand Bügel
TRANSLATE_TEXT(s1,0,"Durchm. Bügel für St.-Anschluss : ",txformat);	dlg_editbox(1,18,s1,i81,10);
TRANSLATE_TEXT(s1,0,"Abstand Bügel für St.-Anschluss : ",txformat);	dlg_editbox(1,19,s1,r80,10);
dlg_start("Bewehrung",i5); # 0= OK;  -1=Cancel;  > 0 =Button Number
if( i5 < 0) then
	restore_fsm();
if( i5 < 0) then exit;

r78 = r78 + (fuhoe - betdeckf - (3.0 * mstab)); # Gesamtlänge Stützenanschluss
r85 = (fuhoe / r80) + 1.0; i85 = r85; # Bügelanzahl rechnen
#
# writeln (janein);
#
# write("Eingabe Grundriss Mittelpunkt (Punkt1)") ;read(p1) ; writeln(" ");
write("Eingabe Grundriss links unten (Punkt1)") ;read(p1) ; writeln(" ");
#
p1.x=p1.x+fubrx/2.0; p1.y=p1.y+fubry/2.0; # Einfügepunkt p1 auf Mitte Fund setzen
#
#  Fundament zeichnen  Grundriss
#
setlayer("Fundament");
setcolor(3);
p2=p1; p2.x=p2.x-fubrx/2.0; p2.y=p2.y-fubry/2.0;
p3=p2; p3.x=p3.x+fubrx; p4=p3; p4.y=p4.y+fubry; p5=p4; p5.x=p2.x;
if (janein = 0) then
	begin
		line(p2,p3);line(p3,p4);line(p4,p5);line(p5,p2);
	end;
#	
# Stützengrundriss zeichnen

p6=p1; p6.x=p6.x-stbrx/2.0; p6.y=p6.y-stbry/2.0;
p7=p6; p7.x=p7.x+stbrx; p8=p7; P8.y=p8.y+stbry; p9=p8; p9.x=p6.x;
if (janein = 0) then
	begin
		line(p6,p7);line(p7,p8);line(p8,p9);line(p9,p6);
	end;
#
#  Fundament zeichnen Querschnitt (wenn mit Linien wird unter Grundriss gezeichnet)
#  Sonst wird Punkt abgefragt
#
if (janein = 1) then
	begin
		write("Eingabe Schnitt mitte unten (Punkt2)") ;read(p10); writeln(" ");
	end;
if (janein = 0) then
	begin
p10 = p1; p10.y = p10.y - (fubry / 2.0) - (300.0 * mstab) - fuhoe;
	end;
#	
p11=p10; p11.x=p11.x-fubrx/2.0; p12=p11; p12.x=p12.x+fubrx;
p13=p12; p13.y=p13.y+fuhoe;
p14=p13; p14.x=p14.x-fubrx/2.0; p14.x=p14.x+stbrx/2.0; p15=p14; p15.y=p14.y+(150.0 * mstab);
p16=p13; p16.x=p16.x-fubrx; p17=p14; p17.x=p17.x-stbrx; p18=p15; p18.x=p18.x-stbrx;
if (janein = 0) then
	begin
		line(p11,p12); line(p12,p13); line(p13,p14); line(p14,p15);
		line(p11,p16); line(p16,p17); line(p17,p18);
	end; # Ende Linien zeichnen
#
# Lage Eckeisen in Bügelecke ermittel (Anschlussbew)
#
r81 = (i81 / 10 * mstab);       # Umgerechneter Bügeldurchm
r82 = (i80 / 10 * mstab) / 2.0; # Umgerechneter Längseisendurchm/2
r83 = r81 * 2.0;		        # Biegrad/2
absteckei = (((r81 + r83)*1.4142) - r83 + r82) / 1.4142;
#
# ein paar generelle Bew-Einstellungen
posanzahl = 1;
bwlage = 0;
hakenhint = 0;
hakenvorn = 0;
#
# Untere Lage in Fundamentbreite x -> im Schnitt sieht man aus Z
#
BWFORM("A3");
bogen=0;
# i70 Anz-Verl-Richtung X
# i71 Dur-Verl-Richtung X
# i75 Anz-Verl-Richtung Y
# i76 Dur-Verl-Richtung Y
stabkreis = 1 ;
#
# Biegerollendurchmesser Gegenrichtung berücksichtigen x
if (i71 < 20) then
	begin	
		r50=((i71*2.0) + i71) / 10 * mstab; # Biegr = 4de
	end;
if (i71 > 19) then
	begin
		r50=((i71*3.5) + i71) / 10 * mstab;	# Biegr = 7de
	end;
#
# Biegerollendurchmesser Gegenrichtung berücksichtigen y
if (i76 < 20) then
	begin
		r51=((i76*2.0) + i76) / 10 * mstab; # Biegr = 4de
	end;
if (i76 > 19) then
	begin
		r51=((i76*3.5) + i76) / 10 * mstab; # Biegr = 7de
	end;
#
# writeln (r50);
# writeln (r51);
#
# Stab in Grundriss Verlegerichtung = x Stabrichtung = y
anzahl = i70 ; durchm = i71;
abstand = fubrx;
# writeln (abstand);
abstand = abstand - (betdeckf*2.0) - (r51*2.0);
# writeln (abstand);
abstand = abstand / (i70 - 1.0);
# if (abstand < 3.0) then
#	begin
#		dlg_init(): #Init new Dialog
#   string_copy(txformat,"-20.31");
# dlg_label(1,1,"Stababstand X-Ri < 3cm !",50); #50= use 50 columns for text
# dlg_start("Warnung",i5); # 0= OK;  -1=Cancel;  > 0 =Button Number
# if( i5 < 0) then
#	restore_fsm();
# if( i5 < 0) then exit;
# 	end;
para_a= r70 ; para_b = fubry - (betdeckf * 2.0); para_c = para_a ;
stabmod(); 
#
ansicht = 2 ;stabecke = 1;
stabanf=p3; stabanf.x = stabanf.x - betdeckf - r51;  stabanf.y = stabanf.y + betdeckf;
lageposnr.x = stabanf.x - (fubrx / 2.0);  lageposnr.y = stabanf.y - (50.0 * mstab);
posdrewi= 0.0; stabeiwi = -90.0; verlegewinkel = 180;  stabzei=4; anzstabzei=1;
verteilzei=3;  vtlabst = (30.0 * mstab); posnrzei=2; vlposzei = 4 ;
posnrli=0; stabspieg=0;
stabgeo();
#
# Stäbe X-VErl im Schnitt - Ansicht aus X
ansicht = 1 ;stabecke = 1 ;
if (fubrx >= fubry) then
	begin
		stabanf=p12; stabanf.x = stabanf.x - betdeckf - r51;  
		stabanf.y = stabanf.y + betdeckf + (i71 / 20.0 * mstab);
	end;
if (fubrx < fubry) then
	begin
		stabanf=p12; stabanf.x = stabanf.x - betdeckf - r51;  
		stabanf.y = stabanf.y + betdeckf + (i71 / 20.0 * mstab) + (i76 / 10.0 * mstab);
	end;
lageposnr.x = stabanf.x - (fubrx / 2.0);  lageposnr.y = stabanf.y - (90.0 * mstab);
posdrewi= 0.0; stabeiwi = -90.0; verlegewinkel = 180;  stabzei=1; anzstabzei=1;
verteilzei=3;  vtlabst = (70.0 * mstab); posnrzei=4; vlposzei = 4;
posnrli=0; stabspieg=0;
stabgeo();

# Stab in Grundriss Verlegerichtung = y Stabrichtung = x
anzahl = i75 ; durchm = i76;
abstand = fubry;
# writeln (abstand);
abstand = abstand - (betdeckf*2.0) - (r50*2.0));
# writeln (abstand);
abstand = abstand / (i75 - 1.0);
# if (abstand < 3.0) then
# 	begin
# 		dlg_init(): #Init new Dialog
# string_copy(txformat,"-20.31");
# dlg_label(1,1,"Stababstand Y-Ri < 3cm !",50); #50= use 50 columns for text
# dlg_start("Warnung",i5); # 0= OK;  -1=Cancel;  > 0 =Button Number
# if( i5 < 0) then
# 	restore_fsm();
# if( i5 < 0) then exit;
#	end;
# writeln (abstand);
para_a= r70 ; para_b = fubrx - (betdeckf * 2.0); para_c = para_a ;
stabmod(); 
#
ansicht = 2 ;stabecke = 1 ;
stabanf=p4; stabanf.x = stabanf.x - betdeckf;  stabanf.y = stabanf.y - betdeckf - r50;
lageposnr.x = stabanf.x + (50.0 * mstab), lageposnr.y = stabanf.y - (fubry / 2.0);
posdrewi= 90.0; stabeiwi = -90.0; verlegewinkel = 270;  stabzei=4; anzstabzei=1;
verteilzei=3;  vtlabst = (30.0 * mstab); posnrzei=2; vlposzei = 4;
posnrli=0; stabspieg=0;
stabgeo();
#
# Stäbe Y-Verl im Schnitt - Ansicht aus Z
ansicht = 3 ;stabecke = 3 ;
if (fubrx >= fubry) then
	begin
		stabanf=p12; stabanf.x = stabanf.x - betdeckf;  
		stabanf.y = stabanf.y + betdeckf + (i71 / 10.0 * mstab);
	end;
if (fubrx < fubry) then
	begin
		stabanf=p12; stabanf.x = stabanf.x - betdeckf;  
		stabanf.y = stabanf.y + betdeckf + (i71 / 20.0 * mstab);
	end;
lageposnr.x = stabanf.x - (fubrx / 2.0);  lageposnr.y = stabanf.y - (40.0 * mstab);
posdrewi= 0.0; stabeiwi = -90.0; verlegewinkel = 90;  stabzei=5; anzstabzei=1;
verteilzei=0;  vtlabst = - para_a; posnrzei = 4; vlposzei = 3; vtlendpkt = stabanf; 
vtlendpkt.x = vtlendpkt.x - (fubrx / 2.0);
posnrli=0; stabspieg=0;
stabgeo();
#
if (stbrx >= stbry) then # Stütze in X breiter oder gleich **********************
	begin
#
#  Bügel in Schnitt und Grundriss *************************
#
BWFORM("B2");
anzahl= i85;
durchm=i81;
abstand=r80;
#
para_a = stbrx - (betdecks * 2.0) - (r82 * 2.0);
para_b = stbry - (betdecks * 2.0);
para_c = 0.0;
para_d = r81 * 15.0;
#
stabmod();
#
# Bügel im Längschnitt zeichnen
stabanf.x = p10.x - (para_a / 2.0); stabanf.y = p10.y + (15.0 * mstab);
verlegewinkel = 90.0; stabeiwi = -90.0;
stabzei=1;
verteilzei=1;
vtlabst = (20.0 * mstab);
vlposzei = 4 ;
lageposnr = stabanf;
lageposnr.x = lageposnr.x - vtlabst - (50.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (35.0 * mstab);
posdrewi=90.0;
posnrzei = 2;
stabecke = 1;
ansicht  = 2;
stabgeo();
#
# Bügel im Grundriss zeichnen
stabanf.x = p6.x + betdecks + r82; stabanf.y = p6.y + betdecks;
verlegewinkel = -90.0; stabeiwi = -90.0;
lageposnr.x = p6.x - (20.0 * mstab); lageposnr.y = p6.y - (25.0 * mstab) ;
vlposzei = 3 ;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (para_b / 2.0);
stabzei=5;
ansicht=3;
verteilzei=0;
posnrzei = 6;
posnrli = 1;
posdrewi = 0.0;
stabecke = 2;
stabgeo()
#
#   STUETZENANSCHLUSS  ******************************************
#
if (i78 > 0) then # Beginn Anz X > 0
	begin
#
# Längsstäbe X-Richtung
#
BWFORM("A2");
anzahl = i78;
durchm = i80;
#
para_a = (20.0 * mstab);
para_b = r78;
posanzahl = 2.0
abstand = (stbrx - (betdecks * 2.0) - (r82 * 2.0) - (absteckei * 2.0)) / (i78 - 1.0);
#
stabmod() ;
#
# X-Stab in Grundriss vorne
stabanf = p7;
stabanf.x = stabanf.x - betdecks - r82 - absteckei;
stabanf.y = stabanf.y + betdecks + absteckei;
lageposnr = stabanf;
lageposnr = p7; lageposnr.x = lageposnr.x - (stbrx / 2.0);
lageposnr.y = lageposnr.y - (40.0 * mstab);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 180;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1;
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# X-Stab in Grundriss hinten
stabanf = p8;
stabanf.x = stabanf.x - betdecks - r82 - absteckei;
stabanf.y = stabanf.y - betdecks - absteckei;
lageposnr = stabanf;
lageposnr = p8; lageposnr.x = lageposnr.x - (stbrx / 2.0);
lageposnr.y = lageposnr.y + (40.0 * mstab);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 180;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1;
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# X-Stäbe in Längsschnitt 
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x + (stbrx / 2.0) - betdecks - r82 - absteckei;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 1;
vtlabst = (-15.0 * mstab) - (fuhoe);
vlposzei = 4;
stabzei = 1;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x + (35.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
	end; # Ende Anz X > 0 
#
if (i79 > 0) then # Beginn Anz Y > 0
	begin
#
# Längsstäbe Y-Richtung
#
BWFORM("A2");
anzahl = i79;
durchm = i80;
#
para_a = (20.0 * mstab);
para_b = r78;
posanzahl = 2.0
abstand = (stbry - (betdecks * 2.0) - (absteckei * 2.0)) / (i79 + 1.0);
#
stabmod() ;
#
# Y-Stab in Grundriss rechts
stabanf = p7;
stabanf.x = stabanf.x - betdecks - absteckei - (r82 / 2.0);
stabanf.y = stabanf.y + betdecks + absteckei + abstand;
lageposnr = stabanf;
lageposnr = p7; lageposnr.x = lageposnr.x + (40.0 * mstab);
lageposnr.y = lageposnr.y + ((stbry / 2.0);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 90;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# Y-Stab in Grundriss links
stabanf = p6;
stabanf.x = stabanf.x + betdecks + absteckei + (r82 / 2.0);
stabanf.y = stabanf.y + betdecks + absteckei + abstand;
lageposnr = stabanf;
lageposnr = p6; lageposnr.x = lageposnr.x - (40.0 * mstab);
lageposnr.y = lageposnr.y + ((stbry / 2.0);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 90;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1
posnrzei = 3;
posnrli = 1;
stabgeo();
#
# Y-Stäbe in Längsschnitt rechts
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x + (stbrx / 2.0) - betdecks - r82 - absteckei;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 0;
vlposzei = 3;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (fuhoe / 2.0);
stabzei = 5;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x + (70.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
# Y-Stäbe in Längsschnitt links
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x - (stbrx / 2.0) + betdecks + r82 + absteckei;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 0;
vlposzei = 3;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (fuhoe / 2.0);
stabzei = 5;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x - (35.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
	end; # Ende Anz Y > 0
#
end; # Stütze in X breiter oder gleich
#
if (stbrx < stbry) then # Stütze in Y breiter *******************************
	begin
#
#  Bügel in Schnitt und Grundriss *************************
#
BWFORM("B2");
anzahl= i85;
durchm=i81;
abstand=r80;
#
para_a = stbrx - (betdecks * 2.0);
para_b = stbry - (betdecks * 2.0) - (r82 * 2.0);
para_c = 0.0;
para_d = r81 * 15.0;
#
stabmod();
#
# Bügel im Längschnitt zeichnen
stabanf.x = p10.x - (para_a / 2.0); stabanf.y = p10.y + (15.0 * mstab);
verlegewinkel = 90.0; stabeiwi = -90.0;
stabzei=1;
verteilzei=1;
vtlabst = (20.0 * mstab);
vlposzei = 4 ;
lageposnr = stabanf;
lageposnr.x = lageposnr.x - vtlabst - (50.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (35.0 * mstab);
posdrewi=90.0;
posnrzei = 2;
stabecke = 1;
ansicht  = 2;
stabgeo();
#
# Bügel im Grundriss zeichnen
stabanf.x = p6.x + betdecks; stabanf.y = p6.y + betdecks + r82;
verlegewinkel = -90.0; stabeiwi = -90.0;
lageposnr.x = p6.x - (20.0 * mstab); lageposnr.y = p6.y - (25.0 * mstab) ;
vlposzei = 3 ;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (para_b / 2.0);
stabzei=5;
ansicht=3;
verteilzei=0;
posnrzei = 6;
posnrli = 1;
posdrewi = 0.0;
stabecke = 2;
stabgeo()
#
#   STUETZENANSCHLUSS  ******************************************
#
if (i79 > 0) then # Beginn Anz Y > 0
	begin
#
# Längsstäbe Y-Richtung
#
BWFORM("A2");
anzahl = i79;
durchm = i80;
#
para_a = (20.0 * mstab);
para_b = r78;
posanzahl = 2.0
abstand = (stbry - (betdecks * 2.0) - (r82 * 2.0) - (absteckei * 2.0)) / (i79 - 1.0);
#
stabmod() ;
#
# Y-Stab in Grundriss rechts
stabanf = p7;
stabanf.x = stabanf.x - betdecks - absteckei;
stabanf.y = stabanf.y + betdecks + absteckei + r82 ;
lageposnr = stabanf;
lageposnr = p7; lageposnr.x = lageposnr.x + (40.0 * mstab);
lageposnr.y = lageposnr.y + (stbry / 2.0);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 90;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1;
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# Y-Stab in Grundriss links
stabanf = p6;
stabanf.x = stabanf.x + betdecks + absteckei;
stabanf.y = stabanf.y + betdecks + absteckei + r82 ;
lageposnr = stabanf;
lageposnr = p6; lageposnr.x = lageposnr.x - (40.0 * mstab);
lageposnr.y = lageposnr.y + (stbry / 2.0);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 90;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1;
posnrzei = 3;
posnrli = 1;
stabgeo();
#
# Y-Stäbe in Längsschnitt rechts
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x + (stbrx / 2.0) - betdecks - absteckei;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 0;
vtlabst = (-15.0 * mstab) - (fuhoe);
vlposzei = 3;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (fuhoe / 2.0);
stabzei = 5;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x + (70.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
# Y-Stäbe in Längsschnitt links
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x - (stbrx / 2.0) + betdecks + absteckei;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 0;
vtlabst = (-15.0 * mstab) - (fuhoe);
vlposzei = 3;
vtlendpkt = stabanf;
vtlendpkt.y = vtlendpkt.y + (fuhoe / 2.0);
stabzei = 5;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x - (35.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
	end; # Ende Anz x > 0
#
if (i78 > 0) then # Beginn Anz X > 0
	begin
#
# Längsstäbe X-Richtung
#
BWFORM("A2");
anzahl = i78;
durchm = i80;
#
para_a = (20.0 * mstab);
para_b = r78;
posanzahl = 2.0
abstand = (stbrx - (betdecks * 2.0) - (absteckei * 2.0)) / (i78 + 1.0);
#
stabmod() ;
#
# X-Stab in Grundriss vorn
#
stabanf = p7;
stabanf.x = stabanf.x - betdecks - absteckei - abstand ;
stabanf.y = stabanf.y + betdecks + absteckei + (r82 / 2.0);
lageposnr = stabanf;
lageposnr = p7; lageposnr.x = lageposnr.x - (stbrx /2.0);
lageposnr.y = lageposnr.y - (40.0 * mstab);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 180;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# X-Stab in Grundriss hinten
#
stabanf = p8;
stabanf.x = stabanf.x - betdecks - absteckei - abstand ;
stabanf.y = stabanf.y - betdecks - absteckei - (r82 / 2.0);
lageposnr = stabanf;
lageposnr = p8; lageposnr.x = lageposnr.x - (stbrx /2.0);
lageposnr.y = lageposnr.y + (40.0 * mstab);
posdrewi = 0.0;
stabeiwi = -90.0;
verlegewinkel = 180;
stabspieg = 0;
ansicht = 1;
stabzei = 1 ;
stabkreis = 1;
verteilzei = 4;
stabecke = 1
posnrzei = 3;
posnrli = 0;
stabgeo();
#
# X-Stäbe in Längsschnitt
#
ansicht = 2;
stabkreis = 0;
verlegewinkel = 180;
stabanf = p10;
stabanf.x = stabanf.x + (stbrx / 2.0) - betdecks - absteckei - abstand;
stabanf.y = stabanf.y + betdeckf + (2.5 * mstab);
verteilzei = 1;
vlposzei = 4;
vtlabst = (+15.0 * mstab) - (fuhoe);
stabzei = 1;
stabkreis = 0;
lageposnr = stabanf;
lageposnr.x = lageposnr.x + (40.0 * mstab);
lageposnr.y = lageposnr.y + fuhoe + (50.0 * mstab);
posdrewi = 90.0;
posnrli = 0;
stabgeo();
#
	end; # Ende Anz X > 0
#
end; # Stütze in Y breiter
#
restore_fsm();
end.
