Allgemein
Scripting Editor
Über den Scripting Editor können Scripte eingegeben und ausgeführt werden. Um den Editor zu öffnen, wählen Sie Extras -> Scripting. Scripte können entweder direkt in der .wbpz Projektdatei abgespeichert werden oder als eigenständige .wbps Datei exportiert werden.
Eingabefeld für Scriptbefehle.
Übersicht über alle im .wbpz Projekt gepeicherten Scripte.
Legt ein neues Script an.
Öffnen einer externen .wbps Scriptdatei.
Speichert ein Script im .wbpz Projekt.
Speichert das Script als externe .wbps Scriptdatei.
Führt das aktuelle Script aus.
Externe Scripte einbinden
Über die #include Anweisung können externe Scripte eingebunden werden. Dadurch ist es möglich häufig verwendete Funktionen in separate .wbjs Dateien auszulagern und diese dann im Hauptscript einzubinden. Dabei können auch mehrere #include Anweisungen untereinander geschrieben werden. Typischerweise werden erfolgt das Einbinden am Anfang des Hauptscriptes. Wenn mehrere externe Scripte eingebunden werden sollen bietet es sich an ein MasterScript.wbjs zu erstellen. Es enthält mehrere #include Anweisungen mit den Pfaden zu den einzelnen Scripten. In der Scripting View der FVA-Workbench muss dann nur noch das Masterscript inkludiert werden.
Verwenden einer Entwicklungsumgebung
Anstelle des in der FVA-Workbench integrierten Scripting-Editors kann auch eine Entwicklungsumgebung (IDE) zur Erstellung von Scripten verwendet werden. IDEs sind spezielle Software Tools, die das Erstellen von Code erleichtern.
Um die Änderungen an einem Script direkt in der FVA-Workbench testen zu können, sollten die Scripte in separate .wbjs-Dateien gespeichert und mittels #include -Anweisung eingebunden werden. Siehe auch Externe Scripte einbinden
Vorteile sind Beispielsweise:
Syntaxhervorhebung
Codeformatierung
Automatisches ein-/ auskommentieren von Codezeilen
Folgende Open Source Entwicklungsumgebungen bieten sich zur Bearbeitung von FVA-Workbench Scripten an:
Visual Studio Code
Notepad++
WebStorm
FVA-Workbench Scripte werden in JavaScript geschrieben und haben die Dateiendung .wbjs. Nicht alle Entwicklungsumgebungen erkennen .wbjs-Dateien automatisch als JavaScript. Damit Syntaxhervorhebung und andere Komfortfunktionen angezeigt werden, muss die Programmiersprache manuell eingestellt werden.
Datentypen
Die Attribute, in denen Nutzereingaben und Berechnungsergebnisse gespeichert werden, haben folgende Datentypen:
Datentyp | Typbezeichner | Daten | Beispielattribut (ID) |
---|---|---|---|
Wahrheitswert | Boolean | true oder false | use_fem_part (FEM Steifigkeit berücksichtigen) |
Zahl | Double | 3.14159 | iso 6336 application factor (Anwendungsfaktor) |
Zahl mit Einheit | TechValue | 3.14159 mm | center_distance (Achsabstand) |
Zeichenkette | String | "This is text" | comp_remarks (Komponenten-Vermerke) |
Liste | Array | [0.12, 2.34, 7.83, 2.33] | force in mesh direction (Breitenlastverteilung) |
Liste von Listen | Matrix | [ [1.2, 3.0, 4.6], [0.2, 6.4, 2.1], [3.1, 1.5, 9.5] ] | result_matrix_pressure_distribution_values (Pressungsverteilung) |
Spezialfall Combo-Attribute
Im Eingabeeditor der FVA-Workbench gibt es an vielen Stellen Drop-Down Listen, bei denen der Anwender aus mehreren Einträgen auswählen kann. Diese Auswahl wird in sogenannten Combo-Attributen gespeichert. Der Datentyp solcher Combo-Attribute kann entweder String, Integer oder Double sein.
Bei Combo-Attributen ist intern eine Werteliste hinterlegt, bei der jedem Wert genau eine Auswahlmöglichkeit zugeordnet ist.
setAttr("ratio_X1_X2", stageID, 6, EDAT);
Beispielscript: Combo-Attribut "Aufteilung Profilverschiebung" auf den Wert 6 für "Gleiche Wälzpressung" setzen.
Datenhaltung (EDAT/RDAT)
Jedes Attribut hat zwei verschiedene Werte, einen Eingabewert (EDAT) und einen berechneten Wert (RDAT). Gibt der Nutzer in der Oberfläche einen Wert im Editor ein, wird der EDAT-Wert des Attributs gesetzt. Sobald eine Berechnung durchgeführt wird, wird der EDAT-Wert kopiert und in RDAT geschrieben.
Attribute, die reine Berechnungsergebnisse sind und nicht vom Nutzer vorgegeben werden, besitzen ebenfalls einen EDAT- und einen RDAT-Wert. Der EDAT-Wert dieser Attribute ist immer leer. Nach einer Berechnung wird das Ergebnis auf den RDAT-Wert eines Attributs geschrieben.
Der RDAT-Wert eines Attributs ist also entweder eine Kopie des EDAT-Werts oder ein Berechnungsergebnis. Im Scripting wird in den meisten Fällen der EDAT-Wert eines Attributs gesetzt.
Attribute finden
In der FVA-Workbench gibt es mehrere tausend Attribute, in denen die Eingaben und Ergebnisse gespeichert werden. Diese Attribute können im Scripting mit den Funktionen setAttr() gesetzt bzw. gelesen werden.
Um aus der Vielzahl der Attribute das Richtige zu finden, gibt es es in der FVA-Workbench mehrere Möglichkeiten.
Attributübersicht
Menü -> Extras -> Attributübersicht
Attributhilfe
Speziell für Eingabeattribute bietet die Attributhilfe eine Möglichkeit, die Attribut-ID schnell zu finden.