BigSolve ist ein Programm, welches den Alltag der Studierenden im Modul „Technische Mechanik“ erleichtern soll.

In BigSolve kann man Systeme, bestehend aus Balken, Kräften, Momenten, Streckenlasten und Lager zeichnen und anschließend berechnen lassen. Die Ergebnisse können in Form eines Momenten- /Querkraftverlaufs grafisch dargestellt werden.

Unser Projekt basiert grundsätzlich auf Angular und beinhaltet die Games-Engine "Babylon.js".

 

Benutzeroberfläche

Systemeingabe

In diesem Bereich kann man ein System zeichnen lassen, welches an die 2D-Sicht angelehnt ist. Die Systemeingabe besitzt die übergeordneten Reiter: „Knoten“, „Balken“ und „Kräfte“, welche direkten Zugriff auf die einzelnen Objekte erlauben.

Knoten:

Knoten sind grundsätzlich Koordinatenpunkte im System. Um Knoten zu erzeugen gibt man ihre x- und y-Koordinaten ein (Knoten werden als Kugel dargestellt). Die Knoten sind die Fixpunkte für weitere Objekte und erfüllen gleichzeitig die Funktion von Lagern. Durch ein Dropdownmenü kann die Lagerart ausgewählt werden (Festlager, Loslager und Einspannung).

 

Balken:

Anschließend kann man einen Balken zeichnen lassen. Dazu gibt man die Knoten-IDs an. Der Balken liegt also immer zwischen Knoten A und Knoten B. Die Knoten sind Anfangs- und Endpunkt des Balkens.

 

Kräfte/Momente:

Basierend auf den Knoten kann man nun die Kräfte zeichnen. Hierzu benötigt man wieder die Knoten-ID, um die Kräfte an der gewünschten Stelle zeichnen zu lassen. Der Kraftbetrag kann frei angegeben werden und durch dessen Vorzeichen wird die Kraftrichtung bestimmt.

Durch das aktivieren der Checkbox "Moment" kann ein Moment mit Richtung und Betrag in das mechanische System an dem eingegebenen Knoten eingefügt werden.

 

Systemdarstellung

In diesem Bereich soll man ebenfalls ein System zeichnen lassen können, allerdings mit verschiedenen Balkenformen (Doppel-T-Träger, Z-Träger, ect.), sowie mit unterschiedlichen Materialien, welche den E-Modul beeinflussen.  Es handelt sich also um eine Darstellung des Balkens in seiner 3D-Form. Damit wird zusätzlich zur Strukturdarstellung in 2D ein realistischer Balken mit auswählbarem Querschnitt und anpassbarem Material dargestellt und der Anwender soll zwischen beiden Ansichten wechseln können.

Zukünftig soll die Eingabe wie in Systemeingabe möglich sein.

 

Berechnung

In diesem Bereich soll man zuvor dargestellte Systeme berechnen lassen und die Verläufe grafisch erzeugen können.

 

Interne Struktur

Die interne Struktur von BigSolve ist objektorientiert. Eine der wichtigsten Klassen ist die Klasse BigStructure. Diese enthält die grundsätzliche Struktur eines Systems und somit Arrays, in die einzelne Objekte von unterschiedlichen Typen gespeichert werden.

Die Klassen der Objekte sind ebenfalls in der Structure definiert. Dort ist festgelegt, welche Attribute die einzelnen Objekte besitzen. Beispielsweise, dass ein Knotenpunkt x- und y-Koordinaten besitzt.

Im Bereich „drawing.models.ts“ findet eine Zuordnung von den einzelnen Objekten zu den entsprechenden Meshes statt.

Im drawing.service.ts befindet sich die allgemeine Zeichenroutine. Über Funktionen wie beispielsweise „drawNode()“ wird festgelegt, wie das spätere Objekt gezeichnet werden soll. (in diesem Fall wird ein Knoten als Kugel dargestellt)

Im „node-editor.component.ts“ erfolgt letztendlich der Aufbau der Szene („createScene()“). Hier wird beispielsweise die Kamera oder das Licht festgelegt. Ebenfalls ist dort die Verbindung der Inputfelder mit dem DrawingService.

Der Aufbau der Systemdarstellung erfolgt analog.

 

Ausblick

BigSolve ist ein Projekt mit verhältnismäßig viel Entwicklungsaufwand. Deshalb bietet BigSolve noch großes Potential und wir würden uns freuen, wenn es weitergeführt werden würde.

Zukünftige Meilensteine sind:

  • Das Verbinden von Systemeingabe und Systemdarstellung, sodass zwischen 2D- und Volumenansicht gewechselt werden kann.
  • Das Integrieren der Berechnungs-Logik
  • Die Darstellung von Querkraft- und Momentenverläufen