• Deutsch
  • English

Ereignisverwaltung

Eine virtuelle Modellbahnanlage spiegelt eine kleine Miniaturwelt wider. Wirklich perfekt wird diese Welt jedoch erst, wenn Züge durch die Landschaft fahren, am Bahnhof rangieren, Signale und Weichen schalten oder Autos an geschlossenen Schranken auf den vorbeifahrenden Zug warten, und dies alles selbstständig und automatisiert. Das 3D-Modellbahn Studio bietet neben der Planung und Gestaltung einer Modellbahnanlage auch Werkzeuge für die Simulation komplexester Bahnbetriebe. Durch einfaches Zuweisen von Aktionen, die im Falle eines Ereignisses auf der Anlage ausgelöst werden sollen, können beliebige Abläufe simuliert und gesteuert werden.

Inhaltsverzeichnis

1. Grundlagen
2. Ereignisverwaltung
3. Ereignisse
4. Bedingungen
5. Aktionen
6. Variablen
    6.1. Auslöser
7. Tipps und Tricks

1. Grundlagen

Jede automatisierte Anlage wird gesteuert über Aktionen, die einen konkreten Befehl an das 3D-Modellbahn Studio übermitteln, wie z.B. das Einstellen einer Lokgeschwindigkeit oder das Schalten einer Weiche. Damit Aktionen vom Studio ausgeführt werden können, muss zunächst ein Ereignis eintreten. Dies kann z.B. das Betreten eines bestimmten Gleises einer Lok sein oder aber das Betätigen eines Schalters. Über zusätzliche Bedingungen lässt sich das Ausführen von Aktionen weiter einschränken, um z.B. eine Weiche nur dann zu schalten, wenn ein Zug auf einem bestimmten Gleis steht. Zusammengefasst besteht jeder Anlagenbetrieb aus einer Reihe von Aktionen, die bei bestimmten Ereignissen ausgeführt werden.

Ein spezielles Ereignis stellt der Ablauf eines Countdowns dar. Ein Countdown ist eine definierte Zeitspanne (in Sekunden), nach deren Ablauf die Aktionen ausgeführt werden. Ereignisse sind daher nicht nur auf konkrete Objekte auf der Anlage beschränkt, sondern können auch durch zusätzliche Hilfsmittel ausgelöst werden.

Ein noch mächtigeres Werkzeug stellen die Variablen dar. Eine Variable besitzt einen Namen und einen Wert. Dieser Wert kann durch Aktionen geändert (z.B. Addition eines Wertes zu einer Zählvariable) und anschließend in einer Bedingung überprüft werden, sodass Aktionen nur dann ausgeführt werden, wenn eine Variable einen bestimmten Wert besitzt. Dieses aus Programmiersprachen bekannte Konzept kann im 3D-Modellbahn Studio verwendet werden, um beliebige Zustände auf der Anlage abzubilden, auch ohne Programmierkenntnisse. Weitere Informationen sind im Abschnitt Variablen zu finden.

2. Ereignisverwaltung

Die zentrale Anlaufstelle für die Konfiguration von automatisierten Abläufen auf der Anlage stellt die Ereignisverwaltung dar, die in jeder geöffneten Anlage über den Menüpunkt Extras - Ereignisverwaltung aufgerufen werden kann. Die Ereignisverwaltung listet alle zur Zeit konfigurierten Ereignisse in einer Baumstruktur auf und bietet zusätzliche Werkzeuge, um neue Ereignisse zu erzeugen:

  • Erzeugt eine neue Ereignisgruppe zum Zusammenfassen von thematisch zusammenhängenden Ereignissen. Es können beliebig viele Gruppen und Untergruppen angelegt werden, die keinen Einfluss auf den Bahnbetrieb ausüben, jedoch bei der Organisation vieler Ereignisse die Übersicht verbessern.
  • Öffnet einen Dialog zum Umbenennen und zum Aktivieren/Deaktivieren einer Ereignisgruppe. Wird eine Gruppe deaktiviert, so werden automatisch alle untergeordneten Gruppen und Ereignisse ebenfalls deaktiviert. Aktionen von deaktivierten Ereignissen werden vom 3D-Modellbahn Studio in der Verarbeitung ignoriert.
  • Erzeugt ein neues Ereignis und fügt es der aktuellen Gruppe hinzu.
  • Öffnet einen Dialog zum Bearbeiten des aktuell ausgewählten Ereignisses. Tipp: Ein Ereignis kann auch durch einen Doppelklick auf den Namen bearbeitet werden. Das Dialogfenster wird unter Ereignisse genauer beschrieben.
  • Dupliziert das aktuell ausgewählte Ereignis und erzeugt eine zweite Kopie mit identischen Einstellungen. Sinnvoll, wenn ein zweites Ereignis mit ähnlichen Eigenschaften konfiguriert werden soll.
  • Löscht das ausgewählte Ereignis.
  • Speichert die Baumdarstellung der Ereignisse inkl. aller Eigenschaften in einer HTML- oder XML-Datei ab. Eine so exportierte Ereignisverwaltung kann z.B. in einem Internet Browser betrachtet werden um einen Gesamtüberblick über die Ereignisse zu erhalten.
