Jump to content

BahnLand

Mitglieder
  • Gesamte Inhalte

    7888
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von BahnLand

  1. Hallo EASY, das sieht ja schon sehr beeindruckend aus. Ich bin auf das Endergebnis schon sehr gespannt. Viele Grüße BahnLand
  2. Hallo Schlagerfuzzi, es gibt verschiedene Möglichkeiten, einen Countdown zu vewenden. Hier ein paar Varianten aus meinem Anlagenbeispiel (Anfrage004.mbp): Klassischer Countdown-Aufruf mit bestimmter Zeitvorgabe (Gruppe "Kopfbahnhof Einfahrt"). Countdown-Start in Definition "Herantasten2", Countdown-Ausführung in Definition "Entkuppeln1" oder Countdown-Start in Definition "Aufrücken4", Countdown-Ausführung in Definition "Ausfahrbereitschaft4". In beiden Beispielen wird eine Aktion angestoßen, die erst nach Ablauf der vorgegebenen Zeit einmalig ausgeführt wird. Periodische Aktionsschleife mit Abbruch (ebenfalls Gruppe "Kopfbahnhof Einfahrt"). Countdown-Start in Definition "Herantasten2" mit automatischem "Neustart", Countdown-Ausführung in Definition "Herantasten2", die so lange wiederholt wird, bis das Abbruchkriterium in der Bedingung erfüllt ist. Dann wird der Countdown explizit gestoppt. Möglicher Anstoß derselben Aktionsfolge aus verschiedenen Definitionen heraus. Countdown-Start in Definition "Einfahrt3" (Gruppe "Streckenblock3") sowie in Definition "Freigabe Block2" ("Gruppe Streckenblock2"), Unmittelbare Countdown-Ausführung (Wartezeit = 0) in Definition "Zugstart3" (Gruppe "Streckenblock3"). Viele Grüße BahnLand
  3. BahnLand

    Drehscheibe

    Sieht gut aus! Viele Grüße BahnLand
  4. Hallo Schlagerfuzzi, wie Henry kann ich solche Herausforderungen nicht einfach an mir vorüber ziehen lassen, sondern muss selbst ausprobieren, was da alles geht. Henry war allerdings schneller, weil ich noch ein paar "Gimmiks" einbauen wolte. Doch nun ist auch meine Variante Deines Anfrage-Beispiels fertig. Ich habe in der Anlage die ankommenden bzw. abgehenden Gleisstränge miteinander verbunden und noch einen weiteren Zug darauf gestellt. Auf der freien Strecke gibt es zwei Blockabschnitte, die für die beiden Züge zusammen mit dem Kopfbahnhof-Gleisabschnitt (kurz "Kopfgleis") 3 Blockabshnitte ergeben, die von den Zügen im Blockverkehr hintereinander befahren werden. Im Kopfgleis wird die bisherige Zuglok wie bei Henry abgehängt und am anderen Ende des Zuges die Lok vom Bereitschaftsgleis angehängt. Nachdem der Zug mit der neuen Lok das Kopfgleis verlassen hat, fährt die unrsprüngliche Zuglok für ihren nächsten Einsatz in das Bereitschaftsgleis. Aufgrund des Zusammenfügens der bei beiden ursprüngklich freien Gleisenden vollziehen die Züge beim Umfahren des Kopfgleises eine 540°-Drehung, sodass die Loks nach einer Umrundung entgegengesetzt ausgerichtet sind. Daher sind die Loks den Zügen abwechselnd vorwärts und rückwärts vorgespannt, was sich auch auf das Vorzeichen der dem Triebfahrzeug zugewiesenen Geschwindigkeit auswirkt. Das Vorzeichen dieser Geschwindigkeit ist also eine variable Größe, die bei der Steuerung der Züge mit berücksichtigt werden muss. Weiters habe ich untershedliche Lok-Konfigurationen vor die Züge gespannt: Es gibt eine "einfache" Lok, eine Dampflok mit Schlepptender, der fallweise von der Lok hinterher gezogen oder voran geschoben wird, und eine Doppeltraktion aus 2 Lokomotiven als dritte Lok-Konfiguration. Sowohl bei der Dampflok mit Schlepptender als auch bei der Doppeltraktion sollen die beiden Fahrzeuge der im Kopfgleis auszutauschenden Lok-Konfigurationen nicht getrennt, sondern als zusammengehörende Einheit betrachtet werden. Trotzdem gibt es auch hier immer ein Fahrzeug, welches als das Triebfahrzeug ausgewiesen ist und damit als einziges in der Lok-Konfiguration eine Geschwindigkeit zugewiesen bekommt. Das "Zweitfahrzeug" wird als Wagen (Schlepptender der Dampflok) oder "Wagenlok" (zweite V100 der Doppeltraktion) mitgeführt. Die Zusammengehörigkeit wird dadurch gekennzeichnet, dass das Zweitahrzeug beim Triebfahrzeug in einer Objektvariable hinterlegt ist (<Lok>.Hinten, mit <Lok> als Platzhalter für das jeweilige Triebfahrzeug). Bei der Schlepptender-Dampflok ist der Tender immer "hinten". Bei der Doppeltraktion müssen beide Loks gleich ausgerichtet sein. D.h. bei beiden zeigt die "positive Geschwindigkeit" in dieselbe Richtung. Dann wird die vordere Lok als Triebfahrzeug und die hintere Lok als zugehöriges Zweitfahrzeug ausgezeichnet. Auch bei der "einfachen" Lok wird ein Zweitfahrzeug ausgewiesen. Nur wird hier die Lok selbst eingetragen. Dadurch ist es möglich, sowohl Einzelfahrzeuge als auch Lok-Konfigurationen aus 2 Fahrzeugen in der Ereignisverwaltung identisch zu behandeln (beim einfachen Fahrzeugen beziehen sich dann die Anweisungen für das zweite Fahrzeug einfach auf die Lok selbst). Wo wird nun der Bezug auf das Zweitfahrzeug benötigt? Beim Entkuppeln der Lok-Konfiguration vom Zug. Es darf nur die vordere Kupplung des Triebfahrzeugs und die hintere Kupllung des Zweitfahrzeugs deaktiviert werden, damit die beiden Fahrzeuge nicht voneinander getrennt werden. Damit auch beim zweiten Fahrzeug die "richtige" Kupplung als "hintere" Kupplung angesprochen wird, muss dieses dieselbe Ausrichtung wie das Triebfahrzeug besitzen. Beim präzisen Stoppen des Zuges über der Trennstelle im Kopfgleis, damit der Zug nach dem Abkuppeln der Lok-Konfiguration durch ein an dieser Stelle eingebautes "Sperrgleis" beim "Auffahren" der ablösenden Lok-Konfiguration "festgehalten" werden kann und nicht weitergeschoben wird. Diese Position des Zuges im Kopfgleis ist genau dann erreicht, wenn sich sowohl das Triebfahrzeug als auch das Zweitfahrzeug beim Überfahren des Sperrgleises nicht mehr auf dem davor liegenden "Haltegleis" befinden. Handelt es bei der in den beiden obigen Punkten betrachteten Lok-Konfiguration um eine einfache Lok, erreicht man durch die Identifizierung dieser Lok auch als "Zweitlok", dass diese Mechanismen auch dann mit denselben Algorithmen funktionieren. Doch nun zur Steuerung der Züge im Kopfgleis selbst. Grob gesehen ist es der gleiche Ablauf wie bei Henry's Realisierung. Im Detail ist sie jedoch etwas anders gelöst: Der Hauptunterschied ist das rote Sperrgleis (eine Weiche mit langem (durchgehendem) und kurzem (abgeschnittenem) Pfad. Steht die Weiche auf "lang", kann der Zug ungehindert darüber fahren. Steht die Weiche auf "kurz", wird der am "Eingang" der Weiche stehende Zug an der Weiterfahrt gehindert, weil es für den kurzen Pfad keine Fortsetzung gibt. Als es die Möglichkreit, die Kupplungen zu deaktivieren, im Modellbahn-Studio noch nicht gab, konnte man hiermit Züge entkuppeln, wobei der vordere Teil, der den "Eingang" in die Weiche bereits passiert hatte, nach dem Sperren weiterfahren konnte, während der hintere Teil durch die Sperre "festgehalten" wurde. Wenn der Zug hierbei jedoch nicht "ganz exakt" an der richtigen Stelle angehalten wurde, gab es beim Sperren unschöne "Bocksprünge". Deshalb wird nun für das Entkuppeln selbst die Eigenschaft der Kupplungs-Deaktivierung genutzt. Um zu verhindern, dass die auf der anderen Seite auffahrende "neue" Zuglok nach dem Ankoppeln den Zug so lange weiter schiebt, bis es eine Möglichkeit gibt, diesen über ein passendes Ereignis zu stoppen, wird das Sperrgleis trotzdem benötigt. Durch dessen Sperrung, nachdem die abgekoppelte Lok weggefahren, aber bevor die ablösende Lok aufgefahren ist, wird ein Weiterschieben des Zuges blockiert. Die restliche Logik entspricht im Wesentlichen jener von Henry, nur dass sie durch das Hinzufügen von Signalen und das Schließen des "Kreises" mit weiteren Blockabschnitten etwas "verfeinert" worden ist, und hierbei die unterschiedlichen Fahrtrichtungs-Ausrichtungen der Triebfahrzeuge und aus mehreren Fahrzeugen bestehende Lok-Konfigurationen berücksichtigt wurden. Die beigefügte Anlage wird mit dem Schalter rechts vorne gestartet und gestoppt. Nach dem Zurücksetzen des Schalters fahren die Züge noch weiter, bis sie - wenn auch möglicherweise in abweichender Fahrzeug-Anordnung - vor den Blocksignalen der Ringstrecke und im Bereitstellungsgleis für die "Ablöse"-Lok zum Stillstand gekommen sind. Ich wünsche beim Testen der beiliegenden Anlage und beim Studieren der Ereignssteuerung viel Vergnügen. Anfrage004.mbp Viele Grüße BahnLand
  5. Hallo Quackster, oh jaaaaa! Meine Schwester hatte als (geschätzt) 7-8-Jährige eine sehr "intime" Bekanntschaft mit einem solchen Gefährt gemacht: Unser Vikar besaß eine Isetta. Eines Tages, als ich mit meiner Schwester unterwegs war, lief sie plötzlich unbedacht auf die Straße, als gerade unser Vikar daher "gebraust" kam. Glücklicherweise stieg der sofort "in die Eisen" (auf die Bremse), sodass die Isetta gerade so zum Stehen kam, dass meine kleine Schwester genau an der Stoßstange stand - die Arme "wie ein Engel" seitlich auf der Isetta-Tür ausgebreitet. Meine Schwester hatte dabei nicht einmal eine Schramme abbekommen. An den Schreck, der dem Vikar ins Geschicht geschrieben gewesen sein muss, und an die nachfolgende obligatorische Standpauke kann ich mich allerdings nicht mehr erinnern. Auch wenn mir damals - ich war ja selbst noch ein Kind - nicht bewusst war, welch einen riesigen Schutzengel meine Schwester gehabt hatte, und wie das Ganze auch anders hätte ausgehen können, ist mir dieses Szene - wenn auch etwas verblasst - bis heute in Erinnerung geblieben. In der Konfirmationszeit haben wir Konfirmanden unserem Vikar dann auch noch einen Streich gespielt: Das Gelände unserer Kirche war gegenüber der Straße etwas erhöht und durch ein kleines Mäuerchen abgegrenzt (dürfte etwa 60-80 cm hoch gewesen sein). Daneben gab es einen Parkstreifen, auf dem unser Vikar immer seine Isetta abgestellt hatte, wenn er in der Kirche war. Einmal nach dem Konfirmanden-Unterricht, als der Vikar danach noch in der Kirche zu tun hatte, ergiffen einige meine "Konfirmanden-Kollegen" die Chance, hoben die Isetta in gemeinsamer Anstrengung an und setzten sie - mit der Tür zum Mäuerchen gewandt - unmittelbar vor diesem ab. Und dann ab durch die Mitte .... ! Ich weiß bis heute nicht, wie der Vikar in seine Isetta kam. Jedenfalls war er am nächsten Tag wieder mit ihr unterwegs. Ja ja, das waren schon urige Gefährte, die da zu jener Zeit über unsere Straßen rollten. Da gab es noch das Goggo(mobil) (meine Tante hatte ein solches besessen), den Lloyd ("Leukoplastbomber"), den Messerschmitt Kabinenroller ("Schneewittchensarg") und den Janus von Zündapp. Letzterer besaß eine Front- und Hecktür ala Isetta, und die hinteren Passagiere saßen rückwärts im Auto. Ich freue mich schon auf das fertige MBS-Modell, das ganz bestimmt auch auf meinen Anagen zum Einsatz gelangen wird. Viele Grüße BahnLand
  6. Hallo Michael, mein KFZ-Kennzeichen ist "M", also eine gaaaanz andere Ecke. Viele Grüße BahnLand
  7. Hallo Michael, dass in Bild 3 die Wertzuweisung "$Haltegleis2.lok" für die Geschwindigkeits-Anzeige nicht funktioniert, liegt nicht an dieser Wertzuweisung, sondern daran, dass es das Objekt "Haltegleis2" auf Deiner Anlage nicht gibt. Damit kannst Du auch die Objektvariable "Haltegleis2.lok" im Bild 1 nicht setzen (diesen Fehler bekommst Du nur nicht mit). Gib mal irgendeinem Gleisstück auf Deiner Anlage den Namen "Haltegleis2", und Du wirst sehen, dass dann Bild3 sehr wohl funktioniert. Dass es dieses Gleis auf Deiner Anlage bisher nicht gibt, konnte ich nicht wissen. Und bei Deiner Korrektur kannst Du sogar auf die Variablen-Zuweisung in Bild 1 ganz verzichten (funktioniert so ja wegen dem nicht vorhandenen Objekt eh nicht). Wenn Du aber die hier festgestellte Geschwindigkeit in einer später auszuführenden Ereignisdefinition wiederverwenden möchtest, kommst Du um die Zwischenspeicherung in einer Variablen nicht herum. Wenn Du dafür dann eine Objekt-Variable verwendest (wie in Bild 1), musst Du allerdings sicherstellen, dass das Objekt auch wirklich existiert. Sonst nimm eine "einfache" Variable (ohne "."), da Du hier keine Abhängigkeit von einem Objekt hast (die aber manchmal gewünscht ist). Viele Grüße BahnLand
  8. Hallo Michael, Um die EV kommst Du nicht herum. Aber dennoch ist es ganz einfach: Du benötigst im Prinzip nur eine Ereignisdefinition "Zug betritt Gleis", in der Du der einfahrenden Lok (oder der Lok des einfahenden Zuges) die Geschwindigkeit zuweist, die Du ihr vorab in einer Objektvariable zugeordnet hast. Im Bild siehst Du oben die vorab zugeordneten Höchstgeschwindigkeiten. Unten habe ich die Ereignisdefinition abgebildet. Das war's dann auch schon. Ich habe Dir auch noch die hier abgebildete Demo-Anlage beigelegt: Unterschiedliche Geschwindigkeiten.mbp Die anderen Ereignisdefinitionen, die Du da findest, sind "nur Beiwerk", um die Demo nachstellen zu können. Maßgebend für Dich ist nur die Ereignisdefinition "VMax", die sich auf das oben beige eingefärbte "Ausfahrt"-Gleis bezieht. Viel Spaß beim Ausprobieren wünscht BahnLand
  9. Hallo Reinhard, de Bahnhof ist Dir wirklich sehr gut gelungen. Schade, dass Du das gesamte Modell verloren hast. Aber jetzt hast Du ja schon Routine. Da gehts es dann wahrscheinlich beim zweiten Versuch etwas schneller. Viele Grüße BahnLand
  10. BahnLand

    Panzer in der Stadt

    Hallo, Neo hat in das Modellbahn-Studio seinen "Video.Grabber" integriert (im Modellbahn-Studio zu finden unter "Plugins - Simulation - Video-Aufzeichnung"). Dieses Plugin schneidet die Einzelbilder des Programmablaufs mit, indem es die Animation des Modellbahn-Studios nach jedem Einzelschritt kurz anhält und eine Hardcopy des Szenarios macht. Durch dieses Verfahren wird garantiert, dass jedes Einzelbild der Animation tatsächlich "erwischt" und in dem aus den Einzelbildern erstellten Video auch tatsächlich angezeigt wird. Dadurch ist ein flüssiger Ablauf der Animation sebst dann gewährleistet, wenn der reale Ablauf bei normaler Geschwindigkeit wegen einer zu geringen FPS-Zahl "ruckelt". Lässt man dagegen ein externes Videoschnitt-Programm parallel zum Modellbahn-Studio mitlaufen, wird das Ruckeln bei geringer FPS-Zahl mit aufgezeichnet. Es wird sogar noch verschlimmert, da das Videoschnitt-Programm verständlicherweise Rechenleistung "absaugt", die dann dem Modellbahn-Studio selbst nicht mehr zur Verfügung steht. Anbei ein schon früher von mir veröffentlichtes Beispiel, das ich mit dem Aufzeichnungs-Plugin von Neo mitgeschnitten habe, und das in "real" nicht so flüssig dargestellt werden konnte. Viele Grüße BahnLand
  11. Hallo zusammen, für alle, die die bisher schon mehrmals gelaufenen Diskussionsrunden bezüglich der Anzahl von Poygonen und Materialien bei aus Bordmittlen und alternativ mittels 3D-Modellierungsprogramm erstellten Modellen für das MBS und die Kriterien für deren Aufnahme in den Online-Katalog - sowie das "Fragezeichen"-Problem bei nicht im Online-Katalog hinterlegten Modellen nicht kennen, möchte ich hier die Problematik noch einmal zusammenfassen, ohne eine neue Diskussionswelle zu diesem Thema entfachen zu wollen. 3D-Modelle sind grundsätzlich aus Flächendreiecken (Polygonen) zusammengesetzt und mit Farben oder Texturen (beides Materialien) belegt. Je detailgetreuer ein Modell wiedergegeben werden soll, umso mehr Polygone sind für dessen Darstellung erforderlich. Je mehr Polygone ein Modell besitzt, umso mehr Arbeit müssen das auszuwertende Programm und insbesondere die Grafikkarte (bzw.die sie steuernde Grafik-Engine) aufwenden, um das Modell korrekt darstellen zu können. Nach Neo's Aussage können heutige Grafikkarten Tausende von Polygonen quasi "In einem Aufwasch" und damit sehr optimal bearbeiten, solange diese sich auf dasselbe Objekt beziehen. Werden jedoch für ein Modell verschiedene Materialien verwendet, muss für alle Bauteile des Modells, die jeweils mit einem eigenen Material versehen sind, ein separates Objekt erzeugt und in der Grafikkarte auch separat angesteuert werden. Damit belasten Modelle mit vielen unterschiedlichen Materialien die Grafikkarte in besonderem Maße und tragen somit wesentlich zur Reduzierung der Verarbeitungsgeschwindigkeit (FPS-Rate des Modellbahn-Studios) bei. Besitzt ein sehr detailreiches Modell mehrere zig-Tausend Polygone, lassen sich mit einem 3D-Modellierungsprogramm verschiedene Varanten desselben Modells mit unterschiedlicher Detailtiefe (und damit einer unterschiedliche Anzahl von Polygonen und Materialien) erstellen, die dann zusammen in Form von mehreren LoD-Stufen ("Levels of Details") dem in den Online-Katalog hochzuladenden Modell zugewiesen werden können. Das Modellbahn-Studio kann dann für dessen Darstellung in Abhängigkeit von der Entfernung des Modells von der betrachtenden Kamera die jeweils geeignete LoD-Stufe für dessen Darstellung auswählen: Modelle mit kurzer Entfernung zur Kamera füllen deren Blickfeld mehr aus als weiter entfernte Modelle. Deshalb werden im Nahbereich auch weniger Modelle von der Kamera erfasst. Die Darstellung dieser wenigen Modelle mit vollem Detailreichtum fällt also weniger ins Gewicht als bei Modellen in der Ferne, von denen sich sehr viele im Blickfeld der Kamera befinden können. Je weiter ein Modell von der Kamera entfernt ist, umso weniger Modell-Details können von der Kamera noch unterschieden werden. In diesem Fall reicht es aus, das Modell mit einer geringeren Detailtiefe (also mit einer entsprechend gröberen LoD-Stufe) darzustellen, was gegenüber der vollen Detailausprägung zu einer deutlichen Reduzierung des Verarbeitungsaufwands führen kann. Dadurch lassen sich bei gleicher Grafikleistung mehr Modelle darstellen, als wenn bei allen Modellen immer die volle Detailtreue auch dann, wenn sie eigentlich nicht sichtbar ist, berechnet werden müsste. Um das Problem der "zu vielen" Materialien zu entschärfen, kann man bei 3D-Modellierungsprogrammen mehrere Farben und Einzeltexturen zu einem Texturatlas (auch Multitextur genannt) zusammenfassen. Um die einzelnen Flächen des Modells dann mit dem korrekten Texturabschnitt zu belegen, wird die Textur auf jeder Fläche in die richtige Position geschoben und gegebenenfalls noch gestreckt. So ist es im Idealfall möglich, auch bei Modellen mit komplexer Oberflächen-Kolorierung mit einem Material auszukommen. In Summe hat man also bei Modellen, die mit einem 3D-Modellierungsprogramm erstellt werden, verschiedene Möglichkeiten, diese zugunsten einer performanten Grafik-Darstellung zu optimieren. Erstellt man nun ein Modell mittels Bordmitteln (d.h. aus den im Online-Katalog vorhandenen Grundkörpern), greifen diese Optimierungsmöglichkeiten nicht. Denn es gibt im Modellbahn-Studio nicht die Möglichkeit, das Modell in verschiedenen Detailierungsvarianten (d.h. mit unterschiedlich vielen Grundkörpern) zu bauen und diese dann als Detailierungsstufen für dasselbe Modell zu verwenden. Außerdem kann jedem Grundkörper nur maximal eine Textur (oder Farbe) zugewiesen werden, die dann für alle Oberflächen des Grundkörpers gleichermaßen verwendet wird. Diese kann man zwar insgesamt in 2 Richtungen skalieren. Es ist aber nicht möglich, sie auf den Oberflächen des Grundkörpers durch Verschieben individuell zu positionieren. Damit ist es bei Grundkörper-Modellen prinzipiell nicht möglich, eine gemeinsame Multitextur für unterschiedlich zu kolorierende Oberflächen zu verwenden. Nun gibt es zwar im Modellbahn-Studio bei Grundkörper-Modellen eine beim Hochladen in den Online-Katalog wirkende Optimierung, bei der die einzelnen Grundkörper-Objekte eines Bordmittel-Modells zu einem Objekt zusammengefasst werden. Diese Optimierung ist aber nur für solche Grundkörper wirksam, die mit demselben Material "bemalt" wurden. Die Anzahl der für ein Bordmittel-Modell separat darzustellenden Objekte wächst gezwungenermaßen mit der Anzahl der verwendeten Farben und Texturen (jede explizit spezifizierte Farbe ist wie jede verwendete Textur ein separates Material). Bezüglich der Polygonzahl hat Lobo gezeigt, dass man auch mit Bordmitteln (Grundkörpern) Modelle bauen kann, die sich mit gleichartigen Modellen, die mit einem 3D-Modellierungsprogramm erstellt wurden, durchaus messen lassen können. Voraussetzung für diesen "positiven" Vergleich ist allerdings, dass sämtliche Grundkörper-Obeflächen "sichtbare" Teile des Modells darstellen und das Bordmittel-Modell nicht mehr Materialien benötigt als das vergleichbare Modell aus dem 3D-Modellierungsprogramm. In allen anderen Fällen muss man leider davon ausgehen, dass die Darstellung des Bordmittel-Modells mehr Grafik-Leistung beansprucht. Nach meinen bisherigen Erkenntnissen wird die Version 4 des Modellbahn-Studios nicht unterscheiden, ob ein Modell mit einem 3D-Modellierungsprogramm erstellt oder aus Grundkörpern zusammengefügt wurde. Exakte Kriterien kenne auch ich noch nicht. Aber es wird wohl darauf hinaus laufen, dass neben der Anzahl der Polygone in stärkerem Maße die Anzahl der verwendeten Materialien ein Kriterium dafür sein wird, ob ein Modell im Online-Katalog für die Allgemeinheit freigegeben werden kann oder nicht. Privat (also unveröffentlicht) werden die Modelle immer im Online-Katalog abgelegt werden können. insbesondere wird es (nach meinem heutigen Kenntnisstand) auch mit der Version 4 möglich sein, eigene private Modelle im Online-Katalog als mbe-Dateien zu exportieren und damit anderen Hobby-Kollegen (z.B. hier im Forum als Datei-Anhang) zur Verfügung zu stellen, die sie dann wieder in ihren privaten Teil des Online-Katalogs importieren können. Dass es auf die hier veröffentlichten Bordmittel-Modelle eine relativ geringe Resonanz gibt, führe ich insbesondere darauf zurück, dass diese nicht "freizügig" auf Anlagen eingesetzt werden können, die man selbst im Online-Katalog "veröffentlichen" möchte. Denn auf jeder Anlage, die entweder im Online-Katalog für die Allgemeinheit freigegeben oder in Form einer mbp-Datei im Forum als Datei-Anhang zur Verfügung gestellt wurde, und die auf der Anlage platzierte Modelle enthält, die nicht im Online-Katalog für die Allgemeinheit freigegeben sind, werden bei allen Anwendern, welche die Anlage starten (außer beim Erbauer der Anlage selbst), diese Modelle als Fragezeichen dargestellt, solange nicht vom jeweiligen Anwender selbst die erforderlichen mbe-Dateien in den eigenen privaten Teil des Online-Katalogs importiert und dann die Fragezeichen durch diese ersetzt wurden. Es ist also für fremde Nutzer solcher Anlagen immer ein zusätzlicher Aufwand, die Anlage so in Betrieb zu setzen, wie es vom Anlagenbauer gedacht ist, es sei denn, dass dieser auf das Einbinden von Modellen, die im Online-Katalog nicht "veröffentlicht" sind, bei seinen freizugebenden Anlagen komplett verzichtet. Zur letzteren Spezies (die in der Regel auf die Verwendung von nicht im Kataolog öffentlich zugänglichen Modellen verzichtet) gehöre auch ich, weshalb auch von mir eher selten Reaktionen auf mit Bordmitteln erstellte Modelle im Forum zu finden sind. Nichtsdestotrotz bin auch ich von vielen Schmuckstücken begeistert, die da "allein mit Bordmitteln" geschaffen werden - auch wenn ich sie selbst auf meinen Anlagen, die ich veröffentlichen möchte, nicht einsetzen kann, ohne den anderen Anwendern das mühsame händische Ersetzen der Fragezeichen zuzumuten. Viele Grüße BahnLand
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. Hallo Schalgerfuzzi, ja, das ist korrekt, weil die Textur beim Exportieren in die mbe-Datei des Modells mit aufgenommen wird. Viele Grüße BahnLand
  23. 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
  24. 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
  25. 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
×
×
  • Neu erstellen...