Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5753
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. Schritt 2 - Schranken schließen Jetzt soll der Personenzug die Schranken schließen, bevor er den Bahnübergang passiert. Und zwar früh genug damit die Schranken geschlossen sind, bevor der Zug den BÜ erreicht. Das rot markierte Gleis liegt weit genug entfernt um als Auslöser zu dienen, wenn die Geschwindigkeit des Zuges nicht mehr als 350 mm/sec beträgt. Bei 200 mm/sec sieht es noch besser aus. Das soll für dieses Beispiel genügen. Das Prinzip ist nahezu identisch wie beim Öffnen der Schranken. Aber das Ereignis ist jetzt "Zug betritt Gleis". Das Gleis ist 2200 (außen rot). Und die beiden Animationen müssen vorwärts ablaufen: Damit sollte der Personenzug Runde für Runde die Schranken korrekt schließen und öffnen.
  2. Schritt 1 - Schranken öffnen Im ersten Schritt soll der Personenzug die Schranken öffnen, sobald er den Bahnübergang passiert hat. Das ist dann der Fall, wenn der Zug das grüne Gleis im äußeren Ring verlässt. Es ist ratsam alle Ereignisse, die den Bahnübergang (kurz: BÜ oder BUe) betreffen, in einem Ordner zusammenzufassen. So behält man später einen besseren Überblick, wenn die Ereignisverwaltung (kurz: EV) mehr steuert als nur einen BÜ. Jetzt kann man die zugehörigen Ereignisse in diesem Ordner erstellen: Der erste Eintrag in der EV legt fest, was passiert wenn der Zug das grüne Gleis verlässt: Beide Schranken sollen in diesem Fall geöffnet werden. Das erreicht man, indem man die im Modell enthaltene Animation startet: Damit die Schlagbäume hoch gehen, muss die Animation rückwärts ablaufen: Für die Startposition muss "Aktuell" gewählt werden. Denn sonst läuft die gesamte Animation bei einer schon geöffneten Schranke ein zweites Mal ab. (Für das Schließen der Schranken gilt später das selbe!) Weil die beiden Schlagbäume zwei unabhängige Modelle sind, muss das Ereignis zwei Animationen starten. Eine für jede Schranke: Setzt man den Personenzug jetzt in Bewegung, dann öffnen sich beide Schranken, sobald er das grüne Gleis hinter sich gelassen hat.
  3. Der zweigleisige Bahnübergang - Schritt für Schritt In den nächsten Beiträgen möchte ich Schritt für Schritt und ausreichend bebildert erklären, wie man einen zweigleisigen Bahnübergang mit fester Fahrtrichtung für beide Gleise per Ereignisverwaltung steuern kann. Die passende Anlage dazu, komplett mit markierten und eindeutig benannten Gleisen, befindet sich im Anhang dieses Postings. Sie muss lediglich entsprechend der Anleitung mit einer Ereignisverwaltung versehen werden. Um den Zweck der verschiedenen Einträge in der EV verständlich zu machen, beginne ich mit einer sehr einfachen Steuerung, die aber fehlerhaft arbeitet und in weiteren Schritten entsprechend korrigiert werden muss. Denn meines Erachtens genügt es nicht, eine "perfekte" Lösung anzubieten. Ich finde es genauso wichtig, dass man Erfahrungen mit Lösungswegen sammelt, die letztlich nicht zum Ziel führen. Das Tutorial beginnt mit dem nächsten Posting. BUe Tutorial.mbp
  4. Goetz

    Brummis Module

    Das sieht höchst interessant aus. Und deine Überlegungen dazu, wie man im einfachen Fall auch ohne Schaltung auskommt, finde ich clever!
  5. Ein Signal selbst hat keinen Einfluss auf Züge. Du musst die Ereignisverwaltung (kurz: EV) nutzen, um den Zugverkehr zu regeln. Dort kannst du beispielsweise eintragen, dass bei Betreten eines bestimmten Gleises der auslösende Zug die Geschwindigkeit 0 zugewiesen bekommt, falls ein bestimmtes Signal "Halt" zeigt.
  6. Hallo Aloys, hier ist ein Vorschlag, der zwei Ereignisse nutzt. Im ersten Ereignis wird die aktuelle Geschwindigkeit in einer Variablen zwischengespeichert. Im zweiten Ereignis wird gprüft, ob die Geschwindigkeit über einem bestimmten Wert liegt oder nicht und dann entsprechend reagiert. Bau ein Oval Such dir ein Gleis aus, welches bei Betreten ein Ereignis auslöst. Setz ein Beschriftungsfeld daneben Ereignis: Zug betritt Gleis Lok: alle Loks Gleis: Das welches du ausgesucht hast Aktion: Variable setzen Variable: Geschwindigkeit Wert: $_Trigger1._CurrentSpeed Ereignis: Variable wird gesetzt Variable: Geschwindigkeit Wert: >0 Bedingung: Wert der Variablen Variable: Geschwindigkeit Wert: >150 Aktion wenn Bedingung erfüllt: Beschriftung setzen Beschriftung: Beschriftung Text: zu schnell Aktion wenn Bedingung NICHT erfüllt: Beschriftung setzen Beschriftung: Beschriftung Text: alles bestens Die unterschiedlichen Textausgaben sind natürlich nur ein Beispiel. Ebenso gut könntest du anhand der Variablen eine Weiche stellen und so beispielsweise zu schnelle Autos aus dem Verkehr ziehen. Oder einen Blitzer auslösen (falls es sowas als Modell im MBS gibt).
  7. Mir war schon klar, dass die Geschichte einen sehr ernsten Hintergrund hat. Aber durch die Darstellung mittels MBS und Variablen hast du eben auch Humor beim Umgang damit bewiesen.
  8. Gern geschehen, Schlagerfuzzi. Und  für den Humor in deiner Geschichte.
  9. ZitatDie Reihenfolge ergibt sich dabei aus der Gruppenhierarchie im 3D-Modell Das genügt vielleicht nicht. Was wann bewegt werden muss kann von vielen Faktoren abhängen. Beispielsweise auch von Hindernissen, die auf dem Weg überwunden werden müssen. Ich gestehe, dass ich gerade versuche ein Beispiel zu konstruieren und dabei scheitere. Und der kürzeste Weg ist auch nicht immer der richtige. So kann z.B. eine nahe Wand den Kran zwingen eine 270° statt einer 90° Drehung auszuführen. Für mein Empfinden wäre es okay, wenn Animationen nacheinander ablaufen müssen. Es sieht zwar noch lebendiger und realistischer aus, wenn sich zwei Animationen zeitlich überlappen können. Aber essenziell wichtig ist das nicht. Und da jede Animation das Koordinatensystem für die hierarchisch darunter angeordnete Animation verschiebt verstehe ich, dass sequenzielles Abarbeiten der Bewegungen einfacher zu realisieren ist.
  10. Das Prinzip sieht sehr flexibel und leistungsfähig aus, Neo. Wenn ich dich richtig verstanden habe, dann können damit komplexe Gebilde gebaut werden. Kohlebagger im BW fahrbares Gestell (Translation) Traverse (Translation) Drehkran (Drehung) hebbarer Ausleger (Drehung) Haken heben/senken (Translation) Haken ausrichten (Drehung) oder Baustellenkran fahrbares Gestell (Translation) Drehkran (Drehung) Laufkatze (Translation) Haken heben/senken (Translation) Haken ausrichten (Drehung) oder moderne Hebebühne fahrbares Gestell (Translation) drehbare Basis (Drehung) klappbarer unterer Arm (Drehung) klappbarer oberer Arm (Drehung) Arm ausfahren (Translation) Gegendrehung des Korbs, um in der Horizontalen zu bleiben (Drehung) etc. Bei Betrachten des Videos fiel mir auf, dass nicht immer alle Animationen gleichzeitig angestoßen werden dürfen, die vom Start zum Zielpunkt führen. Sonst kann es (wie im Video) passieren, dass ein tief hängender Haken in einen Container geschwenkt und dann durch die Kiste nach oben gezogen wird. Zusätzlich zu den Punkten für die Aufnahme / das Absetzen von Gütern muss ein User deshalb später auch "leere" Positionen anfahren können. Beziehungsweise einen Zielpunkt über ein oder zwei Wegpunkte anfahren. Ich vermute aber, dass dein Ansatz das prinzipiell schon zulässt. Jedenfalls freue ich mich sehr zu sehen, wie schnell du einen vielversprechenden Ansatz entwickelt hast.
  11. Goetz

    Wendeltreppe

    Ich vermute, dass die Treppe so steil wirkt weil du für eine ganze Umdrehung zu viele Stufen benötigst. Mit anderen Worten: Die Tritthöhe ist okay, aber der Winkel zu klein.
  12. Zitathabe in den 3 Tagen nichts anderes gemacht Dann trink jetzt mal 'mnen Schluck. Länger als drei Tage kommt der Körper nicht ohne Wasser aus. Und falls du den Modellbau inzwischen schon im Schlaf beherrscht, dann darfst du dich jetzt auch mel ein Stündchen auf's Ohr legen. :-D
  13. Zitatwieso kann ich die Anleitung testanlage nicht öfnen  Die Anleitung ist eine Datei im pdf Fprmat. Um sie zu öffnen, brauchst du den Adobe Acrobat Reader oder eine alternative Software, die pdf Dateien darstellen kann. Und das Datei-Suffix pdf muss mit dem Reader verknüpft sein, damit ein Doppelklick auf die Datei den Reader startet. Je nach System musst du die rar Datei, welche du hier heruntergeladen hast, erst entpacken bevor du die Anleitung daraus mit einem pdf Reader lesen kannst.
  14. Du benötigst zuerst ein Ereignis, welches einen Countdown auslöst. Beispielsweise einen Schalter. Dann kannst du als Aktion einen Countdown starten. Diesem gibst du dann einen Namen deiner Wahl, eine Zeit und setzt bei Bedarf noch das Häkchen für den automatischen Neustart.   Jetzt kannst du ein weiteres Ereignis anlegen, welches bei Ablauf des Countdowns auslösen soll. Wähl den zuvor erzeugten Countdown als Ereignisauslöser und als Aktion dann die Übertragung der Lokgeschwindigkeit ins Textfeld.
  15. ZitatMaste, Schilder usw kann ich ja als "Strasse" einstellen Tu so etwas bitte nicht. Was auf den ersten Blicl clebver wirken mag, hat letztlich ein böses Durcheinander zur Folge. Ich habe da bei EEP sehr schlechte Erfahrungen mit solchem Missbrauch gemacht. Und ist der erstmal etabliert, dann wird man ihn kaum wieder los. Den Programmierern hinter EEP bereitet das zunehmend Kopfzerbrechen.
  16. Das einzige, was einem Textfeld einen neuen Text zuweisen kann, ist die Ereignisverwaltung. Und die reagiert nur, wenn ein zuvor festgelegtes Ereignis stattgefunden hat. Die Änderung einer Lokgeschwindigkeit ist kein Ereignis, auf das die EV reagieren kann. Deshalb lässt sich die aktuelle Geschwindigkeit nicht kontinuierlich in das Textfeld übertragen. Es bleibt dir also nur, jeweils bei Eintritt eines bestimmten Ereignisses die aktuelle Geschwindigkeit auszulesen und ins Textfeld zu übertragen. Ein Countdown mit kurzer Ablaufzeit, der sich nach Ablauf selbst neu startet, gäbe dir die Möglichkeit in einem von dir bestimmten Intervall die Geschwindigkeit auszulesen und ins Textfeld zu schreiben.   Zitat... dann denke ich, dass ich mich in meiner Frage vielleicht falsch ausgedrückt habe. Ja, das hatte mich zunächst auf die falsche Fährte geführt.   Zitat... ständig ...  war das entscheidende Wort, dass in der ursprünglichen Frage fehlte.
  17. Du wählst in der EV (Ereignisverwaltung) als Aktion "Beschriftung setzen". In das Feld "Text" schreibst du dann: $_Trigger1._CurrentSpeed   Schau mal in diesen Thread: https://www.3d-modellbahn.de/forum/thema/8418 Da findest du ein wenig Hintergrundinformation zum Thema
  18. Ich glaube, dass die Taktik "Gerät -> Ladegut -> Zielort" genau die richtige für das MBS ist. Sie lässt sich bequem bedienen, enthält viele Möglichkeiten (einschließlich Stapeln, Beladung von Containern etc.) und dürfte so eine Menge Spaß bieten. Eine manuelle Bedienung von Kränen, Gabelstaplern etc. wäre wesentlich umständlicher zu handhaben, aufwendiger zu realisieren und würde den Spaß nicht signifikant erhöhen. Zudem könnten die Unterschiede zwischen all den Krantypen, Gabelstaplern und anderen Geräten für die Verladung so in den Modellen und der zugehörigen Software berücksichtigt werden und die Bedienung wäre für den Spieler stets die selbe. Ich finde den Ansatz sehr clever!
  19. ZitatAnlage exportieren findest du im Fenster von "Speichern unter", ganz unten links in der Ecke
  20. ZitatWie kann ich erreichen, dass das Ereignis nur für eine Richtung gilt? Indem du prüfst, auf welchem anderen Gleis die Lok bei Betreten des Gleises noch steht. Denn sie kann in diesem Moment nur entweder auf dem Gleis vor oder dem Gleis nach dem Bremsgleis stehen.
  21. Zitatwie ist das mit den variablen ... Solche Dinge musst du selbst ganz gezielt testen, Schlagerfuzzi. Dann lernst du es am schnellsten. Weil alles Wissen, das du dir selbst erarbeitest, am längsten im Gedächtnis haften bleibt. Probier aus, was passiert wenn die Namen gleich sind. Probier aus, was bei verschiedenen Namen passiert. Probier unterschiedliche Schreibweisen bei den Namen aus. Stell so viele Versuche an wie du brauchst bis dir alles klar ist.
  22. Du weißt jetzt, wie du Variablen erzeugen kannst um darin etwas zu speichern. Das 3D-Modellbahn Studio erstellt aber auch selbst Variablen. Beispielsweise dann, wenn ein Gleis betreten wird. Damit man in der EV abfragen kann, wer das Gleis betreten hat. Solche Variablen haben fest vergebene Namen, weil diese Namen vom MBS erzeugt werden. Jeden Variablennamen darf es nur einmal geben. Also darf man selbst keinen Variablennamen verwenden, den das 3D-Modellbahn Studio schon benutzt. Alle Variablen, die das 3D-Modellbahn Studio erstellt, beginnen deshalb mit einem Unterstrich vor dem Namen. So sind Verwechslungen ausgeschlossen.   In der Variablen _Trigger1 steht, wer das Gleis betreten hat. Genau genommen stehen da vier Informationen in vier Variablen. Und alle vier beginnen im Namen mit _Trigger 1. Dann folgt ein Punkt. Und danach _Name für den Namen des Zuges. oder _CurrentSpeed für die aktuelle Geschwindigkeit. ("current" ist das englische Wort für "aktuell" und "speed" das englische Wort für Geschwindigkeit) oder _TargetSpeed für die eingestellte Geschwindigkeit. ("target" ist das englische Wort für "Ziel") oder _Visible für die Sichtbarkeit des Objekts ("visible" ist englisch für "sichtbar") Jetzt musst du dich noch erinnern, dass vor dem Variablennamen ein $ stehen muss damit du an die Information kommst, die in der Variablen gespeichert ist. Dann kannst du dir zusammenreimen, wie du an den Namen des Zuges kommst, der gerade ein Gleis betreten hat. Nämlich mit $_Trigger1._NameEs ist nicht leicht zu erkennen, dass nach _Trigger1 ein Punkt kommt bevor es mit _Name weiter geht. Deshalb habe ich diese übergroße Schrift gewählt. Probier es aus. Bau wieder ein Oval. Such dir ein Gleis aus, welches bei Betreten ein Ereignis auslöst. Setz ein Beschriftungsfeld daneben Ereignis: Zug betritt Gleis Lok: alle Loks Gleis: Das welches du ausgesucht hast   Aktion: Beschriftung setzen Beschriftung: Beschriftung Text: $_Trigger1._Name Jetzt müsste im Beschriftungsfeld der Name der Lok stehen, sobald du das ausgesuchte Gleis überfährst. Ändere anschließend mal den Namen der Lok. Bei der nächsten Runde wird der neue Namen angezeigt. Und wenn das alles klappt und du verstanden hast, wie es funktioniert, dann könntest du versuchen statt des Namens mal die aktuelle Geschwindigkeit anzuzeigen.
  23. Zitatgibt's da evtl noch weitere Möglichkeiten mit dem wort signal? Nein, da gibt es keine besonderen Möglichkeiten. Gib mir bitte noch ein wenig Zeit für die nächste Lektion. Ich muss mir zuvor ein paar Gedanken machen. Wahrscheinlich werde ich wieder das erste Beispiel (mit dem Bahnhofsaufenthalt) aufgreifen. Vielleicht mit einem Zwischenschritt, um die einzelnen Lektionen überschaubar zu halten.  
  24. Zitatmein 1. versuch ... ... sieht schon sehr gut aus. Vor allem freut mich deine Experimentierfreude. Du hast z.B. sowohl +1 als auch -1 ausprobiert. In der Variablen "Signal" speicherst du das Wort "Signal". Wolltest du damit nur probieren, ob das geht? Oder hattest du damit etwas anderes vor? Etwas, bei dem ich dir helfen könnte?
  25. Zitatich nehme gerne noch weitere (...) ratschläge an. Dann möchte ich dir gerne einen ganz allgemeinen Ratschlag fürs Lernen mitgeben, Schlagerfuzzi: Lern Fehler lieben! Ehrlich. Fehler sind nützlich, weil sie immer wertvolle Informationen enthalten. Wenn nicht das passiert, was du erwartet hast, dann ist das ein Hinweis darauf, dass noch ein Missverständnis vorliegt. Und wenn stattdessen etwas anderes passiert, dann steckt darin manchmal sogar die Erklärung, was man wie verstehen muss. Denn die EV macht immer "das richtige". Nämlich ganz exakt das, was man reinprogrammiert hat. Unsere Eltern und unsere Schulen bringen uns jahrelang bei, dass Fehler schlimm seien. Wir kriegen beigebracht Fehler zu vermeiden. Deshalb entschuldigen wir uns für Fehler oder versuchen sie zu verbergen. Oder wir rechtfertigen unsere Fehler. Und das ist ein ganz schlechter Weg, wenn man lernen möchte.  Ich lerne selber sehr schnell, weil ich keine Angst vor Fehlern habe. Und weil mich kein Fehler ärgert. Wer sich nämlich über einen Fehler ärgert, der verliert damit den Blick für die nützliche Information, die in Fehlern steckt. Das bringt einem leider kein Lehrer bei. Also: Schüttel die Angst vor Fehlern ab. Entschuldige dich niemals für einen Fehler. Weil eine Fehler nichts mit Schuld zu tun hat. Freu dich auf die nächsten Fehler. Wirklich. Sie bringen dich sehr schnell weiter, wenn du sie dir genau anschaust. Wer sich für Fehler entschuldigt, der schaut leider nie hin, sondern immer weg. Und verpasst damit genau das, was ihm helfen würde. Viel Spaß beim weiteren Lernen. Und ich werde dich gerne mit mehr Lernstoff füttern. @Admins Danke fürs Verschieben und Umbenennen des Threads
×
×
  • Neu erstellen...