#**************************************************************************
#  Deckenaussaprrung 4 Seiten
#**************************************************************************
save_fsm();
# Integervariablen
name(i60,"xanz_l");		xanz_l = 2;    # Anzahl A1-Laengseisen
name(i62,"xd_l");		xd_l   = 12;   # Durchmesser A1-Laengseisen 
name(i66,"xd_b");		xd_b   = 8;    # Durchmesser A3 Stecker
name(i67,"xumfa");		xumfa  = 0;	# Umfahrungssinn 0=math.Positiv(Gegenuhrteigersinn)  1=math.Negativ
# Realvariablen 
name(r60,"xbetde");		xbetde  = 0.03 * WCOIUF;    # Variable fuer Betondeckung allgemein
name(r61,"xhoch");		xhoch   = 2.50 * WCOIUF;    # Hoehe 
name(r62,"xabs_b");		xabs_b   = 0.20 * WCOIUF;   #  Abstand Stecker
name(r63,"xverank");	xverank  = 0.30 * WCOIUF;   # Verankerungslaenge/Ueberstand A1 Eisen
name(r64,"xueb_st");	xueb_st  = 0.50 * WCOIUF;   # Stecker Länge oben/unten
name(r65,"xwi_k");	                                # Jeweiliger Winkel entlang Kante 1-4
name(r66,"xwi_a");	                                # Jeweiliger senkrechter Winkel (nach aussen)entlang Kante 1-4
name(r67,"xlen_k");	                                # Jeweilige Kantenlaenge

# Punktvariablen
name(p60,"xecka"); 
name(p61,"xeckb"); 
name(p62,"xeckc"); 
name(p63,"xeckd"); 
name(p64,"xecke"); 
# Textvariablen

name(s60,"txformat"); #Dialog Formatanweisung
  
sbwecke(1001,xecka,0);
sbwecke(1002,xeckb,0);
sbwecke(1003,xeckc,0);
sbwecke(1004,xeckd,0);
xhoch = 0.2 * WCOIUF;
      
# Umfahrungssinn wg. drehen der Eisen 
p1 = xecka;
p2 = xeckb;
p3 = xeckc;
p4 = xeckd;
CALC_AREA(1,4,r1,p5,xumfa);
		
string_copy(txformat,"-20.20");
dlg_init(): #Init new Dialog
TRANSLATE_TEXT(s1,0,"Deckenhöhe",txformat);					dlg_editbox(1,3,s1,xhoch,10);
TRANSLATE_TEXT(s1,0,"Betondeckung",txformat);				dlg_editbox(1,4,s1,xbetde,10);
TRANSLATE_TEXT(s1,0,"Abstand Stecker",txformat);			dlg_editbox(1,6,s1,xabs_b,10);
TRANSLATE_TEXT(s1,0,"Durchmesser Stecker",txformat);		dlg_editbox(1,7,s1,xd_b,10);
TRANSLATE_TEXT(s1,0,"Überstand Stecker",txformat);			dlg_editbox(1,8,s1,xueb_st,10);
	
TRANSLATE_TEXT(s1,0,"Anzahl Längseisen",txformat);			dlg_editbox(1,10,s1,xanz_l,10);
TRANSLATE_TEXT(s1,0,"Durchmesser Längseisen",txformat);		dlg_editbox(1,11,s1,xd_l,10);
TRANSLATE_TEXT(s1,0,"Überstand Längseisen",txformat);		dlg_editbox(1,12,s1,xverank,10);
		
TRANSLATE_TEXT(s1,0,"Stütze",txformat); 
dlg_start(s1,i5); # 0= OK;  -1=Cancel;  > 0 =Button Number
if( i5 < 0) then exit;
	   
     VERTEILZEI=0;
VTLABST=0.5*WCOIUF;  
VLPOSZEI = 0;     ANSICHT=1;
HAKENVORN= 0;	  HAKENHINT=0;
POSANZAHL= 1;     BTANZAHL=1;     BWLAGE=1;
TEXTABST = 0.0;
STABSPIEG= 0;     STABKREIS=0;  
BOGEN    = 0;     POSNRLI=0;
STABZEIFAK= 1.0;  POSDREWI=0.0;