Die Baumansicht unterstützt das Drag&Drop von Ereignissen und Ereignisgruppen. Halten Sie die linke Maustaste auf einem Eintrag gedrückt und bewegen Sie sie an eine andere Stelle, um das ausgewählte Ereignis oder die ausgewählte Ereignisgruppe auf eine andere Position zu verschieben.

Neben der Baumansicht der Ereignisse bietet das Fenster der Ereignisverwaltung einen zweiten Bereich, der über die Schaltfläche "Aktive Countdowns und Variablen" geöffnet werden kann. In diesem Bereich werden die benutzerdefinierten Countdowns und Variablen inkl. der Restzeit bzw. dem aktuellen Wert aufgelistet und können händisch geändert oder gelöscht werden.

Während die Ereignisverwaltung geöffnet ist, wird der Anlagenbetrieb automatisch pausiert, sodass während der Bearbeitung von Ereignissen der Zustand der Anlage unverändert bleibt. Klicken Sie auf "OK", um die Änderungen in der Ereignisverwaltung zu übernehmen. Durch einen Klick auf "Abbrechen" werden alle Einstellungen verworfen. Nach dem Schließen der Ereignisverwaltung wird der Anlagenbetrieb wieder aufgenommen, nun mit den angepassten Einstellungen, falls diese nicht verworfen wurden.

3. Ereignisse

Durch einem Doppelklick auf das Ereignis in der Ereignisverwaltung (oder durch Klick auf die Bearbeiten-Schaltfläche), wird das Eigenschaften-Fenster für ein Ereignis geöffnet, mit dem das Ereignis, die Bedingungen und die Aktionen konfiguriert werden können. Das Fenster verwendet dabei drei Reiter für die entsprechenden Objekte und erlaubt so eine übersichtliche Konfiguration.

