Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

BahnLand

Mitglieder
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von BahnLand

  1. Hallo m.weber, Bild 1: korrekt Bild 2: Name: korrekt; Wert: falsch! - muss korrekt $_Trigger1._CurrentSpeed lauten! Bild 3: korrekt Bild 4: falsch (korrekt ist Bild 3) Die im Modellbahn-Studio vordefinierten "System"-Variablen (also Variablen, die vom Modellbahn-Studio vorgegeben sind), beginnen alle mit einem Unterstrich. "_Trigger1" ist hierbei in den Ereignisdefinitionen "Zug betritt Gleis" und "Zug verlädst Gleis" die vom MBS bereitgestellte Referenz auf das angetriebene Fahrzeug des das Ereignis auslösenden Zuges. Mit dem Voranstellen des $-Zeichens greift man auf dessen Inhalt zu. Wenn das Triebfahrzeug des das Ereignis auslösenden Zuges "Zuglok" hieße, würde das MBS beim Bearbeiten des ausgelösten Ereignisses "$_Trigger1" durch "Zuglok" ersetzen. "_Trigger1._CurrentSpeed" ist die vom MBS bereitgestellte Objektvariable bei den beiden oben genannten Ereignisdefinitionen, welche die beim Eintritt des Ereignisses gültige aktuelle Geschwindigkeit der über "_Trigger1" referenzierten Lok enthält. Auch hier greift man durch Voranstellen des $-Zeichens auf deren Inhalt zu. Besäße also die Lok mit der Bezeichnung "Zuglok" die aktuelle Geschwindigkeit 100 mm/s, würde das MBS den Begriff "$_Trigger1._CurrentSpeed" durch "100" ersetzen. Die Fomulierung "$_Trigger1.speed" ist ebenfalls zulässig, wenn der durch "$_Trigger1" referenzierten Lok (im obigen Beispiel "Zuglok") eine Objektvariable "speed" zugewiesen ist. Wenn also beispielsweise die Lok mit dem Namen "Zuglok" die Objektvariable "Zuglok.speed" besitzt, und dieser zuvor ein fester Wert "Zuglok.speed = 200" zugewiesen zugewiesen wurde, dann wird beim Auswerten eines der obigen Ereignisse durch das MBS anstelle der in der zugehörigen Definition hinterlegten Referenz "$_Trigger1.speed" der Wert "200" verwendet. Diese fest vordefinierte Geschwindigkeit ist jedoch nicht mit der mittels "$_Trigger1._Currentspeed" festzustellenden aktuellen Geschwindigkeit des das Ereignis auslösenden Zuges zu verwechseln! Viele >Grüße BahnLand
  2. Hallo Lobo, aus der Größe 3,42 MB dieser Textur-Datei schließe ich, dass diese mindestens 1024 x 1024 Pixel groß ist. Das muss für dieses Mauerwerk nicht sein. Versuche mal die Textur auf 256 x 256 Pixel zu verkleinern. Dann würde sich ihre Größe auf etwa 1/16 (etwa 193 KB) reduzieren. Wenn Du die Textur gar auf 128x128 Pixel verkleinern würdest, hättest Du sogar eine Reduktion auf 1/64 (etwa 49 KB). Dies gilt für das BMP-Format. Liegt die Texturdatei in einem anderen Grafikformat vor, ist sie vermutlich noch größer. Dann wäre auch die Ersparnis bei der Verkleinerung auf die oben genannten Maße entsprechend höher. Möglicherweise ist die 128x128-Größe etwas zu klein für dieses Mauer-Muster (wird auf dem Gebäude dann möglicherweise etwas zu grob und verwaschen dargestellt). Aber 256x256 Pixel sollten eigentlich "ausreichen". Probier es einfach mal aus. Viele Grüße BahnLand
  3. Hallo Toni, ich vermute, dass Du das Fahrgestell als Ganzes mit "Radanim" bezeichnet hast. Du musst aus jedem Radsatz eine eigene Gruppe bilden (so heißt es zumindest bei Sketchup) und diese dann mit RadAnim0, RadAnim1, ... usw. bezeichnen, wobei mit dem Suffix die einzelnen Radsatz-Gruppen unterschieden werden. Dann müsste es nach meinem Verständnis funktionieren. Viele Grüße BahnLand
  4. Hallo, ich glaube, auch ich muss mich mal wieder für die "Gefällt mir"-Klicks und die positiven Kommentare bedanken - was ich hiermit tue. @Hans, ja, bei der Gotthard-Anlage ist die EV um einiges größer - aber auch noch lange nicht fertig - ich brauchte mal ne "Auszeit". Manchmal ist es ganz gut, "mehrere Eisen im Feuer" zu haben oder zwischenzeitlich auch mal was anderes zu machen. Sonst wachsen einem ja die Scheuklappen vollends zu, Aber irgendwann werde ich auch mit der Gotthard-Anlage wieder etwas weiter voran kommen, Viele Grüße BahnLand
  5. Hallo Lobo, auch wenn Schlagerfuzzi Dir das mit der Frau zutraut (), vermute ich eher, dass es eventuell an Deinen verwendeten Texturen liegt. Ich schätze mal, dass die Texturen, die Du bei der Schule verwendet hast, "einfacher gestrickt" sind als jene bei der Dampfmolkerei. Denn die Größen der (beim Erstellen der mbe-Dateien komprimierten) Texturen spielen bei der Gesamtgröße des mbe-Modells eine wesentliche Rolle. Ich möchte dies einmal an einem kleinen Beispiel mit meinem "Lokomotiv-Zylinder" demonstrieren: Ich habe dazu das obige "Lokomotiv-Zylinder-Modell" zwar mit demselben Textur-Motiv, aber in verschiedenen Format-Ausprägungen belegt. Die unkompprimierte BMP-Datei belegt hiervon den meisten Speicherplatz. Die PNG-Datei hat bei diesem Beispiel sehr gut komprimiert, weil das Originalbild (BMP) im Wesentlichen aus großen einfarbigen Teilflächen und regelmäßigen Farbübergängen besteht, die speziell im PNG-Format besonders gut komprimiert werden können. Das JPG-Format komprimiert allgemein sehr gut, ist aber bei diesem speziellen Bild trotzdem nicht so "effektiv" wie die PNG-Komprimierung. Das JPG-Format besitzt außerdem die schlechte Eigenschaft, dass beim Komprimieren Datenverluste entstehen, die im Nachhinein nicht mehr rückgängig gemacht werden können (die PNG-Komprimierung ist verlustfrei und damit hieraus auch das "Originalbiold" wieder rekonstruierbar). Schaut man sich nun die aus den oben gezeigten Zylinder-Modellen exportierten mbe-Dateien an, stellt man fest, dass das Modell mit der nicht komprimierten BMP-Datei den geringsten Speicherplatz benötigt, der von der mbe-Datei mit dem JPG-Bild sogar um mehr als 3-fache "überboten" wird. Woran das liegt, erkennt man, wenn man sich die in den mbe-Dateien "versteckten" Textur-Dateien - nun in das DDS-Format umgewandelt - betrachtet: Die Umwandling der Grafik-Dateien in das DDS-Format stellt ebenfalls eine Komprimierung dar. Da die BMP-Datei unkomprimiert ist, fällt hier der Komprimierungs-Effekt am stärksten aus (Spalte "Gepackte Größe"). Er liegt etwa in der Größenordnung der Umwandlung vom BMP- in das PNG-Format. Bei den im PNG- und JPG-Format eingebrachten Bildern findet dagegen nur noch eine minimale Komprimierung statt. Dies liegt an den beiden Formaten, die durch die bereits erfolgte Reduzierung der Datei gegenüber dem unkomprimerten BMP-Format keine größeren Bereiche mehr besitzen, die aufgrund von identischen Bit-Mustern noch in großem Maße weiter reduziert werden könnten. Was ich damit ausdrücken möchte: Es hängt sehr stark vom Inhalt der Textur und vom verwendeten Grafik-Format und natürlich von der Bildgröße (Breite x Höhe) ab, inwieweit sich deren Größe durch die beim Erstellen der mbe-Datei erfolgende Umwandlung in das DDS-Format reduzieren lässt. Natürlich fließt daneben auch die Bildgröße (d.h. die Flächenmäßige Ausdehnung des Texturbildes) in die Größe der mbe-Datei mit ein. Es sind also die Anlzahl der Polygone und der Materialien nicht die einzigen Faktoren, welche die Größe der etstellten mbe-Datei bestimmen. Aber man kann möglicherweise durch die Auswahl der Texturbilder und deren Grafikformat die Größe der mbe-Datei beeinflussen. Viele Grüße BahnLand
  6. BahnLand antwortete auf Korianders Thema in Anlagen
    Hallo Koriander, ich bin begeistert! Ich kann mir sehr gut vorstellen, dass das Drehen dieses Flms nicht nur sehr viel Arbeit, sondern auch sehr viel Spaß gemacht hat. Das macht richtig Lust auf mehr! Viele Grüße BahnLand
  7. Hallo Hans, bei "privaten Nachrichten" im MBS-Forum kannst Du grundsätzlich keine Dateianhänge oder Bilder hinzufügen. Hier gehen nur Links. Wenn Du die Datei via Mail verschickst (Ziel-Adresse xyz@dingsbums.com), hat das nichts mit dem MBS-Forum zu tun. Das bekommt dann von dieser als Mail verschickten Nachricht nichts mit. Viele Grüße BahnLand
  8. Hallo zusammen, auf einen Wunsch hin habe ich eine kleine Demo-Anlage erstellt, bei der demonstriert werden soll, wie man einen von mehreren Stellen aus befahrbaren Gleisabschnitt jeweils genau einem anfordernden Fahrzeug(verband) zuordnen kann, ohne dass es zwischen möglichen Konkurrenten zu Konflikten kommt. Außerdem soll gezeigt werden, wie man Züge, deren Triebfahrzeug sich nicht an der Zugspitze befindet, an einem Signal korrekt anhält und auch wieder erfolgreich startet. In diesem Zusammenhang habe ich auch die wichtigsten Variationen der Variablen-Nutzung (globale Variable und Objektvariable) angewendet. Die Anlage steht - sobald sie von Neo freigegeben wurde - im Online-Katalog unter der Bezeichnung "Demo-Anlage Gleisbelegung" in der Kategorie "Experimentelle Anlagen" bereit und ist auch hier als mbp-Datei beigefügt. Demo-Anlage Gleisbelegung.mbp Die Anlage wird mit dem Schalter rechts gestartet und gestoppt, wobei die in Fahrt befindlichen Züge nach dem Ausschalten der Anlage noch bis zum geschlossenen Signal weiter fahren. Die Anlage besteht aus 5 Gleisovalen, die sich im Vordergrund zu einer eingleisigen Engstelle vereinigen. Das Befahren dieses Gleisabschnitts ist von beiden Seiten an den einmündenden Gleisen durch Signale abgesichert. Die Aufgabe besteht nun darin, die sich von beiden Seiten nähernden oder an den Signalen wartenden Züge hintereinander durch die Engstelle zu lotsen, ohne dass es zu einem Zusammenstoß kommt. Ferner ist in den eingesetzten Zügen das angetriebene Fahrzeug teilweise nicht an erster Stelle eingereiht: Bei der mit dem Schlepptender voraus fahrenden Dampflok folgt das "angetriebene" Fahrzeug erst an zweiter Stelle. Bei dem geschobenen Wendezug befindet sich das "angetriebene" Fahrzeug am Ende des Zuges. Trotzdem soll der jeweilige Zug ordnungsgemäß mit dem ersten Fahrzeug an der Zugspitze am Halt zeigenden Signal zum Stehen kommen und dort auch wieder erfolgreich gestartet werden können. Dies wird realisiert, indem man bei der Einfahrt des Zuges in den Gleisabschnitt vor dem Signal dessen "Triebfahrzeug" identifiziert und die Geschwindigkeitszuweisung an den Zug nicht über die Nennung des Gleises, auf dem sich das Triebfahrzeug befindet, sondern über den Namen des Triebfahrzeugs realisiert. Die Realisierung beider Aufgaben soll nun anhand der für diese Anlage bereitgestellten Ereignissteuerung erklärt werden. Für deren Realisierung wurden auf der Anlage selbst folgende Vorbereitungen getroffen: Für jeden zu einem Signal führenden Gleisabschnitt gibt es in Fahrtrichtung gesehen ein "Bremsgleis" (grau), ein "Haltegleis" neben dem Signal (beige) und ein "Einfahrgleis" (ebenfalls grau) für aus der Gegenrichtung in das Gleis einfahrende Züge. Der eingleisige Engpass einschließlich der angrenzenden Weichen (dunkelbraun eingefärbt) darf zu einem Zeitpunkt immer nur von einem Zug befahren werden. An beiden Enden dieses Abschnitts gibt es noch für die äußeren Gleise jeweils ein "Weichengleis" zur Bestimmung der Fahrtrichtung des passierenden Zuges (im Zusammenhang mit der jeweils inneren Dreiweg-Weiche), deren Aufgabe für die mittleren Gleise durch die äußeren Dreiweg-Weichen übernommen wird. Sowohl diese Gleise als auch die zugehörigen Signale sind mit einem Suffix gekennzeichnet, der von außen nach innen die Nummer des Gleisrings und ein "L" oder "R" für die linke oder rechte Signalgruppe auf der Anlage enthält ("Haltegleis 1L" ist das Haltegleis des äußeren Rings in der linken Signalgruppe, "Signal3R" das mittlere Signal in der rechten Signalgruppe). Für die Triebfahrzeuge der eingesetzten Züge wurden "sprechende Namen" vergeben: "V 200 ziehend" = Diesellok des Schnellzugs "E 40 schiebend" = Elektrolok des Wendezugs "BR 50 Tender voraus" = "falsch herum" vorgespannte Schlepptender-Dampflok des Nahverkehrszugs "BR 44 Kessel voraus" = "richtig herum" eingesetzte Dampflok des Güterzugs Jedem Triebfahrzeug sind die nachfolgend aufgelisteten Objekt-Variablen zu geordnet. Hierbei steht "VSoll" für die dem Zug zugeordnete Reisegeschwindigkeit, "VBrems" für die reduzierte Geschwindigkeit bei Annäherung an ein Signal und "Prio" für die Priorität, mit welcher dem jeweiligen Zug am Signal die Berechtigung zur Einfahrt in die eingleisige Engstelle zugeteilt werden soll. Der eingetragene Wert gibt hierbei die Sekunden(-Bruchteile) an, welche abgewartet werden sollen, bevor die Einfahr-Berechtigung "angefordert" wird (ein höherer Wert zeigt also eine niedrigere Priorität an). Ein negatives Vorzeichen bei den Geschwindigkeiten zeigt eine "Rückwärtsfahrt" des betroffenen Triebfahrzeugs an. Diese vorgegebenen Werte für jedes Triebfahrzeug können im "Variablen-Fenster" der Ereignisverwaltung jederzeit individuell modifiziert werden, ohne dass es hierfür eines Eingriffs in die Ereignissteuerung bedarf. Die vordefinierte globale Variable "Gleisbelegung" kennzeichnet den "Lock" für die Serialisierung der miteinander um die Einfahr-Berechtigung in die eingleisige Engstelle konkurrierenden Züge. Weitere globale Variablen und Objekt-Variablen werden dynamisch angelegt und bei den einzelnen Ereignisdefinitionen beschrieben. Die Ereignissteuerung selbst ist in verschiedene Gruppen unterteilt, wobei die Ereignisdefinitionen für die Fahrten durch die Gleisringe für jeden Ring und jede Fahrtrichtung des Zuges entsprechend dem hierbei die Fahrt beeinflussenden Signalabschnitt mit den Suffixen 1L bis 5R gekennzeichnet sind. Die Funktionalitäten dieser Ereignisgruppen sind identisch, sodass es genügt, hier beispielhaft die Ereignisdefinitionen der Ereignisgruppe "Gleis 3L" zu betrachten. Daneben gibt es noch einige "globale" Ereignisdefinitionen, die nicht einer der Signalabschnitt-spezifischen Ereignisgruppen zuzuordnen sind. Diese werden bei Bedarf in die Beschreibung des chronologischen Ablaufs der Ereignisgruppe "Gleis 3L" eingeflochten. 3La Einfahrt in Ringgleis - Deaktivierung Gegenrichtung Der Ablauf der Ereignisfolge der Gruppe "Gleis 3L" beginnt mit der Einfahrt nach rechts in den Gleisring 3, um nach dem Durchfahren des Rings in den Gleisabschnitt vor dem "Signal3L" in der Signalgruppe links zu gelangen. Mit der Einfahrt werden die Ereignisdefinitionen für die Gegenrichtung (Gruppe "Gleis 3R") und die Weichenstraßen in diesen Gleisring (Ereignisdefinition "Fahrstraße 3") deaktiviert. Damit kann dieses Ereignis insbesondere nicht von in die Gegenrichtung fahrenden Zügen ausgelöst werden. 3Lb Einfahrt Bremsgleis Bei der Einfahrt in das Bremsgleis wird der Name der den Zug antreibenden Lok identifiziert ($_Trigger1._Name) und für eine spätere Verwendung in eine Variable abgespeichert. In diesem Beispiel ist dies die Objektvariable "SignalL3.Triebfahrzeug" des Signals "SignalL3". Man hätte hierfür aber auch eine "einfache" Variable verwenden können (in der Ereignisdefinition "1Rb" ist dies die Variable "Triebfahrzeug1R"). Bei der Geschwindigkeitszuweisung in der zweiten Aktion wird als "Adressierung" des Triebfahrzeugs nicht das Gleis, sondern der Name des Treibfahrzeugs verwendet. So wird das Triebfahrzeug immer "getroffen", unabhängig davon, an welcher Position im Zug es eingereiht ist. In der betrachteten Ereignisdefinition wird für den Triebfahrzeug-Namen der Inhalt der unmittelbar zuvor versorgten Variable ("$Signal3L.Triebfahrzeug") herangezogen. Es hätte stattdessen aber auch der Inhalt "$_Trigger1._Name" (wie beispielsweise in Ereignisdefinition "1Lb") oder die Information "[Auslöser 1: Lok]" (wie in Ereignisdefinition "3Lc") verwendet werden können. Alle 3 Varianten sind hier gleichwertig. Als zuzuweisende Geschwindigkeit wird die in der Objekt-Variablen "VBrems" des einfahrenden Treibfahrzeugs, welches durch die Variable "Signal3L.Triebfahrzeug" repräsentiert wird, herangezogen. Die Referenz dieser Geschwindigkeit erfolgt über den Ausdruck "$(Signal3L.Triebfahrzeug).VBrems". 3Lc Einfahrt Haltegleis Bei der Einfahrt des Zuges in das Haltegeis wird dessen Triebfahrzeug auf die Geschwindigkeit "0" abgebremst und somit angehalten. Die Adressierung der Lok erfolgt hier analog zur Ereignisdefinition "3Lb". In der nächsten Aktion wird eine lokale Prioritäts-Variable (kann wieder als Objekt-Variable oder "einfache" Variable realisiert sein) mit der für das Triebfahrzeug des anhaltenden Zuges vordefinierten Priorität initialisiert. Diese Priorität bestimmt, ob der Zug bei der Zuteilung der Einfahr-Berechtigung in die eingleisige Engstelle gegenüber anderen Konkurrenten eher bevorzugt (kleiner Wert) oder benachteiligt wird (großer Wert). Immer wenn ein Zug die Engstelle verlässt, wird ein Ereignis "Gleisbelegung wird frei" erzeugt, das alle vor den geschlossenen Signalen konkurrierend wartenden Züge veranlasst, sich (erneut) um die Zuteilung der Einfahr-Berechtigung zu "bewerben". War die Bewerbung erfolglos, wird der Prioritätswert um einen kleinen Betrag abgesenkt, um beim nächsten Versuch eine "bessere Ausgangsposition" (eine höhere aktuelle Priorität) zu haben. Der Initialisierungswert für die Priorität muss für alle Konkurrenten mindestens so hoch sein, dass die Anzahl der Absenkungsschritte bis zum Wert "0" (höchstmögliche Priorität) die Anzahl der theoretisch maximal gleichzeitig auf die Zuteilung der Einfahr-Berechtigung wartenden Konkurrenten übersteigt. Nur so kann gewährleistet werden, dass auch der Zug mit der niedrigsten Ausgangs-Priorität (dem höchsten Initialwert) in absehbarer Zeit den Zuschlag bekommt und nicht "verhungert". Solange sich auf dem Haltegleis kein Zug befindet, der die Einfahr-Berechtigung erwartet, darf die nachfolgende Ereignisdefinition "3Ld", in welcher der "Bewerbungszyklus" angestoßen wird, nicht ausgelöst werden. Deshalb ist diese normalerweise deaktiviert. Mit der Ankunft des Zuges im Haltegleis ist jedoch die Voraussetzung für die Bewerbung um die Einfahr-Berechtigung erfüllt, weshalb mit der nächsten Aktion die Ereignisdefinition "3Ld" aktiviert wird. Ist die Engstelle bereits frei, wenn der Zug auf dem Haltegleis zum Stehen kommt, wird das Ereignis "Gleisbelegung wird frei" auch nicht mehr erzeugt. Deshalb stößt der im Haltegleis angekommene Zug mit der letzen Aktion dieser Ereignisdefinition seine erste Bewerbung um die Einfahr-Berechtigung mit der "Ausgangs-Priorität" vorsorglich explizit selbst an (dies ist die Ereignisdefinition "3Le"). Sollte dann trotzdem noch das Ereignis "Gleisbelegung wird frei" eintreffen und deshalb die Bewerbung ein weiteres Mal gestartet werden, macht dies nichts aus. Denn sobald eine Bewerbung erfolgreich ist, "verpuffen" weitere Bewerbungen so lange automatisch, bis die Engstelle erneut freigegeben wird. 3Ld Erkennung Freigabe Gleisbelegung Diese Ereignisdefinition ist nur aktiv, wenn sich auf dem Haltegleis ein ausfahrbereiter Zug befindet. Wird nun das Ereignis "Gleisbelegung wird frei" erkannt (dieses wird durch Zuweisung des Werts "frei" an die "Lock"-Variable "Gleisbelegung" realisiert), wird die Bewerbung um die Einfahr-Berechtigung in die Engstelle mit der durch den aktuellen Prioritätswert vorgegebenen Wartezeit angestoßenen und dieser Wert - falls er noch nicht "0" ist - um eine Wertstufe reduziert. Ist das Haltegleis nicht belegt und deshalb diese Ereignisdefinition nicht aktiviert, springt die Bewerbung um die Einfahr-Berechtigung nicht an. 3Le Lockanforderung Durch den Anstoß dieser Ereignisdefinition (durch das Anhalten des Zuges auf dem Haltegleis (3Lc) oder das Erkennen der frei gewordenen Engstelle (3Ld)) wird die Bewerbung um die Einfahr-Berechtigung in die Engstelle gestartet. Diese Berechtigung wird dadurch erlangt, dass man sich einen "Lock" reserviert, und dessen exklusiver Besitz diese Berechtigung darstellt. Der Lock wird durch die globale Variable "Gleisbelegung" repräsentiert, wobei der Lock genau dann belegt (reserviert) ist, wenn die Variable nicht den Inhalt "frei" besitzt. Jeder Konkurrent versucht nun, wenn der diese "Lock-Variable" als "frei" erkannt hat, den Lock zu ergattern, indem er selbst seine eigene Lock-Information dort hinterlegt. Im vorliegenden Beispiel ist dies der Wert "Zug aus Gleis 3L", der besagt, dass der Lock diesem Zug zugeteilt ist, und damit dieser die Berechtigung hat, in die Engstelle einzufahren. Da alle Konkurrenten dasselbe Verfahren benutzen, um den Lock zu erhalten, kann derjenige, der letztendlich seinen Wert in der Lock-Variable "Gleisbelegung" hinterlegen konnte, sicher sein, dass der die Engstellen passieren kann, ohne hierbei von anderen Konkurrenten beeinträchtigt zu werden. Erst wenn er selbst die Engstelle verlassen und dann den Inhalt "frei" in die Lock-Variable zurückgeschrieben hat, können die verbliebenen Konkurrenten erneut versuchen, selbst den Lock zu reservieren und damit die Einfahr-Berechtigung in die nun wieder freie Engstelle zu erhalten. Leider ist die in der Ereignisdefinition "3Le" hinterlegte Prüf- und Schreib-Sequenz nicht "atomar". Es kann daher nicht mit Sicherheit ausgeschlossen werden, dass sich ein anderer Lese- oder sChreibzugriff auf diese Lock-Variable dazwischen mogelt. Das Prüfen der Lock-Variable "Gleisbelegung" auf den Wert "frei" kann also durch mehrere Konkurrenten erfolgen, bis der erste Prüfer die Lock-Variable mit seinen eigenen Wert überschrieben hat. Erst ab diesem Zeitpunkt wird jede neue Prüfung verhindern, dass der jeweils neue Prüfer anschließend seinen eigenen Wert in die Lock-Variable schreibt. Alle jene Konkurrenten, bei denen zuvor die Prüfung noch den Wert "frei" ergab, schreiben demnach ihren Wert in die Lock-Variable, die letztendlich den Wert jenes Konkurrenten beibehält, dessen Schreibvorgang zuletzt realisiert wurde. Deshalb kann sich jeder, der die Lock-Variable in dieser Ereignisdefinition mit seinem Wert überschrieben hat, zu diesem Zeitpunkt nicht sicher sein, dass er den Lock auch tatsächlich besitzt, der Lock-Variablen-Wert also danach nicht noch von einem anderen Konkurrenten überschrieben wurde. Es muss daher nach dem Schreiben noch die Phase des möglichen Überschreibens des eigenen Wertes durch andere Konkurrenten abgewartet werden, bevor man nochmals überprüfen kann, ob wirklich noch der eigene Wert in der Lock-Variable steht. Auch wenn der Prüf-Schreib-Zyklus in dieser Ereignisdefinition nicht atomar ist, ist die Zeitdifferenz zwischen der Prüfung und dem (bedingten) Überschreiben doch sehr kurz. Ein Überschreiben des eigenen Werts in der Lock-Variablen ist daher nur durch solche Konkurrenten möglich, die vor dem eigenen Überschreiben noch den Wert "frei" in der Lock-Variablen vorgefunden haben. Da für deren Überschreiben der Lock-Variable dieselbe Zeitdifferenz gilt (gemessen ab deren Überprüfung), kann man davon ausgehen, dass nach einer an das eigene Überschreiben der Lock-Variable angefügten Wartezeit, welche diese Zeitdifferenz leicht überschreitet, keine Veränderung der Lock-Variable mehr stattfindet. Der zu diesem Zeitpunkt in der Lock-Variable vorgefundene Inhalt identifiziert also den tatsächlichen "Besitzer" des Locks. Bei der hier betrachteten Konfiguration der Anlage und der Ereignisverwaltung reichen 0,1 Sekunden aus, um diese Zeit zu überbrücken. Bei größeren Anlagen- und EV-Konfigurationen oder PCs mit geringerer Rechenkapazität muss diese "Lockwartezeit" möglicherweise verlängert werden. 3Lf Signalfreigabe Nach Ablauf der Lockwartezeit erfolgt an dieser Stelle eine nochmalige Prüfung, ob die Lock-Variable "Gleisbelegung" immer noch den zuvor dort hinterlegten eigenen Lock-Wert enthält. Nur wenn dies zutrifft, hat man den Zuschlag tatsächlich erhalten und kann deshalb das eigene Signal öffnen, um den Zug in die eingleisige Engstelle einfahren zu lassen. Fahrstraße 4 Außerhalb der Ereignisgruppen für die Gleise 1L bis 5R gibt es eine globale Gruppe, in der insbesondere die Fahrweg-Schaltungen (Weichen-Schaltungen) in die einzelnen Gleisringe realisiert sind. Ausgehend von der eingleisigen Engstelle gibt es für jeden Gleisring eine Ereignisdefinition "Fahrstraße n" (n = Nummer des Gleisrings), in der die Weichen für beide seitlichen Einfahrten in den Gleisring gestellt werden. Der Einfachheit halber werden die Fahrstraßen für beide Seiten gleichzeitig gestellt, auch wenn für jede Durchfahrt jeweils nur eine Richtung benötigt wird. Dass der in die Engstelle einfahrende Zug hierbei auch aus einem anderen Gleisring kommen kann, macht nichts, da bei der Einfahrt in die Engstelle falsch eingestellte Weichen automatisch "aufgeschlitzt" werden (muss in den Eigenschaften der Triebfahrzeuge so eingestellt sein). Das hier gezeigte Beispiel zeigt die Fahrstraßenschaltung für den Gleisring 4. Fährt ein Zug in den Gleisring n ein, wird die Ereignisdefinition "Fahrstraße n" in der ersten Ereignisdefinition der durchlaufenen Gleis-Gruppe automatisch deaktiviert. Verlässt der Zug den Gleisring n, wird sie in der letzten Ereignisdefinition dieser Gleis-Gruppe aktiviert. Damit ist sichergestellt, dass nach einem Durchlauf durch die Fahrstraßen-Schaltung immer nur ein Weg in einen freien Gleisring eingestellt ist. 3Lg Zugstart Das Öffnen des Signals "Signal3L" erfolgt in einer Phase, in welcher die Engstelle bereits exklusiv für den an diesem Signal stehenden Zug reserviert ist. Bevor der Zug tatsächlich gestartet wird, wird nun als Erstes die Einstellung des Fahrwegs in einen freien Gleisring angestoßen. Der Anstoß erfolgt über einen Countdown mit 0 Sekunden Wartezeit und wird von allen Ereignisdefinitionen "Fahrstraße n" (n = Nummer des jeweiligen Gleisrings) erkannt, die aktiviert sind. Bei der vorliegenden Anlagen-Konfiguration gibt dies immer genau eine aktivierte "Fahrweg-Definition". Nach der Fahrweg-Einstellung wird der Zug gestartet, wobei die dem Triebfahrzeug zuzuweisende Geschwindigkeit aus der vordefinierten Objekt-Variable "VSoll" des Triebfahrzeugs entnommen wird, dessen Name in der Variable "Signal3L.Triebfahrzeug" abgespeichert ist. Abschließend wird noch die Erkennung weiterer Gleisbelegungs-Freigaben durch Deaktivierung der Ereignisdefinition "3Ld" abgeschaltet. 3Lh Ausfahrt Nach dem Passieren des Signals wird dieses geschlossen und die Zwischenspeicherung des nun nicht mehr benötigten Triebfahrzeug-Namens gelöscht. 3Li Zuganzeige Diese Ereignisdefinition dient nur der veranschaulichenden Zuganzeige in diesem Anlagen-Beispiel und hat keinen Einfluss auf dessen Betriebsablauf. 3Lj Aktivierung Gegenrichtung Mit dem Verlassen des Gleisrings 3 werden sowohl die Ereignisgruppe "Gleis R3" für die Gegenrichtung als auch die Fahrstraßenschaltung für "Fahrstraße 3" für den nun freien Gleisring aktiviert. Engpassfreigabe rechts außen und Engpassfreigabe rechts innen Nachdem der Zug die eingleisige Engstelle und die zugehörigen Weichenfelder passiert hat, muss die Lock-Variable "Gleisbelegung" wieder freigegeben werden. Dies geschieht beim Verlassen des im ersten Bild ganz oben dunkelbraun eingefärbten Gleisbereichs über die Ereignisse "Zug verlässt Gleis" für die innere oder äußere Dreiweg-Weiche, abhängig davon, ob der Zug in einen der beiden äußeren Gleisringe oder in einen der 3 mittleren Gleisringe einfährt. Da diese Ereignisse nur beim Passieren der Weichen nach auswärts wirksam werden dürfen, muss hier über die Nachbargleise (entweder die andere Weiche oder die beiden "Weichengleise") die korrekte Fahrtrichtung als Bedingung berücksichtigt werden. Das Setzen der Variablen "Gleisbelegung" auf den Wert "frei" bewirkt dann bei den bereits auf die Einfahrt in die Engstelle wartenden Zügen die Bewerbung um die nächste Einfahr-Berechtigung. Hauptschalter Die Ereignisdefinition für den Hauptschalter liegt auf der globalen Ebene außerhalb aller Ereignisgruppen. Je nachdem, ob der Fahrbetrieb auf der Anlage ein- oder ausgeschaltet werden soll, wird die Ereignisgruppe "Freigabe Engpassbelegung" aktiviert oder deaktiviert, um die "Freigabe-Meldung" für die Engstelle zuzulassen oder zu unterbinden. Gleichzeitig wird die Lock-Variable "Gleisbelegung" explizit freigegeben (indirekter Anstoß der Bewerbung um die Einfahr-Berechtigung) oder durch einen eigenen Wert "gesperrt". Die Anlage kommt nach der Sperrung erst dann zum Stillstand, nachdem alle noch unterwegs befindlichen Züge an jeweils "ihrem" Signal angekommen sind. Viel Spaß beim Betrachten der Demo-Anlage und Durchforsten der Ereignisverwaltung sowie viel Erfolg beim Realisieren entsprechender eigener Ereignissteuerungen wünscht BahnLand
  9. Hallo Hans, Eine ZIP-Datei bindest Du im Forum genauso wie ein Bild ein, indem Du auf "Dateien auswählen" klickst uund danach die ZIP-Datei auswählst. Diese erscheint dann unter "Hochgeladene Dateien", wo Du sie entweder stehen lassen oder über den "+"-Button rechts an jeder Stelle Deines Beirags-Textes einfügen kannst. Viele Grüße BahnLand
  10. Hallo Eckard, nach dem, was man auf dem Video erkennen kann, ist Dir der Wasserfall sehr gut gelungen. Da schäumt und gischtet es ja richtig. Viele Grüße BahnLand
  11. Hallo Schalgerfuzzi, ja, das ist korrekt, weil die Textur beim Exportieren in die mbe-Datei des Modells mit aufgenommen wird. Viele Grüße BahnLand
  12. Hallo Hans, die Lösung ist folgende: Bereite das Modell aif Deiner Anlage vor, indem Du es so fertigstellst, wie Du es übergeben möchtest. Im obigen Beispiel habe ich einen einfachen Zylinder aus dem Grundkörper-Verzeichnis des Online-Katalogs mit einer Textur vom mir überzogen. Markiere dann das komplette Objekt und erstelle daraus ein fertiges Modell: In dem sich nachfolgend öffndenden Fenster kannst Du das Modell als mbe-Datei exportieren. Du brauchst dazu das Modell nicht einmal im Online-Katalog abspeichern (Button "Abbrechen", nachdem Du den Export ausgeführt hast), kannst dies aber trotzdem zusätzlich tun (Button "Weiter"). Die exportierte mbe-Datei enthält neben dem Objekt-"Körper" auch die Objekt-"Textur", sodass Du diese beim Veröffentlichen nicht extra hinzufügen musst. Du packst nun die mbe-Datei in eine zip-Datei und kannst diese dann in einem Forumsbeitrag von Dir als Anlage anhängen (so wie ich es hier mit dem texturierten Zylinder gemacht habe). Zylinder_mit_Bild.zip Wenn nun ein anderer Hobby-Kollege die mbe-Datei aus dem zip-Paket entpackt und in seinen privaten Teil des Online-Katalogs importiert, kann er das vollständige Modell (einscließlich der Textur) darstellen. Probier's einfach mal mit "meinem Zylinder" aus. Viele Grüße BahnLand
  13. Hallo FeuerFighter, ich drücke Dir alle Daumen, dass nächste Woche alles gut geht. Genieße vorher noch die Osterfeiertage! Danach wünsche Ich Dir, dass Du ganz schnell wieder "auf den Damm kommst". Viele Grüße BahnLand
  14. Halo rejokaa, damit dürftest Du der neue "Rekordhalter" bezüglich der Anlagengröße sein. Ich komme bei meiner Gotthard-Anlage zwar auf eine Gesamtlänge von 44 m (6 Bodenplatten aneinander gereiht), aber die Breite meiner Bodenplatten beträgt jeweils nur 6-8 m. Nur wenn man die Breite der Anlage über die Gesamtlänge misst, kommt man auf eine Gesamtbreite von 16 m, weil die einzelnen Platten - entsprechend dem Verlauf des Reußtals zwischen Erstfeld und Göschenen - seitlich gegeneinander verschoben sind. Die Gesamtfläche meiner Anlage (die Summe über alle 6 Bodenplatten-Flächen) beträgt 320 m². Dass Deine FPS-Zahl hierbei manchmal auch bei dieser Grafikkarte (scheint mir ein "Rolls Royce" unter den Grafikkarten zu sein) bis auf "5" absackt, wundert mich eigentlich nicht. Denn je nach Blickrichtung hast Du sehr sehr viele Einzelobjekte im Blickfeld (beispielsweise das riesige Gleisbildstellpult oder die aus vielen Partikeleffekten gebildete Wolkenformation. Ich kenne das von meiner Anlage: Sobald die Kamera (insbesondere die eines Cockpits) in eine Richtung schwenkt, wo fast die gesamte Anlage im Blickfeld ist, und damit insbesondere meine riesige Menge an Fahrzeugen erfasst wird, sackt die FPS-Rate ab (4-7). Wenn ich mir dagegen mit einer Kamera aus der Vogelperspektive nur einen Ausschnitt der Anlage betrachte (z.B. einen Bahnhof oder ein nicht zu großes Streckenstück wie der "3-Ebenen-Blick" bei Wassen), erreiche ich etwa 13-14 FPS (Nvidia Geforce GTX 950M 8GB). Viele Grüße BahnLand
  15. Hallo Hans, das ist wieder einmal eine sehr schöne Idee, die Du da in die Tat umgesetzt hast. Eine Geschwindigleits-abhängige Ereignisfunktion, an die Du das Ausschalten des zusätzlichen Rauches (oder Dampfes) knüpfen könntest, gibt es leider nicht. Wenn Du aber eine langsame kontinuierliche Beschleunigung über eine Geschwindigkeits-Variable und eine Countdown-Schleife realisierst, kannst Du die Geschwindigkeit des jeweiligen Beschleunigungsschritts erkennen und daran als Ausschalten des "Anfahr-Dampfes" knüpfen. Viele Grüße BahnLand
  16. Hallo Wüstenfuchs, das erste Video mit der Sicht von vor 60 Jahren ist wirkich beindruckend - vor allem, wenn man die Vorhersagen von damals mit der heutigen Situation vergleicht. Da hast Du wirklich einen guten Treffer gelandet (das zweite Video habe ich noch nichi angeschaut). Viele Grüße BahnLand
  17. Hallo Hermann, beim Starten oder Fortsetzen (nach einer Pause) des Video-Grabbers von Neo sollte immer die Animation ausgeschaltet sein, damit der von Dir beobachtete und von Wüstenfuchs gedeutete Effekt nicht auftritt. Es scheinen sich sonst die vom Videograbber selbst eingestellte "Schrittgeschwindigkeit" für die aufzunehmenden Einzelbilder und die bei der Animation eingestellte Geschwindigkeit "aufzuaddieren". Viele Grüße BahnLand
  18. Hallo rejokaa, die Anlage sieht "von oben" sehr ineressant aus. Kannst Du auch einige Detai-Aufnahmen hier vorstellen oder die gesamte Anlage hier mal als mbp-Datei (aals Dazei-Anhang) hinzufügen? Viele Grüße BahnLand
  19. Hallo Michael, ich meinte Folgendes: In der Aktion "Lokgeschwindigkeit setzen" kann man entweder im Feld "Lok:" den Namen der Lok, die gestartet werden soll, oder im Feld "Gleis:" das Gleis, von dem aus die dort befindliche Lok gestartet werden soll, oder beides spezifizieren. Gibt man nur im Feld "Lok:" den Namen der Lok ein, und lässt das Feld "Gleis:" unberücksichtigt (Inhalt: "[Alle Gleise]"), so wird die Geschwindigkeitszuordnung für die Lok wirksam, unabhängig davon, auf welchem Gleisstück sich die Lok gerade befindet. Den Namen der Lok kann man bei der Einfahrt in das Bremsgleis oder in das Haltegleis erkennen und in einer Variable zwischenspeichern: Ereignis = "Zug betritt Gleis", Aktion = "Variable setzen", Name = (z.B.) "LokName", Wert = "$_Trigger1._Name". Hierbei ist "_Name" eine im Modellbahn-Studio fest implementierte Variable, der beim Ereignis "Zug betritt Gleis" automatisch der Name der über "_Trigger1" identifizierten Lok zugewiesen wird. Bei der Geschwindigkeitszuordnung weist man dann den Inhalt dieser Variable dem Feld "Lok:" zu: Lok = $LokName. Bei diesem Mechanismus ist es völlig egal, welche Lok gerade an das Signal heran fährt. Es wird immer jene Lok erkannt, die im heranfahrenden Zug das "angetriebene" Fahrzeug ist. Und genau diese Lok (keine andere) bekommt dann beim sich öffnenden Signal die Geschwindigkeit zugewiesen. Das Prinzip funktioniert daher auch bei einer Doppeltraktion (nur eine Lok "angetrieben") oder bei einem geschobenen Zug, wo Du bei der Adressierung der Lok über das Gleis Schwierigkeiten bekommen könntest. Ich hoffe, dass ich es jetzt etwas besser erklären konnte. Viele Grüße BahnLand
  20. Hallo zusammen, leider bin ich gestern nicht mehr dazu gekommen, in das Forum zu schauen, wodurch ich die gesamte Diskussion erst jetzt mitbekommen habe. Das Problem mit der Lok-Position auf dem Brems- oder Haltegleis vor dem Signal ließe sich ganz einfach dadurch generell lösen, dass man beim Einfahren in das Bremsgleis den Namen der "Lok" (über $_Trigger1 feststellbar) in einer (z.B. dem Signal zugeordneten) Variable zwischenspeichert, und beim Öffnen des Signals die Geschwindigkeit der Lok über den Loknamen anstatt über das Gleis zuweist (Lokgeschwindigkeit setzen, Lok = Lokname, Gleis = [Alle Gleise]). Damit ist man dann von der Position der Lok (auf welchem Gleis auch immer) unabhängig. Was die kontinuierliche Abbremsung und Beschleunigung des Zuges am Signal anbelangt, benutze ich die Timer-gesteuerte Variante. Dies hat in Kombination mit der oben beschriebenen Lok-Adressierung den Vorteil, dass der Zug bei jedem Geschwindigkeits-Zustand - also insbesondere auch während der Abbremsung, wenn das Signal zwischenzeitlich auf "Grün" geht - "fließend" in die Beschleunigung überwechseln kann. Es ist also hierbei völlig egal, ob der Zug bei sich öffnendem Signal bereits steht oder sich noch in (Brems-)Fahrt befindet. Den Mechanismus hierzu hatte ich einst in jenem Beitrag beschrieben. Ich stimme Euch in jedem Fall zu, dass man durch eine Parametrisierungs-Möglichkeit des (positiven und negativen) "Beschleunigungs-Verhaltens" in der EV-Aktion "Lokgeschwindigkeit setzen" (müsste Neo hier anbieten) viel "Programmieraufwand" in der EV einsparen könnte. Viele Grüße BahnLand
  21. Hallo Eckhard, Mann oh Mann - auf dieser Anlage ist ja ganz schön was drauf! Da hast Du ja ganz schön "hingelangt". Sieht aber insgesamt sehr gut aus. Vermutlich könnte man sich, wenn man die Anlage direkt anschauen und selbst darin navigieren könnte, daran gar nicht satt sehen. Viele Grüße BahnLand
  22. Hallo Reinhard, ganz große Klasse! Deine österliche Holz-Eisenbahn! Und das "Klick-Klack" im Vordergrund sieht auch gut aus. Auch von mir allen ein schönes Osterfest! Viele Grüße BahnLand
  23. Hallo Michael, wenn Du in das "Beschleunigungsgleis" einfährst, kannst Du in der zugehörigen Ereignisdefinition ("Zug betritt Gleis") abfragen, ob der einfahrende Zug sich auf dem Nachbargleis befindet, und so die Fahrtrichtung des Zuges bestimmen. Für Dein oben beschriebenes Beispiel sieht das konkret so aus: Die Beschleunigung soll nur für von links nach rechts fahrende Züge, nicht aber von rechts nach links fahrende Züge erfolgen. Benenne die beiden Nachbargleise des "Beschleunigungsgleises" wie folgt: Nachbargleis in Richtung Bahnhof: "Nachbargleis_vor_Beschleunigung" Nachbargleis auf der anderen Seite: "Nachbargleis_hinter_Beschleunigung" Wenn nun ein Zug aus dem Bahnhof ausfährt und dabei in das "Beschleunigungsgleis" einfährt, befindet er sich auch auf dem "Nachbargleis_vor_Beschleunigung", nicht aber auf dem "Nachbargleis_hinter_Beschleunigung". Fährt der Zug aus der anderen Richtung in den Bahnhof ein und "betritt" hierbei das "Beschleinigungsgleis", ist es genau umgekehrt. Dies kann man in der Zusatzbedingung für das Ereignis "Zug betritt Gleis" abfragen. Damit kannst Du die Ereignisdefiniton wie folgt formulieren. Variante 1: Ereignis: Zug betritt "Beschleunigungsgleis" Bedingung: Zug befindet sich auf "Nachbargleis_vor_Beschleunigung" Aktion: Lokgeschwindigkeit auf 200 setzen Variante 2: Ereignis: Zug betritt "Beschleunigungsgleis" Bedingung: Zug befindet sich nicht auf "Nachbargleis_hinter_Beschleunigung" Aktion: Lokgeschwindigkeit auf 200 setzen Welche Variante Du auswählst, ist egal. Da die Aktion nur dann ausgeführt wird, wenn die Bedinung erfüllt ist, wird der Zug tatsächlich nur beschleunigt, wenn er aus dem Bahnhof ausfährt. Du könntest jetzt für die Gegenrichtung noch eine "alterbative Aktion" hinzufügen, die genau dann ausgeführt wird, wenn die Bedingung nicht erfüllt ist. Damit könntest Du den Zug über dieselbe Ereignisdefinition bei der Eifahrt in den Bahnhof abbremsen: Aktion, wenn Bedingung nicht erfüllt: Lokgeschwindigkeit auf 50 setzen. Probiere das Ganze hier Beschriebene einfach mal aus. Viel Erfolg hierbei wünscht Dir BahnLand
  24. BahnLand antwortete auf EASYs Thema in Modelle
    Hallo EASY, leder nicht . Ich habe selbst im Internet sichen müssen, weil mir der Name der Lok bzw. des Erbauers nicht mehr eingefallen war. Drei Links, die Dich interessieren könnten, habe ich noch gefunden: https://de.wikipedia.org/wiki/Salamanca_(Lokomotive) http://www.catskillarchive.com/rrextra/odcuri.Html http://cache3.asset-cache.net/gc/90747726-the-rack-rail-and-driving-wheel-designed-by-gettyimages.jpg?v=1&c=IWSAsset&k=2&d=X7WJLa88Cweo9HktRLaNXnyG3DUvaaHA65zdLjuGwLIIEuD7BsNSlaK3OgakkhsodpLzh5lEUH0vTH%2BX54CsIURlYS6lpIvZO3B2%2F2nJEEI%3D Auch ich "schiele" schon in diese Richtung, weil ich für die Nachbildung der "Honauer Zahnradbahn" (Strecke Reutlingen - Honau - Lichtenstein - Schelklingen - Ulm) eine Riggenbach'sche Leiterzahnstange zwischen den Schienen gebrauchen könnte. Da könnte ich dann - solange es keine 97er gibt - den Schienenbus von Seehund als VT 97 die Steige hinauf und hinunter fahren lassen (Steigung/Gefälle 1:10). Viele Grüße BahnLand
  25. BahnLand antwortete auf EASYs Thema in Modelle
    Hallo EASY, ich vermute mal, daß Du diese hier meinst. Ich hätte da noch ein paar schöne Exemplare, alledings mit dem für Engalnd typischen Innentriebwerk. Viele Grüße BahnLand

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.