2684x
001689
11. Februar 2022

Dynamische Blöcke in RFEM 6 (über JavaScript)

Strukturen in RFEM 6 können als Blöcke gespeichert und in anderen RFEM-Dateien wieder verwendet werden. Dynamische Blöcke haben gegenüber nicht-dynamischen Blöcken den Vorteil, dass sie interaktive Änderungen der Strukturparameter infolge geänderter Eingangsgrößen ermöglichen. Ein Beispiel ist die Möglichkeit, Strukturelemente hinzuzufügen, indem nur die Anzahl der Felder als Eingangsvariable geändert wird. In diesem Beitrag wird die oben beschriebene Möglichkeit für dynamische Blöcke demonstriert, die mittels Scripting erzeugt werden.

Die JavaScript-Datei


Ein Webservice kann theoretisch mit jeder Programmiersprache erstellt werden. Die Programmierumgebung in diesem Beitrag ist JavaScript. Selbstverständlich kann mittels Scripting die Topologie des Systems, die Lastfälle und die Lasten definiert werden. Für die Erstellung von Script-Dateien reicht ein Editor aus, der in diesem Beitrag verwendet wird (Notepad ++).

In der in diesem Beispiel bereitgestellten JavaScript-Datei werden die Eingabeparameter mit der Funktion input_data() definiert. Diese Parameter können verschiedenen Kategorien (Basisangaben, Geometrie, Lager, Schnitte usw.) zugeordnet werden.

Als Eckdaten wird der Parameter "n" mit dem Typ "integer" (mit der Funktion parameter_int() ) definiert, um eine dynamische Generierung der Feldanzahl zu ermöglichen. In der Kategorie „Geometrie“ hingegen dient die Funktion parameter_float() zum Erzeugen der Spannweite (a), der Stützenhöhe (H_1), der Dachhöhe (H_2) und der Feldlänge (L). Wie im Bild 1 zu erkennen ist, wird der Parameter "L" (Einschubfeldlänge) dynamisch durch den zuvor definierten Multiplizitätszähler kn erzeugt.

Die als Eingabedaten definierten Variablen können dann von der Funktion generate() zur Generierung des Blocks benutzt werden; das heißt, zum Anlegen von Knoten und Stäben, Zuweisen von Lagern zu Knoten, Anlegen von Koordinatensystemen und Anlegen von Abmessungen. Dies ist in Bild 2 dargestellt und kann in einem Skript am Ende des Beitrags untersucht werden.

Dabei ist zu beachten, dass alle verfügbaren Objekte und Attribute in der Konsole (Ansicht → Konsole) zu finden sind. Wie Bild 3 zeigt, können die Objekte und deren Eigenschaften über das im Bild gekennzeichnete Symbol angezeigt werden.

Die Funktion global_parameters() wird in diesem Beispiel nicht verwendet, kann aber in das Script übernommen werden. Diese Funktion dient der Parametrisierung des Blocks, wie sie im Knowledge-Base-Artikel Parametrisierte Modelle als Blöcke in RFEM 6 vorgestellt ist.


Modell als Block speichern


Der so erstellte Block kann, wie im Knowledge-Base-Artikel Modelle als Blöcke in RFEM 6 speichern beschrieben, gespeichert werden (Datei → Als Block speichern). Der Unterschied besteht nun darin, dass die JavaScript-Datei im Fenster Als Block speichern importiert werden muss (Bild 4).

Wurde der Block einmal gespeichert, kann dieser einfach in jede beliebige RFEM 6-Datei importiert werden. Dazu muss das Dlubal Center | Blöcke geöffnet und der Block aus der relevanten Kategorie ausgewählt werden. Vor dem Einfügen kann der Block im Fenster Blöcke bearbeiten geändert werden. Bei dynamischen Blöcken, die mittels Scripting erstellt wurden, können die Eingabeparameter im Register Struktur dieses Fensters geändert werden.

Der Vorteil dynamischer Blöcke besteht, wie oben erwähnt, in der Möglichkeit, Modifikationen durch Änderung der Eingangsvariablen vornehmen zu können. So wie im Script die Anzahl der Felder (n) und die Feldlänge (L) festgelegt wurden, ändert sich bei der ersten Wahl automatisch die Feldlänge (L).

In diesem Beispiel ist die Anzahl der Felder auf drei voreingestellt und daher sind als Parameter drei Feldlängen angegeben (Bild 5). Die Variable "n" lässt sich aber sehr einfach in eine beliebige andere Zahl umwandeln (z. B. fünf) und die Struktur wird sich dementsprechend ändern (Bild 6).


Schlussbemerkungen


Dynamische Blöcke lassen sich in RFEM 6 einfach über Scripting erzeugen. Zum Erstellen von Script-Dateien ist ein Script-Editor ausreichend. An dieser Stelle können Parameter dynamisch im Script angelegt und so im Nachhinein eine interaktive Änderung des Blocks ermöglicht werden.

Die so erstellten Blöcke können durch Einlesen der JavaScript-Datei im Fenster "Als Block speichern " abgespeichert werden. Nach Verfügbarkeit im Dlubal Center | Blöcke lassen sich diese einfach in jede RFEM 6-Datei importieren. Da es sich um dynamische Blöcke handelt, sind bei jeder Verwendung der Blöcke in einer RFEM-Datei interaktive Modifikationen von Strukturparametern durch geänderte Eingangsgrößen möglich.


Autor

Frau Kirova ist bei Dlubal zuständig für die Erstellung von technischen Fachbeiträgen und unterstützt unsere Anwender im Kundensupport.

Links
Downloads