Auf dem ersten Reiter, dem Ereignis-Reiter, wird das Ereignis festgelegt. Wählen Sie zunächst in der Auswahlliste eine Situation aus, in der das Ereignis ausgelöst werden soll. Anschließend kann mit den Schaltflächen darunter das Ereignis weiter eingeschränkt werden, z.B. durch Angabe einer Lok oder eines Gleises (abhängig vom Ereignistyp). Folgende Ereignisse werden vom 3D-Modellbahn Studio unterstützt:

  • Animation gestartet/gestoppt: Das Ereignis tritt ein, wenn eine Animation eines 3D-Modells durch den Benutzer oder durch eine andere Aktion gestartet bzw. gestoppt wird. Für Animationen mit einer Endlosschleife tritt das Ereignis nicht ein.
  • Countdown läuft ab: Das Ereignis tritt ein, wenn ein vorher festgelegter Countdown auf 0 fällt. Als Eigenschaft wird eine Auswahlliste angezeigt, die alle Countdowns auflistet. Bevor ein Countdown in dieser Liste erscheint, muss dieser in einem anderen Ereignis über eine Aktion zunächst initialisiert werden.
  • Entkupplungsgleis schaltet: Das Ereignis tritt ein, wenn sich der Zustand eines Entkupplungsgleises geändert hat.
  • Ereignis/Gruppe wird aktiviert/deaktiviert: Das Ereignis tritt ein, wenn über eine Aktion ein Ereignis oder eine Ereignisgruppe aktiviert oder deaktiviert wird. Als Eigenschaft wird das entsprechende Ereignis bzw. Gruppe und der Zustand ausgewählt, bei dem das Ereignis eintreten soll.
  • Kran hat Transportgut aufgenommen/abgesetzt: Das Ereignis tritt ein, nachdem ein Kran ein Transportgut aufgenommen oder auf einem Abstellplatz abgesetzt hat. Als Eigenschaft wird der Kran, die entsprechende Aktion und das Transportgut, welches aufgenommen/abgesetzt wurde, gesetzt.
  • Schalter wird betätigt: Das Ereignis tritt ein, wenn ein digitaler Schalter seinen Zustand ändert. Dabei spielt es keine Rolle ob er manuell betätigt wird (z.B. durch die Leertaste), indirekt durch eine Verknüpfung seinen Zustand ändert oder aber durch eine andere Ereignisaktion verstellt wird.
  • Signal schaltet: Das Ereignis tritt ein, wenn ein Signal seinen Zustand ändert. Wie bei einem Schalter spielt es dabei keine Rolle, wie es zu der Zustandsänderung kam.
  • Variable wird gesetzt: Das Ereignis tritt ein, wenn durch eine Aktion der Wert einer Variable verändert wird. Über die Auswahlliste wird die Variable per Name ausgewählt, die zuvor in einer anderen Ereignis-Aktion definiert werden muss. Das Ereignis tritt nur ein, wenn die Variable den angegeben Wert besitzt. Dabei gibt es folgende Besonderheiten:
    • Beginnt der Wert mit ">", und folgt darauf eine Zahl, so tritt das Ereignis nur ein, wenn der aktuelle Wert der Variable größer als der angegebene Wert ist
    • Beginnt der Wert mit "=", und folgt darauf eine Zahl, so tritt das Ereignis nur ein, wenn der aktuelle Wert der Variable gleich dem angegebenen Wert ist (zur Vereinfachung kann das Gleichheitszeichen auch weggelassen werden)
    • Beginnt der Wert mit "<", und folgt darauf eine Zahl, so tritt das Ereignis nur ein, wenn der aktuelle Wert der Variable kleiner als der angegebene Wert ist
  • Weiche schaltet: Das Ereignis tritt ein, wenn die aktive Spur einer Weiche geändert wird. Auch hier spielt es keine Rolle, durch welchen Auslöser die Weiche geschaltet wird, ob manuell oder durch eine andere Aktion.
  • Zeitpunkt erreicht: Das Ereignis tritt ein, wenn die aktuelle Simulationszeit einen bestimmten Zeitpunkt überschreitet. Das Ereignis tritt nicht ein, wenn der Zeitpunkt manuell über den Einstellungsdialog oder per Aktion geändert wird.
  • Zug betritt ein Gleis: Das Ereignis tritt ein, wenn eine Lok ein bestimmtes Gleis betritt. Dabei kann unterschieden werden, ob das Ereignis nur bei einer bestimmten Lok oder bei allen Loks eintreten soll.
  • Zug verlässt ein Gleis: Das Ereignis tritt ein, wenn eine Lok ein bestimmtes Gleis verlässt.

Nachdem das Ereignis konfiguriert wurde, kann es durch Angabe weiterer Bedingungen weiter eingeschränkt werden, sodass es nur dann eintritt, wenn bestimmte Zustände vorliegen.

4. Bedingungen

Bedingungen schränken ein Ereignis weiter ein und erlauben die Angabe von beliebigen Zuständen, die erfüllt sein müssen, bevor ein Ereignis ausgelöst wird. Auf dem zweiten Reiter im Ereignis-Fenster können Bedingungen hinzugefügt und konfiguriert werden. Bedingungen sind optional und werden nur benötigt, falls die Einschränkungen des Ereignisses selber noch nicht ausreichen.

Bevor eine Bedingung hinzugefügt wird, sollte entschieden werden, wie das 3D-Modellbahn Studio die einzelnen Bedingungen auswertet. Über die Auswahlliste kann entschieden werden, ob alle Bedingungen erfüllt sein müssen, bevor das Ereignis auslöst (entspricht einer Und-Verknüpfung), oder ob eine erfüllte Bedingung genügt (entspricht einer Oder-Verknüpfung).

Eine neue Bedingung wird über die Schaltfläche hinzugefügt. Es öffnet sich ein Popup-Menü, in welchem die Bedingung ausgewählt werden kann. Über die Schaltfläche kann eine markierte Bedingung wieder entfernt werden. Die Pfeile können zur Umsortierung der Reihenfolge genutzt werden. Unterhalb der Auswahlliste werden die Eigenschaften angezeigt, über die die ausgewählte Bedingung konfiguriert werden kann.

