Soubor JavaScript
Webovou službu lze teoreticky vytvořit v libovolném programovacím jazyce. V našem příspěvku představíme programovací prostředí JavaScript. Skriptováním lze definovat topologii konstrukce, zatěžovací stavy a zatížení. Pro vytvoření skriptovacích souborů stačí mít k dispozici textový editor, jako je například (Notepad ++) použitý v tomto článku.
In the JavaScript file provided in this example, the input parameters are defined with the input_data() function. Tyto parametry lze zařadit do různých kategorií (basic data (základní údaje), geometry (geometrie), supports (podpory), sections (průřezy) atd.).
In terms of basic data, parameter "n" is defined as the type "integer" (using the parameter_int() function) in order to allow dynamic generation of the number of bays. In the “Geometry” category, on the other hand, the parameter_float() function is used for the creation of the frame span (a), the height of the column (H_1), the height of the roof (H_2), and the bay length (L). As can be seen in Image 1, parameter “L” (Bay length) is created dynamically by the multiplicity counter kn, which was defined earlier.
Next, the variables defined as input data can be employed by the generate() function to generate the block; that is, to create nodes and members, assign supports to nodes, create coordinate systems, and create dimensions. To je znázorněno na obrázku 2 a více můžeme dále vidět ve skriptu ke stažení na konci článku.
It is to be noted that all available objects and attributes can be found in the Console (View → Console). Jak je ukázáno na obrázku 3, objekty a jejich vlastnosti lze zobrazit pomocí ikony vyznačené na obrázku.
Although not used in this example, the global_parameters() function can also be adopted in the script. This function serves to parameterize the block, as discussed in the Knowledge Base article "Parameterized Models as Blocks in RFEM 6":
Saving the Model as Block
The block created in this manner can be saved as discussed in the Knowledge Base article "Saving Models as Blocks in <nobr>RFEM 6</nobr>" (File → Save as Block).
However, the difference now is that the JavaScript file has to be imported in the Save as Block window (Image 4).
Jakmile je blok uložen, lze ho snadno importovat do libovolného souboru RFEM 6. For this purpose, it is necessary to open Dlubal Center | Blocks and select the block from the relevant category. Prior to being inserted, the block can be modified in the Edit Blocks window. For dynamic blocks created by scripting, the input parameters can be modified in the Structure tab of this window.
Jak jsme již zmínili výše, výhodou dynamických bloků je možnost provádět úpravy změnou vstupních proměnných. Pokud je tedy ve skriptu definován počet polí (n) a délka pole (L), druhé pole se automaticky změní při úpravě prvního pole.
In this example, the predefined number of bays is three and, therefore, three bay lengths are listed as parameters <nobr>(Image 5)</nobr>. Nicméně proměnnou „n“ lze snadno změnit na libovolné jiné celé číslo (například 5) a konstrukce se odpovídajícím způsobem změní (obrázek 6).
Závěrečné poznámky
Dynamické bloky v programu RFEM 6 lze snadno vytvářet pomocí skriptování. Pro vytváření skriptových souborů stačí mít k dispozici textový editor. Ve skriptu lze vytvářet parametry dynamicky, a tak umožnit následné interaktivní úpravy bloků.
The blocks created in this manner can be saved by importing the JavaScript file in the “Save as Block” window. Once available in Dlubal Center | Blocks, they can be imported easily into any RFEM 6 file. Vzhledem k tomu, že bloky jsou dynamické, lze při každém použití bloků v RFEM souboru interaktivně upravovat parametry konstrukce pomocí změny vstupních proměnných.