3054x
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.

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.

Als nächstes können die als Eingabedaten definierten Variablen von der Funktion generate() zur Generierung des Blocks benutzt werden; Das heißt, es werden Knoten und Stäbe angelegt, Knoten mit Lagern versehen, Koordinatensysteme und Abmessungen erstellt. 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:

Blöcke mit JavaScript erstellen und speichern

Die Blöcke werden in RFEM 6 im Navigator als Spezielle Objekte aufgelistet. Um einen neuen Block zu erstellen, klicken Sie diesen Eintrag mit der rechten Maustaste an und wählen aus dem Dropdown-Menü "Neuer Block". Es öffnet sich ein Dialog, in dem Blöcke erstellt und gespeichert werden können. Wenn Sie in JavaScript mit Blöcken arbeiten, wechseln Sie wie in Bild 4 gezeigt in das Register "JavaScript". Sie können dann auf die Schaltfläche "JavaScript bearbeiten" ( Gesperrt ) in das Register zu schreiben oder die Schaltfläche “JavaScript-Datei öffnen” ( Modell öffnen ) eine Datei zu importieren. Klicken Sie nach dem Bearbeiten auf das Anwenden Schaltfläche, um das JavaScript anzuwenden, und speichern Sie dann den Block über die Block speichern neu anlegen. Im Dialog "Als Block speichern" werden Sie aufgefordert, den Block zu benennen und seine Kategorisierung wie Modelltyp, verwendete Objekte und Modellkategorien festzulegen (Bild 5).

Nach dem Speichern eines Blockes kann dieser einfach in jede beliebige RFEM 6-Datei importiert werden. Öffnen Sie dazu den Blockmanager von Dlubal und wählen Sie den gewünschten Block aus der entsprechenden Kategorie aus. Der Block kann vor dem Einfügen im Fenster "Block bearbeiten" angepasst werden, das sich beim Selektieren des Blocks automatisch öffnet. Für dynamische Blöcke, die über Scripting erstellt wurden, können die Eingabeparameter im Register "Struktur" dieses Dialogs bearbeitet werden (Bild 6).

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 6). 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 7).

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 Blockmanager von Dlubal 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


;