# Ausgabe der Biegeliste (Geschnitte , Gebogene Matten ...) ueber Makro. name(r31,"vwin"); name(r32,"vwinp"); name(r46,"breite"); name(r47,"hoehe"); #Breite /Hoehe eines 'Kastens' in dem die Matte gezeichent wird name(r48,"maszfak"); name(r49,"bhalbe"); # Halbe Breite fuer Kasten POS ANZ name(r50,"hhalbe"); # Halbe Breite fuer Kasten POS ANZ maszfak = wcoiuf/100.0; breite = 180.0 * maszfak; bhalbe = breite / 2.0; hoehe = 120.0 * maszfak; hhalbe = hoehe / 2.0; MKORBDXA = breite; MKORBDYA = hoehe; mbwliste(i1,"BLIST_DXDY"," ",s1); GET_VIEWROT(vwin); gst_rotation(vwin); r1 = 90.0 * 3.14 / 180.0; vwinp = vwin - r1; # Einfügepunkt wird vom Programm vor diesem Aufruf auf MATTANF variable gesetzt p2 = MATTANF; p2.z = 0.0; p22 = p2; gst_justify(4); r1 = 17.5 * maszfak; gst_height(r1); gst_color(4); gst_rotation(vwin); text(p1,s1); p3 = p2; r1 = bhalbe / 2.0; polar(p3,vwin,r1,p3); polar(p3,vwinp,hhalbe,p3); text(p3,"POS"); polar(p3,vwin,bhalbe,p3); text(p3,"ANZ"); gst_justify(1); r1 = bhalbe* 1.5; polar(p3,vwin,r1,p3); text(p3,"Mattentyp"); gst_justify(7); text(p3,"Dimension [m]"); gst_justify(4); polar(p3,vwin,breite,p3); text(p3,"Skizze"); polar(p3,vwin,breite,p3); text(p3,"Gewicht [kg]"); #Rahmen Linien untereinander r1 = breite * 4.0; p3 = p2; setcolor(1); i50 = MBWANZBLIST + 2; for i88 = 1 to i50 do begin polar(p3,vwin,r1,p4); line(p3,p4); polar(p3,vwinp,hoehe,p3); end; # Senkrechte Linien p3 = p2; r1 = MBWANZBLIST + 1; r1 = r1 * hoehe; for i88 = 1 to 3 do begin polar(p3,vwinp,r1,p4); line(p3,p4); polar(p3,vwin,bhalbe,p3); end; polar(p3,vwin,-bhalbe,p3); for i88 = 1 to 4 do begin polar(p3,vwinp,r1,p4); line(p3,p4); polar(p3,vwin,breite,p3); end; # Liste ausfuellen. Erster Punkt auf Mitte Feld POS setzen polar(p2,vwinp,hoehe,p2); polar(p2,vwinp,hhalbe,p2); for i88 = 1 to MBWANZBLIST do begin p3 = p2; r1 = 17.5 * maszfak; gst_height(r1); gst_justify(4); r1 = 17.5 * maszfak; gst_height(r1); gst_color(3); gst_rotation(vwin); r1 = bhalbe / 2.0; polar(p3,vwin,r1,p3); mbwliste(i88, "BLIST_POSNR", "", s1); text(p3,s1); # polar(p3,vwin,bhalbe,p3); mbwliste(i88, "BLIST_ANZ", "", s1); text(p3,s1); # r1 = bhalbe * 1.5; polar(p3, vwin, r1, p3); mbwliste(i88, "BLIST_MBEZ", "5.5", s1); r1 = -5.0 * maszfak polar(p3, vwinp, r1, p4); gst_justify(1); text(p4,s1); # mbwliste(i88, "BLIST_ML", "7.2", s1); string_cat(s1, " /"); mbwliste(i88, "BLIST_MB", "7.2", s2); string_cat(s1, s2); gst_justify(7); text(p3, s1); # r1 = breite * 2.0; polar(p3, vwin, r1, p3); mbwliste(i88, "BLIST_GEW", "9.2", s1); text(p3, s1); #Plot am Schluss, wg Texthoehe setzen gst_justify(4); r1 = breite *-1.0; polar(p3, vwin, r1, p3); MATTANF = p3; mbwliste(i88, "BLIST_PLOT", " ", s1); # polar(p2,vwinp,hoehe,p2); end; # Summe der einzelnen Mattenarten # LAGERMATTE 1 # LISTEMATTE 2 # FERTIGTEIL 3 # WANDZIEGEL 4 # ABSTANDHALTER 5 # ZIEGELTRAEGER 6 # DECKENZIEGEL 7 # WANDSCHEIBE 8 # UNFEDINIERT 9 p3 = p22; r2 = 17.5 * maszfak; gst_height(r2); gst_justify(0); gst_color(4); gst_rotation(vwin); r2 = 24.0 * maszfak; i50 = MBWANZBLIST + 1; r1 = hoehe * i50; r1 = r1 + r2; polar(p3,vwinp,r1,p3); r3 = breite * 1; polar(p3,vwin,r3,p3); for i88 = 1 to 9 do begin mbwliste(i88, "BLSUM_GEW", "8.2", s5); string_to_real(r5,s5); if (r5 > 0.000001) then begin string_copy(s1,""); string_copy(s1,"Summe "); mbwliste(i88, "BLSUM_TXT", "", s2); string_cat(s1,s2); gst_justify(0); text(p3,s1); # p4 = p3; r3 = breite * 3.0; polar(p3,vwin,r3,p4); gst_justify(2); string_cat(s5," kg"); text(p4,s5); polar(p3,vwinp,r2,p3); end; end; END.