# Alle 4 Kanten...............
for i88 = 1 to 4 do  
	begin
	
	if(i88 = 1) then begin	p1 = xecka;	p2 = xeckb; end;
	if(i88 = 2) then begin	p1 = xeckb;	p2 = xeckc;	end;
	if(i88 = 3) then begin	p1 = xeckc;	p2 = xeckd;	end;
	if(i88 = 4) then begin	p1 = xeckd;	p2 = xecka;	end;
	if(xumfa = 1) then 	begin
		p3 = p1;
		p1 = p2;
		p2 = p3;
		end;
	distance(p1,p2,xlen_k)
	angle(p1,p2,xwi_k);
	r1 = PI /2.0;
	xwi_a = xwi_k - r1;
	r2 = xwi_k * 180 / PI;
	if(r2 < 0) then r2 = r2 + 360;
	if(r2 > 360) then r2 = r2 - 360;
	if(  (r2 > 90) AND (r2 < 270) )then 
	begin
		r2 = r2  - 180.0;
	end;
	POSDREWI= r2;
		
	
	#Stecker
	BWFORM("A3");
	DURCHM   = xd_b;
	ABSTAND  = xabs_b;
	PARA_A = xueb_st;
	r1 = 2.0 * xbetde;
	PARA_B = xhoch  - r1;
	PARA_A = xueb_st;
	PARA_C = xueb_st;
	ANZAHL  = (xlen_k / ABSTAND);
    stabmod();

	STABZEI  = 1; 
	POSNRZEI=2; 	
	STABECKE=2;
	STABEIWI=90.0;  
	VERLEGEWINKEL   = xwi_k * 180.0/PI;
	VERLEGEWINKEL_Z = 0.0;
	STABANF=p1;
	r1 = (anzahl-1) * abstand;
	r1 = r1 - xlen_k;
	r1 = r1 / -2.0;

	polar(stabanf,xwi_k,r1,stabanf);
	polar(stabanf,xwi_a,xbetde,stabanf);
	LAGEPOSNR=p1;
	polar(LAGEPOSNR,xwi_a,1.5*WCOIUF,LAGEPOSNR);
	polar(LAGEPOSNR,xwi_k,xlen_k/2.0,LAGEPOSNR);
	ANSICHT=1;
	stabgeo();
	
	#Laengs am Rand
	BWFORM("A1");
	DURCHM   = xd_l;
	r2 = 2.0 * xbetde;
	r3 = xd_b / 1000.0 * WCOIUF;
	r4 = xd_l / 1000.0 * WCOIUF;
	r5 = r3 + r4;
	r1 = xhoch - (r2+2.0*r5);
	ANZAHL  = xanz_l;
	if(ANZAHL < 2)then ANZAHL = 2;
	ABSTAND  = r1 / (anzahl-1);
	PARA_A = xlen_k + 2.0 * xverank;

	stabmod();

	STABECKE=1;
	ANSICHT=2;
	r1 = xwi_k * 180.0/PI;
	STABEIWI=r1;     STABEIWI_Y=00.0;     STABEIWI_X=0.0;
	VERLEGEWINKEL   = 0;
	STABANF=p1;
	
		angle(p1,p2,xwi_k);
	r1 = PI /2.0;
	xwi_a = xwi_k - r1;
	
	polar(stabanf,xwi_k, -xverank,stabanf);
	polar(stabanf,xwi_a, xbetde*2+r5,stabanf);
	
	LAGEPOSNR=p1;
	r1 = 0.4*WCOIUF + xueb_st;
	polar(LAGEPOSNR,xwi_a,r1,LAGEPOSNR);
	POSNRZEI=3; 
	STABZEI  = 5:
	stabgeo();

	
	
	end; # i88 4 Kanten


	
	
restore_fsm();
end.
