Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5774
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. Das "gefällt mir" ist für dein
  2. Vorschlag: Wenn die Masten die Oberleitung zur Außenkante der Kurve ziehen anstatt zur Gleismitte, dann können die Sehnen etwas länger ausfallen. Ich vermute, dass es auch in der Realität so gehandhabt wird.
  3. Bislang kann ich keinen Erfolg melden. Als Auslöser bekomme ich das Modell, aber nicht die Achse. Auch über Lua kann ich weder die Achse ermitteln, die das Ereignis getriggert hat, noch die Stellung einer Achse auslesen. Tut mir leid.
  4. Wer immer ein Ereignis auslöst, ist als "Auslöser" ansprechbar. Du weißt damit immer, welche Animation gerade gestartet oder gestoppt wurde. Du siehst auch im Screenshot, dass ich für eine bestimmte Schranke das Ereignis einrichte. Nachtrag: Sorry - dir geht es möglicherweise um mehere Animationen in einem einzigen Modell? Da muss ich selbst erst schauen, ob man die unterscheiden kann
  5. Für den Einstieg ist es sicher einfacher, wenn du dich aus dem umfangreichen Sortiment bedienst, das schon im 3D-Modellbahn Studio enthalten ist. Das ist dann nicht genau das Haus, welches du schon real gebaut hast. Aber die Auswahl ist groß genug, um damit wirklich hübsche Anlagen zu gestalten. Und du musst nichts selbst bauen oder importieren. Einfach auf die Platte stellen und ausschmücken.
  6. Start und Stopp einer Animation werden als Ereignis behandelt. Sie können daher als Trigger für eine Aktion in der Ereignisverwaltung genutzt werden: Zwischen Start und Stopp wird dabei nicht unterschieden. Aber wenn du das Ereignis mit dem Start aktivierst, dann weißt du, dass das triggernde Ereignis der Stopp gewesen sein muss. Und das kannst du u.a. nutzen, um es wieder zu deaktivieren.
  7. Du möchtest gerne Faller Häuser, die du real gebaut (= aus Plasikteilen zusammengefügt) hast, als Modell ins 3D-Modellbahn Studio importieren? Dann muss ich dich enttäuschen. Denn Faller stellt die leider nicht als 3D Modell für das Studio zur Verfügung. Du bist also darauf angewiesen, dass einer der freien Modellbauer hier solch ein Modell erstellt und für alle verfügbar hochlädt du selbst den Umgang mit Sketchup, Blender oder einem anderen 3D Modeller lernst und diese Objekte selbst baust. Die kannst du dann ins Studio importieren. Dasselbe gilt sinngemäß natürlich auch für Kibri und alle übrigen Hersteller von Modellen für reale Modellbahnen.
  8. Vielen Dank. Beruflich habe ich zuletzt mein Geld mit Anwenderschulungen im TV Bereich verdient. Zum Beispiel auf solchen Bildmischpulten Oder solchen Videoschnitt Systemen. Sorry für die Angeberei. Was ich damit eigentlich sagen will ist: Ich habe 25 Jahre lang beobachten können, wer wie lernt und welche Methoden Erfolg versprechen. Ich finde es furchtbar, dass man uns in Schulen alles mögliche beibringen will, nur nicht das Lernen. Die Schule kennt nur "Prüfungslernen". Kurzfristiges, hirnloses Memorieren bis zur nächsten Klausur. Für den Alltag vollkommen unnütz. Warum ist das so? Weil Lehrer diejenigen sind, die das stumpfe "Prüfungslernen" gut beherrscht haben. Das wirklich schlimme daran ist, dass Schulen dabei die Freude am Lernen töten. Vergiss schulisches Lernen. Vergiss, dass Lernen eine Mühsal ist, die man (wenn irgend möglich) vermeidet. Entdecke das Entdecken. Entdecke Experimentieren. Entdecke die Freude an Erkenntnissen. Und erinnere dich an "zielloses Lernen", wie du es in früher Kindheit erfolgreich praktiziert hast. Da war "Entdecken" Selbstzweck und nicht auf die Lösung eines konkreten Problems ausgerichtet. Der junge Hund lernt die Jagd spielerisch. Indem er mit anderen Hunden herumtollt. Da kann er jede Variante von "über den Ast" und "unter dem Ast durch" ausprobieren und immer neue Varianten entdecken. Später, wenn sein Blick fest auf die Beute fokussiert ist, hat er den Kopf nicht mehr frei, um zu lernen. Weil man beim Lernen zurück blicken muss. Sich erinnern muss, was man gerade getan hat. Bei der Jagd ist der Blick nach vorne gerichtet. Deshalb ist es so immens wichtig, dass man zum Lernen nicht die Lieblingsanlage benutzt. Weil die ständig neue "Beute" präsentiert. Weil man nach jedem Erfolg gleich das nächste Ziel ins Auge fasst und nicht zurück schaut, wie man dieses Ziel erreicht hat. Und dann gerät alles, was man eben noch benutzt hat, gleich wieder in Vergessenheit. Verdrängt durch die Gier aufs nächste Ziel.
  9. Dazu noch einen kurzen Satz: Die komplette EV ist nichts anderes als ein Wenn ... dann System. Ausnahmslos! Wenn der Kontakt überfahren wird, dann führe die folgenden Aktionen aus. Wenn das Signal schaltet, dann mach dieses und jenes Wenn der Timer abgelaufen ist, dann ... Aber die Unterscheidung Güterzug / Personenzug / Schnellzug ist kein wenn, sondern ein falls. Hier ist der Typ eine Bedingung, die erfüllt sein muss, damit etwas bestimmtes getan wird. Im Gegensatz zum Überfahren eines Kontaktes, das ein Auslöser ist.
  10. Und nach diesem Exkurs übers Lernen kommt hier die nächste kleine Lektion: Du kannst jedem Objekt (also auch einer Lok) eine eigene Variable geben. Dazu klickst du im folgenden Fenster oben auf das Plus Wenn du in dieser Variablen eine Geschwindigkeit speichern möchtest, dann ist der benötigte Typ "Zahl". Den Namen kannst du frei wählen. Aber es empfiehlt sich, einen zu nehmen der den Zweck gut beschreibt: Dann trägst du für diese Variable einen Wert ein: Und das wiederholst du bei allen Loks. Der Name der Variable muss immer gleich sein. Den Wert darfst du individuell vergeben. Jetzt kannst du in der Ereignisverwaltung den Inhalt dieser Variablen als Geschwindigkeit einsetzen. Beachte bitte, dass hier an zwei Stellen der "Auslöser" eine Rolle spielt. als Ziel des Befehls. Die Lok, welche den Kontakt überfährt, soll angesprochen werden. als Adresse für die Variable, die ausgelesen werden soll. Ich will die Variable bei der Lok auslesen, die gerade "geklingelt" hat. Letzteres ist etwas komplizierte als die Geschichte mit der Schrift. Du musst unter Geschwindigkeit mit dem Zahnrad die "erweiterte Variable" auswählen. "Erweitert" deshalb, weil du sowohl das Objekt angeben muss, in dem die Variable steht, als auch den Namen der Variablen. Das Objekt ist auch hier wieder das auslösende Fahrzeug Und der Name der Variablen ist der, den du beim Anlegen gewählt hast. Beispielanlage: Vmax Beispiel.mbp
  11. Daran ist ja auch nichts auszusetzen, Martin. Aber leg sie doch bitte zur Seite und lerne die Basics mit einer Übungsanlage. Autofahren funktioniert auch im Großen wie im Kleinen gleich. Trotzdem lernst du es nicht im Großen. Du fährst nicht in der dritten Fahrstunde nach Italien, weil du da schon seit Jahren gerne Urlaub machst. Lernen und Benutzen muss man trennen. "Learning by doing" heißt nicht "Anwenden und nebenbei lernen", sondern es heißt, dass man den theoretischen Stoff sofort selbst in kleinen Übungen anwendet. Weil sich bei dieser Anwendung zeigt, ob es noch Missverständnisse gibt. Und weil das Wissen sich durch die sofortige Anwendung besser festigt. "Ich benutze das jetzt und lerne es vielleicht später" funktioniert nicht. "Lernen durch Abschreiben" auch nicht. Aber kleine Experimente, die sich exakt auf das konzentrieren, was man gerade neu gelernt hat, funktionieren sehr gut. Die bringen Erkenntnisse und Durchblick. Und was du durchschaust,. das musst du dir nicht merken. Das bleibt von selbst hängen, weil es mit dem Durchblick im Hirn sehr gut verankert ist.
  12. viel lieber würde ich lesen: "Nun habe ich es verstanden!"
  13. Eigentlich ist es aber genau andersherum gedacht: Die grafische EV ist eine Unterstützung für all diejenigen, denen ein Skript zu abstrakt ist. Sie soll die Verwaltung der Ereignisse erleichtern. Und das tut sie auch in der Mehrzahl der Fälle. Die Listenverwaltung ist eine der wenigen Ausnahmen. Und genau deshalb hat Neo die Möglichkeit, einzelne Dinge direkt in Lua zu erledigen: Damit man solche Fälle bequem in den Griff bekommt. Damit man die Verwaltung mittels Lua überall dort erweitern kann, wo eine grafische EV an ihre Grenzen stößt. Das sind neben der Listenverwaltung z.B. auch Formelberechnungen. Besonders angenehm ist dabei, dass man solche kleinen Skripte bequem in die grafische EV integrieren kann.
  14. Wie gesagt: Am besten fängst du mit einem kleinen Oval an. Auf diesem hier fahren drei Loks langsam im Kreis. Vorne ist ein Kontakt. Wenn eine Lok über diesen Kontakt fährt, dann wird ihr Name ins Textfeld geschrieben: Das Objekt "Beschriftung" bekommt als Text das, was beim auslösenden Fahrzeug in der Eigenschaft "Name" gefunden wird.
  15. Ich glaube, das wäre viel zu viel. Aber in Maßen will ich dir gerne weitere Tipps geben.
  16. Das wäre doch widersinnig, wenn der ganze Zweck von "Auslöser" ist, dass du damit genau die Lok ansprichst, die das Ereignis getriggert hat.
  17. Hallo Martin, leider habe ich aktuell nicht die Zeit oder Energie, deine Schaltung mit dir gemeinsam via AnyDesk weiterzuentwickeln. Aber mit ein paar allgemeinen Tipps kann ich vielleicht schon etwas weiterhelfen. Hier ist der erste: Mit dem Zahnrad bekommst du eine Auswahlliste. In dieser Liste findest du unter anderem "Auslöser". Damit sind die Objekte gemeint, welche ein Ereignis bewirkt haben. Wenn eine Lok über einen Kontakt fährt, dann gibt es zwei Auslöser: Den Kontakt und die Lok. Über die Auswahl "Auslöser" kannst du gezielt das Objekt ansprechen, welches das Ereignis ausgelöst hat. im Ereignis zum HALTKONTAKT "Z" liegt es daran, dass du die Aktion nicht der Bedingung untergeordnet hast. Im folgenden Screenshot habe ich alle relevanten Punkte für dich hervorgehoben. Beachte bitte, dass du nach der Umstellung auf "Auslöser" noch in dem Feld links daneben von Gleiskontakt auf Fahrzeug umstellen musst. Denn dem Kontakt kannst du keine Geschwindigkeit zuweisen, sondern nur dem Fahrzeug. Im Screenshot steht in dem Feld jetzt noch [Alle Fahrzeuige]. Das ändert sich, wenn du zu "Auslöser" wechselst. Prinzipiell ist deine Anlage zwar sehr interessant, aber viel zu groß und komplex, um die Grundlagen der EV zu lernen. Fang mit einem einfachen, leeren Oval und einem Signal an. Autofahren hast du auch zuerst auf einem großen, leeren Parkplatz gelernt und nicht mitten in der Innenstadt. Viele Grüße Götz
  18. Womit wurden diese Gruppen erstellt? Manches kann man unter dem Menüpunkt "Katalog" importieren. Aber das ist der Professional Version vorbehalten. Mit der kostenlosen Standard Version geht das nicht.
  19. Dann darfst du nicht die Wagengruppe als ein Element übergeben. Willst du den Zug aus mehreren Wagengruppen zusammenbauen und am Ende eine lange Wagenliste unter "Zug" haben? Dann wird es etwas umständlicher, weil du die Elemente der Wagengruppe einzeln an die neue Liste anhängen musst: local t1 = Gleisort.variables.Zug local t2 = Fahrzeug.variables.Wagengruppe for Platz, Element in ipairs(t2) do table.insert(t1, Element) end Gleisort.variables.Zug = t1 die Methode "in ipairs()" geht eine komplette Liste durch und übergibt Eintrag für Eintrag die Platznummer und das gespeicherte Element. Mit der for-Schleife wird das wiederholt, bis alle Elemente der Liste ausgelesen wurden. In der Schleife wird jedes gefundene Element an die temporäre Liste t1 angehängt. Und diese Liste wird dann zuletzt an die Variable Zug übergeben. Die Verwendung der lokalen Variablen t1 und t2 dient der Geschwindigkeit. Diese Variablen gelten nur für die Dauer dieser Aktion und werden anschließend gleich wieder gelöscht. Weil sie nur kurz "leben", kann man sie im kleinen, aber schnell erreichbaren Speicher lagern, der im Prozessor selber steckt.
  20. und was steht in der Liste? Und wenn du die Probleme nicht beschreibst, zu denen etwas führt, kann ich dir auch nicht helfen sie zu lösen ... in was zu übernehmen? Die einzelnen Elemente einer Liste sind durchnummeriert. Die Nummer eines Elements nennt man Index. Mit dem Index kannst du jedes Element einer Liste ansprechen. Sorry, aber das ist nicht wirklich klar, was du willst. Es geht um Gruppen, die beim Ablaufen zusammen bleiben sollen. So viel verstehe ich. Aber was du da genau versuchst, ist deinen Worten nicht zu entnehmen. Und deshalb kann ich dir auch nicht sagen, was du dabei anders machen musst.
  21. das habe ich verstanden, Old Grey und wenn du mein Bispiel studieren würdest, dann könntest du sehen, warum es die Antwort auf deinen Wunsch ist. Dass ich im Beispiel etwas anderes als Gleisnummern in die Liste schreibe, ist doch für das prinzipielle Verständnis ganz egal. Also: Hast du dir das Beispiel angeschaut?
  22. Viel einfacher? Hast du mein Beispiel mal angeschaut? Und verstanden? Listen in Objektvariablen kannst du nicht erweitern oder kürzen. Weil das keine dynamischen Listen sind. Im Gegensatz zu Lua-Tabellen. Die sind immer dynamisch. Mein Beispiel macht genau das, was du wünscht.
  23. Die Listen in Objektvariablen sind eher mit Tabellen oder Dictionaries vergleichbar. Aber du kannst die Liste temporär in eine Lua Tabelle kopieren. darauf Lua Methoden wir table.remove() und table .insert() anwenden und dann das Ergebnis wieder in die Variable zurück kopieren. Die table.insert Variante siehst du in diesem Beispiel, dass ich gerade erst für Wüstenfuchs gebaut hatte: B48D6FB2-F857-47B7-95A1-D66DB8FE4337
  24. Die Fehlermeldung ist doch gut zu verstehen: Auf der Festplatte D. wird im Ordner C die Datei brown_eye.png nicht gefunden. Das ist sehr wahrscheinlich ein Bild mit der Textur für das Auge.
  25. Wenn das ausgewählte Objekt mehrere Variationen enthält, dann siehst du im Eigenschaftenfenster dieses Pinselsymbol Darunter ist die Auswahlliste mit allen Variationen zum Modell
×
×
  • Neu erstellen...