#**************************************************************************
#
#  Eingabe einer Rechtecksttze:  Variablenbelegung zum Speichern/Lesen
#
#            +----+ -+-
#            |    |  |
#            |    |  |            i60=(xanz)    Anzahl       Laengseisen
#            |    |  Hoehe        i61=(xdur)    Durchmesser      ""
#            |    |  |            i62=(xdurb)   Durchmesser  Buegel
#            |    |  |            r60=(xbetdeck)Betondeckung
#LinksUnten->+----+ -+-           r61=(xabu)  Abstand der  Buegel
#             Breite              r71=(xhoe)
#            +----+               r72=(xbrei)
#                                 r73=(xdick)
#            +----+ -+-
#            |    |  |
#            |    |  Dicke
#            +----+ -+-
#
#
# Variablenbennung
name(i60,"xanz");
name(i61,"xdur");
name(i62,"xdurb");
name(i63,"xanzu");
name(i64,"xanzm");
name(i65,"xanzo");
name(r60,"xbetdeck");
name(r61,"xabu");
name(r71,"xhoe");
name(r72,"xbrei");
name(r73,"xdick");
name(r74,"xberu");
name(r75,"xberm");
name(r76,"xbero");
name(r77,"xabm");
name(r78,"xabo");

newmask("Einfache Rechtecksttze");
newslid();
fillslid("Neue Stuetze ");
fillslid("vorh einlesen");
doslid(i1);

xhoe = 300.0; xbrei=30.0 ; xdick=45.0;xbetdeck=3.0;
xanz = 2 ; xdur=12; xdurb=8;xberu=100.0;xbero=100.0;
xabu=15.0;xabm=30.0; xabo=15.0;xbero=100.0;bwlage=55;

if(i1 = 2) then
  begin
    datopen(1,"\ARTIFEX\BAUDAT02\BEWEHR\BEREICHE\*.STU","r");
    readln(xhoe);readln(xbrei);readln(xdick);readln(xanz);readln(xdur);
    readln(xdurb);readln(xbetdeck);readln(xabu);
    datclose();
  end

newmask("Rechteckstuetze");
maskinfo(1,1, "Alle Macros wurden nach Kundenwuenschen erstellt");
maskinfo(1,2, "und dienen lediglich als Beispiele");
maskinfo(1,3, "Fuer die Richtigkeit der Macros besteht keine Haftung");
fillmask(1,5 ,"Stuetzenhoehe       :",xhoe);
fillmask(1,6 ,"Stuetzenbreite      :",xbrei);
fillmask(1,7 ,"Stuetzendicke       :",xdick);
fillmask(1,9, "Anzahl Laengseisen  :",xanz);
maskinfo(1,10,"Gilt je Seite");
fillmask(1,11,"Durchm.Laengseisen  :",xdur);
fillmask(1,12,"Durchm  Buegel      :",xdurb);
fillmask(1,13,"Abstand Buegel unten:",xabu);
fillmask(1,14,"Lnge Bereich unten :",xberu);
fillmask(1,15,"Abstand Buegel mitte:",xabm);
maskinfo(1,16,"Laenge des Bereich wir gerechnet");
fillmask(1,17,"Abstand Buegel oben :",xabo);
fillmask(1,18,"Lnge Bereich oben  :",xbero);
fillmask(1,20,"Betondeckung        :",xbetdeck);
fillmask(1,21,"Bewehrungslage      :",bwlage);
domask();

newmask("");writeln("");write("Sttzeneckpunkt links unten"); read(p1);

