Plik JavaScript
Teoretycznie usługę internetową można utworzyć w dowolnym języku programowania. W tym artykule środowiskiem programistycznym jest JavaScript. W rzeczywistości do zdefiniowania topologii konstrukcji, przypadków obciążeń i obciążeń można wykorzystać skrypty. Do tworzenia plików skryptów wystarczy edytor taki jak ten wykorzystany w tym artykule (Notatnik ++).
In the JavaScript file provided in this example, the input parameters are defined with the input_data() function. These parameters can be assigned in different categories (basic data, geometry, supports, sections, and so on).
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. Pokazano to na rysunku 2 i można to dokładniej przeanalizować w skrypcie zamieszczonym na końcu artykułu.
It is to be noted that all available objects and attributes can be found in the Console (View → Console). Jak widać na rysunku 3, obiekty i ich właściwości można wyświetlić za pomocą ikony na rysunku.
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).
Po zapisaniu bloku można go łatwo zaimportować do dowolnego pliku w programie 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 wspomniano powyżej, zaletą bloków dynamicznych jest możliwość modyfikacji poprzez zmianę zmiennych wejściowych. Zatem, biorąc pod uwagę sposób zdefiniowania w skrypcie liczby przęseł (n) i długości przęsła (L), te ostatnie zmienią się automatycznie wraz z upływem czasu.
In this example, the predefined number of bays is three and, therefore, three bay lengths are listed as parameters <nobr>(Image 5)</nobr>. Jednak zmienną „n” można łatwo zamienić na dowolną inną liczbę (na przykład pięć), a konstrukcja zostanie odpowiednio zmodyfikowana (zdjęcie 6).
Uwagi końcowe
Bloki dynamiczne w programie RFEM 6 można łatwo tworzyć za pomocą skryptów. Do tworzenia plików skryptów wystarczy posiadanie edytora tekstowego. Na tym etapie można dynamicznie tworzyć parametry w skrypcie, co umożliwia interaktywną modyfikację bloku w późniejszym terminie.
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. Ponieważ bloki te są dynamiczne, możliwe jest interaktywne modyfikowanie parametrów konstrukcyjnych w wyniku modyfikowania zmiennych wejściowych za każdym razem, gdy bloki są wykorzystywane w pliku RFEM.