Alle erstellten Inhalte von Goetz
-
Brummis Bastelkiste
ganz großes Kino, Brummi
-
EV - Wiederholungen, Listen und Tabellen
Ein kleiner Abstecher, der nur am Rande etwas mit dem eigentlichen Thema zu tun hat. Ich habe gerade dank Neos Hilfe gelernt, wie man in der EV auf die Fallunterscheidung verzichten und die Schalterstellung direkt als An/Aus für die Lichter nutzen kann. Wenn man "Animation stoppen" verwendet anstelle von "Animation abspielen", dann hat man auch da die Möglichkeit, die Position anzugeben, an der die Animation stehen soll. Für das Licht interessieren mich nur zwei Positionen: Start und Ende. Die haben die Werte 0 und 1. Das entspricht der Stellung, die ich vom Schalter bekomme. Deshalb kann ich die Position des Auslösers direkt als Wert für die Position der Animation benutzen. Jetzt steht in der EV für "Schalter wird betätigt" nur noch eine Schleife, welche die Lampen je nach Schalterposition ein oder ausschaltet. Das ist schön übersichtlich und effektiv.
-
Lampen in einem Schritt schalten
Und davor haben sie auch schon 5 Kerzen mit einem Streichholz angezündet.
-
EV - Wiederholungen, Listen und Tabellen
Liste oder Tabelle? Was ist der Unterschied? Wann benutzt man was? Während eine Liste eine nummerierte Aufzählung von Elementen ist, bekommen alle Elemente einer Tabelle Namen. Die nummerierte Aufzählung benötigt man dann, wenn man alle Elemente in einer Schleife ansprechen möchte. Eine namentliche Aufzählung ist sinnvoll, wenn man die Elemente individuell auswählen möchte. Vielfach wird man beides kombinieren und dafür möchte ich im folgenden ein Beispiel beschreiben. Für einen Weichengruppenschalter benötigt man eine Liste von Weichen und Stellungen. Wenn ich hier von Einfahrsignal A im Westen ins Gleis 6b möchte, dann muss ich insgesamt 6 Weichen und DKWs in unterschiedliche Stellungen bringen. Diesen Weg kann ich nun komplett in einem Konstrukt aus Listen und Tabellen speichern. Weil ich bei Betätigung des Gruppenschalters alle Weichen schalten möchte, benötige ich eine Liste mit 6 Elementen. Weil ich für jede der Weichen das Objekt und die Stellung hinterlegen möchte, besteht jedes dieser 6 Elemente aus einer Tabelle mit zwei Einträgen: Einem Objekt "Weiche" und einer Zahl "Stellung". In der EV kann ich nun auf Tastendruck alle Elemente der Liste nacheinander benutzen. Ich entnehme jedem Element die Weiche und die Stellung und verwende diese beiden Tabelleneinträge in meiner Aktion "Weiche stellen":
-
EV - Wiederholungen, Listen und Tabellen
Die Erweiterung für die EV welche ich im folgenden beschreibe, ist derzeit noch in der Entwicklung. Mit dem nächsten Update wird man in der EV die Möglichkeit haben, mit einer einzigen Aktion mehrere Objekte anzusprechen. Beispielsweise mit einem Schalter alle Lampen an- oder auszuschalten, denen man dasselbe Schlagwort gegeben hat: Im Beispiel gebe ich 8 Paulaner Laternen dasselbe Schlagwort "Biergarten". In der EV kann ich nun eingeben, dass sie in einer Wiederholung nacheinander alle Objekte mit diesem Schlagwort suchen soll. Das gefundene Objekt wird an eine lokale Variable namens "Wdh" übergeben und diese Variable kann ich innerhalb der Wiederholung als Ziel einer Aktion auswählen. Die Aktion "Animation abspielen" wird für alle Objekte mit dem Schlagwort Biergarten durchgeführt. Nacheinander wird jedes dieser Objekte als "Wdh" an die Aktion "Animation abspielen" übergeben. Obwohl die Aktionen für alle Laternen nacheinander ausgeführt werden, gehen alle Laternen zugleich an bzw. aus. Denn die Übermittlung der einzelnen Befehle geht rasend schnell. Die Ausführung des Befehls übernehmen die einzelnen Objekte selber. Eine Alternative zu Schlagwörtern sind Listen. Das sind durchnummerierte Aufzählungen, die zum Beispiel Objekte (aber ebenso gut auch alle anderen Variablen) enthalten können. Hier habe ich im Kippschalter eine Liste namens "Laternen" hinterlegt, in der alle Laternen einzeln aufgeführt sind. Diese Liste kann ich ebenfalls für eine Wiederholung verwenden. Für die Wiederholung wähle ich die Liste wie eine Variable aus. Die einzelnen Objekte der Liste übergebe ich wieder an einen temporären Speicher. In diesem Beispiel habe ich ihn in "ListenElement" umbenannt. Das Objekt in diesem temporären Speicher ist dann wieder das Ziel meiner Aktion: Das Ergebnis ist dasselbe. Alle Lampen werden bei Betätigung des Schalters ein- oder ausgeschaltet. Bei Verwendung von Lua kann man auch auf die Prüfung der Schalterstellung verzichten und sie stattdessen direkt als Parameter für die Animation verwenden: local animPos = (state + 1) % 2 -- state ist die Stellung des auslösenden Schalters local animDir = state * 2 - 1 local t = $("Kippschalter").variables["Laternen"] for i, Wdh in ipairs(t) do Wdh.animations["Licht An/Aus"]:play(animPos, animDir) end
-
Lampen in einem Schritt schalten
Genau so ist es, Tom.
-
Lampen in einem Schritt schalten
Ja, das wäre es. Und genau das wird demnächst in einem Update kommen. Das Update wird zwei Erweiterungen für die EV enthalten Wiederholungen Listen und Tabellen Für die Wiederholungen kann man entweder Schlagwörter oder Listen verwenden. Oder ein Skript schreiben, welches eine Liste zurück gibt. Ich schreibe am Wochenende mal was dazu. Aber dafür eröffne ich einen neuen Thread.
-
Neue Anlage
Mehr zum Signal Ne4 Schachbretttafel findet ihr bei Interesse hier
-
Neue Anlage
Der Telegrafenmast unterhalb der vier Bäume (über der roten 1) steht nicht nur an anderer Stelle, sondern auch auf der anderen Seite des Gleises. (Kurvenaußenseite vs. Kurveninnenseite) Der kann also nicht dasselbe Objekt sein wie das Signal auf der linken Seite des Gleises. Ich würde auch ein Signal auf der falschen Seite nebst Schachbretttafel rechts annehmen. Und die nahe Straße wäre ein guter Grund für diese Platzierung des Signals. Der Flügel über der Fahrbahn wäre durch den Straßenverkehr gefährdet.
-
Neue Anlage
Ein Streckentelefon wäre nur in unmittelbarer Nähe des Signals sinnvoll. Und auf Höhe der Gleise. Nicht oben auf der Böschung und am Straßenrand. Und warum meinst du, dass er sich mit dem Signal vergriffen hat?
-
Animation arbeitet nicht so wie ich es dachte
Kann man so machen. Aber wenn jemand eine falsche Wahl trifft, dann erkläre ich zuerst, warum die falsch ist und welche die richtige Alternative wäre. Wenn das verstanden wurde, dann gehe ich den nächsten Schritt und zeige, was es noch für Möglichkeiten gibt und welche Besonderheiten die bieten. Wobei sich das fast immer erübrigt, wenn man die Basics wirklich durchschaut hat. Dann erschließen sich die Besonderheiten oft von alleine, Weil sie darauf aufbauen. Fängt man aber in der Mitte an und zeigt nur den "besten" Weg auf, dann werden die Grundlagen oft nicht verstanden und die Informationen bleiben auch nicht so gut im Gedächtnis. Weil Assoziationen fehlen. Und die sind der Stoff, der Erinnerungen Halt gibt.
-
Animation arbeitet nicht so wie ich es dachte
Ich habe mir deine erste EV noch einmal genauer angesehen. Für den Fall "Taster, An" hat sie nur einen Eintrag. Den konntest du dort nur einsetzen, als die Bedingung noch leer war. Als beide beschrifteten Felder mit "Bedingung ist erfüllt" und "Bedingung ist NICHT erfüllt" sichtbar waren. Die Aktion ist aber trotzdem im falschen Feld gelandet. Ein weiterer Fehler hat mit den beiden Feldern einer Bedingung gar nichts zu tun. Du beginnst die Animation rückwärts in der Position Start. Du musst sie bitte am Ende beginnen, damit sie von dort zum Start zurücklaufen kann.
-
Animation arbeitet nicht so wie ich es dachte
Tatsächlich zeigt genau dieser Faden hier - von Anfang an gelesen - dass das nicht der Fall wäre. Denn das Problem war nicht, dass das Feld für "nicht erfüllt" nicht gefunden wurde. Das Problem war ursprünglich, dass nicht klar war, warum eine Bedingung eine Verzweigung ist. Dass man "Schalter an/aus" gleichsetzen kann mit "Bedingung: Schalter ist an - erfüllt/nicht erfüllt". Ein sichtbares Feld für "nicht erfüllt" hätte daran nichts geändert. Der Zusammenhang zwischen zwei möglichen Schalterstellungen und der Prüfung einer Bedingung wäre dadurch nicht deutlicher geworden. Und wenn man weiß, dass man einen Platz für die Aktionen benötigt, die im Falle "nicht erfüllt" ausgeführt werden sollen, dann findet man den schmalen Streifen unterhalb der Trennlinie ebenso leicht wie ein beschriftetes graues (oder auch rotes) Feld.
-
Jim Knopfs Bastelecke 2019
Weiß Neos Frau davon?
-
Animation arbeitet nicht so wie ich es dachte
-
Lampen in einem Schritt schalten
An dieser Erweiterung der EV arbeitet Neo gerade.
-
Animation arbeitet nicht so wie ich es dachte
Ich weiß, Tom. Ich hatte selber keinerlei Erfahrung in IT-Dingen, bevor ich mich mit Schaltungen in EEP und MBS befasst habe.
-
Animation arbeitet nicht so wie ich es dachte
Spätestens nach dem zweiten Mal hat man doch verstanden, wie das mit den beiden Feldern ist. Und dann nimmt das graue Feld nur Platz weg. Oft genug nutzt man ja nur die "ist erfüllt" Hälfte. Meines Erachtens war es die richtige Entscheidung, es so zu handhaben wie es jetzt ist. Es sorgt für eine lesbare EV. "Heat of the battle" passt nicht zur EV. Ruhe und Gelassenheit führen schneller zum Ziel.
-
Animation arbeitet nicht so wie ich es dachte
Doch! Wenn du eine neue Bedingung in dein Ereignis einfügst, dann steht in den beiden grauen Feldern genau, welcher Bereich wofür ist. Du musst also nicht einmal nach einer Erklärung suchen. Sie ist direkt vor deiner Nase. Und was soll eine schwarze Linie zwischen diesen beiden Feldern für eine Bedeutung haben, wenn nicht die, dass sie den oberen Bereich vom unteren trennt?
-
neu hier
Wenn du 3D-Modellbahn Studio V5 benutzt, dann kannst du das Hauptmodul "Ereignisse" nicht kopieren. Aber Untermodule in Ereignisse kannst du innerhalb der EV kopieren. Wenn du alle Ereignisse von einer Anlage in eine andere Anlage kopieren möchtest, dann geht das nur indem du die ganze Anlage importierst.
-
Blocksignal vs. Hauptsignal
Ergänzend zur richtigen Aussage von m.weber ... Das kommt in der Praxis nicht vor. Wenn das Vorsignal "Fahrt erwarten" zeigt, dann ist der folgende Streckenabschnitt für diesen Zug frei. Da ändert niemand kurz darauf seine Meinung und sagt: "Ach, den halte ich jetzt doch noch einmal an und lass von links einen Schnellzug vor." Deshalb bleibt sowohl das Vor- als auch das Hauptsignal auf Fahrt, wenn der Zug das Vorsignal passiert hat. Und der Abschnitt, in dem sich dieser Zug gerade befindet, bleibt (ebenfalls per Signal) für nachfolgende Züge gesperrt, bis dieser Zug ihn vollständig verlassen hat. Daher bekommt auch niemand anders dieses "Fahrt erwarten" zeigende Vorsignal zu sehen, nachdem der Zug es passiert hat. Es muss also nicht hinter dem Zug umgeschaltet werden. Und zum Unterschied Blocksignal/Hauptsignal. (Bauart 1969) Das Hauptsignal hat zwei rote Lichter oben, das Blocksignal nur ein rotes unten. Der Lokführer kann sie also leicht unterscheiden. Und weiß anhand des Signals, was voraus liegt. Ein Blocksignal steht dort, wo es ohne Verzweigung weiter geht. Also irgendwo entlang der Strecke. Ein Hauptsignal steht dort, wo sich Gleisknoten (Weichen etc.) befinden. Hier ist erhöhte Wachsamkeit gefordert, weil andere Züge aus unterschiedlichen Richtungen den Weg kreuzen können. Also hat man mit zwei roten Lichtern auch für doppelte Absicherung gesorgt. Außerdem kann der Lokführer hier mit unterschiedlichen Signalbildern rechnen. Zum Beispiel HP2 (Langsamfahrt) wenn es über eine abzweigende Weiche geht. Oder Ra12 (Rangierfahrt), wenn er zum Rangieren bis zum Zeichen Ra10 (Halt für Rangierfahrt) vorziehen darf ... Es gibt also mehr Gründe als nur Sparsamkeit für die Unterscheidungen. Es hat auch Informationswert, wenn der Lokführer ein Signal gut vom anderen unterscheiden kann. So habe ich es zumindest bislang verstanden.
-
Sehr kleine Anlage oder man kann auch sehr untertreiben :)
-
Weichen für Schmalspurbahn
-
Signale und Geschwindigkeit
Nein. Er möchte nur überprüfen, ob der Verzögerungswert in 3D MBS so präzise arbeitet, wie von Neo angegeben.
-
Signale und Geschwindigkeit
Es wäre trotzdem einen eigenen Thread wert, Andy ...