# ************************************Sttze zeichnen  Lngsschnitt
setlayer("WS");
setcolor(2);
p2=p1 ; p2.x=p2.x + xbrei ;
p3=p2 ; p3.y=p3.y + xhoe;
p4=p3 ; p4.x=p1.x
line(p1,p2); line(p2,p3);line(p3,p4);line(p4,p1);
#
# ***********************************Sttze zeichnen  Querschnitt
#
setcolor(3);
p5=p1 ; p5.y = p5.y - xdick - 50.0;
p6=p5 ; p6.x = p6.x + xbrei ;
p7=p6 ; p7.y = p7.y + xdick ;
p8=p7 ; p8.x = p5.x ;
line(p5,p6); line(p6,p7);line(p7,p8);line(p8,p5);
write("p5 ");writeln(p5);
#
# ************************** BEWEHRUNG *******************************
#
#                         Lngseisen
#
BWFORM("A1");
bogen =0;
anzahl=xanz;
durchm=xdur;
#
#                          Lngsstbe linke Seite
#
r1 = 2.0 * xbetdeck;
r2 = xdurb / 5.0;
r3 = durchm / 10.0;
r1= xdick - r1 - r2 - r3)
abstand = r1 / (anzahl - 1.0);
para_a= xhoe - (2*xbetdeck);
stabmod() ;
#
#                            Stab in Lngsschnitt links
#
stabanf=p1;
stabanf.x = stabanf.x + xbetdeck + xdurb / 10 + durchm / 20 ;
stabanf.y = stabanf.y + xbetdeck ;
lageposnr.x = p1.x - 30.0 ;
lageposnr.y = p1.y + xhoe * 0.75;
vlposzei=0;
posdrewi= 90.0;
stabeiwi = 90.0;
verlegewinkel = 0;
ansicht = 3;
stabzei=5 ;
verteilzei=0;
stabecke=1;
posnrzei=3;
stabgeo();
#
#                            Stbe in Querschnitt links
#
ansicht= 1;
verlegewinkel=90;
stabanf.x = p5.x + xbetdeck + (xdurb/10) + (durchm*0.1);
stabanf.y = p5.y + xbetdeck + (xdurb/10) + (durchm*0.05);
verteilzei=4;
stabzei=1;
lageposnr.x=p5.x - 50.0 ;
lageposnr.y=p5.y + (xdick * 0.5);
stabgeo();
#
#                            Lngsstbe rechte Seite
#
stabmod();
#
#                            Stab in Lngsschnitt rechts
#
stabanf=p2;
stabanf.x = stabanf.x - xbetdeck - (xdurb/10) -(durchm/20) ;
stabanf.y = stabanf.y + xbetdeck ;
lageposnr.x = p2.x + 30.0 ;
lageposnr.y = p1.y + (xhoe * 0.75) ;
vlposzei=0 ;
posdrewi= 90.0;
stabeiwi = 90.0;
verlegewinkel = 0;
ansicht = 3;
stabzei=5 ;
verteilzei=0;
posnrzei=3;
stabgeo();
#
#                            Vermaáte Grundform rechts von Lngsschnitt
#
stabanf.x = p2.x + 90.0;
lageposnr.x = stabanf.x + 20.0 ;
lageposnr.y = p1.y + (0.5 * xhoe) ;
posnrzei=8;
verteilzei=-1.0;
vlposzei=0;
stabgeo();
#
#                            Stbe in Querschnitt rechts
#
ansicht= 1;
verlegewinkel=90;
stabanf.x = p6.x - xbetdeck - xdurb/10 - durchm*0.1;
stabanf.y = p6.y + xbetdeck + xdurb/10 + durchm*0.1;
verteilzei=4;
stabzei=1;
posnrzei=3;
lageposnr.x=p6.x + 50.0 ;
lageposnr.y=p5.y + xdick /2.0;
stabgeo();
#
#                            Bgel in Lngsschnitt unten
#
BWFORM("B2");
abstand= xabu;
anzahl = (xberu - 2*xbetdeck) /xabu +1 ;
xanzu = anzahl ;
para_a = xbrei - 2*xbetdeck;
para_b = xdick - 2*xbetdeck;
para_c = 30.0;
para_d = 12.0 ;
durchm=xdurb;
stabmod();
#
#                            Bgel im Lngschnitt zeichnen
#
stabanf.x = p1.x + xbetdeck ;
stabanf.y = p1.y + xbetdeck ;
verlegewinkel = 90.0;
stabeiwi=-90.0;
verteilzei=0;
stabzei=1
lageposnr.x = p1.x - 30.0 ; lageposnr.y = p1.y ;
ansicht  = 2;
posnrzei=6;
stabgeo();
#
# Bgel im Querschnitt zeichnen
#
stabanf.x = p7.x - 3.0 ; stabanf.y = p7.y - 3.0  ;
lageposnr.x = p5.x + xbrei/2.0 ; lageposnr.y = p5.y - 30.0 ;
stabzei=5;
ansicht=3;
verteilzei=0;

posdrewi=0.0;
stabgeo()
#
# Vemaáte Grundform unter Querschnitt
#
stabanf.y = p5.y - 3.0 * xdick ;
lageposnr.y = stabanf.y - xdick /2.0;
lageposnr.x = p6.x + 50.0 ;
stabzei=5;
ansicht=4;
verteilzei=-2;  #TTT
posdrewi=0.0;
posnrzei=5;
stabgeo()
#
#                            Bgel in Lngsschnitt oben
#
BWFORM("B2");
abstand= xabo;
anzahl = (xbero - 2*xbetdeck) /xabo +1 ;
xanzo = anzahl ;
stabmod();
#
#                            Bgel im Lngschnitt zeichnen oben
#
stabanf.x = p4.x + xbetdeck ;
stabanf.y = p4.y - xbetdeck :
stabanf.y = stabanf.y - (xanzo - 1)*xabo;
verlegewinkel = 90.0;
stabeiwi=-90.0;
verteilzei=0;
stabzei=1
lageposnr.x = stabanf.x - 30.0 ;
lageposnr.y = p4.y ;
posdrewi=90;
ansicht  = 2;
posnrzei=6;
stabgeo();
#
#                            Bgel in Lngsschnitt mitte
#
BWFORM("B2");
abstand= xabm;
r80=(xanzo - 1)*xabo;
r81=(xanzu - 1)*xabu;
r82=r80 + r81 + 2*xbetdeck;
xberm = xhoe - r82;
anzahl = (xberm - 2*xbetdeck) /xabm +1 ;
xanzm = anzahl ;
stabmod();
#
#                            Bgel im Lngschnitt zeichnen mitte
#
stabanf.x = p1.x + xbetdeck ;
stabanf.y = p1.y + xbetdeck + (xanzu - 1)*xabu ;
verlegewinkel = 90.0;
stabeiwi=-90.0;
verteilzei=0;
stabzei=1
lageposnr.x = stabanf.x - 30.0 ;
lageposnr.y = stabanf.y ;
posnrzei=6;
stabgeo();





newslid();
fillslid("Speichern ");
fillslid("Ende      ");
doslid(i1);

if(i1 = 1) then
  begin
    datopen(1,"\ARTIFEX\BAUDAT02\BEWEHR\BEREICHE\*.STU","w");
    writeln(xhoe);writeln(xbrei);writeln(xdick);writeln(xanz);
    writeln(xdur);writeln(xdurb);writeln(xbetdeck);writeln(xabu);
    datclose()
  end

end. # end STUETZE1.WPS

