# Eingabe eines quadratischen Einzelfundaments mit Stützenanschluss # Allgemeine Übearbeitung; Berücksichtigung WCOIUF 2019-02-15 LF save_fsm(); # Auf Eingabemasstab umrechnen name(r60,"mstab"); mstab = wcoiuf / 100; name(r61,"betdeck"); # Betonüberdeckung name(s2,"txformat"); # writeln(" "); write("Eingabefaktor 'wcoiuf': "); writeln(wcoiuf); # Variablen vorbelegen r1 = 260.0 * mstab; r3 = 80.0 * mstab; r5 = 30.0 * mstab; r6 = 40.0 * mstab; betdeck = (4.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,"Eingabe der Fundamentbreite: ",txformat); dlg_editbox(1,4,s1,r1,10); TRANSLATE_TEXT(s1,0,"Eingabe der Fundamenthöhe: ",txformat); dlg_editbox(1,5,s1,r3,10); TRANSLATE_TEXT(s1,0,"Eingabe der Stützenbreite: ",txformat); dlg_editbox(1,6,s1,r5,10); TRANSLATE_TEXT(s1,0,"Eingabe der Stützendicke: ",txformat); dlg_editbox(1,7,s1,r6,10); TRANSLATE_TEXT(s1,0,"Betondeckung: ",txformat); dlg_editbox(1,9,s1,betdeck,10); TRANSLATE_TEXT(s1,0,"Anzahl dieses Fundaments: ",txformat); dlg_editbox(1,10,s1,posanzahl,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"); i70=6; i71=12; r70 = (r3 / 3 * 2); # Hakenlänge abrunden if (wcoiuf = 1) then begin r70 = r70 * 100.0; i34 = r70; r70 = i34 / 100.0; end; if (wcoiuf = 100) then begin i34 = r70; r70 = i34; end; if (wcoiuf = 1000) then begin r70 = r70 / 10.0; i34 = r70; r70 = i34 * 10.0; end; TRANSLATE_TEXT(s1,0,"Anzahl Längseisen im Bereich b/4 : ",txformat); dlg_editbox(1,1,s1,i70,10); TRANSLATE_TEXT(s1,0,"Durchmesser Längseisen : ",txformat); dlg_editbox(1,2,s1,i71,10); TRANSLATE_TEXT(s1,0,"Länge Aufbiegung : ",txformat); dlg_editbox(1,3,s1,r70,10); i75=8; i76=16; r75 = (r3 / 3 * 2); # Hakenlänge abrunden if (wcoiuf = 1) then begin r75 = r75 * 100.0; i34 = r75; r75 = i34 / 100.0; end; if (wcoiuf = 100) then begin i34 = r75; r75 = i34; end; if (wcoiuf = 1000) then begin r75 = r75 / 10.0; i34 = r75; r75 = i34 * 10.0; end; TRANSLATE_TEXT(s1,0,"Anzahl Längseisen im Bereich b/2 : ",txformat); dlg_editbox(1,5,s1,i75,10); TRANSLATE_TEXT(s1,0,"Durchmesser Längseisen : ",txformat); dlg_editbox(1,6,s1,i76,10); TRANSLATE_TEXT(s1,0,"Länge Aufbiegung : ",txformat); dlg_editbox(1,7,s1,r75,10); r78=((50.0 * mstab) + r3 + (betdeck * 2.0)); i78=2; i79=12; TRANSLATE_TEXT(s1,0,"Anschlusslänge Stützenanschluss : ",txformat); dlg_editbox(1,9,s1,r78,10); TRANSLATE_TEXT(s1,0,"Anzahl Stützeneisen je Seite : ",txformat); dlg_editbox(1,10,s1,i78,10); TRANSLATE_TEXT(s1,0,"Durchmesser Stützeneisen : ",txformat); dlg_editbox(1,11,s1,i79,10); i80=5;i81=8;r80=15.0 * mstab; TRANSLATE_TEXT(s1,0,"Durchm. Bügel für St.-Anschluss : ",txformat); dlg_editbox(1,12,s1,i81,10); TRANSLATE_TEXT(s1,0,"Abstand Bügel für St.-Anschluss : ",txformat); dlg_editbox(1,13,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; r85 = ((r3 - (5.0 * mstab)) / r80); i80 = r85; # Bügelanzahl rechnen write("Eingabe Grundriss Mittelpunkt (Punkt1)") ;read(p1) ; writeln(" "); # # Fundament zeichnen Grundriss # setlayer("Fundament"); setcolor(3); p1.x=p1.x-r1/2.0 ; p1.y=p1.y-r1/2.0; p2=p1 ; p2.x=p2.x+r1 ; p3=p2 ; p3.y = p3.y+r1 ; p4=p3 ; p4.x = p1.x ; line(p1,p2);line(p2,p3);line(p3,p4);line(p4,p1); # Stützengrundriss zeichnen p5=p1 ; p5.x=p1.x+r1/2.0 ; p5.x = p5.x - r5 / 2.0; p5.y=p5.y+r1/2.0; p5.y=p5.y-r6/2.0; p6=p5 ; p6.x=p6.x+r5 ; p7=p6 ; p7.y = p6.y + r6 ; p8=p7 ;p8.x = p5.x; line(p5,p6);line(p6,p7);line(p7,p8);line(p5,p8); # # Stütze zeichnen Querschnitt # write("Eingabe Schnitt mitte unten (Punkt2)") ;read(p10); writeln(" "); p10.x=p10.x - r1/2.0 ; p11=p10 ;p11.x=p11.x+r1 ; p12=p11 ; p12.y=p12.y+r3; p13=p12 ; p13.x=p13.x-r1/2.0 ; p13.x=p13.x+r5/2.0; p14 =p13 ;p14.y=p13.y+(150.0 * mstab); p17=p10 ; p17.y=p17.y+r3 ; p16=p13 ; p16.x=p16.x-r5 ; p15=p16; p15.y=p15.y+(150.0 * mstab); line(p15,p16); line(p16,p17) ; line(p17,p10); line(p10,p11); line(p11,p12); line(p12,p13) ; line(p13,p14); # # ein paar generelle Einstellungen btanzahl = 1; bwlage = 0; hakenhint = 0; hakenvorn = 0; # # Untere Lage in Fundamentbreite -> im Schnitt sieht man aus X # BWFORM("A3"); bogen=0; anzahl=i70; durchm=i71; r25=r70; # stabkreis = 1 ; i25 = anzahl ; i26 = durchm ; abstand = (r1/4.0 - (betdeck * 2.0) - (durchm * mstab)*0.2) / (anzahl -0); # Stababstand abrunden if (wcoiuf = 1) then begin r33 = abstand * 100.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 / 100; abstand = r33; end; if (wcoiuf = 100) then begin r33 = abstand; r33 = r33 + 0.5; i33 = r33; r33 = i33; abstand = r33; end; if (wcoiuf = 1000) then begin r33 = abstand / 10.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 * 10.0; abstand = r33; end; para_a= r25 ; para_b= r1-(betdeck * 2.0); para_c = para_a ; # Stab in Grundriss im bereich 1/4 linke Seite stabmod(); ansicht = 2 ;stabecke = 2 ; stabanf=p1; stabanf.x = stabanf.x + (betdeck * 2.0); stabanf.y = stabanf.y + betdeck); lageposnr.x = stabanf.x - (50.0 * mstab); lageposnr.y = stabanf.y - (50.0 * mstab); posdrewi= 0.0; stabeiwi = -90.0; verlegewinkel = 0; stabzei=1; anzstabzei=2; verteilzei=1; vtlabst = (-50.0 * mstab); posnrzei=6; vlposzei = 1 ; posnrli=1; stabspieg=0; stabgeo(); # Stab im Schnitt ansicht=1; stabecke = 1 ; stabanf=p10; stabanf.x = stabanf.x + (betdeck * 2.0); stabanf.y = stabanf.y + (betdeck + (2.0 * mstab)); lageposnr.x = p10.x + (-60.0 * mstab); lageposnr.y = stabanf.y - (50.0 * mstab); posnrzei=3; stabgeo(); # Stab in Grundriss im bereich 1/4 rechte Seite stabmod(); ansicht = 2 ;stabecke = 1 ; stabanf=p1 ; stabanf.x = stabanf.x + r1 - (betdeck * 2.0); stabanf.y = stabanf.y + betdeck; lageposnr.x = p2.x + (60.0 * mstab); lageposnr.y = stabanf.y - (50.0 * mstab); verlegewinkel = 180; vtlabst = (50.0 * mstab); posnrzei=6; posnrli= 0; stabgeo(); # Stab im Schnitt ansicht=1; stabecke = 1 ; stabanf=p10; stabanf.x = stabanf.x + r1 - (betdeck * 2.0); stabanf.y = stabanf.y + (betdeck + (2.0 * mstab)); lageposnr.x = p11.x + (60.0 * mstab); lageposnr.y = stabanf.y - (50.0 * mstab); posnrzei=3; stabgeo(); # Stab in Fundamentmitte anzahl=i75; durchm=i76; r26=r75; # para_a = r26 ; para_c = para_a; i27=anzahl ; i28 = durchm ; abstand = (r1/2.0 - (durchm * mstab)*0.2) / (anzahl -1); # Stababstand abrunden if (wcoiuf = 1) then begin r33 = abstand * 100.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 / 100; abstand = r33; end; if (wcoiuf = 100) then begin r33 = abstand; r33 = r33 + 0.5; i33 = r33; r33 = i33; abstand = r33; end; if (wcoiuf = 1000) then begin r33 = abstand / 10.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 * 10.0; abstand = r33; end; # Stab in Grundriss im bereich 1/2 stabmod(); ansicht = 2 ;stabecke = 2 ; stabanf=p1; stabanf.x = stabanf.x + r1/2.0 - (((anzahl -1) * abstand) / 2.0) ; stabanf.y = stabanf.y + betdeck ; lageposnr.x = stabanf.x + r1/2.0 + (40.0 * mstab); lageposnr.y = stabanf.y - (90.0 * mstab) ; verlegewinkel = 0; vtlabst= (-90.0 * mstab); posnrzei=6; stabgeo(); # Stab im Schnitt ansicht=1; stabecke = 1 ; stabanf=p10; stabanf.x = stabanf.x + r1/2.0 - ((anzahl -1) * (abstand / 2.0)) ; stabanf.y = stabanf.y + (betdeck + (2.0 * mstab)); lageposnr.x = stabanf.x + r1/2.0 + (40.0 * mstab) ; lageposnr.y = stabanf.y - (90.0 * mstab) ; posnrzei=3; stabgeo(); # Untere Lage in Fundamentdicke -> im Schnitt sieht man eine Grundform anzahl = i25 ; durchm= i26 ; abstand = (r1/4.0 - (betdeck * 2.0) - (durchm * mstab)*0.2) / (anzahl -0); # Stababstand abrunden if (wcoiuf = 1) then begin r33 = abstand * 100.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 / 100; abstand = r33; end; if (wcoiuf = 100) then begin r33 = abstand; r33 = r33 + 0.5; i33 = r33; r33 = i33; abstand = r33; end; if (wcoiuf = 1000) then begin r33 = abstand / 10.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 * 10.0; abstand = r33; end; # Stab in Grundriss im bereich 1/4 unten para_a=r25;para_c=r25; stabmod(); ansicht = 2 ;stabecke = 1; stabanf=p1; stabanf.x = stabanf.x + betdeck; stabanf.y = stabanf.y + (betdeck * 2.0); lageposnr.x = stabanf.x + r1 + (50.0 * mstab); lageposnr.y = stabanf.y + r1 / 4.0 + (20.0 * mstab); posdrewi= 90.0; stabeiwi = -90.0; verlegewinkel = 90.0; stabzei=1; anzstabzei=2; verteilzei=1; vtlabst = - r1 + (- 50.0 * mstab); posnrzei=3; posdrewi=0.0; posnrzei=6; stabgeo(); # Stab in Grundriss im bereich 1/4 oben stabmod(); ansicht = 2 ;stabecke = 1 ; stabanf=p1 ; stabanf.x = stabanf.x + r1 - betdeck; stabanf.y = stabanf.y + r1 - (betdeck * 2.0); lageposnr.x = stabanf.x + (50.0 * mstab); lageposnr.y = stabanf.y + (40.0 * mstab); verlegewinkel = 270; vtlabst = (50.0 * mstab); posnrzei=6; posnrli= 0; stabgeo(); # Stab in Grundriss im bereich 1/2 anzahl=i75; durchm=i76; r26=r75; para_a = r26 ; para_c=r26; abstand = (r1/2.0 - (durchm * mstab)*0.2) / (anzahl -1); # Stababstand abrunden if (wcoiuf = 1) then begin r33 = abstand * 100.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 / 100; abstand = r33; end; if (wcoiuf = 100) then begin r33 = abstand; r33 = r33 + 0.5; i33 = r33; r33 = i33; abstand = r33; end; if (wcoiuf = 1000) then begin r33 = abstand / 10.0; r33 = r33 + 0.5; i33 = r33; r33 = i33; r33 = r33 * 10.0; abstand = r33; end; stabmod(); ansicht = 2 ;stabecke = 2; stabanf=p1; stabanf.x = stabanf.x + betdeck; stabanf.y = stabanf.y + (r1 / 2) + (((anzahl -1) * abstand) / 2.0); lageposnr.x = stabanf.x - (50.0 * mstab) ; lageposnr.y = stabanf.y - (-50.0 * mstab) ; vtlabst = (-50.0 * mstab) ; posnrzei=6; posnrli=1 ; stabgeo(); posnrli=0; # Stab als Grundform im Schnitt ansicht = 4 ; stabecke=2; stabanf=p10; stabanf.x = stabanf.x + betdeck; stabanf.y = stabanf.y + betdeck); lageposnr.x = stabanf.x + r1/3.0; lageposnr.y = p10.y - (30.0 * mstab); posdrewi= 0.0; stabeiwi = -90.0; verlegewinkel = 90.0; stabzei=5; verteilzei=0; vlposzei=3; vtlendpkt = p10; vtlendpkt.x = vtlendpkt.x + (r1 / 2); vtlendpkt.y = vtlendpkt.y + betdeck; posnrzei=4; stabgeo(); # STUETZENBEWEHRUNG ****************************************** # # Daten aus Fundament zurückrechnen p24 = p4 ; p22 = p2 ; p23 = p3 ; p21 = p1 ; p1 = p10 ; r2=r5 ; r30 = r6 ; p1.x = p1.x + r1 / 2.0 ; p1.x = p1.x - r5 / 2.0 ; p1.y = p1.y + ((betdeck * 2.0) + (1.0 * mstab)) ; p2=p1 ; p2.x=p2.x+r2 ; # BWFORM("A2"); r10=r78; anzahl=i78; durchm=i79; para_a=(20.0 * mstab); # # Längsstäbe linke Seite abstand = (r30 - ((betdeck * 2.0) + (4.0 * mstab))) / (i78 - 1); # writeln(abstand); para_b= r10; stabmod() ; # Stab in Längsschnitt links stabanf=p1; stabanf.x = stabanf.x + (betdeck + (1.0 * mstab)) ; stabanf.y = stabanf.y ; lageposnr = stabanf; lageposnr.x = lageposnr.x - (40.0 * mstab) ; lageposnr.y = lageposnr.y + para_b + (20.0 * mstab); vlposzei=3 ; vtlendpkt = stabanf; vtlendpkt.x = vtlendpkt.x; vtlendpkt.y = vtlendpkt.y + para_b - (20.0 * mstab); posdrewi= 90.0; stabeiwi = -90.0; verlegewinkel = 0; stabspieg=1; ansicht = 4; stabzei=5 ; verteilzei=0; stabecke=2 posnrzei=3; stabgeo(); # Stäbe in Grundriss links ansicht= 1; stabkreis=1; verlegewinkel=90; stabanf.x = p5.x + (betdeck + (2.0 * mstab)); stabanf.y=p5.y + (betdeck) + (2.0 * mstab)); verteilzei=4; stabzei=1; lageposnr.x=p24.x - (50.0 * mstab) ; lageposnr.y=p24.y + (70.0 * mstab); posdrewi=0.0; stabgeo(); # Längsstäbe rechte Seite abstand = (r30 - ((betdeck * 2.0) + (4.0 * mstab))) / (i78 - 1); stabmod(); # Stab in Längsschnitt rechts stabanf.x = p2.x - (betdeck + (1.0 * mstab)) ; stabanf.y = p2.y ; lageposnr = stabanf; lageposnr.x = lageposnr.x + (40.0 * mstab) ; lageposnr.y = lageposnr.y + para_b + (20.0 * mstab); vtlendpkt = stabanf; vtlendpkt.x = vtlendpkt.x; vtlendpkt.y = vtlendpkt.y + para_b - (20.0 * mstab); posdrewi= 0.0; verlegewinkel = 0; ansicht = 4; stabzei=5 ; verteilzei=0; stabecke=2; posnrzei=3; stabspieg=0; stabeiwi=90.0; posdrewi=90.0; stabgeo(); # Stäbe in Grundriss rechts ansicht= 1; verlegewinkel=90; stabanf.x = p6.x - (betdeck + (2.0 * mstab)); stabanf.y=p5.y+(betdeck + (2.0 * mstab)); verteilzei=4; stabzei=1; lageposnr.x=p23.x ; lageposnr.y=p24.y + (70.0 * mstab) ; posdrewi=0.0; stabgeo(); # # Bügel in Längsschnitt # ********************* # BWFORM("B2"); anzahl= i80; durchm=i81; abstand=r80; para_a = r2 - (betdeck * 2.0) ; para_b = r30 - (betdeck * 2.0) ; para_c = 30.0; para_d = (9.0 * mstab) ; stabmod(); # Bügel im Längschnitt zeichnen stabanf.x = p1.x + betdeck ; stabanf.y = p1.y + betdeck; verlegewinkel = 90.0; verteilzei=1; vtlabst= (20.0 * mstab); vlposzei = 4 ; lageposnr = stabanf; lageposnr.x = lageposnr.x - (80.0 * mstab); lageposnr.y = lageposnr.y + r3 + (30.0 * mstab); posdrewi=90.0; posnrzei = 2; stabecke = 2; ansicht = 2; stabgeo(); # Bügel im Grundriss zeichnen stabanf.x = p7.x - betdeck; stabanf.y = p7.y - betdeck; lageposnr.x = (p24.x + p23.x) /2.0 ; lageposnr.y = p24.y + (35.0 * mstab) ; vlposzei = 3 ; vtlendpkt = stabanf; vtlendpkt.x = vtlendpkt.x - (para_a /2.0); stabzei=5; ansicht=3; verteilzei=0; posnrzei = 3; posdrewi=90.0; stabecke=4; stabgeo() # restore_fsm(); end.