Willkommen,
Gast
|
|
|
|
Im Sommer 2022 hatte ich die Idee, dass ich WMF-Balken mit Diplomw verschmelze. 12 potenzielle Beulrechtecke werden dem Querschnitt mit negativer Anzahl hinzuaddiert. Das stellte ich mir einfach vor, war aber schwieriger als ich mir es hätte je vorstellen können. Die Querschnitte waren ein Saustall - diesen aus zu misten ist eine Herkulesaufgabe. Es gibt tausende Funxionen für Querschnittseigenschaften und besonders störte mich, dass diese aufwändig extrahiert werden müssen. Überall anderthalbfacher Code. Ein Krampf ist es, ein neues Profil hinzu zu fügen oder eine Eigenschaft. Daher probierte ich mal den Querschnitt objektorientiert zu machen, sodass man diese nur noch abgreifen braucht. Im Studium lernte ich, dass Objektorientiert sich im Schneckentempo programmiert, aber robuster gegen Zwischenfälle und Änderungen ist. Ziel ist außerdem Code ein zu sparen und die ganzen Querschnitte zu vereinheitlichen. Es gab ein I-Träger und ein H-Träger, aber ein L in 4 Drehungen. Beim U gab es nur 3 Drehungen und der Code berücksichtigte, dass es die vierte nicht gibt. 3000 Zeilen Kot mussten ausgemistet werden. Diesen zu entfernen war schwierig, denn ohne läuft WMF-Balken nicht. Wenn ich dann den Neuen einfüge, dann läuft WMF-Balken immer noch nicht, weil da so viele Fehler drin sind. Daher brauchte es erstmal Strategie, wie ich das Neue fehlerarm hinbekomme. Der alte Kot liefert immerhin praxisgeprüfte Ergebnisse und dient daher zum Testen. So machte ich erstmal eine Bestandsaufname für alle Querschnitte. Links die aktuell möglichen Querschnitte, rechts die Wünsche. Der Kot bleibt erstmal drin und da der neue Code ein Klassenmodul ist, kann dieser daneben programmiert werden. Das einfachste waren die Querschnittswerte. Eine große Tabelle enthielt etwa 50 Querschnitte, die alt und neu berechnet wurden. Die alten und neuen waren nebeneinander. Das mit dem Nebeneinander ist nicht so einfach, da Drehungen alter Querschnitte ein anderer Querschnitt ist. Damals gab es I und H, jetzt ein I in allen 4 Drehungen. Da jeder Querschnitt in 0°, 90°, 180° und 270 sein soll, gibt es für einige keinen alten Querschnitt. Widersprüche waren sichtbar, die meisten Fehler im neuen Code, aber auch 2 Fehler im alten. Einige neue Querschnitte zeichnete ich in AutoCAD, um da Querschnittswerte abgreifen zu können. Querschnitt zeichnen und vermaßenDann kam der schwierigere Teil, das Zeichnen und Vermaßen. Ich bemerkte, dass dies irgendwie anders ist. Ein gigantischer Felsen, der bewegt werden muss. Ich sitze vor dem Rechner und weiß oft nicht, was ich machen soll. 3000 Zeilen durch neue ersetzen. Was kann ich recyceln? Früher konnte ich einfach Code reinhämmern und mich über ein Ergebnis freuen. Hier muss ich viel offline Programmieren, weil Problemchen auftauchen, die gründlich durchdacht werden müssen. Ein Schmierzettel mit allen Varianten, Pfeile, Rahmen, durchstreichen, markieren. Was programmiert werden soll muss wohl bedacht werden. Zum Glück arbeite ich nur 8 Stunden die Woche, sodass meine geistigen Ressourcen auf diese Herkulesaufgabe fokussiert werden können. Das ist wie Klausur schreiben, nach 3 Stunden ist man KO. Als erstes malte ich erstmal alle Querschnitte in jeder Drehung auf und vermaßte diese. Sie bekamen die Koordinaten in x und y und ich dachte über Details nach. Z.B. soll jeder Querschnitt einen positiven Drehsinn haben, vielleicht verhindere ich ein schlimmes Übel in Zukunft. Beim Zeichnen der Konturen merkte ich, wie codelastig dies ist. Da sich die Anzahl der Querschnitte und dessen Drehungen drastisch erhöht haben, kann ich nicht so weitermachen wie bisher. Ein Algorithmus muss entworfen werden, der den Code strafft. Nachdem das Problem gelöst und 200 Zeilen Code verhindert wurden, konnte ich zur eigentlichen Aufgabe zurückkehren. Die Kontur musste getestet werden und es gab da ein Problem. Ich musste mich mit der Variable m mal genauer befassen. Damals im WMF-Balken einfach so reingecodet und irgendwie klappte es. Eine große Skizze entstand, was m bedeutet und was seine Beziehung zum Maßstab, WMF und Realgröße ist. Die Querschnitte müssen vermaßt werden. Wie groß ist der Flansch eines Rechteckquerschnittes? Wie hoch ist ein U? Über diese Fragen hatte ich vorher gründlich nachgedacht, sodass diese nicht mehr störten. Der objektorientierte Querschnitt stellt alle geometrischen Eigenschaften bereit. Der Krampf, den ich früher beim Programmieren hatte, ist jetzt weg. Ich machte eine gigantische Testgrafik, wo ich den alten und den neuen Querschnitt zeichnete und vermaßte. Die Polymaßkette zickte, denn sie wollte sortierte Arrays ohne doppelte Zahlen, keine Nullen und innerhalb der Grenzen. Da ich aber nicht wusste, welche Koordinate zuerst kommt, musste ich sortieren. Ich musste 4 Arrays in unterschiedlichen Größen sortieren, von denen 2 vielleicht leer sind und nicht gebraucht werden. Und dann noch die anderen Maßprobleme. Polymaßkette musste erweitert werden. Was ist mit der BiMaßkette, die ein Wert zu wenig bekommen hat? Nachdem das behoben wurde, konnte ich eine große Testgrafik mit den vielen Querschnitten betrachten. Einige sahen richtig scheiße aus. Da später mal Beulen im Querschnitt hinzu kommen sollen, konnte ich nicht so vermaßen wie bisher. Die möglichen Beulen programmierte ich nebenbei mit. 4 Maßketten rechts und der Querschnitt so klein, dass man ihn nicht mehr sieht. Wieder skizzierte ich alle Querschnitte in verschiedenen Größen auf und überlegte, welche Maße man in den Querschnitt unter welchen Bedingungen reinziehen kann. Jedes Maß, das rechts vermieden wird, verbessert die Lesbarkeit deutlich. Mir kam die Idee, dass man Gesamtmaß mit dem Schwerpunktmaß verschmelzen kann, um ein Rechtsmaß zu sparen. Ich verbesserte die historische BiMaßkette um die Fähigkeit, dessen historischer Zweck es war 48 Byte zu sparen. Neben den Querschnittswerten bekommt der Querschnitt auch noch die Eigenschaften, welche Maßketten er haben wird. Die tagelange Wissenschaft, wie man ein Querschnitt vermaßt, zahlte sich aus. Das Programmieren ging dann flott, weil ich einen Zweiteiler einbaute. Erst wird ermittelt, was, wie und wo bemaßt wird und dann wird die Bemaßung durchgeführt. Durch diese Trennung brauche ich die Durchführung nicht anfassen, wenn ich was an den Bedingungen ändere. Balken zeichnenNachdem der Querschnitt vermaßen kann, kommt die nächste Aufgabe: Balken zeichnen. Die erste Frage ist, wer macht das? Querschnitt oder WMF-Balken? Diese Frage taucht inzwischen häufiger auf, vorher kannte ich sie nicht. Es ist nicht mehr nur entscheidend, was man programmiert und dass es fehlerarm ist, sondern wo wird es programmiert. Das Wo und Wer ist entscheidend und jede Fehlentscheidung macht Code zum Kot. Es ist der Rahmen, der Überbau, das große Ganze, die Struktur. Ich entschied mich, dass Querschnitt den Balken zeichnet und nicht WMF-Balken. Ich legte das Dogma fest, dass Querschnitt nicht weiß, mit welchem Füller und Pinsel er gemalt wird. Da Querschnitt ein Objekt ist, wird er von vielen Prozeduren genutzt und WMF-Balken ist eine davon. Obwohl der Querschnitt seine Farben nicht kennt, muss er dennoch wissen, welche WMF-Objekte die gleiche Farbe haben. So legte ich 8 Layer fest, auf die die WMF-Objekte gelegt werden. Dass 8 ausreichen erforderte viel Denkarbeit. WMF-Balken bestimmt dann anhand des Materials die Farbe. Zum Glück hatte ich vorher im Quellcode des WMF-Balkens die ganzen verstreuten Füller und Pinsel eingesammelt, das wäre ein richtiges Chaos gewesen. Leider hat der WMF-Balken für jedes Material nur einen Pinsel. Jetzt sind aber 5 Pinsel und 2 Extrafüller notwendig. Licht und Schatten für Radien und Beulen. Wie wähle ich die Farben? Der Nutzer kann die Farbe des Trägers wählen. Also brauchte ich Funxionen, die Farben aufhellen und abdunkeln. Ich rechnete lange an den RGB-Werte rum, um passendes Aufhellen und Abdunkeln zu haben. Blau wie Stahl, Braun wie Holz. Nachdem die Farben viele Tage verschlangen, konnte ich endlich Sub Balkenzeichnen schreiben. Der Fachwerkcode ist das einzige, was ich wiederverwerten konnte. An die Vorzüge des objektorientierten Querschnittes gewöhnte ich mich langsam und mir sprudelten die Ideen, wie man das effektiv nutzen kann. Ein viel schönerer Balken soll es werden. Radiusschatten und Beulen. Beim I-Träger kommt unter den Flansch eine dunkle Linie, ein gedrehter hat gestrichelte Linien. Es folgten T, L, U, R und ähhm es klemmt. Der Code ist lastig und der Flügelträger tanzt aus der Reihe. Ich zeichnete sämtliche Balken in allen Drehungen und zerlegte den Flügelträger in 16 Fälle. Auch hier braucht der Code wieder einen Zweiteiler. Erst bestimmen, was gezeichnet wird, dann das Zeichen durchführen. Somit werden mit nur 20 Zeilen Code alle Radiusschatten und Strichlinien aller Querschnitte gezeichnet. Dem komplizierten Flügelträger ist ein 100zeiler gewidmet, der ganze 3 Schmierzettel gefüllt hat. Das Zeichnen der Beulwelle war ein Krampf, da es auch hier sehr viele Fälle gibt. Beim I-Träger ist der Flansch gewellt. Beim liegenden U sieht man aber nur die oberen Wellen und Beim Steg gibt auch mittige Beulen oder Randbeulen. Jetzt kann der Querschnitt alles, was der Querschnittskot des WMF-Balkens leistet. Das große Löschen und umkabeln beginnt. Das stellte sich als sehr komfortabel heraus. WMF-Balken verliert einige Zeilen Code, weil die Querschnittseigenschaften griffbereit sind. Die Grafik der Querschnitte wurde schlanker. In einer Stunde verlor WMF-Balken ganze 3000 Zeilen. Nach einigen Versuchen lief es dann auch mit dem neuen Querschnitt. Alle Grafiken sehen wie gewohnt aus, aber mit leicht verändertem Aussehen. Der Stall ist ausgemistet. So viele Querschnitte und alle mit Beule, und das soll richtig sein? Ich baute riesige Testtabellen, die alle erdenklichen Querschnitte als Balken und Querschnitt zeichnen mit und ohne Beulen. Mit jeder Verdopplung der Testfälle flogen 2 Fehler auf. Bei tausend Fälle war ich. WMF-Balken kann nun viele Querschnitte, aber immer noch keine Beulen nach Norm. Jedem Querschnitt können manuelle Beulen zugewiesen werden und dieser wird korrekt gezeichnet.
|
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
Eurocodes durcharbeiten
Nun muss noch die Beulnorm in den Querschnitt. Die Norm soll berechnen, wie groß die Beulen sind, sodass man diese nicht händisch eingibt. Die Beulnorm kannte ich aus meinem Diplom. Es gibt aber noch eine Norm für Aluminium. Diese musste ich erstmal gründlich durchlesen. Wenn man als Ingenieur irgendwo angestellt ist, dann liest man ja keine Normen, denn dafür ist keine Zeit. Von FESTPUNKT habe ich eine aktuelle NormenCD, denn die DINZ und Eurocodez, die beim Studium rumgereicht wurden, waren vergilbt und von Motten zerfressen. Die Alunorm ist harte Lektüre. Zeile für Zeile las ich die durch und durchdachte alles, was für mein Projekt zu gebrauchen ist. Ich verglich alles, was ich von der Stahlnorm kenne. Die Birne qualmt und nach 3 Stunden ist für den Rest des Tages kein Denken mehr möglich. Nach einer Woche hatte ich den Überblick, was es alles gibt. Der Beulnachweis soll für Metall geführt werden und nicht für Stahl. Zum Glück hatte ich in meiner Diplomarbeit eine Herleitung der 28,43. Diese konnte ich für Aluminium anwenden und so das Ganze vom E-Modul abhängig machen. Zuerst musste ich den Formelapparat in der Norm zum laufen kriegen. Ganz klassisch Excel. Ich rechnete verschiedene Fälle und verglich Stahl und Aluminium. Die Formelapparate der beiden Normen war unterschiedlich. Um sie zu vereinen, untersuchte ich sie genauer. Stahlträger nach Alunorm rechnen und Aluträger nach Stahlnorm. Umformen, herleiten und mir gelang es ein Teil der Formeln zu vereinheitlichen. Die Formeln in der Norm konnte ich leider nicht einfach so abschreiben, denn da gibt es einige Probleme. DIN EN 1993-1-1 widerspricht sich mit der DIN EN 1993-1-5 in den b/t Verhältnissen, die Alunorm ist in sich widerspruchsfrei. Eine tiefgründige Untersuchung der b/t Verhältnisse ist erforderlich. Ich leitete eine neue Formel für stählerne b/t Verhältnisse aus der Formel für den Abminderungsfaktor her. Das Ergebnis eines ganzen Tages harter Arbeit: Die Arbeit der letzten Tage auf 4 Blätter zusammengeknüllt und in den Ofen geworfen und eine Vereinfachung auf einen neuen Zettel erstellt. Für Aluminium baute ich den Beulwert in die Formeln ein. Die Formeln für den Beulwert hatten Sprünge, die beim Debuggen stören. Ich änderte die Nachkommastellen, damit diese stetig sind. Nachdem ich viel Mathematik als Vorbereitung machte, kann ich endlich einen Formelapparat verwenden, der mir den Beulnachweis bis zum Abminderungsfaktor führt. Serifen für Querschnitte In der Alunorm fand ich eine schöne Formel, die Serifen am Träger berücksichtigt. Da FESTPUNKT Aluträger mit Serifen verwendet, dachte ich, dass man diesen aussteifenden Bonus mitnehmen sollte. Mir kam die Idee, dass ich dafür einen negativen Außenradius erlaube, da Serife und Außenradius sich einerseits ausschließen. Andererseits haben sie so viele Gemeinsamkeiten, sodass eine Serife das Gegenteil vom Außenradius ist. Als erstes mussten die Querschnittswerte überarbeitet werden. Beim Zeichnen kam es zu gute, dass ich das Pfadzeichnen in eine Extrafunxion ausgelagert hatte. Somit werden die Trägerkonturen nicht angefasst, sondern Pfadzeichnen soll bei negativen Radien was anderes machen. Ich bemerkte, dass es da einen Knoten gibt. Es gibt den Drehsinn 1 bis 8. Da alle Querschnittkonturen positiv drehen, drehen Außenradien immer positiv und immer Innenradien negativ. Aber irgendwie geht das nicht. Bei einem L-Profil haben beide Außenradien den gleichen Drehsinn, aber die Serifen sollen dennoch nicht in die gleiche Richtung zeigen. Außerdem weiß der der Radius gar nicht, wie dick der Flansch ist, obwohl er ihn mit seiner Dicke um die Ecke führen muss. Das Problem muss gründlich durchdacht werden. Wie fließen die Daten? Wie sind die Koordinaten der Serife? Nach ein paar Tagen konnte ich den Code einfach vom Zettel abschreiben. Jetzt können Querschnitte Serifen haben. Aber die Formel in der Alunorm ist nicht einsatzbereit. Sie gilt nur für Serifen, aber es gibt immer noch die positiven Außenradien. Außerdem hat sie einen Bug, dass eine Serife der Länge 0 auch etwas aussteift. Ich formte die Formel um, sodass sie erst aussteift, wenn die Serife mindestens eine Flanschdicke lang ist. Das nächste Problem tauchte auf, denn eine Serife kann mehr Beulwert bringen, als eine beidseitige Lagerung. In der Alunorm geht das Diagramm nur bis 8, aber die Formel hat keine Begrenzung. Der Beulalgorithmus musste erweitert werden, damit er diese dringende Begrenzung einhält. Ich führte noch ein Invertieren ein, damit ich nicht so viele Fälle berücksichtigen muss und beschäftigte mich für den Fall, dass die Festigkeit zuerst in der Zugfaser erreicht wird. Adapter für Beulnachweis Jetzt wo der Abminderungsfaktor berechnet wird, saß ich vor dem Rechner und wusste wieder nicht was zu machen ist. Der Beulnachweis läuft, aber Querschnitt bekommt seine Beule nicht. Wie kommt die Beule in den WMF-Balken? Ich kann ja nicht einen Stift nehmen und die Beule in den Querschnitt malen. Ein Kastenträger kann ja bis zu 5 Beulen haben, bei reinem Druck sogar 8. Ich grübelte über eine Art Adapter zwischen Eurocode und Querschnitt. Der Querschnitt muss offenbar die Beulformeln mehrmals durchrasseln: Stegmitte, Stegende, Flanschmitte, Flanschende. Und es gibt so furchtbar viele Querschnitte, wo jedes Teil seinen eigenen Beulnachweis hat. Der zündende Geistesblitz war die Autobeule: Ein einfaches Rechteck, das aus 6 Werte besteht: x1, y1, x2, y2 und L1, L2. Koordinaten und Lagerungsbedingung. Nur diese 6 Werte bringen die Norm zum laufen, ein simples Einrahmen eines Querschnittsteils. Weitere Werte wie z.B. Spannungen sind berechenbar, weil der Beulnachweis Zugriff aus die Daten des Querschnittes hat. Der Adapter Namens Autobeulefüllen ist den Querschnittswerten sehr ähnlich. Eine lange Liste, die jeden Querschnitt und Drehung durchgeht und die Werte zuweist. Fertig ist das dennoch nicht, weil die Werte in den Beulnachweis reingehen, der ja nur zum Abminderungsfaktor geht. Für den Weg vom Abminderungsfaktor zur Beule gibt es im Eurocode 6 Fälle. Diese berechnen allerdings, was die wirksamen Breiten b_eff des Querschnittes sind. Querschnitt will aber die Beule und zwar in Koordinaten! Ich muss die Formeln umstellen, damit sie in dem gewünschten Format sind. Es wurde nochmal kompliziert und ich durchdachte den Zusammenhang zwischen Autobeule, der Normformel und der Arraybelegung in der manuellen Beule. Der Datenfluss ist damit komplett: Aus dem Querschnitt wird die Autobeule ermittelt, diese geht in den Eurocode, es entsteht ein Abminderungsfaktor und raus kommen Koordinaten, die dann in eine manuelle Beule ergeben. Schubverzerrung musste noch eingebaut werden, denn auch Zugflansche können geschwächt werden. Das ganze muss gründlich getestet werden. Dafür hatte ich das Formular des Parameterprofils für den neuen Querschnitt umgebaut, dessen Code entschlackt und Beulbuttons hinzugefügt. Ich drehte und änderte Werte und irgendwie kam Müll raus. Den Müll konnte ich in Excel nicht reproduzieren. Beim neuen Aufruf war es leider korrekt. Nach einiger Untersuchung stellte ich fest, dass ich einen Array nicht leerte und die Berechnungsreihenfolge angepasst werden musste. Und überall diese lästige Möglichkeit der Division durch 0, weil es so viele Gründe gibt, warum E-Modul oder Festigkeit noch leer sind. |
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
Rechenweg sichtbar machen
Der Beulnachweis soll nicht ein im Hintergrund laufendes Mysterium sein, sondern muss prüfbar sein. Wie kommt der Beulnachweis ins RTF? Vor Jahren hatte ich mal versucht, EQ-Felder in RTF zu erzeugen, damit ich einen Rechenweg in Formeln habe. Das hatte überhaupt nicht geklappt. Um die meterlangen Wennformeln der FESTPUNKT Wandhalter überprüfen zu können, hatte ich den Formeldarsteller mit komplexer Detailtiefe und lästigen Zwischenfällen programmiert. Wenn ich den nutze, dann kommen die Formeln nur als Grafik ins RTF und brauchen obendrein auch noch ein Excelblatt. EQ-Felder finde ich aber passender. Ich nahm leider in Kauf, dass WMF-Balken für den Beulnachweis ein Excelblatt anlegt, an dem der Formeldarsteller die Formeln für das RTF erzeugt. Bisher konnte der Formeldarsteller nur eine Formel bei x=0; y=0 darstellen und musste umgerüstet werden, dass er die Formel mehrmals und beliebig irgendwo hinwerfen kann. Die lästige Unterbrechung der Malobjekte. Eine Formel hat andere Pinsel und Füller als der Querschnitt, aber beide kommen nun in derselben WMF vor. Die Layer aus 2 verschiedenen Grafikerstellern müssen nun in einer Datei sein. Zurück zu den Formeln. Der Rechenweg in Excel landet auf ein A4 Blatt mit eingesetzten Zahlen und Formelzeichen und passt nicht rauf. Jede Beule rasselt den gleichen Formelapparat durch. Bei einem I-Träger, der positive und negative Momente hat und unterschiedliche Feldlängen, sind es 4 Träger, die 5 Autobeulen haben, was 20 Beulnachweise macht und bei Schriftgröße 11 werden es 5 Seiten pro Beulnachweis. Und was ist mit den Formeln, die breiter als ein A4-Blatt sind? Wenn ich da an eine FESTPUNKT Wandhalterstatik denke, die Windsog und Winddruck untersucht und mehrere Stränge hat, sind das 2·5 Durchlaufträger, also 4*5*5*2*5. Ein Prüfingenieur kann sich einen tausendseitigen Tsunami nicht ankucken. Hier muss deutlich gestrafft werden. Der Beulnachweis muss auf eine A4 Seite passen, aber Schriftgröße 6 passt nicht. Da es Vektor ist und jede Maus inzwischen ein Mausrad hat, ist die Schriftgröße egal, da auch Schriftgröße 2 noch lesbar ist. Dennoch soll Schriftgröße 6 gehen. Ich schaute mit die Formeln an und überlegte, wie ich diese anordnen kann. Ähnliche können nebeneinander, die Wennformeln sind so klobig. Aber ohne Wenn versteht man sie nicht. Man kann Wenn auch durch ABS und SIG ersetzen, aber das versteht keiner und mir wird es beim Prüfen richtig stören. Ich feilte kräftig am Formeldarsteller, sodass er 4% weniger Platz braucht. Ich formte Formeln um, um Höhe gegen Länge zu tauschen, doch mir gefiel das überhaupt nicht. Viele Ideen waren keine Lösung, Schriftgröße 5 auf einer Seite mit 3 Spalten. WMF-Balken bekam noch ein paar Optimierungen, sodass er bei LRsymmetrischen Profilen die symmetrischen Beulen nicht einfügt. Außerdem werden die Profile selbst vergleichen und Balkenstücken unterschiedlicher Länge haben denselben Querschnitt. Somit sollte nur das nötigste in der Statik sein. Übersichtsgrafik der Beulen Schön wäre noch eine aussagekräftige Übersichtsgrafik, damit man weiß, was da überhaupt gerechnet wird und wo die Grundwerte herkommen. Ideen entstehen erstmal aufm Zettel, denn Grafik programmieren braucht viel mehr Zeit, als nur mit dem Stift zu malen, was mir nach 10 Minuten nicht gefällt. Nach einer heftigen Malsession programmierte ich nach, was ich aufgemalt hatte. Der Querschnitt, das Spannungsrechteck, die Lagerungsbedingung, Texte, Formeln und die Tabelle. So dachte ich mir es, doch das Pfeilviereck soll nicht nur ein überschlagenes Viereck sein, sondern der Mittelstrich soll genau Vertikal sein. Ein solches Viereck stellte sich als schwerer heraus, als ich es mit vorstellte. Mehrere Anläufe, viele Stunden Denkarbeit, eine ganze Woche nur um ein Viereck zeichnen zu können. Und dann knallt auch noch die Engine. Da bin ich beim Thema Beulnachweis und muss jetzt irgendwelche ASCIIzeichen überprüfen. Nach 3 Stunden fand ich in der Dateimitte 4 fehlende Bytes. Der Fehler schlummerte seit 7 Jahren in den Streckenlasten des WMF-Balkens, tauchte aber nie auf, weil der Spezialfall nicht eintreten konnte. Zurück zum Spannungsviereck, ein großer Plan für alle 8 Fälle war gemalt. Koordinaten rechnete ich aus, baute eine neue Prozedur und zurück zur Grafik. Das Spannungsviereck will mit seinen Spannungen beschriftet sein. Einerseits soll der Text mittig sein, aber nicht aus dem Blatt oder in den Querschnitt ragen. Dann kamen die rechtlichen Objekte. Das ging flott, aber die Lage war schlecht. Ich legte eine große Testmatrix an, bei der alle Querschnitte mit positiven und negativen Moment durchgezeichnet werden. Es gab viel Optimierungspotenzial für die Grafik. Gut Ding will Weile haben. Termindruck bringt nur unvollständige Ergebnisse. Zum Glück habe ich alle Zeit der Welt für profane Detailfragen. Schönheit ist mit Geld nicht bezahlbar. Tagelang feilte ich an die Platzierung der Objekte, damit Doppeltes verschwindet, Wichtiges gut lesbar ist, keine Texte überlappen und der Platz gut ausgenutzt wird. Irgendwie sah es kacke aus, dass das überschlagene Spannungsviereck nicht durch den Schwerpunkt geht. Das glaubt mir keiner. In der Alunorm steht, dass die Beulen an Nettoquerschnittswerten zu berechnen sind, 2 Iterationen sind ausreichend. Aber wie kann der Querschnitt die Beulen an Nettoquerschnittswerten berechnen, wenn doch die Nettoquerschnittswerte erst nach dem Beulnachweis kommen? Für die Nettoquerschnitte lagerte ich dessen Berechnung aus und es gibt ein Überbau aus If-Anweisungen, der dirigiert, welche Prozeduren wann und wie oft aufgerufen werden. Dies sind zwar nur 50 Zeilen Code, die es aber in sich haben. Vor einigen Wochen habe ich mich mit ASCII Codezeilen beschäftig, die sich um 4 Bytes kümmern und hier sind heftige Zeilen, die jetzt ganze Beulnachweise iterieren. Die Grafik ist für alle Fälle schön und komplett. plastischer Nachweis Da WMF-Balken jetzt Klasse4 und Klasse3 Querschnitte rechnen kann, wäre es doch schön, wenn man die plastischen Reserven eines Klasse2 Querschnittes nehmen kann. Die Querschnittsklasse wird durch den Beulnachweis bestimmt. Multipliziert man die elastischen Bruttoquerschnittswerte mit dem plastischen Formfaktor, dann kommen Nettoquerschnittswerte raus, die je nach Klasse größer oder kleiner sind. Für viele Querschnitte und Drehungen ist der Klasse2 Formfaktor leicht berechenbar. Für den Flügelträger musste ich eine Formel herleiten. Allerdings gibt es da ein Problem. Der Beulnachweis benötigt zum einen Vorzeichen des Momentes und zum anderen die Anweisung, dass er geführt werden soll. Das Moment bestimmt, ob ein U-Profil oben oder unten beult. Ein U-Profil hat daher nicht eine Querschnittsklasse, sondern 2. Ein Umbau für 2 Querschnittsklassen und Momententragfähigkeiten war erforderlich und ich führte das Konzept der versteckten Beule ein. Daran hing ein ganzer Rattenschwanz, sodass das Aussehen der Diagramme angepasst werden muss und ein Häkchen für plastische Bemessung. Jetzt wo Querschnitte von Klasse4 bis Klasse2 gerechnet werden können, interessiert es mich brennend, was ein U300 in S355 in Abhängigkeit des E-Moduls trägt. Mit fallendem E-Modul steigt die Klasse und die Tragfähigkeit sinkt und sinkt, bis eine Atombombe explodierte. Wie können denn auf einmal Beulen im Zugbereich auftreten? Ich untersuchte den Beulnachweis mit dem Schwerpunkt, was ich zuletzt gemacht habe. Nach Stunden vergeblicher Fehlersucht stellte ich fest, dass er richtig ist. Dann sah ich, dass das U-Profil ein negatives Flächenträgheitsmoment und eine positive Fläche hat. Das musste ich erstmal verdauen. Nachdem ich das negative Flächenträgheitsmoment reproduzieren konnte und konnte ich die Quelle außerhalb des Beulens ausfindig machen. Der Fehler war, dass die manuelle Beule und der Außenradius an derselben Stelle liegen. Beide subtrahieren vom Querschnitt. Eine Fläche wird also doppelt abgezogen. Ich war allerdings überrascht, wie der winzige Außenradius des U-Profils es schaffen kann, dass das Flächenträgheitsmoment negativ wird. Ich sammelte alle Beulen, die Außenradien und Flanschneigungen abdecken können und behob das Problem. Mein Meisterwerk ist vollendet und es muss dokumentiert werden. Dokumentation braucht auch nochmal halb so viel Zeit, wie das Programmieren. So viele Lösungen, Tricks und Ideen für Schwierigkeiten, Herausforderungen, Zwischenfälle, Probleme, Fehler, Details mussten gefunden werden. Vieles kann man sich nicht vorstellen, so vieles steht nicht in den Eurocode und so extrem viel hat nichts mit Statik zu tun. Dazu kommt noch das ganze Unsichtbare: weggeworfene Zettel, Irrwege, gelöschter Code, zusammengefasster Code, vereinfachte Rechenwege. Und so viele Zettel, ich habe noch nie so viel ohne Rechner programmiert. Scrollt man das doppelt so groß gewordene Dokument zum WMF-Balken durch, dann sieht man kaum was von einem Durchlaufträger. Ich habe noch nie ein so großes Ding durchgezogen. Ein ganzes Jahr ehrenamtlich hauptberuflich gearbeitet, mein Traum wurde wahr: WMF-Balken2.
Folgende Benutzer bedankten sich: Baumann, Mitch, CD
|
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
www.wot-wmf.de/wmf-balken/
Wer möchte............ |
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
kurzfassung?
wer - was - warum - wen - womit? Markus L. Sollacher, Berat. Ing. BYIK
mlsollacherATt-onlinePUNKTde
Folgende Benutzer bedankten sich: schroeder, Baumann, wresch
|
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
An wmf-lord:
Wie schaut so ein Ausdruck eines 2-Feldträgers in Stahlbeton aus dem Programm wmf-Balken eigentlich aus als pdf?Kann man hier mal Beispiele zeigen? |
Bitte Anmelden oder Registrieren um der Konversation beizutreten. |
|
|
Copyright © 2022 diestatiker.de | ein Service von Planungsbüro Uhrmacher | Aunkofener Siedlung 17 - D-93326 Abensberg
Telefon: 0 94 43/90 58 00, Telefax: 0 94 43/90 58 01 | E-Mail: office[@]diestatiker.de | Alle Rechte vorbehalten