Folgende Bedingungen werden unterstützt:

  • Countdown ist aktiv: Die Bedingung ist erfüllt, wenn der angegebene Countdown existiert und noch nicht abgelaufen ist.
  • Ereignis/Gruppe ist aktiv/inaktiv: Die Bedingung ist erfüllt, wenn das angegebene Ereignis/Gruppe entsprechend des angegebenen Zustands aktiviert oder deaktiviert ist.
  • Schalter steht auf Position: Die Bedingung ist erfüllt, wenn ein digitaler Schalter (z.B. Kippschalter) den angegebenen Zustand besitzt.
  • Lok/Wagen steht auf einem Gleis: Die Bedingung ist erfüllt, wenn ein Rollmaterial (Lok oder Wagen) auf einem Gleis steht. Es kann dabei unterschieden werden, ob die Bedingung für eine bestimmte Lok oder einen bestimmten Wagen gilt oder ob die Bedingung erfüllt ist, sobald irgendein Rollmaterial auf dem angegebenen Gleis steht.
  • Signal steht auf Position: Die Bedingung ist erfüllt, wenn ein Signal den angegebenen Zustand besitzt.
  • Variable besitzt den Wert: Die Bedingung ist erfüllt, wenn die Variable mit dem angegebenen Namen den entsprechenden Wert besitzt. Beim Vergleich der Werte gibt es folgende Besonderheiten:
    • Beginnt der Wert mit ">", und folgt darauf eine Zahl, so ist die Bedingung nur erfüllt, wenn der aktuelle Wert der Variable größer als der angegebene Wert ist
    • Beginnt der Wert mit "=", und folgt darauf eine Zahl, so ist die Bedingung nur erfüllt, wenn der aktuelle Wert der Variable gleich dem angegebenen Wert ist (zur Vereinfachung kann das Gleichheitszeichen auch weggelassen werden)
    • Beginnt der Wert mit "<", und folgt darauf eine Zahl, so ist die Bedingung nur erfüllt, wenn der aktuelle Wert der Variable kleiner als der angegebene Wert ist
  • Weiche steht auf Position: Die Bedingung ist erfüllt, wenn die aktive Spur einer Weiche der angegebenen Spur entspricht.
  • Zeitpunkt überschritten: Die Bedingung ist erfüllt, wenn die aktuelle Simulationszeit den angegebenen Zeitpunkt überschritten hat.

Alle Bedingungen besitzen als zusätzliche Eigenschaften die Negation. Wird eine Bedingung negiert, dann wird ein Ereignis erst dann ausgelöst, wenn die Bedingung NICHT zutrifft.

5. Aktionen

Tritt das angegebene Ereignis ein und sind alle Bedingungen entsprechend erfüllt, dann führt das 3D-Modellbahn Studio alle Aktionen der Reihe nach aus, die im dritten Reiter des Ereignis-Fensters angegeben werden. Dabei unterscheidet das Programm zwischen zwei verschiedenen Aktionslisten. Zum einen können Aktionen festgelegt werden, die immer dann ausgeführt werden, wenn die Bedingungen erfüllt sind (Standardfall) oder aber wenn die angegebenen Bedingungen nicht erfüllt sind. Über dieses IF-THEN-ELSE-Konstrukt können pro Ereignis verschiedene Aktionen definiert werden, abhängig von den vorliegenden Bedingungen.

Mit Hilfe der Schaltflächen und können Aktionen hinzugefügt bzw. entfernt werden. Die Pfeile erlauben die Änderung der Ausführungsreihenfolge. Die Eigenschaften einer ausgewählten Aktion werden wie im Ereignis- und Bedingungen-Reiter unterhalb der Auswahlliste angezeigt. Folgende Aktionen werden vom 3D-Modellbahn Studio unterstützt:

