Jump to content

Hawkeye

Mitglieder
  • Gesamte Inhalte

    965
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Hawkeye

  1. Hallo Easy, bzw. das von mir als Spur in Blender definierte Objekt, dann gehts. Mit dem als Drehpunkt definierten Objekt geht es eben nicht. Im 3D-Modelleditor habe ich sie dann auch mit der in Blender vergebenen Bezeichnung gefunden. Und die 90°-Weiche funktioniert. Da die Position linear verschoben wird, wären zwar ein paar Zwischenschritte erforderlich, das spielt beim Testen aber erstmal keine Rolle. Was fehlt sind nur noch Kleinigkeiten, wie ein MODELL! Aber die Funktionsweise habe ich jetzt verstanden, danke @EASY und @Neo. VG, Hawkeye
  2. Hallo @EASY, durch Brummi's Versuche habe ich mich an deine schönen Klappbrücken erinnert. Hier wird ja auch ein Gleis um eine nicht mittige Drehachse bewegt. Hier bewegt sich die Lok auch mit. (Natürlich gut gesichert, sonst würde sie ja runterfallen. ) Wie hast du denn damals diese Verschiebung der virtuellen Spur zur Drehachse hingekriegt? Wenn ich das versuche, wird im 3D-Modelleditor, wie auch von Brummi beschrieben, die virtuelle Spur mittig in den Drehpunkt gelegt und keine Ausricht- oder Verschiebemöglichkeit angeboten. Gibt es da einen Trick? Übrigens, die Übergänge zu den Anschlussgleisen sind etwas holprig. VG, Hawkeye
  3. Hallo Brummi, Ich versuch es mal.😁 Die Drehspur so kurz halten, das ihr Mittelpunkt der Drehpunkt ist. Dieses Drehgleis bekommt einen CP_Target im Mittelpunkt, der auch die Drehbewegung mitmacht. Die zusätzliche erforderliche Spur bis zum Rand wird ein extra Objekt mit einem CP_Source im Drehpunkt des Drehgleises. (als Variation?) In etwa so: VG, Hawkeye
  4. Hallo Andreas, bei mir folgt die Oberleitung in der Kurve dem roten Spline. Klar, dieser muss ohne Neigung sein. Hätte ich auch noch hinzufügen können, danke. Die Gleisneigung wird dann ganz zum Schluss eingestellt. VG, Hawkeye
  5. Hallo @AndreasWB, in der Anlage in diesem Beitrag ist das Fahrzeug auch in der Mitte der Platte vorhanden. Diese Testanlage hatte ich schon in V6 erstellt und auch da hat die Höhe des Pantografen an dem Fahrzeug schon nicht gepasst. Ich habe das Fahrzeug trotzdem wegen der Skala am Pantografen eingesetzt. Bei entsprechender Anordnung der Kameras für die rechte/ linke Auslenkung spielt der Kontakt zur Oberleitung aber keine Rolle. Wichtig ist es 2 Kameras zu verwenden, da der Blickwinkel aus der Gleisachse die Messung verfälscht. VG, Hawkeye
  6. Hallo Easy, Wow, das geht über meinen Horizont und übersteigt meine Kenntnisse in Lua! Danke für den Hinweis, deshalb ist mir diese Variante zu unsicher. Dann kann man die Kreuzung mit den Gleiskontakten nicht kopieren, ohne alle Bezeichnungen zu überarbeiten. Ich favorisiere deshalb deine zweite Variante mit Übergabe einer Nummer. Funktioniert super. Wieder was dazu gelernt. Nochmals danke. Damit lässt sich doch was anfangen. VG, Hawkeye
  7. Hallo Easy, super, vielen Dank. Perfektes Ergebnis Ich baue es mir als function() für ein Skript-Ereignis um, dann kann ich es beliebig einsetzten. VG, Hawkeye
  8. Hallo @EASY, diese Möglichkeit gibt es noch nicht lange. siehe WIKI Version 8.5.4.0 vom 21.08.2023 Ereignisverwaltung Erweiterung der Wiederholung "Für alle Fahrzeuge in einem Zug/Fahrzeugverbund" um eine zusätzliche Ausrichtung der einzelnen Fahrzeuge relativ zur Fahrtrichtung. Damit können mit nur wenigen Befehlen Fahrzeugtüren auf den richtigen Seiten geöffnet werden. Zugriff auf die Portal-Verbindung per EV Return-Werte von benutzerdefinierten Ereignissen werden in Lua an die aufrufende Funktion zurückgegeben Die Schriftgröße der Aktionen/Lua-Skripte kann in der EV geändert werden Eine neue Steuerschnittstelle auf JSON-RPC-Basis und Integration in die EV Vielleicht musst du die Variable "a" im Ereignis erst als Liste definieren und dann das benutzerdefinierte Ereignis zuweisen. local a={} a = $("Benutzerdefiniert"):invoke() print(#a) VG, Hawkeye
  9. Hast Du Dich da vertippt oder muß es die von Dir angegebene Reihenfolge sein? Hallo Easy, Du hast natürlich recht, da habe ich mich verschrieben. 🙄 Bei GK- 3 ist die Folge 4,1,2,3 das richtige Ergebnis. Aber genau um solche Fehler geht es auch. Wie schnell baut man beim stupiden Kopieren der Listen und Ändern der Reihenfolge logische Fehler ein, die man dann nur sehr schwer identifizieren kann. 😊 Super gemacht, danke. 👍👍👍😃 Ich finde, das solche kleinen Funktionen für Listen sehr hilfreich sein können. @Goetz hatte mal eine ähnliche Funktion zum Umkehren einer Liste geschrieben die aus 1,2,3,4 dann 4,3,2,1 macht. Diese ist auch sehr hilfreich. VG, Hawkeye
  10. Hallo Easy, nimmst du denn Aufträge an? 😉 Ich versuche es einfach mal 😂 Eine nützliche Funktion wäre die Neusortierung einer Liste ab einem bestimmten Platz in der Liste. Beispiel: Ein Kreisverkehr oder eine Kreuzung gleichberechtigter Straßen (Rechts vor Links-Regel) hat an jeder Ein- und Ausfahrt Gleiskontakte die in Listen die Vorfahrtsregeln (Objekte sind Gleiskontakte) enthalten. In den Listen der Gleiskontakte sind die gleichen Objekte vorhanden. Die Listen unterscheiden sich nur in einer Reihenfolge, wie die Objekte in den Listen stehen müssen. Damit nicht in jedem Gleiskontakt eine Liste gespeichert werden muß, wäre ein Funktion nützlich, die anhand eines Parameters der vom Gleiskontakt gesetzt wird, nur auf eine Liste zurückgreift und die Liste in der gewünschten Reihenfolge sortiert zurückgibt. So das die Liste in der Kreuzung existiert und die Gleiskontakte über diese Funktion anhand ihres Parameters die Liste neu sortiert erhalten. Liste (gespeichert in der Kreuzung) mit den Objekten: 1 = GK-01 ; 2 = GK-02 ; 3 = GK-03 ; 4 = GK-04 Wird die Funktion vom jeweiligen Gleiskontakt aufgerufen, soll das folgende Ergebnis zurückgegebenen werden. Bei Aufruf von GK-1: Rückgabe (der Liste) in der Reihenfolge 2; 3; 4; 1 GK-2: Rückgabe in der Reihenfolge 3; 4; 1; 2 GK-3: Rückgabe in der Reihenfolge 4; 3; 2; 1 GK-4: Rückgabe in der Reihenfolge 1; 2; 3; 4 Wäre das was für dich? VG, Hawkeye
  11. Die Frage kann dir im Moment keiner beantworten, weil du dich anscheinend auf eine Anlage beziehst, die du uns gar nicht zur Verfügung gestellt hast. Es gibt in beiden Anlagen keine EV "Wechselschalter". Auch hat die erste Anlage keine Fahrstraßen und die zweite Anlage nur 3. VG, Hawkeye
  12. Das ist der Unterschied! Wenn du keine Fahrstraßen definiert hast, dann kann die Verbindung des Schalters mit dem Signal sinnvoll sein. Es findet ja auch keine Prüfung statt, ob der Weg frei ist. Dies geht nur mit Fahrstraßen und dann darf es keine Verbindung eines Schalters mit einem Signal geben. VG, Hawkeye
  13. Hallo @winpet, der Hintergrund, warum der Schalter nicht mit dem Signal verbunden werden darf, ist folgender. Der Schalter fordert die Fahrstraße in der EV an. Das Programm prüft daraufhin, ob die Fahrstraße frei ist oder noch z.B durch ein anderes Fahrzeug belegt ist. Ist die Fahrstraße noch belegt wird sie blockiert. Ist die Fahrstraße irgendwann frei, dann schaltet das Signal auf „Fahrt“. Wenn du jetzt zusätzlich eine Verbindung des Schalters mit dem Signal hast, wird diese Sicherungsfunktion überbrückt und das Signal auch bei blockierter Fahrstraße auf „Fahrt“ geschaltet. Der Zug fährt los, obwohl die Strecke nicht frei ist. Stell einfach mal ein Fahrzeug auf die Stecke und schaltet den Schalter ein, dann erkennst du den Unterschied. VG, Hawkeye
  14. Bodenplatte anklicken, kopieren, einfügen oder duplizieren. Dann in z-Richtung verschieben
  15. Was du vermeiden musst ist eine Doppelschaltung des Hauptschalters. Du möchtest die Anlage durch den Schalter per EV 1.1 bedienen. Dann darf der Schalter aber nicht zusätzlich mit dem Signal verbunden sein. VG, Hawkeye
  16. 😁👍 @Neo Die Berechnung des Bremsweges über die Position könnte man sich sparen, wenn es die Möglichkeit gäbe, den Abstand eines Fahrzeuges zu einem Gleiskontakt per Lua abzufragen. Dann könnten auch in Kurven tatsächliche Spurlängen ausgelesen werden und nicht nur der lineare Abstand zweier Punkte. Dieser Punkt wurde schon häufig gewünscht und trotz verschiedener Ansätze dieses auf anderem Wege zu lösen komme ich immer wieder auf die Notwendigkeit einer solchen Funktion zurück. Läßt sich das nicht doch realisieren? VG, Hawkeye
  17. Ok, dann fällt die Kohle auch nicht mehr aus dem Tender.😉
  18. V.currentSpeed = 0 ?? 🤔 Als „sanftes“ Abbremsen kann man das aber nicht bezeichnen. Widerspricht irgendwie den Gesetzen der Massenträgheit.😂 VG, Hawkeye
  19. Hallo Easy, in deinem Skript fehlt aus meiner Sicht eine Anweisung. Das Skript dürfte nur richtig ausgeführt werden, wenn der Zug eine konstante Geschwindigkeit hat. Befindet er sich jedoch noch in einem Beschleunigungsvorgang wird er bei einer zeitverzögerten Ausführung nicht an der geplanten Stelle zum Stehen kommen. Ich unterbreche deshalb immer vor der Zeitverzögerung den Beschleunigungsvorgang mit der Anweisung. VG, Hawkeye
  20. Hallo Easy, schöner Ansatz. Solche Ansätze versuche ich schon eine ganze Weile im virtuellen Straßenverkehr anzuwenden. Da ist das Problem noch etwas komplexer. An einer Ampel z.B. muss jeder "virtuelle" Fahrer eines Fahrzeuges beim Umschalten von Grün auf Gelb eine Entscheidung in Abhängigkeit seiner Geschwindigkeit und dem aktuellen Abstand zur Ampel treffen. Soller er bremsen, um noch rechtzeitig an der Haltelinie der Ampel zum Stehen zu kommen oder soll er beschleunigen, um vor dem Umschalten der Ampelphase von Gelb auf Rot noch über die Ampel zu huschen. Dies ist allein mit Gleiskontakten und den mehrspurigen Straßen im virtuellen Straßenverkehr nicht realisierbar. Über deinen Ansatz in Verbindung mit separaten "Bremsspuren" (im Bild: rot) auf die in der EV zugegriffen werden kann, schon. Hast du nicht Lust, dich auch mal mit solchen Aufgabestellungen zu beschäftigen? VG, Hawkeye
  21. Hallo Walter, nicht für mehrspurige Straßen. Du kannst aber in jeder mehrspurigen Straße einzelne Spuren löschen und durch eine Einzelspur ersetzten. Diese Kreuzung enthält z.B. einzelne Sicherheitsspuren, die per EV abgefragt zur Verkehrsregelung eingesetzt werden. Blendet man die Kreuzung aus, sieht man die Spuren. In deinem Fall würde sich das wohl auch anbieten. Nimm eine Straße und lösche eine der Spuren. z.B. Spur 2 löschen und durch eine einzelne Fahrspur ersetzten. (Variation nach belieben auswählen.) Zum Verständnis hier mal in Rot dargestellt. Schaltest du die Spur auf "unsichtbar“ erhältst du dieses Ergebnis und kannst auf jede der beiden einzelnen Spuren in der EV zugreifen. Besser wäre solchen Spuren eine eigene Ebene zuzuweisen, um sie alle nach Belieben ein und ausblenden zu können. VG, Hawkeye
  22. Wenn die Oberleitung in Kurven mit 15 Grad Mastabstand und der Variation links/links (oder rechts/rechts je nach Gleisausrichtung) verlegt wird, dann passt das ganz gut. D.h. Für ein 30 Grad Gleisstück 2 Oberleitungsstücke a 15 Grad. Sieht aber nur bei großen Radien gut aus. VG, Hawkeye
  23. Hallo Thomas, ich hatte für das Problem auch schon vor langem mal ein paar Überlegungen angestellt. Hallo Brummi, so habe ich auch begonnen, aber ... Der für mich bessere Lösungsansatz war, zuerst die Neigung der Kurve in einer Geraden festzulegen und den Abstand (die Abweichung zur Geraden) zu bestimmen. Das kann man grafisch im Programm z.B. mit einem Peilstab machen, der mit der Oberleitung verknüpft ist. (Und die Oberleitung mit dem Gleis verknüpfen) Dann die Neigung einstellen, den Peilstab wieder senkrecht stellen und den Abstand von der Gleisachse bestimmen. Dann virtuelle Spuren mit Gleisradius- Versatz neben die Kurve legen. An einer virtellen Hilfsspur, die dem Gleisradius abzüglich dem Versatz aus der Neigung entspricht wird die Oberleitung mit den Masten gesetzt. Dadurch sind die Masten und Leitung gerade, obwohl das Gleis eine Neigung hat. geht schnell und sauber. Lediglich am Anfang und Ende der Kurve muss die Leitung ein wenig angepasst werden. Und die Ausleger müssen dann im Aussenkreis etwas verlängert werden. VG, Hawkeye PS: Bei geneigtem Gleis muss die Oberleitung einem engeren Kreis folgen! Habe auch lange gebraucht bis ich das realisiert habe. Geometrie (Phytagoras) ist schon lange her.
  24. Gib allen „Ereignis-Erzeugern“ das gleiche Schlagwort z.B. „Soundso“ und definiere in deinem Ereignis (welches hast du ja leider nicht verraten) für dies und das „mit dem Schlagwort „Soundso“. VG, Hawkeye
×
×
  • Neu erstellen...