Allgemeine Aktionen: Aktionen, die sich nicht auf ein bestimmtes Objekt beziehen:

  • Countdown starten: Initialisiert und startet einen Countdown, der automatisch vom 3D-Modellbahn Studio auf 0 heruntergezählt wird. Endet der Countdown, so wird das entsprechende Ereignis ausgelöst. Ein Countdown benötigt einen Namen, der ihn eindeutig identifiziert, d.h. verschiedene Countdowns müssen verschiedene Namen besitzen. Der automatische Neustart gibt an, ob der Countdown nach Ablauf erneut mit der angegebenen Dauer gestartet werden soll, wodurch eine Endlosschleife erreicht wird.
  • Countdown stoppen: Bricht den angegebenen Countdown ab. Es wird kein Ereignis ausgelöst.
  • Ereignis/Gruppe aktivieren/deaktivieren: Ermöglicht das Aktivieren oder Deaktivieren von Ereignissen bzw. Ereignisgruppen. Deaktivierte Ereignisse werden vom 3D-Modellbahn Studio ignoriert, ihre Aktionen werden nicht ausgeführt.
  • Variable setzen: Initialisiert oder ändert den Wert einer Variable. Das Feld "Wert" erlaubt dabei einfache Rechenoperationen, um Zählvariablen zu ermöglichen. Beginnt das Feld mit einer Rechenoperation "+, -, * oder /", und folgt darauf eine Zahl, so ergibt sich der neue Wert aus dem alten Wert der Variable und der angegebenen Rechenoperation. Wird die Variable zum ersten Mal gesetzt, so wird ein alter Wert von 0 angenommen. Beispiel: Ein Wert von +2 erhöht bei jedem Aufruf die Variable um 2, wohingegen ein Wert von /2 die Variable mit jeder Aktion halbiert. Beginnt der Wert nicht mit einer Rechenoperation oder enthält keine gültige Zahl, so ersetzt der neue Wert den alten Wert. Soll eine Variable mit einer Zahl initialisiert werden, ohne dabei eine Rechenoperation durchzuführen, so fügen Sie ein "=" vor die Zahl ein, sodass die Zahl ohne eine Berechnung übernommen wird (sinnvoll z.B. beim Initialisieren mit negativen Zahlen).
  • Zeit setzen: Setzt die aktuelle Simulationszeit auf einen neuen Wert. Es wird dabei kein Ereignis ausgelöst.

Allgemeine Objektaktionen: Aktionen, die sich auf alle Objekttypen beziehen:

  • Animation starten: Startet die Animation eines 3D-Modells vom Beginn an, vom Ende oder von der aktuellen Position. Zur Verfügung stehen nur Modelle, die mindestens eine benutzerdefinierte Animation besitzen.
  • Animation stoppen: Stoppt die Animation eines 3D-Modells.
  • Geräusch abspielen: Spielt das Geräusch eines 3D-Modells vom Beginn oder von der aktuellen Position ab. Zur Verfügung stehen nur Modelle, die mindestens ein benutzerdefiniertes Geräusch besitzen.
  • Geräusch stoppen: Stoppt das Geräusch eines 3D-Modells.
  • Sichtbarkeit setzen: Blendet ein Objekt ein bzw. aus.
  • Verknüpfung herstellen: Fixiert ein Objekt A an einem Objekt B, sodass A ab sofort den Bewegungen von B folgt (gleichbedeutend mit dem Kettensymbol des Eigenschaftsfenster).
  • Verknüpfung lösen: Hebt die Fixierung von Objekt A wieder auf

Spezifische Objektaktionen: Aktionen, die nur für bestimmte Objekttypen gelten:

  • Beschriftung setzen: Ändert den Text eines Beschriftungsobjektes (zu finden im Katalog unter Zusätzlich - Beschriftung).
  • Entkupplungsgleis schalten: Aktiviert oder deaktiviert den Entkupplungszustand eines Entkupplungsgleises.
  • Kamera aktivieren: Wechselt die Hauptansicht der Anlage auf eine andere Kamera. Diese Aktion ist sinnvoll, wenn die Anlage automatisch aus verschiedenen Blickwinkeln präsentiert werden soll.
  • Kameraverfolgung ändern: Ändert das Verfolgungsziel von benutzerdefinierten Kameras.
  • Kran zurücksetzen: Bewegt einen Kran an die Anfangsposition zurück (ohne Transportgut).
  • Kupplungen aktivieren/deaktivieren: Aktiviert oder deaktiviert die Kupplungen einer Lok oder eines Wagons.
  • Lokgeschwindigkeit setzen: Erhöht oder reduziert die Geschwindigkeit einer oder aller Loks auf einem bestimmten oder allen Gleisen.
  • Partikeleffekt aktivieren/deaktivieren: Startet oder stoppt die Animation eines Partikeleffektes auf der Anlage.
  • Schalter betätigen: Ändert den Zustand eines Schalters.
  • Signal einstellen: Ändert den Zustand eines Signals.
  • Transportgut aufnehmen/absetzen: Weist einen Kran an, ein Transportgut aufzunehmen bzw. auf einer Abstellfläche abzusetzen. Ein Kran nimmt ein Transportgut auf, wenn er noch keine Lasten trägt, ansonsten setzt er das Transportgut auf dem Ziel ab.
  • Weiche schalten: Schaltet eine Weiche auf eine andere aktive Spur.

6. Variablen

Für kleine Anlagen mit nur wenigen Gleisen und Zügen genügt oft die Angabe konkreter Objekte und Werte in den Ereignissen. Je größer eine Anlage jedoch wird und je mehr Gleise und Züge sie enthält, desto komplexer wird auch die Ereignisverwaltung. Das Konzept der Variablen erlaubt hier die Vereinfachung von Ereignissen bei gleichzeitig erhöhter Funktionalität. Unter einer Variable versteht das 3D-Modellbahn Studio eine Kombination aus einem Namen und einem Wert in Textform/Zahl. Der Name sowie der Wert können vom Benutzer beliebig festgelegt werden (wobei Variablennamen aus einfachen Buchstaben und Zahlen bestehen, jedoch keine Leerzeichen enthalten dürfen), um benutzerdefinierte Zustände auf der Anlage zu speichern, zu verändern und in der Ereignisverwaltung wieder abzurufen. Beispiel: Auf einer Anlage sollen Güterzüge und Personenzüge verschiedene Gleise bei der Einfahrt in einen Bahnhof ansteuern. Über eine Variable wird bei der Einfahrt der Zugtyp abgespeichert. Durch einen Abruf der Variable in der Ereignisverwaltung kann nun je nach einfahrendem Zug eine Weiche entsprechend geschaltet werden.

Das 3D-Modellbahn Studio unterscheidet zwischen globalen Variablen und Objektvariablen. Eine globale Variable besitzt einen einfachen Namen und existiert in der Ereignisverwaltung nur einmal. Eine Objektvariable hingegen ist an ein konkretes Objekt gebunden, kann dadurch für verschiedene Objekte verschiedene Werte speichern. Objektvariablen haben die Form "Objektname.Variablennamen". Globale und Objektvariablen können beliebig vom Nutzer erzeugt und festgelegt werden. Während globale Variablen z.B. in der Ereignisverwaltung unter "Aktive Countdowns und Variablen" erzeugt werden, werden Objektvariablen direkt beim entsprechenden Objekt angelegt. Hierfür steht im Eigenschaftsfenster am rechten Rand die Schaltfläche zur Verfügung, mit der für jedes Objekt beliebige Variablen definiert werden.

Achten Sie darauf, Objekten eindeutige Namen zu vergeben, wenn Sie mit Objektvariablen arbeiten, da ansonsten das 3D-Modellbahn Studio die Variablen nicht zuordnen kann, wenn mehrere Objekte den gleichen Namen verwenden.

Ein Zugriff auf den Wert einer Variable erfolgt in der Ereignisverwaltung über den Namen der Variable (für Objektvariablen entsprechend mit Objektname.Variablenname). Alle Eigenschaften von Ereignissen, Bedingungen und Aktionen, die über ein Textfeld konfiguriert werden (z.B. der Wert des Ereignisses "Variable wird gesetzt" oder die Geschwindigkeit der Aktion "Lokgeschwindigkeit setzen", erlauben die Angabe von Variablen anstatt der konkreten Werte. Statt also eine konkrete Lokgeschwindigkeit anzugeben, kann auch der Name einer Variable gesetzt werden, wodurch das 3D-Modellbahn Studio die tatsächliche Geschwindigkeit aus der Variable entnimmt.

Einige Felder erlauben sowohl die Angabe von konkreten Zahlen oder Zeichenketten, wie auch den Namen einer Variable (wie z.B. die benutzerdefinierte Objektauswahl oder das Setzen von Beschriftungen). Fügen Sie bei der Angabe von Variablen ein Dollarzeichen ($) vor den Namen ein, um dem 3D-Modellbahn Studio zu verdeutlichen, dass es sich bei der folgenden Zeichenkette um den Namen einer Variable handelt, und nicht um den tatsächlichen Wert.

Das 3D-Modellbahn Studio unterstützt das Verschachteln von Objektvariablen, d.h. der Name eines Objektes kann selber Teil einer Variable sein. Objektnamen, die aus einer Variable stammen, werden durch Klammern umschlossen. Beispiele:

  • (Var).Geschwindigkeit - Die Objektvariable "Geschwindigkeit" wird aus dem Objekt ausgelesen, dessen Name in der globalen Variable "Var" enthalten ist
  • (Name.Var).Geschwindigkeit - Die Objektvariable "Geschwindigkeit" wird aus dem Objekt ausgelesen, dessen Name in der Objektvariable "Var" enthalten ist, die zum Objekt "Name" gehört
  • ((Var2).Var).Geschwindigkeit - Die Objektvariable "Geschwindigkeit" wird aus dem Objekt ausgelesen, dessen Name in der Objektvariable "Var" enthalten ist, die zu dem Objekt gehört, dessen Name in der globalen Variable "Var2" gespeichert ist

Durch Verwendung von variablen Objektnamen kann auf Objektvariablen zugegriffen werden, ohne das konkrete Objekt zu kennen. Der Name des fraglichen Objektes könnte z.B. ein paar Sekunden vorher durch einen Countdown zwischengespeichert worden sein.

Neben den benutzerdefinierten Objektvariablen existieren auch vordefinierte Variablen, die vom 3D-Modellbahn Studio fest vorgegeben sind. Diese sind:

  • _Time: Liefert die aktuelle Simulationszeit im Format hh:mm zurück
  • _RandomX: Liefert eine Zufallszahl zwischen 1 und X zurück
  • _RandomX-Y: Liefert eine Zufallszahl zwischen X und Y zurück
  • Objektname._Name: Liefert den Namen des Objektes zurück
  • Objektname._Visible: Liefert die Sichtbarkeit des Objektes zurück (0 für unsichtbar, 1 für sichtbar)
  • Objektname._State: Liefert den Schaltzustand von Weichen, Signalen und Schaltern als Zahl zurück, wobei 0 für den ersten Zustand und N - 1 für den letzten Zustand zurückgegeben wird (N = Anzahl der Zustände)
  • Objektname._CurrentSpeed: Liefert die aktuelle Ist-Geschwindigkeit des Objektes in mm/s zurück (falls es sich bei dem Objekt um eine Lok handelt, ansonsten wird 0 zurückgegeben)
  • Objektname._TargetSpeed: Liefert die Ziel-Geschwindigkeit des Objektes in mm/s zurück (falls es sich bei dem Objekt um eine Lok handelt, ansonsten wird 0 zurückgegeben)
  • Objektname._Text: Liefert den Textinhalt eines Beschriftungsobjektes.

6.1. Auslöser

Ein weiteres Konzept zur Vereinfachung der Ereignisverwaltung stellen die Auslöser dar, die eng mit den Variablen verknüpft sind. Unter einem Auslöser (engl. "Trigger") wird in der Ereignisverwaltung das Objekt bezeichnet, dass das Ereignis ausgelöst hat bzw. mit der Auslösung eng verbunden ist. Betritt z.B. eine Lok ein neues Gleis, dann gilt die Lok und das Gleis als Auslöser. Bei der Konfiguration der Bedingungen und Aktionen können statt realer Objekte die Auslöser gewählt werden, wodurch ein Ereignis "parametrisiert" wird. Beispiel: Die Aktion "Lokgeschwindigkeit setzen" soll jede Lok, die den Bahnhof verlässt (also ein Gleis verlässt), auf eine für jeden Zug unterschiedliche Geschwindigkeit beschleunigen. Anstatt für jeden Zug auf der Anlage nun ein Ereignis zu definieren, genügt die Angabe eines einzelnen Ereignisses, mit einer parametrisierten Aktion. Statt eine konkrete Lok zu wählen, wird im Auswahldialog für die Lok der Eintrag "Auslöser 1: Lok" gewählt, was nichts anderes bedeutet, also dass sich die Aktion "Lokgeschwindigkeit setzen" immer automatisch auf die Lok bezieht, die das Ereignis ausgelöst, in diesem Fall also den Bahnhof verlassen hat.

Auf die auslösenden Objekte kann neben der Auswahlliste auch per Variable zugegriffen werden. Durch den vom 3D-Modellbahn Studio vorgegebenen Objektnamen "_Trigger1", "_Trigger2" usw. kann auf eine Objektvariable zugegriffen werden, die sich auf das auslösende Objekt bezieht. Im Falle der "Lokgeschwindigkeit setzen"-Aktion lässt sich z.B. mittels "_Trigger1.Speed" eine Geschwindigkeit setzen, die in der Variable "Speed" der aus dem Bahnhof ausfahrenden Lok hinterlegt ist.

Im Folgenden werden die vorhandenen Trigger aufgelistet:

Animation gestartet/gestoppt    
  _Trigger1 Name des Objektes, dessen Animation gestartet/gestoppt wurde
  _Trigger2 Name der Animation, die gestartet/gestoppt wurde
Countdown läuft ab    
  _Trigger1 Name des Countdowns, der abgelaufen ist
Ereignis/Gruppe wird aktiviert/deaktiviert    
  _Trigger1 Name des Ereignisses/Gruppe, das/die aktiviert/deaktiviert wurde
  _Trigger2 Neuer Aktivierungszustand als Zahl (0 = deaktiviert, 1 = aktiviert)
Kran hat Transportgut aufgenommen/abgesetzt    
  _Trigger1 Name des Krans
  _Trigger2 Name des Transportguts
Schalter wird betätigt    
  _Trigger1 Name des Schalters
  _Trigger2 Neuer Schalterzustand als Zahl
Signal schaltet    
  _Trigger1 Name des Signals
  _Trigger2 Neuer Signalzustand als Zahl
Variable wird gesetzt    
  _Trigger1 Name der Variable
  _Trigger2 Neuer Wert der Variable
Weiche schaltet    
  _Trigger1 Name der Weiche
  _Trigger2 Neue Weichenposition als Zahl
Zug betritt ein Gleis    
  _Trigger1 Name der Lok, die das Gleis betritt
  _Trigger2 Name des Gleises
Zug verlässt ein Gleis    
  _Trigger1 Name der Lok, die das Gleis verlässt
  _Trigger2 Name des Gleises

7. Tipps und Tricks

Mit Hilfe von Ereignissen lässt sich sehr komfortabel und schnell ein Bahnbetrieb simulieren. Der folgende Abschnitt gibt zusätzliche Tipps und Tricks, wie durch Kombination von mehreren Ereignissen, Bedingungen und Aktionen völlig neue Abläufe geplant werden können:

  • Legen Sie eine Aktion "Countdown starten" in einem Ereignis fest und setzen Sie die Dauer auf eine Sekunde sowie auf einen automatischen Neustart. Erzeugen Sie ein Ereignis, welches beim Beenden des Countdowns ausgelöst wird. Fügen Sie dem Ereignis eine Aktion "Variable setzen" hinzu und setzen Sie den Wert auf +1. Sie erhalten mit diesem Trick eine Variable, die sekündlich ihren Wert ändert und als Zeitgeber genutzt werden kann. Solch eine Variable kann z.B. zur Umsetzung einer Fahrplansteuerung herangezogen werden. Ändern Sie die Dauer des Countdowns, um die Zeit zu verlangsamen oder zu beschleunigen.
  • Fügen Sie einen Kippschalter zur Anlage hinzu und konfigurieren Sie ein Ereignis, welches beim Betätigen des Schalters ausgelöst wird. Fügen Sie eine Aktion hinzu, die die oberste Ereignisgruppe entsprechend der Schalterstellung aktiviert oder deaktiviert. Durch diesen Trick können Sie mit einem Schalter den gesamten Bahnbetrieb starten, ohne jedes Ereignis einzeln zu aktivieren.
  • Der Dialog zur Konfiguration einer Ereignisgruppe oder eines Ereignisses enthält eine Schaltfläche "Kommentare", mit der Sie beliebige Anmerkungen zur Gruppe oder zum Ereignis hinterlassen können. Diese Kommentare werden zusätzlich in der Ereignisverwaltung als Hinweis angezeigt, wenn Sie mit der Maus über einen Ereigniseintrag gehen.

Falls Sie noch weitere Tipps und Tricks für die Umsetzung eines automatisierten Bahnbetriebs suchen, so stellt das Forum weitere Hilfen zur Verfügung. Gern können Sie dort auch Ihre eigenen Tipps und Tricks veröffentlichen und Ihre Ideen den anderen Nutzern des 3D-Modellbahn Studios präsentieren.